rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / manglsl / texture.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>\r
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"\r
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">\r
4<refentry id="texture">\r
5 <refmeta>\r
6 <refmetainfo>\r
7 <copyright>\r
8 <year>2011</year>\r
9 <holder>Khronos Group</holder>\r
10 </copyright>\r
11 </refmetainfo>\r
12 <refentrytitle>texture</refentrytitle>\r
13 <manvolnum>3G</manvolnum>\r
14 </refmeta>\r
15 <refnamediv>\r
16 <refname>texture</refname>\r
17 <refpurpose>retrieves texels from a texture</refpurpose>\r
18 </refnamediv>\r
19 <refsynopsisdiv><title>Declaration</title>\r
20 <funcsynopsis>\r
21 <funcprototype>\r
22 <funcdef>gvec4 <function>texture</function></funcdef>\r
23 <paramdef>gsampler1D <parameter>sampler</parameter></paramdef>\r
24 <paramdef>float <parameter>P</parameter></paramdef>\r
25 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
26 </funcprototype>\r
27 <funcprototype>\r
28 <funcdef>gvec4 <function>texture</function></funcdef>\r
29 <paramdef>gsampler2D <parameter>sampler</parameter></paramdef>\r
30 <paramdef>vec2 <parameter>P</parameter></paramdef>\r
31 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
32 </funcprototype>\r
33 <funcprototype>\r
34 <funcdef>gvec4 <function>texture</function></funcdef>\r
35 <paramdef>gsampler3D <parameter>sampler</parameter></paramdef>\r
36 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
37 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
38 </funcprototype>\r
39 <funcprototype>\r
40 <funcdef>gvec4 <function>texture</function></funcdef>\r
41 <paramdef>gsamplerCube <parameter>sampler</parameter></paramdef>\r
42 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
43 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
44 </funcprototype>\r
45 <funcprototype>\r
46 <funcdef>float <function>texture</function></funcdef>\r
47 <paramdef>sampler1DShadow <parameter>sampler</parameter></paramdef>\r
48 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
49 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
50 </funcprototype>\r
51 <funcprototype>\r
52 <funcdef>float <function>texture</function></funcdef>\r
53 <paramdef>sampler2DShadow <parameter>sampler</parameter></paramdef>\r
54 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
55 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
56 </funcprototype>\r
57 <funcprototype>\r
58 <funcdef>float <function>texture</function></funcdef>\r
59 <paramdef>samplerCubeShadow <parameter>sampler</parameter></paramdef>\r
60 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
61 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
62 </funcprototype>\r
63 <funcprototype>\r
64 <funcdef>gvec4 <function>texture</function></funcdef>\r
65 <paramdef>gsampler1DArray <parameter>sampler</parameter></paramdef>\r
66 <paramdef>vec2 <parameter>P</parameter></paramdef>\r
67 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
68 </funcprototype>\r
69 <funcprototype>\r
70 <funcdef>gvec4 <function>texture</function></funcdef>\r
71 <paramdef>gsampler2DArray <parameter>sampler</parameter></paramdef>\r
72 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
73 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
74 </funcprototype>\r
75 <funcprototype>\r
76 <funcdef>gvec4 <function>texture</function></funcdef>\r
77 <paramdef>gsamplerCubeArray <parameter>sampler</parameter></paramdef>\r
78 <paramdef>vec4 <parameter>P</parameter></paramdef>\r
79 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
80 </funcprototype>\r
81 <funcprototype>\r
82 <funcdef>float <function>texture</function></funcdef>\r
83 <paramdef>sampler1DArrayShadow <parameter>sampler</parameter></paramdef>\r
84 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
85 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
86 </funcprototype>\r
87 <funcprototype>\r
88 <funcdef>float <function>texture</function></funcdef>\r
89 <paramdef>gsampler2DArrayShadow <parameter>sampler</parameter></paramdef>\r
90 <paramdef>vec4 <parameter>P</parameter></paramdef>\r
91 <paramdef>[float <parameter>bias</parameter>]</paramdef>\r
92 </funcprototype>\r
93 <funcprototype>\r
94 <funcdef>gvec4 <function>texture</function></funcdef>\r
95 <paramdef>gsampler2DRect <parameter>sampler</parameter></paramdef>\r
96 <paramdef>vec2 <parameter>P</parameter></paramdef>\r
97 </funcprototype>\r
98 <funcprototype>\r
99 <funcdef>float <function>texture</function></funcdef>\r
100 <paramdef>sampler2DRectShadow <parameter>sampler</parameter></paramdef>\r
101 <paramdef>vec3 <parameter>P</parameter></paramdef>\r
102 </funcprototype>\r
103 <funcprototype>\r
104 <funcdef>float <function>texture</function></funcdef>\r
105 <paramdef>gsamplerCubeArrayShadow <parameter>sampler</parameter></paramdef>\r
106 <paramdef>vec4 <parameter>P</parameter></paramdef>\r
107 <paramdef>float <parameter>compare</parameter></paramdef>\r
108 </funcprototype>\r
109 </funcsynopsis>\r
110 </refsynopsisdiv>\r
111 <refsect1 id="parameters"><title>Parameters</title>\r
112 <variablelist>\r
113 <varlistentry>\r
114 <term><parameter>sampler</parameter></term>\r
115 <listitem>\r
116 <para>\r
117 Specifies the sampler to which the texture from which texels will be retrieved is bound.\r
118 </para>\r
119 </listitem>\r
120 </varlistentry>\r
121 <varlistentry>\r
122 <term><parameter>P</parameter></term>\r
123 <listitem>\r
124 <para>\r
125 Specifies the texture coordinates at which texture will be sampled.\r
126 </para>\r
127 </listitem>\r
128 </varlistentry>\r
129 <varlistentry>\r
130 <term><parameter>bias</parameter></term>\r
131 <listitem>\r
132 <para>\r
133 Specifies an optional bias to be applied during level-of-detail computation.\r
134 </para>\r
135 </listitem>\r
136 </varlistentry>\r
137 <varlistentry>\r
138 <term><parameter>compare</parameter></term>\r
139 <listitem>\r
140 <para>\r
141 Specifies the value to which the fetched texel will be compared when sampling from <code>gsamplerCubeArrayShadow</code>.\r
142 </para>\r
143 </listitem>\r
144 </varlistentry>\r
145 </variablelist>\r
146 </refsect1>\r
147 <refsect1 id="description"><title>Description</title>\r
148 <para>\r
149 <function>texture</function> samples texels from the texture bound to <parameter>sampler</parameter> at texture\r
150 coordinate <parameter>P</parameter>. An optional bias, specified in <parameter>bias</parameter> is included in\r
151 the level-of-detail computation that is used to choose mipmap(s) from which to sample.\r
152 </para>\r
153 <para>\r
154 For <emphasis>shadow</emphasis> forms, when <parameter>compare</parameter> is present, it is used as\r
155 <inlineequation><mml:math><mml:msub><mml:mi>D</mml:mi><mml:mi>sub</mml:mi></mml:msub></mml:math></inlineequation>\r
156 and the array layer is specified in <code><parameter>P</parameter>.w</code>. When <parameter>compare</parameter> is\r
157 not present, the last component of <parameter>P</parameter> is used as\r
158 <inlineequation><mml:math><mml:msub><mml:mi>D</mml:mi><mml:mi>sub</mml:mi></mml:msub></mml:math></inlineequation> and the\r
159 array layer is specified in the second to last component of <parameter>P</parameter>. (The second component of <parameter>P</parameter>\r
160 is unused for <emphasis>1D</emphasis> shadow lookups.)\r
161 </para>\r
162 <para>\r
163 For non-shadow variants, the array layer comes from the last component of <parameter>P</parameter>.\r
164 </para>\r
165 </refsect1>\r
166 <refsect1 id="versions"><title>Version Support</title>\r
167 <informaltable frame="topbot">\r
168 #VARTABLECOLS#\r
169 <thead>\r
170 #FUNCTABLEHEADER#\r
171 <row>\r
172 <entry>texture</entry>#newin13#\r
173 </row>\r
174 <row>\r
175 <entry>texture (gsampler2DRect{Shadow})</entry>#newin14#\r
176 </row>\r
177 <row>\r
178 <entry>texture (gsampler2DMS, gsampler2DMSArray)</entry>#newin15#\r
179 </row>\r
180 <row>\r
181 <entry>texture (gsamplerCubeArray{Shadow})</entry>#newin40#\r
182 </row>\r
183 </thead>\r
184 </tgroup>\r
185 </informaltable>\r
186 </refsect1>\r
187 <refsect1 id="seealso"><title>See Also</title>\r
188 <para>\r
189 <citerefentry><refentrytitle>texelFetch</refentrytitle></citerefentry>,\r
190 <citerefentry><refentrytitle>texelFetchOffset</refentrytitle></citerefentry>,\r
191 <citerefentry><refentrytitle>textureGather</refentrytitle></citerefentry>,\r
192 <citerefentry><refentrytitle>textureGatherOffset</refentrytitle></citerefentry>,\r
193 <citerefentry><refentrytitle>textureGatherOffsets</refentrytitle></citerefentry>,\r
194 <citerefentry><refentrytitle>textureGrad</refentrytitle></citerefentry>,\r
195 <citerefentry><refentrytitle>textureGradOffset</refentrytitle></citerefentry>,\r
196 <citerefentry><refentrytitle>textureLod</refentrytitle></citerefentry>,\r
197 <citerefentry><refentrytitle>textureLodOffset</refentrytitle></citerefentry>,\r
198 <citerefentry><refentrytitle>textureOffset</refentrytitle></citerefentry>,\r
199 <citerefentry><refentrytitle>textureProj</refentrytitle></citerefentry>,\r
200 <citerefentry><refentrytitle>textureProjGrad</refentrytitle></citerefentry>,\r
201 <citerefentry><refentrytitle>textureProjGradOffset</refentrytitle></citerefentry>,\r
202 <citerefentry><refentrytitle>textureProjLod</refentrytitle></citerefentry>,\r
203 <citerefentry><refentrytitle>textureProjLodOffset</refentrytitle></citerefentry>,\r
204 <citerefentry><refentrytitle>textureProjOffset</refentrytitle></citerefentry>,\r
205 <citerefentry><refentrytitle>textureQueryLod</refentrytitle></citerefentry>,\r
206 <citerefentry><refentrytitle>textureSize</refentrytitle></citerefentry>\r
207 </para>\r
208 </refsect1>\r
209 <refsect1 id="Copyright"><title>Copyright</title>\r
210 <para>\r
211 Copyright <trademark class="copyright"></trademark> 2011 Khronos Group. \r
212 This material may be distributed subject to the terms and conditions set forth in \r
213 the Open Publication License, v 1.0, 8 June 1999.\r
214 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.\r
215 </para>\r
216 </refsect1>\r
217</refentry>\r