|
@@ -1,4724 +0,0 @@
|
|
|
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
-<glslVocabulary>
|
|
|
- <mainVocabulary>
|
|
|
- <entry>
|
|
|
- <key>pow</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>float</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>single floating-point scalar</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>dot</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, vec4)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxFragmentUniformComponents</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 64 ARB_fragment_shader required</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum allowed uniform
|
|
|
- components inside the fragment shader.<br> This limit refers to the storage
|
|
|
- for the combination of build-in uniform variables and user-defined uniform
|
|
|
- variables that are actually used in a fragment shader. This constant can
|
|
|
- be also queried by calling <b>glGetIntegerv</b> with the symbolic constant <i>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB</i>.
|
|
|
- The minimum value is 64 if <i>ARB_fragment_shader</i> is supported.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>else</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>SELECTION</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackLightProduct</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxLights</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform gl_LightProducts</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxVertexAttribs</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 16 ARB_vertex_shader required</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum useable vertex attributes
|
|
|
- in a vertex shader.<br> This limit consists of the standard (build-in) attributes (these are color, secondary color, normal, vertex position, texture coordinates, and fog coordinates) and the generic attributes left for custom purposes. This constant can be also queried by calling <b>glGetIntegerv</b>
|
|
|
- with the symbolic constant <i>GL_MAX_VERTEX_ATTRIBS_ARB</i>. Every OpenGL
|
|
|
- implementation is required to support at least 16 vertex attributes in a
|
|
|
- vertex shader.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>log</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture2DLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec2, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>uvec2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a two-component unsigned integer vector</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a two-component unsigned integer vector
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>floor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>uvec3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a three-component unsigned integer vector</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a three-component unsigned integer vector
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>uvec4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a four-component unsigned integer vector</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a four-component unsigned integer vector
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>faceforward</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4 V, vec4 I, vec4 N)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TextureMatrixTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>smooth</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>perspective correct interpolation</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <p>
|
|
|
- perspective correct interpolation
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usampler2DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip> a handle for accessing an unsigned integer 2D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer 2D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>ceil</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>smoothstep</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture2DProjLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec3, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec4, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isampler1D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer 1D texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer 1D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>do</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>ITERATION</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture1DProjLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, vec2, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, vec4, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>max</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sqrt</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow1DProjLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1DShadow, vec4, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>highp</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- qualifier for high precision
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxVertexUniformComponents</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 512 ARB_vertex_shader required</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum allowed uniform
|
|
|
- components inside the vertex shader.<br> This limit refers to the storage for
|
|
|
- the combination of build-in uniform variables and user-defined uniform
|
|
|
- variables that are actually used in a vertex shader. This constant can be
|
|
|
- also queried by calling <b>glGetIntegerv</b> with the symbolic constant <i>GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB</i>.
|
|
|
- The minimum value is 512 if <i>ARB_vertex_shader</i> is supported.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>noise4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>clamp</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, float, float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, float, float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, float, float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sin</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric sine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric sine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric sine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric sine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>noise2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>noise3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>noise1</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ProjectionMatrixInverseTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>reflect</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4 I, vec4 N)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>vec4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>four component floating-point vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>cos</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric cosine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric cosine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric cosine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric cosine function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>centroid</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>centroid interpolation on multi-sample varyings</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Examples:
|
|
|
-
|
|
|
- <blockquote>
|
|
|
- <code><nobr>centroid varying vec4 color;</nobr><br><nobr>centroid varying float value;</nobr></code>
|
|
|
- </blockquote>
|
|
|
- By definition, varying variables are set per vertex and are interpolated
|
|
|
- in a perspective-correct manner over the primitive being rendered.
|
|
|
-
|
|
|
- <ul>
|
|
|
- <li>
|
|
|
- If single-sampling, the value is interpolated to the pixel's center,
|
|
|
- and the <b>centroid </b>qualifier, if present, is ignored.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- If multi-sampling, and <b>varying</b> is not qualified with <b>centroid</b>,
|
|
|
- then the value must be interpolated to the pixel's center, or anywhere
|
|
|
- within the pixel, or to one of the pixel's samples.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- If multi-sampling and <b>varying </b>is qualified with <b>centroid</b>,
|
|
|
- then the value must be interpolated to a point that lies in both the
|
|
|
- pixel and in the primitive being rendered, or to one of the pixel's
|
|
|
- samples that falls within the primitive. Due to the less regular
|
|
|
- location of centroids, their derivatives may be less accurate than
|
|
|
- non-centroid varying variables.
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <p>
|
|
|
- When using the <b>centroid </b>keyword, it must immediately precede the <b>varying
|
|
|
- </b>keyword. A fragment shader may read from varying variables and the
|
|
|
- value read will be the interpolated value, as a function of the
|
|
|
- fragment's position within the primitive. A fragment shader can not
|
|
|
- write to a varying variable.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- The type and presence of the <b>centroid </b>and <b>invariant </b>qualifiers
|
|
|
- of varying variables with the same name declared in linked vertex and
|
|
|
- fragments shaders must match, otherwise the link command will fail. Only
|
|
|
- those varying variables used (i.e. read) in the fragment shader
|
|
|
- executable must be written to by the vertex shader executable; declaring
|
|
|
- superfluous varying variables in a vertex shader is permissible.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture1D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, float, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>ivec4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>four component integer vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>ivec3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>three component integer vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow2D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2DShadow, vec3, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>varying</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>output from Vertex shader (READ/WRITE), interpolated, then input to Fragment shader (READ-ONLY)</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <p>
|
|
|
- <b>Deprecated since 1.3, use <i>smooth</i> instead</b>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- </p>
|
|
|
- Varying variables provide the interface between the vertex shader and
|
|
|
- geometry shader and also between the geometry shader and fragment shader
|
|
|
- and the fixed functionality between them. If no geometry shader is
|
|
|
- present, <b>varying</b> variables also provide the interface between the
|
|
|
- vertex shader and fragment shader.
|
|
|
-
|
|
|
- <p>
|
|
|
- The vertex, or geometry shader will compute values per vertex (such as
|
|
|
- color, texture coordinates, etc) and write them to output variables
|
|
|
- declared with the &quot;varying&quot; qualifier (vertex) or &quot;varying out&quot;
|
|
|
- qualifiers (geometry). A vertex or geometry shader may also read these
|
|
|
- output varying variables, getting back the same values it has written.
|
|
|
- Reading an output varying variable in a vertex or geometry shader
|
|
|
- returns undefined results if it is read before being written.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- A geometry shader may also read from an input <b>varying</b> variable
|
|
|
- declared with the &quot;varying in&quot; qualifiers. The value read will be the
|
|
|
- same value as written by the vertex shader for that <b>varying</b>
|
|
|
- variable. Since a geometry shader operates on primitives, each input
|
|
|
- varying variable needs to be declared as an array. Each element of such
|
|
|
- an array corresponds to a vertex of the primitive being processed. If
|
|
|
- the varying variable is declared as a scalar or matrix in the vertex
|
|
|
- shader, it will be a one-dimensional array in the geometry shader. Each
|
|
|
- array can optionally have a size declared. If a size is not specified,
|
|
|
- it inferred by the linker and depends on the value of the input
|
|
|
- primitive type. See table 4.3.xxx (GLSL specification) to determine the
|
|
|
- exact size. The read-only built-in constant <b>gl_VerticesIn</b> will be
|
|
|
- set to this value by the linker. If a size is specified, it has to be
|
|
|
- the size as given by table 4.3.xxx, otherwise a link error will occur.
|
|
|
- The built-in constant <b>gl_VerticesIn</b>, if so desired, can be used
|
|
|
- to size the array correctly for each input primitive type. Varying
|
|
|
- variables can also be declared as arrays in the vertex shader. This
|
|
|
- means that those, on input to the geometry shader, must be declared as
|
|
|
- two- dimensional arrays. The first index to the two-dimensional array
|
|
|
- holds the vertex number. Declaring a size for the first range of the
|
|
|
- array is optional, just as it is for one-dimensional arrays. The second
|
|
|
- index holds the per-vertex array data. Declaring a size for the second
|
|
|
- range of the array is not optional, and has to match the declaration in
|
|
|
- the vertex shader.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- By definition, varying variables are set per vertex and are interpolated
|
|
|
- in a perspective-correct manner over the primitive being rendered. If
|
|
|
- single-sampling, the value is interpolated to the pixel's center, and
|
|
|
- the <b>centroid </b>qualifier, if present, is ignored. If
|
|
|
- multi-sampling, and <b>varying</b> is not qualified with <b>centroid</b>,
|
|
|
- then the value must be interpolated to the pixel's center, or anywhere
|
|
|
- within the pixel, or to one of the pixel's samples. If multi-sampling
|
|
|
- and <b>varying </b>is qualified with <b>centroid</b>, then the value
|
|
|
- must be interpolated to a point that lies in both the pixel and in the
|
|
|
- primitive being rendered, or to one of the pixel's samples that falls
|
|
|
- within the primitive. Due to the less regular location of centroids,
|
|
|
- their derivatives may be less accurate than non-centroid varying
|
|
|
- variables.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- When using the <b>centroid </b>keyword, it must immediately precede the <b>varying
|
|
|
- </b>keyword. A fragment shader may read from varying variables and the
|
|
|
- value read will be the interpolated value, as a function of the
|
|
|
- fragment's position within the primitive. A fragment shader can not
|
|
|
- write to a varying variable.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- The type and presence of the <b>centroid </b>and <b>invariant </b>qualifiers
|
|
|
- of varying variables with the same name declared in linked vertex and
|
|
|
- fragments shaders must match, otherwise the link command will fail. Only
|
|
|
- those varying variables used (i.e. read) in the fragment shader
|
|
|
- executable must be written to by the vertex shader executable; declaring
|
|
|
- superfluous varying variables in a vertex shader is permissible.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- Varying variables are declared as in the following examples:
|
|
|
- </p>
|
|
|
- <blockquote>
|
|
|
- <nobr><code>varying vec3 normal;</code></nobr><code><br><nobr>centroid
|
|
|
- varying vec2 TexCoord;</nobr><br><nobr>invariant centroid varying vec4
|
|
|
- Color;</nobr><br></code>
|
|
|
- </blockquote>
|
|
|
- <p>
|
|
|
- The <b>varying </b>qualifier can be used only with <b>float</b>,
|
|
|
- floating-point vectors, matrices, or arrays of these. Structures cannot
|
|
|
- be <b>varying</b>. If no vertex shader executable is active, the fixed
|
|
|
- functionality pipeline of OpenGL will compute values for the built-in
|
|
|
- varying variables that will be consumed by the fragment shader
|
|
|
- executable. Similarly, if no fragment shader executable is active, the
|
|
|
- vertex shader executable is responsible for computing and writing to the
|
|
|
- varying variables that are needed for OpenGL's fixed functionality
|
|
|
- fragment pipeline. Varying variables are required to have global scope,
|
|
|
- and must be declared outside of function bodies, before their first use.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>any</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec2)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec3)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec4)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>notEqual</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec2, bvec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec3, bvec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec4, bvec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>ivec2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>two component integer vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler1DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing a 1D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing a 1D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type></type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler2DArrayShadow</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing a 2D array depth texture with comparison
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type></type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>radians</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts degrees to radians, i.e. pi / 180 * degrees
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts degrees to radians, i.e. pi / 180 * degrees
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts degrees to radians, i.e. pi / 180 * degrees
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts degrees to radians, i.e. pi / 180 * degrees
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usamplerCube</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an unsigned integer cube mapped texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer cube mapped texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TextureMatrixInverse</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture2D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec2, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler1DArrayShadow</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing a 1D array depth texture with comparison</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing a 1D array depth texture with comparison
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type></type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sign</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture2DProj</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec3, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2D, vec4, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow1D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1DShadow, vec3, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxTextureCoords</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 2 ARB_fragment_program required</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum allowed number of
|
|
|
- texture coordinate sets.<br>The number of texture coordinate sets defines
|
|
|
- the maximum number of texture coordinates that can be attached to a
|
|
|
- vertex. A texture coordinate set encompasses vertex texture coordinate attributes, as well as the texture matrix stack and texture generation state. This limit applies regardless of using a vertex shader or
|
|
|
- fixed-function pipeline to perform vertex processing. This constant can be
|
|
|
- also queried by calling <b>glGetIntegerv</b> with the symbolic constant <i>GL_MAX_TEXTURE_COORDS_ARB</i>.
|
|
|
- Minimum value is 2.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxVertexTextureImageUnits</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 0 ARB_vertex_shader required</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum available texture image
|
|
|
- units in a vertex shader.<br> The texture image unit constant specifyes the
|
|
|
- number of hardware units that can be used simultaneously for accessing
|
|
|
- texture maps. This constant can be also queried by calling <b>glGetIntegerv</b>
|
|
|
- with the symbolic constant <i>GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB</i>.
|
|
|
- The minimum value is 0.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>vec3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>three component floating-point vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>vec2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>two component floating-point vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>case</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture1DLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, float, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>asin</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc sine. Returns an angle whose sine is x. The range of values returned
|
|
|
- by this function is [- Pi / 2 , Pi / 2 ] Results are undefined if |x| &gt; 1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc sine. Returns an angle whose sine is x. The range of values returned
|
|
|
- by this function is [- Pi / 2 , Pi / 2 ] Results are undefined if |x| &gt; 1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc sine. Returns an angle whose sine is x. The range of values returned
|
|
|
- by this function is [- Pi / 2 , Pi / 2 ] Results are undefined if |x| &gt; 1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc sine. Returns an angle whose sine is x. The range of values returned
|
|
|
- by this function is [- Pi / 2 , Pi / 2 ] Results are undefined if |x| &gt; 1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture3D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler3D, vec3, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_LightModel</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_LightModelParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>bvec2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>two component boolean vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>bvec3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>three component boolean vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>bvec4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>four component boolean vector</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>normalize</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxCombinedTextureImageUnits</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 2</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum available combined
|
|
|
- texture image units in all shader processing parts of OpenGL.<br>The
|
|
|
- texture image unit constant specifys the number of hardware units that can
|
|
|
- be used simultaneously for accessing texture maps. This constant can be
|
|
|
- also queried by calling <b>glGetIntegerv</b> with the symbolic constant <i>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB</i>.
|
|
|
- The minimum value is 2.
|
|
|
-
|
|
|
- <p>
|
|
|
- <b>Note:</b> If a vertex shader and a fragment shader both use the same
|
|
|
- texture image unit, that counts as two units against this limit.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>struct</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Once a structure is defined, and its type is given a name, a constructor
|
|
|
- is available with the same name to construct instances of that structure.
|
|
|
- For example:
|
|
|
-
|
|
|
- <pre><code>struct light {
|
|
|
- float intensity;
|
|
|
- vec3 position;
|
|
|
-};
|
|
|
-<nobr>light lightVar = light(3.0, vec3(1.0, 2.0, 3.0));</nobr></code>
|
|
|
- </pre>
|
|
|
- <p>
|
|
|
- The arguments to the constructor will be used to set the structure's
|
|
|
- fields, in order, using one argument per field. Each argument must be
|
|
|
- the same type as the field it sets.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- Structure constructors can be used as initializers or in expressions.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>all</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec2)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec3)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec4)</arguments>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow2DLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2DShadow, vec3, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>precision</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The precision statement
|
|
|
-<pre>
|
|
|
-precision precision-qualifier type;
|
|
|
-</pre>
|
|
|
-can be used to establish a default precision qualifier. The type field can be either int or <b>float</b>, and the
|
|
|
-precision-qualifier can be <b>lowp, mediump, or highp</b>. Any other types or qualifiers will result in an error.
|
|
|
-If type is float, the directive applies to non-precision-qualified floating point type (scalar, vector, and
|
|
|
-matrix) declarations. If type is <b>int</b>, the directive applies to all non-precision-qualified integer type (scalar,
|
|
|
-vector, signed, and unsigned) declarations. This includes global variable declarations, function return declarations,
|
|
|
-function parameter declarations, and local variable declarations. Non-precision qualified declarations will use the precision qualifier
|
|
|
-specified in the most recent precision statement that is still in scope. The <b>precision</b> statement has the same scoping rules as variable
|
|
|
-declarations. If it is declared inside a compound statement, its effect stops at the end of the innermost
|
|
|
-statement it was declared in. Precision statements in nested scopes override <b>precision</b> statements in outer
|
|
|
-scopes. Multiple precision statements for the same basic type can appear inside the same scope, with later
|
|
|
-statements overriding earlier statements within that scope.
|
|
|
-<p>
|
|
|
-The vertex language has the following predeclared globally scoped default
|
|
|
- precision statements:
|
|
|
-<pre>
|
|
|
-precision highp float;
|
|
|
-precision highp int;
|
|
|
-</pre>
|
|
|
-</p>
|
|
|
-<p>
|
|
|
-The fragment language has the following predeclared globally scoped default
|
|
|
- precision statement:
|
|
|
-<pre>
|
|
|
-precision mediump int;
|
|
|
-</pre>
|
|
|
-</p>
|
|
|
-The fragment language has no default precision qualifier for floating point types. Hence for float, floating
|
|
|
-point vector and matrix variable declarations, either the declaration must include a precision qualifier or
|
|
|
-the default float precision must have been previously declared.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackMaterial</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_MaterialParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>uniform</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>input to Vertex and Fragment shader from OpenGL or application (READ-ONLY)</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <nobr>The <b>uniform </b>qualifier is used to declare global variables
|
|
|
- whose values are the same across the entire</nobr> <nobr>primitive being
|
|
|
- processed. All <b>uniform </b>variables are read-only and are initialized
|
|
|
- externally either at link</nobr> <nobr>time or through the API. The link
|
|
|
- time initial value is either the value of the variable's initializer, if</nobr>
|
|
|
- <nobr>present, or 0 if no initializer is present. Sampler types cannot
|
|
|
- have initializers.</nobr><br>Example declarations are:
|
|
|
-
|
|
|
- <pre> <nobr>uniform vec4 lightPosition;</nobr>
|
|
|
- <nobr>uniform vec3 color = vec3(0.7, 0.7, 0.2); // value assigned at link time </nobr></pre>
|
|
|
-<p>
|
|
|
- <nobr>The <b>uniform </b>qualifier can be used with any of the basic data
|
|
|
- types, or when declaring a variable whose</nobr> <nobr>type is a
|
|
|
- structure, or an array of any of these.</nobr> <nobr>There is an
|
|
|
- implementation dependent limit on the amount of storage for uniforms that
|
|
|
- can be used for</nobr> <nobr>each type of shader and if this is exceeded
|
|
|
- it will cause a compile-time or link-time error. Uniform</nobr> <nobr>variables
|
|
|
- that are declared but not used do not count against this limit. The number
|
|
|
- of user-defined</nobr> <nobr>uniform variables and the number of built-in
|
|
|
- uniform variables that are used within a shader are added</nobr> <nobr>together
|
|
|
- to determine whether available uniform storage has been exceeded.</nobr>
|
|
|
-
|
|
|
- <p>
|
|
|
- <nobr>If multiple shaders are linked together, then they will share a
|
|
|
- single global uniform name space. Hence,</nobr> <nobr>the types and
|
|
|
- initializers of uniform variables with the same name must match across
|
|
|
- all shaders that are</nobr> <nobr>linked into a single executable. It is
|
|
|
- legal for some shaders to provide an initializer for a particular</nobr> <nobr>uniform
|
|
|
- variable, while another shader does not, but all provided initializers
|
|
|
- must be equal.</nobr>
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>matrixCompMult</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(mat2, mat2)</arguments>
|
|
|
- <type>mat2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(mat3, mat3)</arguments>
|
|
|
- <type>mat3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(mat4, mat4)</arguments>
|
|
|
- <type>mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackLightModelProduct</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_LightModelProducts</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>equal</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec2, bvec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec3, bvec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec4, bvec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_NormalScale</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewProjectionMatrixInverse</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_DepthRange</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_DepthRangeParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isampler2DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer 2D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer 2D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>out</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>copied out on return, but not initialized</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>noperspective</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>linear interpolation</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <p>
|
|
|
- linear interpolation
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>samplerCube</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a cube mapped texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler2DShadow</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a 2D depth texture with comparison</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>for</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>ITERATION</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
-
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>break</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>JUMP</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>invariant</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>ensures all calculations of this variable give identical values across programs</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- To ensure that a particular output variable is invariant, it is necessary
|
|
|
- to use the <b>invariant </b>qualifier. It can either be used to qualify a
|
|
|
- previously declared variable as being invariant
|
|
|
-
|
|
|
- <blockquote>
|
|
|
- <code><nobr>invariant gl_Position; // make existing gl_Position be invariant</nobr><br><nobr>varying
|
|
|
- vec3 Color;</nobr><br><nobr>invariant Color; // make existing Color be invariant</nobr><br></code>
|
|
|
- </blockquote>
|
|
|
- <p>
|
|
|
- or as part of a declaration when a variable is declared
|
|
|
- </p>
|
|
|
- <blockquote>
|
|
|
- <code><nobr>invariant varying vec3 Color;</nobr></code>
|
|
|
- </blockquote>
|
|
|
- <p>
|
|
|
- The invariant qualifier must appear before any storage qualifiers (<b>varying</b>)
|
|
|
- when combined with a declaration. Only variables output from a vertex
|
|
|
- shader can be candidates for invariance. This includes user-defined
|
|
|
- varying variables, the built-in vertex-side varying variables, and the
|
|
|
- special vertex variables <i>gl_Position </i>and <i>gl_PointSize</i>. For
|
|
|
- varying variables leaving a vertex shader and coming into a fragment
|
|
|
- shader with the same name, the <b>invariant </b>keyword has to be used
|
|
|
- in both the vertex and fragment shaders. The <b>invariant </b>keyword
|
|
|
- can be followed by a comma separated list of previously declared
|
|
|
- identifiers. All uses of <b>invariant </b>must be at the global scope,
|
|
|
- and before any use of the variables being declared as invariant.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- To guarantee invariance of a particular output variable across two
|
|
|
- programs, the following must also be true:
|
|
|
- </p>
|
|
|
- <ul>
|
|
|
- <li>
|
|
|
- The output variable is declared as invariant in both programs.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- The same values must be input to all shader input variables consumed
|
|
|
- by expressions and flow control contributing to the value assigned to
|
|
|
- the output variable.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- The texture formats, texel values, and texture filtering are set the
|
|
|
- same way for any texture function calls contributing to the value of
|
|
|
- the output variable.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- All input values are all operated on in the same way. All operations
|
|
|
- in the consuming expressions and any intermediate expressions must be
|
|
|
- the same, with the same order of operands and same associativity, to
|
|
|
- give the same order of evaluation. Intermediate variables and
|
|
|
- functions must be declared as the same type with the same explicit or
|
|
|
- implicit precision qualifiers. Any control flow affecting the output
|
|
|
- value must be the same, and any expressions consumed to determine this
|
|
|
- control flow must also follow these invariance rules.
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- All the data flow and control flow leading to setting the invariant
|
|
|
- output variable reside in a single compilation unit.
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <p>
|
|
|
- Essentially, all the data flow and control flow leading to an invariant
|
|
|
- output must match. Initially, by default, all output variables are
|
|
|
- allowed to be variant. To force all output variables to be invariant,
|
|
|
- use the pragma
|
|
|
- </p>
|
|
|
- <blockquote>
|
|
|
- <code>#pragma STDGL invariant(all)</code>
|
|
|
- </blockquote>
|
|
|
- <p>
|
|
|
- before all declarations in a shader. If this pragma is used after the
|
|
|
- declaration of any variables or functions, then the set of outputs that
|
|
|
- behave as invariant is undefined. It is an error to use this pragma in a
|
|
|
- fragment shader.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- Generally, invariance is ensured at the cost of flexibility in
|
|
|
- optimization, so performance can be degraded by use of invariance.
|
|
|
- Hence, use of this pragma is intended as a debug aid, to avoid
|
|
|
- individually declaring all output variables as invariant.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>abs</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Returns x if x &gt;= 0, otherwise it returns -x
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Returns x if x &gt;= 0, otherwise it returns -x
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Returns x if x &gt;= 0, otherwise it returns -x
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Returns x if x &gt;= 0, otherwise it returns -x
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>greaterThanEqual</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec2, ivec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec3, ivec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec4, ivec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_NormalMatrix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat3</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>false</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- <tooltip>boolean value</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewMatrixInverse</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewProjectionMatrix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>refract</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, float eta)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2, float eta)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3, float eta)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4 I, vec4 M, float eta)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>dFdx</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>dFdy</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewProjectionMatrixInverseTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>lessThanEqual</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec2, ivec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec3, ivec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec4, ivec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usampler1D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an unsigned integer 1D texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer 1D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>not</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(bvec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewMatrixInverseTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>greaterThan</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec2, ivec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec3, ivec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec4, ivec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Fog</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_FogParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>tan</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric tangent function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric tangent function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric tangent function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The standard trigonometric tangent function. Angle in radians.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>cross</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ClipPlane</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxClipPlanes</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>textureCube</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(samplerCube, vec3, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>const</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>constant function input</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxTextureUnits</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 2 since OpenGL 1.3</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum available multitexture
|
|
|
- statges.<br>This constant can
|
|
|
- be also queried by calling <b>glGetIntegerv</b> with the symbolic constant <i>GL_MAX_TEXTURE_UNITS</i>.
|
|
|
- The minimum value is 2.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mediump</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- qualifier for medium precision
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>inout</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>value initialized on entry, and copied out on return</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>switch</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontLightModelProduct</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_LightModelProducts</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow1DProj</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1DShadow, vec4, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usampler1DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an unsigned integer 1D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer 1D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_EyePlaneT</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_EyePlaneS</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_EyePlaneR</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>distance</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, vec4)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_EyePlaneQ</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler1DShadow</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a 1D depth texture with comparison</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing a 1D depth texture with comparison
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ProjectionMatrix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TextureEnvColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureUnits</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>length</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewMatrixTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontMaterial</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_MaterialParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler2DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing a 2D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing a 2D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type></type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>min</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_LightSource</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxLights</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform gl_LightSourceParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>return</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>JUMP</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>void</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>for functions that do not return a value</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>true</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- <tooltip>boolean value</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2, vec2, float)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3, vec3, float)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4, vec4, float)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture3DProj</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler3D, vec4, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxDrawBuffers</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 1 ARB_draw_buffers required</tooltip>
|
|
|
- <doc>min = 1; // proposed ARB_draw_buffers</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ProjectionMatrixTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>lowp</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- qualifier for low precision
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isamplerCube</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer cube mapped texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer cube mapped texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewMatrix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>fwidth</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>atan</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y
|
|
|
- are used to determine what quadrant the angle is in. The range of values
|
|
|
- returned by this function is [-Pi, Pi]. Results are undefined if x and y
|
|
|
- are both 0.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y
|
|
|
- are used to determine what quadrant the angle is in. The range of values
|
|
|
- returned by this function is [-Pi, Pi]. Results are undefined if x and y
|
|
|
- are both 0.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y
|
|
|
- are used to determine what quadrant the angle is in. The range of values
|
|
|
- returned by this function is [-Pi, Pi]. Results are undefined if x and y
|
|
|
- are both 0.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y
|
|
|
- are used to determine what quadrant the angle is in. The range of values
|
|
|
- returned by this function is [-Pi, Pi]. Results are undefined if x and y
|
|
|
- are both 0.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4, vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxVaryingFloats</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 32</tooltip>
|
|
|
- <doc>min = 32; // ARB_vertex_shader</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>fract</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Point</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform gl_PointParameters</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture3DProjLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler3D, vec4, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ObjectPlaneS</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ObjectPlaneT</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isampler2D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer 2D texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer 2D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>exp2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ObjectPlaneR</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ObjectPlaneQ</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>lessThan</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec2, ivec2)</arguments>
|
|
|
- <type>bvec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec3, ivec3)</arguments>
|
|
|
- <type>bvec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(ivec4, ivec4)</arguments>
|
|
|
- <type>bvec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow2DProjLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2DShadow, vec4, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxTextureImageUnits</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 2</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum available texture image
|
|
|
- units in a fragment shader.<br> The texture image unit constant specifyes the
|
|
|
- number of hardware units that can be used simultaneously for accessing
|
|
|
- texture maps. This constant can be also queried by calling <b>glGetIntegerv</b>
|
|
|
- with the symbolic constant <i>GL_MAX_TEXTURE_IMAGE_UNITS_ARB</i>. The
|
|
|
- minimum value is 2.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontLightProduct</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxLights</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform gl_LightProducts</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxClipPlanes</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 6 since OpenGL 1.0</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum supported clip planes.
|
|
|
-
|
|
|
- <p>
|
|
|
- This constant can be also queried by calling <b>glGetIntegerv</b> with
|
|
|
- the symbolic constant <i>GL_MAX_CLIP_PLANES_ARB</i>. The minimum value
|
|
|
- is 6.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>inversesqrt</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TextureMatrixInverseTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>int</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>signed integer</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MaxLights</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value >= 8 since OpenGL 1.0</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Implementation dependent constant for the maximum allowed dynamic light
|
|
|
- sources.<br> The minimum value is 8.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>flat</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>no interpolation</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <p>
|
|
|
- no interpolation.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>log2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isampler3D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer 3D texture </tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer 3D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>exp</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>ftransform</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>()</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mat4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>4×4 floating-point matrix</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>default</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>KEYWORD</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler1D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a 1D texture</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mat2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>2×2 floating-point matrix</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>mat3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>3×3 floating-point matrix</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ModelViewProjectionMatrixTranspose</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>textureCubeLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(samplerCube, vec3, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usampler2D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an unsigned integer 2D texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer 2D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TextureMatrix</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX < gl_MaxTextureCoords</tooltip>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ProjectionMatrixInverse</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>uniform mat4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow1DLod</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1DShadow, vec3, float lod)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>while</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>ITERATION</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler2D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a 2D texture</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>texture1DProj</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, vec2, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler1D, vec4, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>if</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>SELECTION</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>shadow2DProj</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(sampler2DShadow, vec4, float bias)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>isampler1DArray</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an integer 1D array texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an integer 1D array texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>acos</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc cosine. Returns an angle whose cosine is x. The range of values
|
|
|
- returned by this function is [0, pi]. Results are undefined if |x|&gt;1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc cosine. Returns an angle whose cosine is x. The range of values
|
|
|
- returned by this function is [0, pi]. Results are undefined if |x|&gt;1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc cosine. Returns an angle whose cosine is x. The range of values
|
|
|
- returned by this function is [0, pi]. Results are undefined if |x|&gt;1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Arc cosine. Returns an angle whose cosine is x. The range of values
|
|
|
- returned by this function is [0, pi]. Results are undefined if |x|&gt;1.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>usampler3D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>a handle for accessing an unsigned integer 3D texture</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- a handle for accessing an unsigned integer 3D texture
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>degrees</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts radians to degrees, i.e. 180/Pi * radians
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts radians to degrees, i.e. 180/Pi * radians
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts radians to degrees, i.e. 180/Pi * radians
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Converts radians to degrees, i.e. 180/Pi * radians
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>(vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>in</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>value initialized on entry, not copied on return (default)</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>sampler3D</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>handle for accessing a 3D texture</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>continue</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>JUMP</category>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>bool</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>conditional type, taking on values of true or false (also known as boolean)</tooltip>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>step</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, float)</arguments>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, vec2)</arguments>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, vec3)</arguments>
|
|
|
- <type>vec3</type>
|
|
|
- </item>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <arguments>(float, vec4)</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>uint</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>TYPE</category>
|
|
|
- <tooltip>an unsigned integer</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
- 
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- an unsigned integer
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- </mainVocabulary>
|
|
|
- <fragmentShaderVocabulary>
|
|
|
- <entry>
|
|
|
- <key>gl_FragDepth</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>pixel depth</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Writing to <i>gl_FragDepth </i>will establish the depth value for the
|
|
|
- fragment being processed. If depth buffering is enabled, and no shader
|
|
|
- writes <i>gl_FragDepth</i>, then the fixed function value for depth will
|
|
|
- be used as the fragment&#8217;s depth value. If a shader statically assigns a
|
|
|
- value to <i>gl_FragDepth</i>, and there is an execution path through the
|
|
|
- shader that does not set <i>gl_FragDepth</i>, then the value of the
|
|
|
- fragment&#8217;s depth may be undefined for executions of the shader that take
|
|
|
- that path. That is, if the set of linked fragment shaders statically
|
|
|
- contain a write to <i>gl_FragDepth</i>, then it is responsible for always
|
|
|
- writing it.
|
|
|
-
|
|
|
- <p>
|
|
|
- (A shader contains a <i>static assignment </i>to a variable <i>x </i>if,
|
|
|
- after pre-processing, the shader contains a statement that would write
|
|
|
- to <i>x</i>, whether or not run-time flow of control will cause that
|
|
|
- statement to be executed.)
|
|
|
- </p>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FragCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>pixel coordinate (READ ONLY)</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_FragCoord </i>is available as a read-only variable from
|
|
|
- within fragment shaders and it holds the window relative coordinates x, y,
|
|
|
- z, and 1/w values for the fragment. If multi-sampling, this value can be
|
|
|
- for any location within the pixel, or one of the fragment samples. The use
|
|
|
- of <b>centroid </b>varyings does not further restrict this value to be
|
|
|
- inside the current primitive. This value is the result of the fixed
|
|
|
- functionality that interpolates primitives after vertex processing to
|
|
|
- generate fragments. The <i>z </i>component is the depth value that would
|
|
|
- be used for the fragment&#8217;s depth if no shader contained no writes to <i>gl_FragDepth.
|
|
|
- </i>This is useful for invariance if a shader conditionally computes <i>gl_FragDepth
|
|
|
- </i>but otherwise wants the fixed functionality fragment depth.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PointCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The values in <i>gl_PointCoord </i>are two-dimensional coordinates
|
|
|
- indicating where within a point primitive the current fragment is located,
|
|
|
- when point sprites are enabled. They range from 0.0 to 1.0 across the
|
|
|
- point. If the current primitive is not a point, or if point sprites are
|
|
|
- not enabled, then the values read from gl_PointCoord are undefined.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>vec2</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontFacing</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>(READ ONLY)</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- Fragment shaders have access to the read-only built-in variable <i>gl_FrontFacing,
|
|
|
- </i>whose value is <b>true </b>if the fragment belongs to a front-facing
|
|
|
- primitive.<p> One use of this is to emulate two-sided lighting
|
|
|
- by selecting one of two colors calculated by the vertex shader or geometry
|
|
|
- shader.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>bool</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Color</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The values in <i>gl_Color </i>and <i>gl_SecondaryColor </i>will be derived
|
|
|
- automatically by the system from <i>gl_FrontColor, gl_BackColor,
|
|
|
- gl_FrontSecondaryColor, </i>and <i>gl_BackSecondaryColor </i>based on
|
|
|
- which face is visible. If fixed functionality is used for vertex
|
|
|
- processing, then <i>gl_FogFragCoord </i>will either be the z-coordinate of
|
|
|
- the fragment in eye space, or the interpolation of the fog coordinate, as
|
|
|
- described in section 3.10 of the OpenGL 1.4 Specification. The <i>gl_TexCoord[]
|
|
|
- </i>values are the interpolated <i>gl_TexCoord[] </i>values from a vertex
|
|
|
- shader or the texture coordinates of any fixed pipeline based vertex
|
|
|
- functionality.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>discard</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>JUMP</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The <b>discard </b>keyword is only allowed within fragment shaders. It can
|
|
|
- be used within a fragment shader to abandon the operation on the current
|
|
|
- fragment. This keyword causes the fragment to be discarded and no updates
|
|
|
- to any buffers will occur. It would typically be used within a conditional
|
|
|
- statement, for example:
|
|
|
-
|
|
|
- <pre> if (intensity &lt; 0.0)
|
|
|
- discard;
|
|
|
- </pre>
|
|
|
- A fragment shader may test a fragment&#8217;s alpha value and discard the
|
|
|
- fragment based on that test. However, it should be noted that coverage
|
|
|
- testing occurs after the fragment shader runs, and the coverage test can
|
|
|
- change the alpha value.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_SecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The values in <i>gl_Color </i>and <i>gl_SecondaryColor </i>will be derived
|
|
|
- automatically by the system from <i>gl_FrontColor, gl_BackColor,
|
|
|
- gl_FrontSecondaryColor, </i>and <i>gl_BackSecondaryColor </i>based on
|
|
|
- which face is visible. If fixed functionality is used for vertex
|
|
|
- processing, then <i>gl_FogFragCoord </i>will either be the z-coordinate of
|
|
|
- the fragment in eye space, or the interpolation of the fog coordinate, as
|
|
|
- described in section 3.10 of the OpenGL 1.4 Specification. The <i>gl_TexCoord[]
|
|
|
- </i>values are the interpolated <i>gl_TexCoord[] </i>values from a vertex
|
|
|
- shader or the texture coordinates of any fixed pipeline based vertex
|
|
|
- functionality.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FragData</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX<gl_MaxDrawBuffers</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_FragData </i>is an array. Writing to <i>gl_FragData[n] </i>specifies
|
|
|
- the fragment data that will be used by the subsequent fixed functionality
|
|
|
- pipeline for data <i>n</i>. If subsequent fixed functionality consumes
|
|
|
- fragment data and an execution of a fragment shader executable does not
|
|
|
- write a value to it, then the fragment data consumed is undefined.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FragColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>pixel color</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- If a shader statically assigns a value to <i>gl_FragColor</i>, it may not
|
|
|
- assign a value to any element of <i>gl_FragData</i>. If a shader
|
|
|
- statically writes a value to any element of <i>gl_FragData</i>, it may not
|
|
|
- assign a value to <i>gl_FragColor</i>. That is, a shader may assign values
|
|
|
- to either <i>gl_FragColor </i>or <i>gl_FragData</i>, but not both.
|
|
|
- Multiple shaders linked together must also consistently write just one of
|
|
|
- these variables.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- </fragmentShaderVocabulary>
|
|
|
- <vertexShaderVocabulary>
|
|
|
- <entry>
|
|
|
- <key>gl_BackColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>enable GL_VERTEX_PROGRAM_TWO_SIDE</tooltip>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FogFragCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- For <i>gl_FogFragCoord</i>, the value written will be used as the &quot;c&quot;
|
|
|
- value on page 160 of the OpenGL 1.4 Specification by the fixed
|
|
|
- functionality pipeline. For example, if the z-coordinate of the fragment
|
|
|
- in eye space is desired as &quot;c&quot;, then that's what the vertex or geometry shader
|
|
|
- executable should write into <i>gl_FogFragCoord</i>.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>varying float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Position</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>must be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_Position</i> is available only in the vertex and
|
|
|
- geometry language and is intended for writing the homogeneous vertex
|
|
|
- position.
|
|
|
-
|
|
|
- <p>
|
|
|
- It can be written at any time during shader execution. It may also be
|
|
|
- read back by the shader after being written. This value will be used by
|
|
|
- primitive assembly, clipping, culling, and other fixed functionality
|
|
|
- operations that operate on primitives after vertex or geometry
|
|
|
- processing has occurred. Compilers may generate a diagnostic message if
|
|
|
- they detect <i>gl_Position</i> is read before being written, but not all
|
|
|
- such cases are detectable. Writing to <i>gl_Position</i> is optional. If <i>gl_Position</i>
|
|
|
- is not written but subsequent stages of the OpenGL pipeline consume <i>gl_Position</i>,
|
|
|
- then results are undefined.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TexCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX<gl_MaxTextureCoords</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- As with all arrays, indices used to subscript <i>gl_TexCoord </i>must
|
|
|
- either be an integral constant expressions, or this array must be
|
|
|
- re-declared by the shader with a size. The size can be at most <i>gl_MaxTextureCoords</i>.
|
|
|
- Using indexes close to 0 may aid the implementation in preserving varying
|
|
|
- resources.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontSecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>attribute</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>QUALIFIER</category>
|
|
|
- <tooltip>linkage between a vertex shader and OpenGL for per-vertex data (READ-ONLY)</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The <b>attribute </b>qualifier is used to declare variables that are
|
|
|
- passed to a vertex shader from OpenGL on a per-vertex basis. It is an
|
|
|
- error to declare an attribute variable in any type of shader other than a
|
|
|
- vertex shader. Attribute variables are read-only as far as the vertex
|
|
|
- shader is concerned. Values for attribute variables are passed to a vertex
|
|
|
- shader through the OpenGL vertex API or as part of a vertex array. They
|
|
|
- convey vertex attributes to the vertex shader and are expected to change
|
|
|
- on every vertex shader run. The attribute qualifier can be used only with <b>float,
|
|
|
- </b>floating-point vectors, and matrices. Attribute variables cannot be
|
|
|
- declared as arrays or structures.<p>Example declarations:
|
|
|
-
|
|
|
- <pre>attribute vec4 position;
|
|
|
-attribute vec3 normal;
|
|
|
-attribute vec2 texCoord;</pre>
|
|
|
- <p>
|
|
|
- All the standard OpenGL vertex attributes have built-in variable names
|
|
|
- to allow easy integration between user programs and OpenGL vertex
|
|
|
- functions. See Section 7 &quot;Built-in Variables&quot; of the OpenGL Shading
|
|
|
- Language specification; for a list of the built-in attribute names.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- It is expected that graphics hardware will have a small number of fixed
|
|
|
- locations for passing vertex attributes. Therefore, the OpenGL Shading
|
|
|
- language defines each non-matrix attribute variable as having space for
|
|
|
- up to four floating-point values (i.e., a vec4). There is an
|
|
|
- implementation dependent limit on the number of attribute variables that
|
|
|
- can be used and if this is exceeded it will cause a link error.
|
|
|
- (Declared attribute variables that are not used do not count against
|
|
|
- this limit.) A float attribute counts the same amount against this limit
|
|
|
- as a vec4, so applications may want to consider packing groups of four
|
|
|
- unrelated float attributes together into a vec4 to better utilize the
|
|
|
- capabilities of the underlying hardware. A matrix attribute will use up
|
|
|
- multiple attribute locations. The number of locations used will equal
|
|
|
- the number of columns in the matrix.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- Attribute variables are required to have global scope, and must be
|
|
|
- declared outside of function bodies, before their first use.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackSecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>enable GL_VERTEX_PROGRAM_TWO_SIDE</tooltip>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>varying vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FogCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord7</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord6</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord5</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PointSize</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>may be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_PointSize </i>is available only in the vertex and geometry language
|
|
|
- and is intended to write the size of the point to be
|
|
|
- rasterized. It is measured in pixels.
|
|
|
-
|
|
|
- <p>
|
|
|
- If <i>gl_PointSize </i>or <i>gl_ClipVertex </i>are not written to, their
|
|
|
- values are undefined. Any of these variables can be read back by the
|
|
|
- shader after writing to them, to retrieve what was written. Reading them
|
|
|
- before writing them results in undefined behavior. If they are written
|
|
|
- more than once, it is the last value written that is consumed by the
|
|
|
- subsequent operations. These built-in variables have global scope.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Color</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord0</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Normal</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec3</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Vertex</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_SecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord4</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord3</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ClipVertex</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>may be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_ClipVertex </i>is available only in the vertex and geometry language
|
|
|
- and provides a place for vertex and geometry shaders to write the coordinate to be used
|
|
|
- with the user clipping planes. The user must ensure the clip vertex and
|
|
|
- user clipping planes are defined in the same coordinate space. User clip
|
|
|
- planes work properly only under linear transform. It is undefined what
|
|
|
- happens under non-linear transform.
|
|
|
-
|
|
|
- <p>
|
|
|
- If <i>gl_PointSize </i>or <i>gl_ClipVertex </i>are not written to, their
|
|
|
- values are undefined. Any of these variables can be read back by the
|
|
|
- shader after writing to them, to retrieve what was written. Reading them
|
|
|
- before writing them results in undefined behavior. If they are written
|
|
|
- more than once, it is the last value written that is consumed by the
|
|
|
- subsequent operations. These built-in variables have global scope.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord2</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_MultiTexCoord1</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>attribute vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- </vertexShaderVocabulary>
|
|
|
- <geometryShaderVocabulary>
|
|
|
- <entry>
|
|
|
- <key>gl_FogFragCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- For <i>gl_FogFragCoord</i>, the value written will be used as the &quot;c&quot;
|
|
|
- value on page 160 of the OpenGL 1.4 Specification by the fixed
|
|
|
- functionality pipeline. For example, if the z-coordinate of the fragment
|
|
|
- in eye space is desired as &quot;c&quot;, then that's what the vertex or geometry shader
|
|
|
- executable should write into <i>gl_FogFragCoord</i>.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>varying out float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>enable GL_VERTEX_PROGRAM_TWO_SIDE</tooltip>
|
|
|
- <type>varying out vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Layer</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The built-in output variable <i>gl_Layer</i> is available only in the
|
|
|
- geometry language, and provides the number of the layer of textures
|
|
|
- attached to a FBO to direct rendering to.<p> If a shader statically assigns a
|
|
|
- value to <i>gl_Layer</i>, layered rendering mode is enabled. See section
|
|
|
- 2.16.4 for a detailed explanation. If a shader statically assigns a value
|
|
|
- to <i>gl_Layer</i>, and there is an execution path through the shader that
|
|
|
- does not set <i>gl_Layer</i>, then the value of <i>gl_Layer</i> may be
|
|
|
- undefined for executions of the shader that take that path.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_Position</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>must be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_Position</i> is available only in the vertex and
|
|
|
- geometry language and is intended for writing the homogeneous vertex
|
|
|
- position.
|
|
|
-
|
|
|
- <p>
|
|
|
- It can be written at any time during shader execution. It may also be
|
|
|
- read back by the shader after being written. This value will be used by
|
|
|
- primitive assembly, clipping, culling, and other fixed functionality
|
|
|
- operations that operate on primitives after vertex or geometry
|
|
|
- processing has occurred. Compilers may generate a diagnostic message if
|
|
|
- they detect <i>gl_Position</i> is read before being written, but not all
|
|
|
- such cases are detectable. Writing to <i>gl_Position</i> is optional. If <i>gl_Position</i>
|
|
|
- is not written but subsequent stages of the OpenGL pipeline consume <i>gl_Position</i>,
|
|
|
- then results are undefined.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TexCoord</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>INDEX<gl_MaxTextureCoords</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- As with all arrays, indices used to subscript <i>gl_TexCoord </i>must
|
|
|
- either be an integral constant expressions, or this array must be
|
|
|
- re-declared by the shader with a size. The size can be at most <i>gl_MaxTextureCoords</i>.
|
|
|
- Using indexes close to 0 may aid the implementation in preserving varying
|
|
|
- resources.
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <arguments>[]</arguments>
|
|
|
- <type>varying out vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FogFragCoordIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>EmitVertex</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The function <b>EmitVertex()</b> specifies that a vertex is completed. A
|
|
|
- vertex is added to the current output primitive using the current values
|
|
|
- of the varying output variables and the current values of the special
|
|
|
- built-in output variables <b>gl_PointSize</b>, <b>gl_ClipVertex</b>, <b>gl_Layer</b>,
|
|
|
- gl_Position</b> and <b>gl_PrimitiveID</b>.
|
|
|
-
|
|
|
- <p>
|
|
|
- The values of any unwritten output variables are undefined. The values
|
|
|
- of all varying output variables and the special built-in output
|
|
|
- variables are undefined after a call to <b>EmitVertex()</b>. If a
|
|
|
- geometry shader, in one invocation, emits more vertices than the value <i>GEOMETRY_VERTICES_OUT_EXT</i>,
|
|
|
- these emits may have no effect.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <arguments>()</arguments>
|
|
|
- <type>void</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackColorIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PointSizeIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontSecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>varying out vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackSecondaryColorIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ClipVertexIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_BackSecondaryColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>enable GL_VERTEX_PROGRAM_TWO_SIDE</tooltip>
|
|
|
- <type>varying out vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_TexCoordIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>value <= gl_MaxTextureCoords</tooltip>
|
|
|
- <doc>
|
|
|
-value <= gl_MaxTextureCoords</doc>
|
|
|
- <arguments>[gl_VerticesIn][]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontColorIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontColor</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <type>varying out vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_FrontSecondaryColorIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_VerticesIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <p>
|
|
|
- Value set at link time.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>const int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PointSize</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>may be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_PointSize </i>is available only in the vertex and geometry language
|
|
|
- and is intended to write the size of the point to be
|
|
|
- rasterized. It is measured in pixels.
|
|
|
-
|
|
|
- <p>
|
|
|
- If <i>gl_PointSize </i>or <i>gl_ClipVertex </i>are not written to, their
|
|
|
- values are undefined. Any of these variables can be read back by the
|
|
|
- shader after writing to them, to retrieve what was written. Reading them
|
|
|
- before writing them results in undefined behavior. If they are written
|
|
|
- more than once, it is the last value written that is consumed by the
|
|
|
- subsequent operations. These built-in variables have global scope.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>float</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>EndPrimitive</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_FUNC</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The function <b>EndPrimitive()</b> specifies that the current output
|
|
|
- primitive is completed and a new output primitive (of the same type)
|
|
|
- should be started. This function does not emit a vertex.<br> The effect of <b>EndPrimitive()</b>
|
|
|
- is roughly equivalent to calling End followed by a new Begin, where the
|
|
|
- primitive mode is taken from the program object parameter <i>GEOMETRY_OUTPUT_TYPE_EXT</i>.
|
|
|
- If the output primitive type is <i>POINTS</i>, calling <b>EndPrimitive()</b>
|
|
|
- is optional.
|
|
|
-
|
|
|
- <p>
|
|
|
- A geometry shader starts with an output primitive containing no
|
|
|
- vertices. When a geometry shader terminates, the current output
|
|
|
- primitive is automatically completed. It is not necessary to call <b>EndPrimitive()</b>
|
|
|
- if the geometry shader writes only a single primitive.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <arguments>()</arguments>
|
|
|
- <type>void</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PositionIn</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <arguments>[gl_VerticesIn]</arguments>
|
|
|
- <type>varying in vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_PrimitiveID</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The built-in output variable <i>gl_PrimitiveID</i> is available only in the
|
|
|
- geometry language and provides a single integer that serves as a primitive
|
|
|
- identifier.<p> This written primitive ID is available to fragment shaders.
|
|
|
- If a fragment shader using primitive IDs is active and a geometry shader
|
|
|
- is also active, the geometry shader must write to <i>gl_PrimitiveID</i> or the
|
|
|
- primitive ID in the fragment shader number is undefined.
|
|
|
- </body>
|
|
|
-</html>
|
|
|
-</doc>
|
|
|
- <type>int</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- <key>gl_ClipVertex</key>
|
|
|
- <value>
|
|
|
- <item>
|
|
|
- <category>BUILD_IN_VAR</category>
|
|
|
- <tooltip>may be written from vertex shader</tooltip>
|
|
|
- <doc><html>
|
|
|
- <head>
|
|
|
-
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- The variable <i>gl_ClipVertex </i>is available only in the vertex and geometry language
|
|
|
- and provides a place for vertex and geometry shaders to write the coordinate to be used
|
|
|
- with the user clipping planes. The user must ensure the clip vertex and
|
|
|
- user clipping planes are defined in the same coordinate space. User clip
|
|
|
- planes work properly only under linear transform. It is undefined what
|
|
|
- happens under non-linear transform.
|
|
|
-
|
|
|
- <p>
|
|
|
- If <i>gl_PointSize </i>or <i>gl_ClipVertex </i>are not written to, their
|
|
|
- values are undefined. Any of these variables can be read back by the
|
|
|
- shader after writing to them, to retrieve what was written. Reading them
|
|
|
- before writing them results in undefined behavior. If they are written
|
|
|
- more than once, it is the last value written that is consumed by the
|
|
|
- subsequent operations. These built-in variables have global scope.
|
|
|
- </p>
|
|
|
- </body>
|
|
|
- </html>
|
|
|
- </doc>
|
|
|
- <type>vec4</type>
|
|
|
- </item>
|
|
|
- </value>
|
|
|
- </entry>
|
|
|
- </geometryShaderVocabulary>
|
|
|
-</glslVocabulary>
|