diff --git a/Source/Bind/Specifications/Docs/glActiveShaderProgram.xml b/Source/Bind/Specifications/Docs/glActiveShaderProgram.xml
new file mode 100644
index 00000000..1d56d49d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glActiveShaderProgram.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glActiveShaderProgram
+ 3G
+
+
+ glActiveShaderProgram
+ set the active program object for a program pipeline object
+
+ C Specification
+
+
+ void glActiveShaderProgram
+ GLuint pipeline
+ GLuint program
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the program pipeline object to set the active program object for.
+
+
+
+
+ program
+
+
+ Specifies the program object to set as the active program pipeline object pipeline.
+
+
+
+
+
+ Description
+
+ glActiveShaderProgram sets the linked program named by program
+ to be the active program for the program pipeline object pipeline. The active
+ program in the active program pipeline object is the target of calls to glUniform
+ when no program has been made current through a call to glUseProgram.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ GL_INVALID_OPERATION is generated if program refers
+ to a program object that has not been successfully linked.
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glDeleteProgramPipelines,
+ glIsProgramPipeline,
+ glUseProgram,
+ glUniform
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glActiveTexture.xml b/Source/Bind/Specifications/Docs/glActiveTexture.xml
index f02bc2c3..6ba7088d 100644
--- a/Source/Bind/Specifications/Docs/glActiveTexture.xml
+++ b/Source/Bind/Specifications/Docs/glActiveTexture.xml
@@ -34,10 +34,9 @@
Specifies which texture unit to make active. The number
of texture units is implementation dependent, but must be at least
two. texture must be one of
- GL_TEXTUREi,
+ GL_TEXTUREi,
where
- i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1)
- and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1).
+ i ranges from 0 (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1).
The initial value is GL_TEXTURE0.
@@ -48,38 +47,47 @@
glActiveTexture selects which texture unit subsequent texture state calls will
affect. The number of texture units an implementation supports is
- implementation dependent, but must be at least 2.
-
-
- Vertex arrays are client-side GL resources, which are selected by the
- glClientActiveTexture routine.
-
-
- Notes
-
- glActiveTexture is only supported if the GL version is 1.3 or greater, or if
- ARB_multitexture
is included in the string returned by
- glGetString when called with the argument GL_EXTENSIONS.
+ implementation dependent, but must be at least 48.
Errors
GL_INVALID_ENUM is generated if texture is not one of
- GL_TEXTUREi,
- where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1)
- and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1).
+ GL_TEXTUREi,
+ where i ranges from 0 to (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1).
Associated Gets
- glGet with argument GL_ACTIVE_TEXTURE, GL_MAX_TEXTURE_COORDS, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
+ glGet with argument GL_ACTIVE_TEXTURE, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS.
See Also
- glClientActiveTexture,
- glMultiTexCoord,
- glTexParameter
+ glGenTextures,
+ glBindTexture,
+ glCompressedTexImage1D,
+ glCompressedTexImage2D,
+ glCompressedTexImage3D,
+ glCompressedTexSubImage1D,
+ glCompressedTexSubImage2D,
+ glCompressedTexSubImage3D,
+ glCopyTexImage1D,
+ glCopyTexImage2D,
+ glCopyTexSubImage1D,
+ glCopyTexSubImage2D,
+ glCopyTexSubImage3D,
+ glDeleteTextures
+ glIsTexture,
+ glTexImage1D,
+ glTexImage2D,
+ glTexImage2DMultisample,
+ glTexImage3D,
+ glTexImage3DMultisample,
+ glTexSubImage1D,
+ glTexSubImage2D,
+ glTexSubImage3D,
+ glTexParameter,
Copyright
diff --git a/Source/Bind/Specifications/Docs/glAttachShader.xml b/Source/Bind/Specifications/Docs/glAttachShader.xml
index 5b52cf55..13e4c938 100644
--- a/Source/Bind/Specifications/Docs/glAttachShader.xml
+++ b/Source/Bind/Specifications/Docs/glAttachShader.xml
@@ -38,7 +38,7 @@
Description
- In order to create an executable, there must be a way to
+ In order to create a complete shader program, there must be a way to
specify the list of things that will be linked together. Program
objects provide this mechanism. Shaders that are to be linked
together in a program object must first be attached to that
@@ -64,10 +64,6 @@
is called to detach it from all program objects to which it is
attached.
- Notes
- glAttachShader
- is available only if the GL version is 2.0 or greater.
-
Errors
GL_INVALID_VALUE is generated if either
program or shader
@@ -83,26 +79,34 @@
shader is already attached to
program.
- GL_INVALID_OPERATION is generated if
- glAttachShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetAttachedShaders
- with the handle of a valid program object
-
- glIsProgram
-
- glIsShader
+
+ glGetAttachedShaders
+ with the handle of a valid program object
+
+
+ glGetShaderInfoLog
+
+
+ glGetShaderSource
+
+
+ glIsProgram
+
+
+ glIsShader
+
See Also
- glCompileShader,
- glDetachShader,
- glLinkProgram,
- glShaderSource
+
+ glCompileShader,
+ glCreateShader,
+ glDeleteShader,
+ glDetachShader,
+ glLinkProgram,
+ glShaderSource
+
Copyright
diff --git a/Source/Bind/Specifications/Docs/glBeginConditionalRender.xml b/Source/Bind/Specifications/Docs/glBeginConditionalRender.xml
new file mode 100644
index 00000000..0527c0d6
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBeginConditionalRender.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBeginConditionalRender
+ 3G
+
+
+ glBeginConditionalRender
+ start conditional rendering
+
+ C Specification
+
+
+ void glBeginConditionalRender
+ GLuint id
+ GLenum mode
+
+
+
+ Parameters
+
+
+ id
+
+
+ Specifies the name of an occlusion query object whose results are used to determine if the rendering commands are discarded.
+
+
+
+
+ mode
+
+
+ Specifies how glBeginConditionalRender interprets the results of the occlusion query.
+
+
+
+
+
+ C Specification
+
+
+ void glEndConditionalRender
+ void
+
+
+
+ Description
+
+ Conditional rendering is started using glBeginConditionalRender and ended using glEndConditionalRender.
+ During conditional rendering, all vertex array commands, as well as glClear and
+ glClearBuffer have no effect if the (GL_SAMPLES_PASSED) result
+ of the query object id is zero, or if the (GL_ANY_SAMPLES_PASSED) result is GL_FALSE.
+ The results of commands setting the current vertex state, such as glVertexAttrib are
+ undefined. If the (GL_SAMPLES_PASSED) result is non-zero or if the (GL_ANY_SAMPLES_PASSED) result is
+ GL_TRUE, such commands are not discarded. The id parameter to glBeginConditionalRender
+ must be the name of a query object previously returned from a call to glGenQueries.
+ mode specifies how the results of the query object are to be interpreted. If mode is
+ GL_QUERY_WAIT, the GL waits for the results of the query to be available and then uses the results to determine if subsequent
+ rendering commands are discarded. If mode is GL_QUERY_NO_WAIT, the GL may choose to unconditionally
+ execute the subsequent rendering commands without waiting for the query to complete.
+
+
+ If mode is GL_QUERY_BY_REGION_WAIT, the GL will also wait for occlusion query results and discard
+ rendering commands if the result of the occlusion query is zero. If the query result is non-zero, subsequent rendering commands are executed,
+ but the GL may discard the results of the commands for any region of the framebuffer that did not contribute to the sample count in the specified
+ occlusion query. Any such discarding is done in an implementation-dependent manner, but the rendering command results may not be discarded for
+ any samples that contributed to the occlusion query sample count. If mode is GL_QUERY_BY_REGION_NO_WAIT,
+ the GL operates as in GL_QUERY_BY_REGION_WAIT, but may choose to unconditionally execute the subsequent rendering commands
+ without waiting for the query to complete.
+
+
+ Notes
+
+ glBeginConditionalRender and glEndConditionalRender are available only if the GL version is 3.0 or greater.
+
+
+ The GL_ANY_SAMPLES_PASSED query result is available only if the GL version is 3.3 or greater.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if id is not the name of an existing query object.
+
+
+ GL_INVALID_ENUM is generated if mode is not one of the accepted tokens.
+
+
+ GL_INVALID_OPERATION is generated if glBeginConditionalRender is called while conditional rendering is active,
+ or if glEndConditionalRender is called while conditional rendering is inactive.
+
+
+ GL_INVALID_OPERATION is generated if id is the name of a query object with a target other than
+ GL_SAMPLES_PASSED or GL_ANY_SAMPLES_PASSED.
+
+
+ GL_INVALID_OPERATION is generated if id is the name of a query currently in progress.
+
+
+ See Also
+
+ glGenQueries,
+ glDeleteQueries,
+ glBeginQuery
+
+
+ Copyright
+
+ Copyright 2009 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBeginQuery.xml b/Source/Bind/Specifications/Docs/glBeginQuery.xml
index 3a41b89c..a9299fa7 100644
--- a/Source/Bind/Specifications/Docs/glBeginQuery.xml
+++ b/Source/Bind/Specifications/Docs/glBeginQuery.xml
@@ -34,7 +34,9 @@
Specifies the target type of query object established between
glBeginQuery and the subsequent glEndQuery.
- The symbolic constant must be GL_SAMPLES_PASSED.
+ The symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or
+ GL_TIME_ELAPSED.
@@ -64,7 +66,9 @@
Specifies the target type of query object to be concluded.
- The symbolic constant must be GL_SAMPLES_PASSED.
+ The symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or
+ GL_TIME_ELAPSED.
@@ -73,15 +77,62 @@
Description
glBeginQuery and glEndQuery delimit the
- boundaries of a query object. If a query object with name id does not yet exist it is created.
+ boundaries of a query object. query must be a name previously returned from a call to
+ glGenQueries. If a query object with name id
+ does not yet exist it is created with the type determined by target. target must
+ be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED,
+ GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or GL_TIME_ELAPSED. The behavior of the query
+ object depends on its type and is as follows.
+ If target is GL_SAMPLES_PASSED, target must be an unused name,
+ or the name of an existing occlusion query object.
When glBeginQuery is executed, the query object's samples-passed counter is reset to 0. Subsequent
- rendering will increment the counter once for every sample that passes the depth test. When glEndQuery
+ rendering will increment the counter for every sample that passes the depth test. If the value of GL_SAMPLE_BUFFERS
+ is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of GL_SAMPLE_BUFFERS
+ is 1, then the samples-passed count is incremented by the number of samples whose coverage bit is set. However, implementations, at their
+ discression may instead increase the samples-passed count by the value of GL_SAMPLES if any sample in the fragment
+ is covered. When glEndQuery
is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by
calling glGetQueryObject with pname
GL_QUERY_RESULT.
+
+ If target is GL_ANY_SAMPLES_PASSED, target must be an unused name,
+ or the name of an existing boolean occlusion query object.
+ When glBeginQuery is executed, the query object's samples-passed flag is reset to GL_FALSE.
+ Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. When
+ glEndQuery is executed, the samples-passed flag is assigned to the query object's result value. This value can
+ be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+
+
+ If target is GL_PRIMITIVES_GENERATED, target must be an unused
+ name, or the name of an existing primitive query object previously bound to the GL_PRIMITIVES_GENERATED query binding.
+ When glBeginQuery is executed, the query object's primitives-generated counter is reset to 0. Subsequent
+ rendering will increment the counter once for every vertex that is emitted from the geometry shader, or from the vertex shader if
+ no geometry shader is present. When glEndQuery is executed, the primitives-generated counter is assigned to
+ the query object's result value. This value can be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+
+
+ If target is GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, target must be
+ an unused name, or the name of an existing primitive query object previously bound to the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
+ query binding. When glBeginQuery is executed, the query object's primitives-written counter is reset to 0. Subsequent
+ rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s). If transform feedback
+ mode is not activated between the call to glBeginQuery and glEndQuery, the counter will not be
+ incremented. When glEndQuery is executed, the primitives-written counter is assigned to
+ the query object's result value. This value can be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+
+
+ If target is GL_TIME_ELAPSED, target must be
+ an unused name, or the name of an existing timer query object previously bound to the GL_TIME_ELAPSED
+ query binding. When glBeginQuery is executed, the query object's time counter is reset to 0. When glEndQuery
+ is executed, the elapsed server time that has passed since the call to glBeginQuery is written into the query object's
+ time counter. This value can be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+
Querying the GL_QUERY_RESULT implicitly flushes the GL pipeline until the rendering delimited by the
query object has completed and the result is available. GL_QUERY_RESULT_AVAILABLE can be queried to
@@ -90,28 +141,29 @@
Notes
- If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by
- glGetQueryiv with pname
+ If the query target's count exceeds the maximum value representable in the number of available bits, as reported by
+ glGetQueryiv with target set to the
+ appropriate query target and pname
GL_QUERY_COUNTER_BITS, the count becomes undefined.
- An implementation may support 0 bits in its samples-passed counter, in which case query results are always undefined
+ An implementation may support 0 bits in its counter, in which case query results are always undefined
and essentially useless.
- When GL_SAMPLE_BUFFERS is 0, the samples-passed counter will increment once for each fragment that passes
- the depth test. When GL_SAMPLE_BUFFERS is 1, an implementation may either increment the samples-passed
- counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for
- all samples of a fragment if any one of them passes the depth test.
+ When GL_SAMPLE_BUFFERS is 0, the samples-passed counter of an occlusion query will increment once for each
+ fragment that passes the depth test. When GL_SAMPLE_BUFFERS is 1, an implementation may either increment
+ the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment
+ the counter for all samples of a fragment if any one of them passes the depth test.
- glBeginQuery and glEndQuery
- are available only if the GL version is 1.5 or greater.
+ The query targets GL_ANY_SAMPLES_PASSED, and GL_TIME_ELAPSED are availale only if
+ the GL version is 3.3 or higher.
Errors
- GL_INVALID_ENUM is generated if target is not GL_SAMPLES_PASSED.
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
GL_INVALID_OPERATION is generated if glBeginQuery is executed while
@@ -128,10 +180,8 @@
GL_INVALID_OPERATION is generated if id is the name of an already active query object.
- GL_INVALID_OPERATION is generated if glBeginQuery or
- glEndQuery is executed between the execution of
- glBegin and the corresponding execution of
- glEnd.
+ GL_INVALID_OPERATION is generated if id refers to an existing query object whose type
+ does not does not match target.
See Also
diff --git a/Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml b/Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml
new file mode 100644
index 00000000..1318c3ff
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glBeginQueryIndexed, glEndQueryIndexed
+ 3G
+
+
+ glBeginQueryIndexed, glEndQueryIndexed
+ delimit the boundaries of a query object on an indexed target
+
+ C Specification
+
+
+ void glBeginQueryIndexed
+ GLenum target
+ GLuint index
+ GLuint id
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target type of query object established between
+ glBeginQueryIndexed and the subsequent glEndQueryIndexed.
+ The symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or
+ GL_TIME_ELAPSED.
+
+
+
+
+ index
+
+
+ Specifies the index of the query target upon which to begin the query.
+
+
+
+
+ id
+
+
+ Specifies the name of a query object.
+
+
+
+
+
+ C Specification
+
+
+ void glEndQueryIndexed
+ GLenum target
+ GLuint index
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target type of query object to be concluded.
+ The symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or
+ GL_TIME_ELAPSED.
+
+
+
+
+ index
+
+
+ Specifies the index of the query target upon which to end the query.
+
+
+
+
+
+ Description
+
+ glBeginQueryIndexed and glEndQueryIndexed delimit the
+ boundaries of a query object. query must be a name previously returned from a call to
+ glGenQueries. If a query object with name id
+ does not yet exist it is created with the type determined by target. target must
+ be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED,
+ GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or GL_TIME_ELAPSED. The behavior of the query
+ object depends on its type and is as follows.
+
+
+ index specifies the index of the query target and must be between a target-specific
+ maximum.
+
+
+ If target is GL_SAMPLES_PASSED, target must be an unused name,
+ or the name of an existing occlusion query object.
+ When glBeginQueryIndexed is executed, the query object's samples-passed counter is reset to 0. Subsequent
+ rendering will increment the counter for every sample that passes the depth test. If the value of GL_SAMPLE_BUFFERS
+ is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of GL_SAMPLE_BUFFERS
+ is 1, then the samples-passed count is incremented by the number of samples whose coverage bit is set. However, implementations, at their
+ discression may instead increase the samples-passed count by the value of GL_SAMPLES if any sample in the fragment
+ is covered. When glEndQueryIndexed
+ is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by
+ calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+ When target is GL_SAMPLES_PASSED, index must be zero.
+
+
+ If target is GL_ANY_SAMPLES_PASSED, target must be an unused name,
+ or the name of an existing boolean occlusion query object.
+ When glBeginQueryIndexed is executed, the query object's samples-passed flag is reset to GL_FALSE.
+ Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. When
+ glEndQueryIndexed is executed, the samples-passed flag is assigned to the query object's result value. This value can
+ be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+ When target is GL_ANY_SAMPLES_PASSED, index must be zero.
+
+
+ If target is GL_PRIMITIVES_GENERATED, target must be an unused
+ name, or the name of an existing primitive query object previously bound to the GL_PRIMITIVES_GENERATED query binding.
+ When glBeginQueryIndexed is executed, the query object's primitives-generated counter is reset to 0. Subsequent
+ rendering will increment the counter once for every vertex that is emitted from the geometry shader to the stream given by index,
+ or from the vertex shader if index is zero and no geometry shader is present.
+ When glEndQueryIndexed is executed, the primitives-generated counter for stream index is assigned to
+ the query object's result value. This value can be queried by calling glGetQueryObject
+ with pname GL_QUERY_RESULT.
+ When target is GL_PRIMITIVES_GENERATED, index must be
+ less than the value of GL_MAX_VERTEX_STREAMS.
+
+
+ If target is GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, target must be
+ an unused name, or the name of an existing primitive query object previously bound to the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
+ query binding. When glBeginQueryIndexed is executed, the query object's primitives-written counter for the stream specified by
+ index is reset to 0. Subsequent rendering will increment the counter once for every vertex that is written into the bound
+ transform feedback buffer(s) for stream index. If transform feedback
+ mode is not activated between the call to glBeginQueryIndexed and glEndQueryIndexed, the counter will not be
+ incremented. When glEndQueryIndexed is executed, the primitives-written counter for stream index is assigned to
+ the query object's result value. This value can be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+ When target is GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, index must be
+ less than the value of GL_MAX_VERTEX_STREAMS.
+
+
+ If target is GL_TIME_ELAPSED, target must be
+ an unused name, or the name of an existing timer query object previously bound to the GL_TIME_ELAPSED
+ query binding. When glBeginQueryIndexed is executed, the query object's time counter is reset to 0. When glEndQueryIndexed
+ is executed, the elapsed server time that has passed since the call to glBeginQueryIndexed is written into the query object's
+ time counter. This value can be queried by calling glGetQueryObject with pname
+ GL_QUERY_RESULT.
+ When target is GL_TIME_ELAPSED, index must be zero.
+
+
+ Querying the GL_QUERY_RESULT implicitly flushes the GL pipeline until the rendering delimited by the
+ query object has completed and the result is available. GL_QUERY_RESULT_AVAILABLE can be queried to
+ determine if the result is immediately available or if the rendering is not yet complete.
+
+
+ Notes
+
+ If the query target's count exceeds the maximum value representable in the number of available bits, as reported by
+ glGetQueryiv with target set to the
+ appropriate query target and pname
+ GL_QUERY_COUNTER_BITS, the count becomes undefined.
+
+
+ An implementation may support 0 bits in its counter, in which case query results are always undefined
+ and essentially useless.
+
+
+ When GL_SAMPLE_BUFFERS is 0, the samples-passed counter of an occlusion query will increment once for each
+ fragment that passes the depth test. When GL_SAMPLE_BUFFERS is 1, an implementation may either increment
+ the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment
+ the counter for all samples of a fragment if any one of them passes the depth test.
+
+
+ Calling glBeginQuery or
+ glEndQuery is equivalent to
+ calling glBeginQueryIndexed or
+ glEndQueryIndexed with
+ index set to zero, respectively.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_VALUE is generated if index is greater than the
+ query target-specific maximum.
+
+
+ GL_INVALID_OPERATION is generated if glBeginQueryIndexed is executed while
+ a query object of the same target is already active.
+
+
+ GL_INVALID_OPERATION is generated if glEndQueryIndexed
+ is executed when a query object of the same target is not active.
+
+
+ GL_INVALID_OPERATION is generated if id is 0.
+
+
+ GL_INVALID_OPERATION is generated if id is the name of an already active query object.
+
+
+ GL_INVALID_OPERATION is generated if id refers to an existing query object whose type
+ does not does not match target.
+
+
+ See Also
+
+ glDeleteQueries,
+ glBeginQuery,
+ glEndQuery,
+ glGenQueries,
+ glGetQueryiv,
+ glGetQueryObject,
+ glIsQuery
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml b/Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml
new file mode 100644
index 00000000..c8921683
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBeginTransformFeedback
+ 3G
+
+
+ glBeginTransformFeedback
+ start transform feedback operation
+
+ C Specification
+
+
+ void glBeginTransformFeedback
+ GLenum primitiveMode
+
+
+
+ Parameters
+
+
+ primitiveMode
+
+
+ Specify the output type of the primitives that will be recorded into the
+ buffer objects that are bound for transform feedback.
+
+
+
+
+
+ C Specification
+
+
+ void glEndTransformFeedback
+ void
+
+
+
+ Description
+
+ Transform feedback mode captures the values of varying variables written by the vertex shader (or, if active, the geometry shader).
+ Transform feedback is said to be active after a call to glBeginTransformFeedback
+ until a subsequent call to glEndTransformFeedback.
+ Transform feedback commands must be paired.
+
+
+ If no geometry shader is present, while transform feedback is active the mode parameter to
+ glDrawArrays must match those specified
+ in the following table:
+
+
+
+
+
+
+
+
+ Transform Feedback primitiveMode
+
+
+ Allowed Render Primitive modes
+
+
+
+
+
+
+ GL_POINTS
+
+
+ GL_POINTS
+
+
+
+
+ GL_LINES
+
+
+ GL_LINES, GL_LINE_LOOP, GL_LINE_STRIP,
+ GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY
+
+
+
+
+ GL_TRIANGLES
+
+
+ GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY
+
+
+
+
+
+
+ If a geometry shader is present, the output primitive type from the geometry shader must match those
+ provided in the following table:
+
+
+
+
+
+
+
+ Transform Feedback primitiveMode
+
+
+ Allowed Geometry Shader Output Primitive Type
+
+
+
+
+
+
+ GL_POINTS
+
+
+ points
+
+
+
+
+ GL_LINES
+
+
+ line_strip
+
+
+
+
+ GL_TRIANGLES
+
+
+ triangle_strip
+
+
+
+
+
+
+
+ Notes
+
+ Geometry shaders, and the GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY and GL_LINE_STRIP_ADJACENCY primtive modes are available
+ only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if glBeginTransformFeedback is executed
+ while transform feedback is active.
+
+
+ GL_INVALID_OPERATION is generated if glEndTransformFeedback is executed
+ while transform feedback is not active.
+
+
+ GL_INVALID_OPERATION is generated by glDrawArrays
+ if no geometry shader is present, transform feedback is active and mode is not one of the allowed modes.
+
+
+ GL_INVALID_OPERATION is generated by glDrawArrays
+ if a geometry shader is present, transform feedback is active and the output primitive type of the geometry shader does not
+ match the transform feedback primitiveMode.
+
+
+ GL_INVALID_OPERATION is generated by glEndTransformFeedback if any binding
+ point used in transform feedback mode does not have a buffer object bound.
+
+
+ GL_INVALID_OPERATION is generated by glEndTransformFeedback if no binding
+ points would be used, either because no program object is active of because the active program object has specified
+ no varying variables to record.
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/glBindAttribLocation.xml
index 2656f844..21e5000c 100644
--- a/Source/Bind/Specifications/Docs/glBindAttribLocation.xml
+++ b/Source/Bind/Specifications/Docs/glBindAttribLocation.xml
@@ -1,189 +1,179 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glBindAttribLocation
- 3G
+ glBindAttribLocation
+ 3G
- glBindAttribLocation
- Associates a generic vertex attribute index with a named attribute variable
+ glBindAttribLocation
+ Associates a generic vertex attribute index with a named attribute variable
C Specification
-
-
- void glBindAttribLocation
- GLuint program
- GLuint index
- const GLchar *name
-
-
+
+
+ void glBindAttribLocation
+ GLuint program
+ GLuint index
+ const GLchar *name
+
+
Parameters
-
-
- program
-
- Specifies the handle of the program object in
- which the association is to be made.
-
-
-
- index
-
- Specifies the index of the generic vertex
- attribute to be bound.
-
-
-
- name
-
- Specifies a null terminated string containing
- the name of the vertex shader attribute variable to
- which index is to be
- bound.
-
-
-
+
+
+ program
+
+ Specifies the handle of the program object in
+ which the association is to be made.
+
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be bound.
+
+
+
+ name
+
+ Specifies a null terminated string containing
+ the name of the vertex shader attribute variable to
+ which index is to be
+ bound.
+
+
+
Description
- glBindAttribLocation is used to
- associate a user-defined attribute variable in the program
- object specified by program with a
- generic vertex attribute index. The name of the user-defined
- attribute variable is passed as a null terminated string in
- name. The generic vertex attribute index
- to be bound to this variable is specified by
- index. When
- program is made part of current state,
- values provided via the generic vertex attribute
- index will modify the value of the
- user-defined attribute variable specified by
- name.
+ glBindAttribLocation is used to
+ associate a user-defined attribute variable in the program
+ object specified by program with a
+ generic vertex attribute index. The name of the user-defined
+ attribute variable is passed as a null terminated string in
+ name. The generic vertex attribute index
+ to be bound to this variable is specified by
+ index. When
+ program is made part of current state,
+ values provided via the generic vertex attribute
+ index will modify the value of the
+ user-defined attribute variable specified by
+ name.
- If name refers to a matrix
- attribute variable, index refers to the
- first column of the matrix. Other matrix columns are then
- automatically bound to locations index+1
- for a matrix of type mat2; index+1 and
- index+2 for a matrix of type mat3; and
- index+1, index+2,
- and index+3 for a matrix of type
- mat4.
+ If name refers to a matrix
+ attribute variable, index refers to the
+ first column of the matrix. Other matrix columns are then
+ automatically bound to locations index+1
+ for a matrix of type mat2; index+1 and
+ index+2 for a matrix of type mat3; and
+ index+1, index+2,
+ and index+3 for a matrix of type
+ mat4.
- This command makes it possible for vertex shaders to use
- descriptive names for attribute variables rather than generic
- variables that are numbered from 0 to
- GL_MAX_VERTEX_ATTRIBS -1. The values sent
- to each generic attribute index are part of current state, just
- like standard vertex attributes such as color, normal, and
- vertex position. If a different program object is made current
- by calling
- glUseProgram,
- the generic vertex attributes are tracked in such a way that the
- same values will be observed by attributes in the new program
- object that are also bound to
- index. Attribute variable
- name-to-generic attribute index bindings for a program object
- can be explicitly assigned at any time by calling
- glBindAttribLocation. Attribute bindings do
- not go into effect until
- glLinkProgram
- is called. After a program object has been linked successfully,
- the index values for generic attributes remain fixed (and their
- values can be queried) until the next link command
- occurs.
+ This command makes it possible for vertex shaders to use
+ descriptive names for attribute variables rather than generic
+ variables that are numbered from 0 to
+ GL_MAX_VERTEX_ATTRIBS -1. The values sent
+ to each generic attribute index are part of current state.
+ If a different program object is made current by calling
+ glUseProgram,
+ the generic vertex attributes are tracked in such a way that the
+ same values will be observed by attributes in the new program
+ object that are also bound to
+ index. Attribute variable
+ name-to-generic attribute index bindings for a program object
+ can be explicitly assigned at any time by calling
+ glBindAttribLocation. Attribute bindings do
+ not go into effect until
+ glLinkProgram
+ is called. After a program object has been linked successfully,
+ the index values for generic attributes remain fixed (and their
+ values can be queried) until the next link command
+ occurs.
- Applications are not allowed to bind any of the standard
- OpenGL vertex attributes using this command, as they are bound
- automatically when needed. Any attribute binding that occurs
- after the program object has been linked will not take effect
- until the next time the program object is linked.
+ Any attribute binding that occurs after the program object has been linked will not take effect
+ until the next time the program object is linked.
Notes
- glBindAttribLocation is available
- only if the GL version is 2.0 or greater.
+ glBindAttribLocation can be called
+ before any vertex shader objects are bound to the specified
+ program object. It is also permissible to bind a generic
+ attribute index to an attribute variable name that is never used
+ in a vertex shader.
- glBindAttribLocation can be called
- before any vertex shader objects are bound to the specified
- program object. It is also permissible to bind a generic
- attribute index to an attribute variable name that is never used
- in a vertex shader.
+ If name was bound previously, that
+ information is lost. Thus you cannot bind one user-defined
+ attribute variable to multiple indices, but you can bind
+ multiple user-defined attribute variables to the same
+ index.
- If name was bound previously, that
- information is lost. Thus you cannot bind one user-defined
- attribute variable to multiple indices, but you can bind
- multiple user-defined attribute variables to the same
- index.
+ Applications are allowed to bind more than one
+ user-defined attribute variable to the same generic vertex
+ attribute index. This is called aliasing,
+ and it is allowed only if just one of the aliased attributes is
+ active in the executable program, or if no path through the
+ shader consumes more than one attribute of a set of attributes
+ aliased to the same location. The compiler and linker are
+ allowed to assume that no aliasing is done and are free to
+ employ optimizations that work only in the absence of aliasing.
+ OpenGL implementations are not required to do error checking to
+ detect aliasing.
- Applications are allowed to bind more than one
- user-defined attribute variable to the same generic vertex
- attribute index. This is called aliasing,
- and it is allowed only if just one of the aliased attributes is
- active in the executable program, or if no path through the
- shader consumes more than one attribute of a set of attributes
- aliased to the same location. The compiler and linker are
- allowed to assume that no aliasing is done and are free to
- employ optimizations that work only in the absence of aliasing.
- OpenGL implementations are not required to do error checking to
- detect aliasing. Because there is no way to bind standard
- attributes, it is not possible to alias generic attributes with
- conventional ones (except for generic attribute 0).
+ Active attributes that are not explicitly bound will be
+ bound by the linker when
+ glLinkProgram
+ is called. The locations assigned can be queried by calling
+ glGetAttribLocation.
- Active attributes that are not explicitly bound will be
- bound by the linker when
- glLinkProgram
- is called. The locations assigned can be queried by calling
- glGetAttribLocation.
+ OpenGL copies the name string when
+ glBindAttribLocation is called, so an
+ application may free its copy of the name
+ string immediately after the function returns.
- OpenGL copies the name string when
- glBindAttribLocation is called, so an
- application may free its copy of the name
- string immediately after the function returns.
+ Generic attribute locations may be specified in the shader source
+ text using a location layout qualifier. In this case,
+ the location of the attribute specified in the shader's source takes precedence
+ and may be queried by calling glGetAttribLocation.
+
Errors
- GL_INVALID_VALUE is generated if
- index is greater than or equal to
- GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to
+ GL_MAX_VERTEX_ATTRIBS.
- GL_INVALID_OPERATION is generated if
- name starts with the reserved prefix
- "gl_".
+ GL_INVALID_OPERATION is generated if
+ name starts with the reserved prefix
+ "gl_".
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_OPERATION is generated if
- glBindAttribLocation is executed between
- the execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS
- glGetActiveAttrib
- with argument program
+ glGetActiveAttrib
+ with argument program
- glGetAttribLocation
- with arguments program and
- name
+ glGetAttribLocation
+ with arguments program and
+ name
- glIsProgram
+ glIsProgram
See Also
- glDisableVertexAttribArray,
- glEnableVertexAttribArray,
- glUseProgram,
- glVertexAttrib,
- glVertexAttribPointer
+ glDisableVertexAttribArray,
+ glEnableVertexAttribArray,
+ glUseProgram,
+ glVertexAttrib,
+ glVertexAttribPointer
Copyright
diff --git a/Source/Bind/Specifications/Docs/glBindBuffer.xml b/Source/Bind/Specifications/Docs/glBindBuffer.xml
index be3dded8..6662d6d6 100644
--- a/Source/Bind/Specifications/Docs/glBindBuffer.xml
+++ b/Source/Bind/Specifications/Docs/glBindBuffer.xml
@@ -34,9 +34,14 @@
Specifies the target to which the buffer object is bound.
The symbolic constant must be
GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
@@ -52,26 +57,24 @@
Description
- glBindBuffer lets you create or use a named buffer object. Calling glBindBuffer with
- target set to
- GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER or
- GL_PIXEL_UNPACK_BUFFER and buffer set to the name
- of the new buffer object binds the buffer object name to the target.
- When a buffer object is bound to a target, the previous binding for that
+ glBindBuffer binds a buffer object to the specified buffer binding point. Calling glBindBuffer with
+ target set to one of the accepted symbolic constants and buffer set to the name
+ of a buffer object binds that buffer object name to the target. If no buffer object with name buffer
+ exists, one is created with that name. When a buffer object is bound to a target, the previous binding for that
target is automatically broken.
Buffer object names are unsigned integers. The value zero is reserved, but
there is no default buffer object for each buffer object target. Instead, buffer set to zero
- effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target.
+ effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target (if supported for that target).
Buffer object names and the corresponding buffer object contents are local to
- the shared display-list space (see glXCreateContext) of the current
+ the shared object space of the current
GL rendering context;
two rendering contexts share buffer object names only if they
- also share display lists.
+ explicitly enable sharing between contexts through the appropriate GL windows interfaces functions.
- You may use glGenBuffers to generate a set of new buffer object names.
+ glGenBuffers must be used to generate a set of unused buffer object names.
The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with
@@ -85,62 +88,63 @@
GL_INVALID_OPERATION error.
- When vertex array pointer state is changed, for example by a call to
- glNormalPointer,
- the current buffer object binding (GL_ARRAY_BUFFER_BINDING) is copied into the
- corresponding client state for the vertex array type being changed, for example
- GL_NORMAL_ARRAY_BUFFER_BINDING. While a non-zero buffer object is bound to the
- GL_ARRAY_BUFFER target, the vertex array pointer parameter that is traditionally
- interpreted as a pointer to client-side memory is instead interpreted as an offset within the
+ When a non-zero buffer object is bound to the GL_ARRAY_BUFFER target,
+ the vertex array pointer parameter is interpreted as an offset within the
buffer object measured in basic machine units.
While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target,
the indices parameter of glDrawElements,
- glDrawRangeElements, or
- glMultiDrawElements that is traditionally
- interpreted as a pointer to client-side memory is instead interpreted as an offset within the
- buffer object measured in basic machine units.
+ glDrawElementsInstanced,
+ glDrawElementsBaseVertex,
+ glDrawRangeElements,
+ glDrawRangeElementsBaseVertex,
+ glMultiDrawElements, or
+ glMultiDrawElementsBaseVertex is interpreted as an
+ offset within the buffer object measured in basic machine units.
While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target,
the following commands are affected: glGetCompressedTexImage,
- glGetConvolutionFilter,
- glGetHistogram,
- glGetMinmax,
- glGetPixelMap,
- glGetPolygonStipple,
- glGetSeparableFilter,
glGetTexImage, and
- glReadPixels. The pointer parameter that is
- traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead
+ glReadPixels. The pointer parameter is
interpreted as an offset within the buffer object measured in basic machine units.
While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target,
- the following commands are affected: glBitmap,
- glColorSubTable,
- glColorTable,
+ the following commands are affected:
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glConvolutionFilter2D,
- glDrawPixels,
- glPixelMap,
- glPolygonStipple,
- glSeparableFilter2D,
glTexImage1D,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
glTexSubImage2D, and
- glTexSubImage3D. The pointer parameter that is
- traditionally interpreted as a pointer to client-side memory from which the pixels are to be unpacked is
- instead interpreted as an offset within the buffer object measured in basic machine units.
+ glTexSubImage3D. The pointer parameter is
+ interpreted as an offset within the buffer object measured in basic machine units.
+
+
+ The buffer targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER
+ are provided to allow glCopyBufferSubData
+ to be used without disturbing the state of other bindings. However, glCopyBufferSubData
+ may be used with any pair of buffer binding points.
+
+
+ The GL_TRANSFORM_FEEDBACK_BUFFER buffer binding point may be passed to glBindBuffer,
+ but will not directly affect transform feedback state. Instead, the indexed GL_TRANSFORM_FEEDBACK_BUFFER
+ bindings must be used through a call to glBindBufferBase
+ or glBindBufferRange. This will affect the generic
+ GL_TRANSFORM_FEEDABCK_BUFFER binding.
+
+
+ Likewise, the GL_UNIFORM_BUFFER buffer binding point may be used, but does not directly affect
+ uniform buffer state. glBindBufferBase
+ or glBindBufferRange must be used to bind a buffer to
+ an indexed uniform buffer binding point.
A buffer object binding created with glBindBuffer remains active until a different
@@ -155,11 +159,8 @@
Notes
- glBindBuffer is available only if the GL version is 1.5 or greater.
-
-
- GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are
- available only if the GL version is 2.1 or greater.
+ The GL_COPY_READ_BUFFER, GL_UNIFORM_BUFFER and
+ GL_TEXTURE_BUFFER targets are available only if the GL version is 3.1 or greater.
Errors
@@ -168,15 +169,20 @@
values.
- GL_INVALID_OPERATION is generated if glBindBuffer is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
+ GL_INVALID_VALUE is generated if buffer is not a name previously returned
+ from a call to glGenBuffers.
Associated Gets
glGet with argument GL_ARRAY_BUFFER_BINDING
+
+ glGet with argument GL_COPY_READ_BUFFER_BINDING
+
+
+ glGet with argument GL_COPY_WRITE_BUFFER_BINDING
+
glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING
@@ -186,11 +192,21 @@
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
+
+ glGet with argument GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
+
+
+ glGet with argument GL_UNIFORM_BUFFER_BINDING
+
See Also
- glDeleteBuffers,
glGenBuffers,
+ glBindBufferBase,
+ glBindBufferRange,
+ glMapBuffer,
+ glUnmapBuffer,
+ glDeleteBuffers,
glGet,
glIsBuffer
diff --git a/Source/Bind/Specifications/Docs/glBindBufferBase.xml b/Source/Bind/Specifications/Docs/glBindBufferBase.xml
new file mode 100644
index 00000000..ba2d40d1
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindBufferBase.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindBufferBase
+ 3G
+
+
+ glBindBufferBase
+ bind a buffer object to an indexed buffer target
+
+ C Specification
+
+
+ void glBindBufferBase
+ GLenumtarget
+ GLuintindex
+ GLuintbuffer
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specify the target of the bind operation. target must be
+ either GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
+
+
+
+
+ index
+
+
+ Specify the index of the binding point within the array specified by target.
+
+
+
+
+ buffer
+
+
+ The name of a buffer object to bind to the specified binding point.
+
+
+
+
+
+ Description
+
+ glBindBufferBase binds the buffer object buffer
+ to the binding point at index index of the array of targets specified
+ by target. Each target represents an indexed
+ array of buffer binding points, as well as a single general binding point that can be used by
+ other buffer manipulation functions such as glBindBuffer
+ or glMapBuffer. In addition to binding
+ buffer to the indexed buffer binding target, glBindBufferBase
+ also binds buffer to the generic buffer binding point specified by target.
+
+
+ Notes
+
+ glBindBufferBase is available only if the GL version is 3.0 or greater.
+
+
+ Calling glBindBufferBase is equivalent to calling
+ glBindBufferRange with offset
+ zero and size equal to the size of the buffer.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not
+ GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
+
+
+ GL_INVALID_VALUE is generated if index is greater
+ than or equal to the number of target-specific indexed binding points.
+
+
+ See Also
+
+ glGenBuffers,
+ glDeleteBuffers,
+ glBindBuffer,
+ glBindBufferRange,
+ glMapBuffer,
+ glUnmapBuffer,
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindBufferRange.xml b/Source/Bind/Specifications/Docs/glBindBufferRange.xml
new file mode 100644
index 00000000..dabc8d44
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindBufferRange.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindBufferRange
+ 3G
+
+
+ glBindBufferRange
+ bind a range within a buffer object to an indexed buffer target
+
+ C Specification
+
+
+ void glBindBufferRange
+ GLenumtarget
+ GLuintindex
+ GLuintbuffer
+ GLintptroffset
+ GLsizeiptrsize
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specify the target of the bind operation. target must be
+ either GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
+
+
+
+
+ index
+
+
+ Specify the index of the binding point within the array specified by target.
+
+
+
+
+ buffer
+
+
+ The name of a buffer object to bind to the specified binding point.
+
+
+
+
+ offset
+
+
+ The starting offset in basic machine units into the buffer object buffer.
+
+
+
+
+ size
+
+
+ The amount of data in machine units that can be read from the buffet object while used as an indexed target.
+
+
+
+
+
+ Description
+
+ glBindBufferRange binds a range the buffer object buffer
+ represented by offset and size to the
+ binding point at index index of the array of targets specified by target.
+ Each target represents an indexed array of buffer binding points, as well
+ as a single general binding point that can be used by other buffer manipulation functions such as
+ glBindBuffer or
+ glMapBuffer. In addition to binding
+ a range of buffer to the indexed buffer binding target, glBindBufferBase
+ also binds the range to the generic buffer binding point specified by target.
+
+
+ offset specifies the offset in basic machine units into the buffer object
+ buffer and size specifies the amount of data that
+ can be read from the buffer object while used as an indexed target.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not
+ GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
+
+
+ GL_INVALID_VALUE is generated if index is greater
+ than or equal to the number of target-specific indexed binding points.
+
+
+ GL_INVALID_VALUE is generated if size is less than
+ or equal to zero, or if offset + size is greater
+ than the value of GL_BUFFER_SIZE.
+
+
+ Additional errors may be generated if offset violates any
+ target-specific alignmemt restrictions.
+
+
+ See Also
+
+ glGenBuffers,
+ glDeleteBuffers,
+ glBindBuffer,
+ glBindBufferBase,
+ glMapBuffer,
+ glUnmapBuffer,
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindFragDataLocation.xml b/Source/Bind/Specifications/Docs/glBindFragDataLocation.xml
new file mode 100644
index 00000000..6c983929
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindFragDataLocation.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindFragDataLocation
+ 3G
+
+
+ glBindFragDataLocation
+ bind a user-defined varying out variable to a fragment shader color number
+
+ C Specification
+
+
+ void glBindFragDataLocation
+ GLuint program
+ GLuint colorNumber
+ const char * name
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the program containing varying out variable whose binding to modify
+
+
+
+
+ colorNumber
+
+
+ The color number to bind the user-defined varying out variable to
+
+
+
+
+ name
+
+
+ The name of the user-defined varying out variable whose binding to modify
+
+
+
+
+
+ Description
+
+ glBindFragDataLocation explicitly specifies the binding of the user-defined varying out variable
+ name to fragment shader color number colorNumber for program
+ program. If name was bound previously, its assigned binding is replaced
+ with colorNumber. name must be a null-terminated string. colorNumber
+ must be less than GL_MAX_DRAW_BUFFERS.
+
+
+ The bindings specified by glBindFragDataLocation have no effect until program
+ is next linked. Bindings may be specified at any time after program has been created. Specifically,
+ they may be specified before shader objects are attached to the program. Therefore, any name may be specified in name,
+ including a name that is never used as a varying out variable in any fragment shader object. Names beginning with gl_ are
+ reserved by the GL.
+
+
+ In addition to the errors generated by glBindFragDataLocation, the
+ program program will fail to link if:
+
+
+
+ The number of active outputs is greater than the value GL_MAX_DRAW_BUFFERS.
+
+
+
+
+ More than one varying out variable is bound to the same color number.
+
+
+
+
+
+ Notes
+
+ Varying out varyings may have indexed locations assigned explicitly in the shader text using a location
+ layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text,
+ that location is used and any location assigned with glBindFragDataLocation is ignored.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if colorNumber is greater than or equal to GL_MAX_DRAW_BUFFERS.
+
+
+ GL_INVALID_OPERATION is generated if name starts with the reserved gl_ prefix.
+
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object.
+
+
+ Associated Gets
+
+ glGetFragDataLocation with a valid program object
+ and the the name of a user-defined varying out variable
+
+
+ See Also
+
+ glCreateProgram,
+ glGetFragDataLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml b/Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml
new file mode 100644
index 00000000..4fcec2cf
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindFragDataLocationIndexed
+ 3G
+
+
+ glBindFragDataLocationIndexed
+ bind a user-defined varying out variable to a fragment shader color number and index
+
+ C Specification
+
+
+ void glBindFragDataLocationIndexed
+ GLuint program
+ GLuint colorNumber
+ GLuint index
+ const char *name
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the program containing varying out variable whose binding to modify
+
+
+
+
+ colorNumber
+
+
+ The color number to bind the user-defined varying out variable to
+
+
+
+
+ index
+
+
+ The index of the color input to bind the user-defined varying out variable to
+
+
+
+
+ name
+
+
+ The name of the user-defined varying out variable whose binding to modify
+
+
+
+
+
+ Description
+
+ glBindFragDataLocationIndexed specifies that the varying out variable name in
+ program should be bound to fragment color colorNumber when the program is next
+ linked. index may be zero or one to specify that the color be used as either the first or second color
+ input to the blend equation, respectively.
+
+
+ The bindings specified by glBindFragDataLocationIndexed have no effect until program
+ is next linked. Bindings may be specified at any time after program has been created. Specifically,
+ they may be specified before shader objects are attached to the program. Therefore, any name may be specified in name,
+ including a name that is never used as a varying out variable in any fragment shader object. Names beginning with gl_ are
+ reserved by the GL.
+
+
+ If name was bound previously, its assigned binding is replaced with colorNumber and
+ index. name must be a null-terminated string. index must be less than or equal to one,
+ and colorNumber must be less than the value of GL_MAX_DRAW_BUFFERS if index
+ is zero, and less than the value of GL_MAX_DUAL_SOURCE_DRAW_BUFFERS if index is greater than or equal to one.
+
+
+ In addition to the errors generated by glBindFragDataLocationIndexed, the
+ program program will fail to link if:
+
+
+
+ The number of active outputs is greater than the value GL_MAX_DRAW_BUFFERS.
+
+
+
+
+ More than one varying out variable is bound to the same color number.
+
+
+
+
+
+ Notes
+
+ Varying out varyings may have locations assigned explicitly in the shader text using a location
+ layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text,
+ that location is used and any location assigned with glBindFragDataLocation is ignored.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if colorNumber is greater than or equal to GL_MAX_DRAW_BUFFERS.
+
+
+ GL_INVALID_VALUE is generated if colorNumber is greater than or equal to GL_MAX_DUAL_SOURCE_DRAW_BUFERS
+ and index is greater than or equal to one.
+
+
+ GL_INVALID_VALUE is generated if index is greater than one.
+
+
+ GL_INVALID_OPERATION is generated if name starts with the reserved gl_ prefix.
+
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object.
+
+
+ Associated Gets
+
+ glGetFragDataLocation with a valid program object
+ and the the name of a user-defined varying out variable
+
+
+ glGetFragDataIndex with a valid program object
+ and the the name of a user-defined varying out variable
+
+
+ See Also
+
+ glCreateProgram,
+ glLinkProgram
+ glGetFragDataLocation,
+ glGetFragDataIndex
+ glBindFragDataLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindFramebuffer.xml b/Source/Bind/Specifications/Docs/glBindFramebuffer.xml
new file mode 100644
index 00000000..d9c5768b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindFramebuffer.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindFramebuffer
+ 3G
+
+
+ glBindFramebuffer
+ bind a framebuffer to a framebuffer target
+
+ C Specification
+
+
+ void glBindFramebuffer
+ GLenum target
+ GLuint framebuffer
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the framebuffer target of the binding operation.
+
+
+
+
+ framebuffer
+
+
+ Specifies the name of the framebuffer object to bind.
+
+
+
+
+
+ Description
+
+ glBindFramebuffer binds the framebuffer object with name framebuffer to the framebuffer target specified
+ by target. target must be either GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. If a framebuffer object is bound to
+ GL_DRAW_FRAMEBUFFER or GL_READ_FRAMEBUFFER, it becomes the target for
+ rendering or readback operations, respectively, until it is deleted or another framebuffer is bound to the corresponding bind point.
+ Calling glBindFramebuffer with target set to GL_FRAMEBUFFER binds
+ framebuffer to both the read and draw framebuffer targets. framebuffer is the name of a framebuffer
+ object previously returned from a call to glGenFramebuffers, or zero to break the existing
+ binding of a framebuffer object to target.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
+
+
+ GL_INVALID_OPERATION is generated if framebuffer is not zero or the name of a framebuffer
+ previously returned from a call to glGenFramebuffers.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glDeleteFramebuffers,
+ glFramebufferRenderbuffer,
+ glFramebufferTexture,
+ glFramebufferTexture1D,
+ glFramebufferTexture2D,
+ glFramebufferTexture3D,
+ glFramebufferTextureFace,
+ glFramebufferTextureLayer,
+ glIsFramebuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindProgramPipeline.xml b/Source/Bind/Specifications/Docs/glBindProgramPipeline.xml
new file mode 100644
index 00000000..0029eb74
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindProgramPipeline.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindProgramPipeline
+ 3G
+
+
+ glBindProgramPipeline
+ bind a program pipeline to the current context
+
+ C Specification
+
+
+ void glBindProgramPipeline
+ GLuint pipeline
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the name of the pipeline object to bind to the context.
+
+
+
+
+
+ Description
+
+ glBindProgramPipeline binds a program pipeline object to the current
+ context. pipeline must be a name previously returned from a call
+ to glGenProgramPipelines. If
+ no program pipeline exists with name pipeline then a new pipeline object
+ is created with that name and initialized to the default state vector.
+
+
+ When a program pipeline object is bound using glBindProgramPipeline, any previous
+ binding is broken and is replaced with a binding to the specified pipeline object. If pipeline
+ is zero, the previous binding is broken and is not replaced, leaving no pipeline object bound.
+ If no current program object has been established by glUseProgram,
+ the program objects used for each stage and for uniform updates are taken from the bound program
+ pipeline object, if any. If there is a current program object established by glUseProgram,
+ the bound program pipeline object has no effect on rendering or uniform updates. When a bound program
+ pipeline object is used for rendering, individual shader executables are taken from its program objects.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not zero or
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ See Also
+
+ glCreateShader,
+ glCreateProgram,
+ glCompileShader,
+ glLinkProgram,
+ glGenProgramPipelines,
+ glDeleteProgramPipelines,
+ glIsProgramPipeline
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindRenderbuffer.xml b/Source/Bind/Specifications/Docs/glBindRenderbuffer.xml
new file mode 100644
index 00000000..2d1bc920
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindRenderbuffer.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindRenderbuffer
+ 3G
+
+
+ glBindRenderbuffer
+ bind a renderbuffer to a renderbuffer target
+
+ C Specification
+
+
+ void glBindRenderbuffer
+ GLenum target
+ GLuint renderbuffer
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the renderbuffer target of the binding operation. target must be GL_RENDERBUFFER.
+
+
+
+
+ renderbuffer
+
+
+ Specifies the name of the renderbuffer object to bind.
+
+
+
+
+
+ Description
+
+ glBindRenderbuffer binds the renderbuffer object with name renderbuffer to the renderbuffer target specified
+ by target. target must be GL_RENDERBUFFER. renderbuffer
+ is the name of a renderbuffer object previously returned from a call to glGenRenderbuffers,
+ or zero to break the existing binding of a renderbuffer object to target.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER.
+
+
+ GL_INVALID_OPERATION is generated if renderbuffer is not zero or the name of a renderbuffer
+ previously returned from a call to glGenRenderbuffers.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glDeleteRenderbuffers,
+ glRenderbufferStorage,
+ glRenderbufferStorageMultisample,
+ glIsRenderbuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindSampler.xml b/Source/Bind/Specifications/Docs/glBindSampler.xml
new file mode 100644
index 00000000..40e50cf6
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindSampler.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindSampler
+ 3G
+
+
+ glBindSampler
+ bind a named sampler to a texturing target
+
+ C Specification
+
+
+ void glBindSampler
+ GLuint unit
+ GLuint sampler
+
+
+
+ Parameters
+
+
+ unit
+
+
+ Specifies the index of the texture unit to which the sampler is bound.
+
+
+
+
+ sampler
+
+
+ Specifies the name of a sampler.
+
+
+
+
+
+ Description
+
+ glBindSampler binds sampler to the texture unit at index unit.
+ sampler must be zero or the name of a sampler object previously returned from a call to
+ glGenSamplers. unit must be less than the value
+ of GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS.
+
+
+ When a sampler object is bound to a texture unit, its state supersedes that of
+ the texture object bound to that texture unit. If the sampler name zero is bound to
+ a texture unit, the currently bound texture's sampler state becomes active. A single
+ sampler object may be bound to multiple texture units simultaneously.
+
+
+ Notes
+
+ glBindSampler is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if unit is greater than or equal to the value of
+ GL_MAX_COMBIED_TEXTURE_IMAGE_UNITS.
+
+
+ GL_INVALID_OPERATION is generated if sampler is not zero or a name previously
+ returned from a call to glGenSamplers, or if such a name has
+ been deleted by a call to glDeleteSamplers.
+
+
+ Associated Gets
+
+ glGet with argument GL_SAMPLER_BINDING
+
+
+ See Also
+
+ glGenSamplers,
+ glDeleteSamplers,
+ glGet,
+ glSamplerParameter,
+ glGetSamplerParameter,
+ glGenTextures,
+ glBindTexture,
+ glDeleteTextures
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindTexture.xml b/Source/Bind/Specifications/Docs/glBindTexture.xml
index 3f4b03d4..c5281ecd 100644
--- a/Source/Bind/Specifications/Docs/glBindTexture.xml
+++ b/Source/Bind/Specifications/Docs/glBindTexture.xml
@@ -36,7 +36,12 @@
GL_TEXTURE_1D,
GL_TEXTURE_2D,
GL_TEXTURE_3D, or
- GL_TEXTURE_CUBE_MAP.
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_CUBE_MAP,
+ GL_TEXTURE_2D_MULTISAMPLE or
+ GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
@@ -54,40 +59,41 @@
glBindTexture lets you create or use a named texture. Calling glBindTexture with
target set to
- GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D or
- GL_TEXTURE_CUBE_MAP and texture set to the name
- of the new texture binds the texture name to the target.
- When a texture is bound to a target, the previous binding for that
- target is automatically broken.
+ GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or
+ GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_CUBE_MAP, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY
+ and texture set to the name of the new texture binds the texture name to the target.
+ When a texture is bound to a target, the previous binding for that target is automatically broken.
Texture names are unsigned integers. The value zero is reserved to
represent the default texture for each texture target.
Texture names and the corresponding texture contents are local to
- the shared display-list space (see glXCreateContext) of the current
- GL rendering context;
+ the shared object space of the current GL rendering context;
two rendering contexts share texture names only if they
- also share display lists.
+ explicitly enable sharing between contexts through the appropriate GL windows interfaces functions.
- You may use glGenTextures to generate a set of new texture names.
+ You must use glGenTextures to generate a set of new texture names.
When a texture is first bound, it assumes the specified target:
A texture first bound to GL_TEXTURE_1D becomes one-dimensional texture, a
texture first bound to GL_TEXTURE_2D becomes two-dimensional texture, a
- texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, and a
- texture first bound to GL_TEXTURE_CUBE_MAP
- becomes a cube-mapped texture. The state of a one-dimensional texture
- immediately after it is first bound is equivalent to the state of the
- default GL_TEXTURE_1D at GL initialization, and similarly for two-
- and three-dimensional textures and cube-mapped textures.
+ texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, a
+ texture first bound to GL_TEXTURE_1D_ARRAY becomes one-dimensional array texture, a
+ texture first bound to GL_TEXTURE_2D_ARRAY becomes two-dimensional arary texture, a
+ texture first bound to GL_TEXTURE_RECTANGLE becomes rectangle texture, a,
+ texture first bound to GL_TEXTURE_CUBE_MAP becomes a cube-mapped texture, a
+ texture first bound to GL_TEXTURE_2D_MULTISAMPLE becomes a two-dimensional multisampled texture, and a
+ texture first bound to GL_TEXTURE_2D_MULTISAMPLE_ARRAY becomes a two-dimensional multisampled array texture.
+ The state of a one-dimensional texture immediately after it is first bound is equivalent to the state of the
+ default GL_TEXTURE_1D at GL initialization, and similarly for the other texture types.
While a texture is bound, GL operations on the target to which it is
bound affect the bound texture, and queries of the target to which it
- is bound return state from the bound texture. If texture mapping is active
- on the target to which a texture is bound, the bound texture is used.
+ is bound return state from the bound texture.
In effect, the texture targets become aliases for the textures currently
bound to them, and the texture name zero refers to the default textures
that were bound to them at initialization.
@@ -101,20 +107,14 @@
Once created, a named texture may be re-bound to its same original target as often as needed.
It is usually much faster to use glBindTexture to bind an existing named
texture to one of the texture targets than it is to reload the texture image
- using glTexImage1D, glTexImage2D, or glTexImage3D.
- For additional control over performance, use
- glPrioritizeTextures.
-
-
- glBindTexture is included in display lists.
+ using glTexImage1D, glTexImage2D,
+ glTexImage3D or another similar function.
Notes
- glBindTexture is available only if the GL version is 1.1 or greater.
-
-
- GL_TEXTURE_CUBE_MAP is available only if the GL version is 1.3 or greater.
+ The GL_TEXTURE_2D_MULTISAMPLE and GL_TEXTURE_2D_MULTISAMPLE_ARRAY targets are available
+ only if the GL version is 3.2 or higher.
Errors
@@ -123,37 +123,34 @@
values.
- GL_INVALID_OPERATION is generated if texture was previously created with a target
- that doesn't match that of target.
+ GL_INVALID_VALUE is generated if target is not a name returned from
+ a previous call to glGenTextures.
- GL_INVALID_OPERATION is generated if glBindTexture is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
+ GL_INVALID_OPERATION is generated if texture was previously created with a target
+ that doesn't match that of target.
Associated Gets
- glGet with argument GL_TEXTURE_BINDING_1D
-
-
- glGet with argument GL_TEXTURE_BINDING_2D
-
-
- glGet with argument GL_TEXTURE_BINDING_3D
+ glGet with argument GL_TEXTURE_BINDING_1D,
+ GL_TEXTURE_BINDING_2D, GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_1D_ARRAY,
+ GL_TEXTURE_BINDING_2D_ARRAY, GL_TEXTURE_BINDING_RECTANGLE, GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+ or GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY.
See Also
- glAreTexturesResident,
glDeleteTextures,
glGenTextures,
glGet,
glGetTexParameter,
glIsTexture,
- glPrioritizeTextures,
glTexImage1D,
glTexImage2D,
+ glTexImage2DMultisample,
+ glTexImage3D,
+ glTexImage3DMultisample,
glTexParameter
diff --git a/Source/Bind/Specifications/Docs/glBindTransformFeedback.xml b/Source/Bind/Specifications/Docs/glBindTransformFeedback.xml
new file mode 100644
index 00000000..c7cc99f4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindTransformFeedback.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glBindTransformFeedback
+ 3G
+
+
+ glBindTransformFeedback
+ bind a transform feedback object
+
+ C Specification
+
+
+ void glBindTransformFeedback
+ GLenum target
+ GLuint id
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target to which to bind the transform feedback object id. target
+ must be GL_TRANSFORM_FEEDBACK.
+
+
+
+
+ id
+
+
+ Specifies the name of a transform feedback object reserved by glGenTransformFeedbacks.
+
+
+
+
+
+ Description
+
+ glBindTransformFeedback binds the transform feedback object with name id to the current
+ GL state. id must be a name previously returned from a call to
+ glGenTransformFeedbacks. If id has not
+ previously been bound, a new transform feedback object with name id and initialized with with the
+ default transform state vector is created.
+
+
+ In the initial state, a default transform feedback object is bound and treated as
+ a transform feedback object with a name of zero. If the name zero is subsequently bound, the default
+ transform feedback object is again bound to the GL state.
+
+
+ While a transform feedback buffer object is bound, GL operations on the target
+ to which it is bound affect the bound transform feedback object, and queries of the
+ target to which a transform feedback object is bound return state from the bound
+ object. When buffer objects are bound for transform feedback, they are attached to
+ the currently bound transform feedback object. Buffer objects are used for trans-
+ form feedback only if they are attached to the currently bound transform feedback
+ object.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_TRANSFORM_FEEDBACK.
+
+
+ GL_INVALID_OPERATION is generated if the transform feedback operation is
+ active on the currently bound transform feedback object, and that operation is not paused.
+
+
+ GL_INVALID_OPERATION is generated if id is not
+ zero or the name of a transform feedback object returned from a previous call to
+ glGenTransformFeedbacks, or
+ if such a name has been deleted by glDeleteTransformFeedbacks.
+
+
+ Associated Gets
+
+ glGet with argument GL_TRANSFORM_FEEDBACK_BINDING
+
+
+ See Also
+
+ glGenTransformFeedbacks,
+ glDeleteTransformFeedbacks,
+ glIsTransformFeedback,
+ glBeginTransformFeedback,
+ glPauseTransformFeedback,
+ glResumeTransformFeedback,
+ glEndTransformFeedback
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBindVertexArray.xml b/Source/Bind/Specifications/Docs/glBindVertexArray.xml
new file mode 100644
index 00000000..37f279da
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBindVertexArray.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBindVertexArray
+ 3G
+
+
+ glBindVertexArray
+ bind a vertex array object
+
+ C Specification
+
+
+ void glBindVertexArray
+ GLuint array
+
+
+
+ Parameters
+
+
+ array
+
+
+ Specifies the name of the vertex array to bind.
+
+
+
+
+
+ Description
+
+ glBindVertexArray binds the vertex array object with name array. array
+ is the name of a vertex array object previously returned from a call to glGenVertexArrays,
+ or zero to break the existing vertex array object binding.
+
+
+ If no vertex array object with name array exists, one is created when array is first bound. If the bind
+ is successful no change is made to the state of the vertex array object, and any previous vertex array object binding is broken.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if array is not zero or the name of a vertex array object
+ previously returned from a call to glGenVertexArrays.
+
+
+ See Also
+
+ glGenVertexArrays,
+ glDeleteVertexArrays
+ glVertexAttribPointer
+ glEnableVertexAttribArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBlendColor.xml b/Source/Bind/Specifications/Docs/glBlendColor.xml
index e68d7a7e..dd96f3b2 100644
--- a/Source/Bind/Specifications/Docs/glBlendColor.xml
+++ b/Source/Bind/Specifications/Docs/glBlendColor.xml
@@ -48,7 +48,7 @@
The GL_BLEND_COLOR may be used to calculate the source and destination
blending factors. The color components are clamped to the range
-
+
0
1
@@ -59,22 +59,6 @@
Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0).
- Notes
-
- glBlendColor is part of the ARB_imaging
subset. glBlendColor is present only
- if ARB_imaging
is returned when glGetString is called with
- GL_EXTENSIONS as its argument.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glBlendColor is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
-
-
-
Associated Gets
glGet with an argument of GL_BLEND_COLOR
diff --git a/Source/Bind/Specifications/Docs/glBlendEquation.xml b/Source/Bind/Specifications/Docs/glBlendEquation.xml
index b3491860..ffff5b60 100644
--- a/Source/Bind/Specifications/Docs/glBlendEquation.xml
+++ b/Source/Bind/Specifications/Docs/glBlendEquation.xml
@@ -57,7 +57,7 @@
In the equations that follow, source and destination
color components are referred to as
-
+
R
s
@@ -75,7 +75,7 @@
and
-
+
R
d
@@ -94,7 +94,7 @@
respectively.
The result color is referred to as
-
+
R
r
@@ -112,7 +112,7 @@
.
The source and destination blend factors are denoted
-
+
s
R
@@ -130,7 +130,7 @@
and
-
+
d
R
@@ -150,7 +150,7 @@
For these equations all color components are understood to have values
in the range
-
+
0
1
@@ -182,100 +182,100 @@
-
+
Rr
=
- R
- s
-
- ⁢
- s
- R
-
- +
- R
- d
-
- ⁢
- d
- R
-
+ R
+ s
+
+ ⁢
+ s
+ R
+
+ +
+ R
+ d
+
+ ⁢
+ d
+ R
+
-
+
Gr
=
- G
- s
-
- ⁢
- s
- G
-
- +
- G
- d
-
- ⁢
- d
- G
-
+ G
+ s
+
+ ⁢
+ s
+ G
+
+ +
+ G
+ d
+
+ ⁢
+ d
+ G
+
-
+
Br
=
- B
- s
-
- ⁢
- s
- B
-
- +
- B
- d
-
- ⁢
- d
- B
-
+ B
+ s
+
+ ⁢
+ s
+ B
+
+ +
+ B
+ d
+
+ ⁢
+ d
+ B
+
-
+
Ar
=
- A
- s
-
- ⁢
- s
- A
-
- +
- A
- d
-
- ⁢
- d
- A
-
+ A
+ s
+
+ ⁢
+ s
+ A
+
+ +
+ A
+ d
+
+ ⁢
+ d
+ A
+
@@ -287,100 +287,100 @@
-
+
Rr
=
- R
- s
-
- ⁢
- s
- R
-
- -
- R
- d
-
- ⁢
- d
- R
-
+ R
+ s
+
+ ⁢
+ s
+ R
+
+ -
+ R
+ d
+
+ ⁢
+ d
+ R
+
-
+
Gr
=
- G
- s
-
- ⁢
- s
- G
-
- -
- G
- d
-
- ⁢
- d
- G
-
+ G
+ s
+
+ ⁢
+ s
+ G
+
+ -
+ G
+ d
+
+ ⁢
+ d
+ G
+
-
+
Br
=
- B
- s
-
- ⁢
- s
- B
-
- -
- B
- d
-
- ⁢
- d
- B
-
+ B
+ s
+
+ ⁢
+ s
+ B
+
+ -
+ B
+ d
+
+ ⁢
+ d
+ B
+
-
+
Ar
=
- A
- s
-
- ⁢
- s
- A
-
- -
- A
- d
-
- ⁢
- d
- A
-
+ A
+ s
+
+ ⁢
+ s
+ A
+
+ -
+ A
+ d
+
+ ⁢
+ d
+ A
+
@@ -392,100 +392,100 @@
-
+
Rr
=
- R
- d
-
- ⁢
- d
- R
-
- -
- R
- s
-
- ⁢
- s
- R
-
+ R
+ d
+
+ ⁢
+ d
+ R
+
+ -
+ R
+ s
+
+ ⁢
+ s
+ R
+
-
+
Gr
=
- G
- d
-
- ⁢
- d
- G
-
- -
- G
- s
-
- ⁢
- s
- G
-
+ G
+ d
+
+ ⁢
+ d
+ G
+
+ -
+ G
+ s
+
+ ⁢
+ s
+ G
+
-
+
Br
=
- B
- d
-
- ⁢
- d
- B
-
- -
- B
- s
-
- ⁢
- s
- B
-
+ B
+ d
+
+ ⁢
+ d
+ B
+
+ -
+ B
+ s
+
+ ⁢
+ s
+ B
+
-
+
Ar
=
- A
- d
-
- ⁢
- d
- A
-
- -
- A
- s
-
- ⁢
- s
- A
-
+ A
+ d
+
+ ⁢
+ d
+ A
+
+ -
+ A
+ s
+
+ ⁢
+ s
+ A
+
@@ -497,7 +497,7 @@
-
+
Rr
=
@@ -520,7 +520,7 @@
-
+
Gr
=
@@ -543,7 +543,7 @@
-
+
Br
=
@@ -568,7 +568,7 @@
-
+
Ar
=
@@ -598,7 +598,7 @@
-
+
Rr
=
@@ -621,7 +621,7 @@
-
+
Gr
=
@@ -644,7 +644,7 @@
-
+
Br
=
@@ -669,7 +669,7 @@
-
+
Ar
=
@@ -700,7 +700,7 @@
The results of these equations are clamped to the range
-
+
0
1
@@ -732,11 +732,6 @@
GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT,
GL_MAX, or GL_MIN.
-
- GL_INVALID_OPERATION is generated if glBlendEquation is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
@@ -748,7 +743,6 @@
See Also
- glGetString,
glBlendColor,
glBlendFunc
glBlendFuncSeparate
diff --git a/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml
index d6985df8..2cdf4a84 100644
--- a/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml
+++ b/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml
@@ -732,9 +732,6 @@
Notes
-
- glBlendEquationSeparate is available only if the GL version is 2.0 or greater.
-
The GL_MIN, and GL_MAX equations do not use
the source or destination factors, only the source and destination colors.
@@ -746,11 +743,6 @@
GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT,
GL_MAX, or GL_MIN.
-
- GL_INVALID_OPERATION is generated if glBlendEquationSeparate is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glBlendFunc.xml b/Source/Bind/Specifications/Docs/glBlendFunc.xml
index ed7ed921..ebf92845 100644
--- a/Source/Bind/Specifications/Docs/glBlendFunc.xml
+++ b/Source/Bind/Specifications/Docs/glBlendFunc.xml
@@ -34,22 +34,6 @@
Specifies how the red, green, blue,
and alpha source blending factors are computed.
- The following symbolic constants are accepted:
- GL_ZERO,
- GL_ONE,
- GL_SRC_COLOR,
- GL_ONE_MINUS_SRC_COLOR,
- GL_DST_COLOR,
- GL_ONE_MINUS_DST_COLOR,
- GL_SRC_ALPHA,
- GL_ONE_MINUS_SRC_ALPHA,
- GL_DST_ALPHA,
- GL_ONE_MINUS_DST_ALPHA,
- GL_CONSTANT_COLOR,
- GL_ONE_MINUS_CONSTANT_COLOR,
- GL_CONSTANT_ALPHA,
- GL_ONE_MINUS_CONSTANT_ALPHA, and
- GL_SRC_ALPHA_SATURATE.
The initial value is GL_ONE.
@@ -83,7 +67,7 @@
Description
- In RGBA mode, pixels can be drawn using a function that blends
+ Pixels can be drawn using a function that blends
the incoming (source) RGBA values with the RGBA values
that are already in the frame buffer (the destination values).
Blending is initially disabled.
@@ -96,31 +80,68 @@
source color components.
dfactor specifies which method is used to scale the
destination color components.
+ Both parameters must be one of the following symbolic constants:
+ GL_ZERO,
+ GL_ONE,
+ GL_SRC_COLOR,
+ GL_ONE_MINUS_SRC_COLOR,
+ GL_DST_COLOR,
+ GL_ONE_MINUS_DST_COLOR,
+ GL_SRC_ALPHA,
+ GL_ONE_MINUS_SRC_ALPHA,
+ GL_DST_ALPHA,
+ GL_ONE_MINUS_DST_ALPHA,
+ GL_CONSTANT_COLOR,
+ GL_ONE_MINUS_CONSTANT_COLOR,
+ GL_CONSTANT_ALPHA,
+ GL_ONE_MINUS_CONSTANT_ALPHA,
+ GL_SRC_ALPHA_SATURATE,
+ GL_SRC1_COLOR,
+ GL_ONE_MINUS_SRC1_COLOR,
+ GL_SRC1_ALPHA, and
+ GL_ONE_MINUS_SRC1_ALPHA.
The possible methods are described in the following table.
Each method defines four scale factors,
one each for red, green, blue, and alpha.
- In the table and in subsequent equations, source and destination
- color components are referred to as
+ In the table and in subsequent equations, first source, second source
+ and destination color components are referred to as
-
+
R
- s
+ s0
G
- s
+ s0
B
- s
+ s0
A
- s
+ s0
+
+
+ ,
+
+
+
+ R
+ s1
+
+ G
+ s1
+
+ B
+ s1
+
+ A
+ s1
and
-
+
R
d
@@ -135,10 +156,10 @@
d
- .
+ , respectively.
The color specified by glBlendColor is referred to as
-
+
R
c
@@ -156,7 +177,7 @@
.
They are understood to have integer values between 0 and
-
+
k
R
@@ -177,7 +198,7 @@
-
+
k
c
@@ -201,7 +222,7 @@
and
-
+
m
R
@@ -225,7 +246,7 @@
Source and destination scale factors are referred to as
-
+
s
R
@@ -243,7 +264,7 @@
and
-
+
d
R
@@ -262,7 +283,7 @@
The scale factors described in the table,
denoted
-
+
f
R
@@ -281,7 +302,7 @@
represent either source or destination factors.
All scale factors have range
-
+
0
1
@@ -301,7 +322,7 @@
-
+
f
R
@@ -327,7 +348,7 @@
-
+
0
0
@@ -343,7 +364,7 @@
-
+
1
1
@@ -359,11 +380,11 @@
-
+
R
- s
+ s0
k
R
@@ -371,7 +392,7 @@
G
- s
+ s0
k
G
@@ -379,7 +400,7 @@
B
- s
+ s0
k
B
@@ -387,7 +408,7 @@
A
- s
+ s0
k
A
@@ -403,7 +424,7 @@
-
+
1
@@ -415,7 +436,7 @@
R
- s
+ s0
k
R
@@ -423,7 +444,7 @@
G
- s
+ s0
k
G
@@ -431,7 +452,7 @@
B
- s
+ s0
k
B
@@ -439,7 +460,7 @@
A
- s
+ s0
k
A
@@ -456,7 +477,7 @@
-
+
R
@@ -500,7 +521,7 @@
-
+
1
@@ -553,11 +574,11 @@
-
+
A
- s
+ s0
k
A
@@ -565,7 +586,7 @@
A
- s
+ s0
k
A
@@ -573,7 +594,7 @@
A
- s
+ s0
k
A
@@ -581,7 +602,7 @@
A
- s
+ s0
k
A
@@ -597,7 +618,7 @@
-
+
1
@@ -609,7 +630,7 @@
A
- s
+ s0
k
A
@@ -617,7 +638,7 @@
A
- s
+ s0
k
A
@@ -625,7 +646,7 @@
A
- s
+ s0
k
A
@@ -633,7 +654,7 @@
A
- s
+ s0
k
A
@@ -650,7 +671,7 @@
-
+
A
@@ -694,7 +715,7 @@
-
+
1
@@ -747,7 +768,7 @@
-
+
R
c
@@ -771,7 +792,7 @@
-
+
1
@@ -804,7 +825,7 @@
-
+
A
c
@@ -828,7 +849,7 @@
-
+
1
@@ -861,7 +882,7 @@
-
+
i
i
@@ -871,6 +892,200 @@
+
+
+ GL_SRC1_COLOR
+
+
+
+
+
+
+ R
+ s1
+
+ k
+ R
+
+
+
+ G
+ s1
+
+ k
+ G
+
+
+
+ B
+ s1
+
+ k
+ B
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+ GL_ONE_MINUS_SRC1_COLOR
+
+
+
+
+
+
+ 1
+ 1
+ 1
+ 1
+
+ -
+
+
+ R
+ s1
+
+ k
+ R
+
+
+
+ G
+ s1
+
+ k
+ G
+
+
+
+ B
+ s1
+
+ k
+ B
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+
+ GL_SRC1_ALPHA
+
+
+
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+ GL_ONE_MINUS_SRC1_ALPHA
+
+
+
+
+
+
+ 1
+ 1
+ 1
+ 1
+
+ -
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
@@ -880,7 +1095,7 @@
-
+
i
=
@@ -912,13 +1127,13 @@
- To determine the blended RGBA values of a pixel when drawing in RGBA mode,
+ To determine the blended RGBA values of a pixel,
the system uses the following equations:
-
+
R
d
@@ -953,7 +1168,7 @@
-
+
G
d
@@ -988,7 +1203,7 @@
-
+
B
d
@@ -1023,7 +1238,7 @@
-
+
A
d
@@ -1072,14 +1287,14 @@
dfactor is GL_ONE_MINUS_SRC_ALPHA,
and
-
+
A
s
is equal to
-
+
k
A
@@ -1089,7 +1304,7 @@
-
+
R
d
@@ -1101,7 +1316,7 @@
-
+
G
d
@@ -1113,7 +1328,7 @@
-
+
B
d
@@ -1125,7 +1340,7 @@
-
+
A
d
@@ -1173,7 +1388,7 @@
Incoming (source) alpha is correctly thought of as a material opacity,
ranging from 1.0
(
-
+
K
A
@@ -1189,33 +1404,16 @@
(See glDrawBuffer.)
- Blending affects only RGBA rendering.
- It is ignored by color index renderers.
-
-
- GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR,
- GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only
- if the GL version is 1.4 or greater or if the ARB_imaging
is
- supported by your implementation.
-
-
- GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for
- sfactor if the GL version is 1.4 or greater.
-
-
- GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for
- dfactor if the GL version is 1.4 or greater.
+ When dual source blending is enabled (i.e., one of the blend factors requiring
+ the second color input is used), the maximum number of enabled draw buffers
+ is given by GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, which may
+ be lower than GL_MAX_DRAW_BUFFERS.
Errors
- GL_INVALID_ENUM is generated if either sfactor or dfactor is not an
- accepted value.
-
-
- GL_INVALID_OPERATION is generated if glBlendFunc
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_ENUM is generated if either sfactor
+ or dfactor is not an accepted value.
Associated Gets
@@ -1233,7 +1431,6 @@
See Also
- glAlphaFunc,
glBlendColor,
glBlendEquation,
glBlendFuncSeparate,
@@ -1242,7 +1439,6 @@
glEnable,
glLogicOp,
glStencilFunc
-
Copyright
diff --git a/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml
index 62c0c882..61e9fd0b 100644
--- a/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml
+++ b/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml
@@ -35,22 +35,6 @@
Specifies how the red, green, and blue blending factors are computed.
- The following symbolic constants are accepted:
- GL_ZERO,
- GL_ONE,
- GL_SRC_COLOR,
- GL_ONE_MINUS_SRC_COLOR,
- GL_DST_COLOR,
- GL_ONE_MINUS_DST_COLOR,
- GL_SRC_ALPHA,
- GL_ONE_MINUS_SRC_ALPHA,
- GL_DST_ALPHA,
- GL_ONE_MINUS_DST_ALPHA,
- GL_CONSTANT_COLOR,
- GL_ONE_MINUS_CONSTANT_COLOR,
- GL_CONSTANT_ALPHA,
- GL_ONE_MINUS_CONSTANT_ALPHA, and
- GL_SRC_ALPHA_SATURATE.
The initial value is GL_ONE.
@@ -60,21 +44,7 @@
Specifies how the red, green, and blue destination blending factors are
- computed. The following symbolic constants are accepted:
- GL_ZERO,
- GL_ONE,
- GL_SRC_COLOR,
- GL_ONE_MINUS_SRC_COLOR,
- GL_DST_COLOR,
- GL_ONE_MINUS_DST_COLOR,
- GL_SRC_ALPHA,
- GL_ONE_MINUS_SRC_ALPHA,
- GL_DST_ALPHA,
- GL_ONE_MINUS_DST_ALPHA.
- GL_CONSTANT_COLOR,
- GL_ONE_MINUS_CONSTANT_COLOR,
- GL_CONSTANT_ALPHA, and
- GL_ONE_MINUS_CONSTANT_ALPHA.
+ computed.
The initial value is GL_ZERO.
@@ -83,8 +53,7 @@
srcAlpha
- Specified how the alpha source blending factor is computed. The same
- symbolic constants are accepted as for srcRGB.
+ Specified how the alpha source blending factor is computed.
The initial value is GL_ONE.
@@ -93,8 +62,7 @@
dstAlpha
- Specified how the alpha destination blending factor is computed. The same
- symbolic constants are accepted as for dstRGB.
+ Specified how the alpha destination blending factor is computed.
The initial value is GL_ZERO.
@@ -103,7 +71,7 @@
Description
- In RGBA mode, pixels can be drawn using a function that blends
+ Pixels can be drawn using a function that blends
the incoming (source) RGBA values with the RGBA values
that are already in the frame buffer (the destination values).
Blending is initially disabled.
@@ -124,28 +92,45 @@
one each for red, green, blue, and alpha.
- In the table and in subsequent equations, source and destination
+ In the table and in subsequent equations, first source, second source and destination
color components are referred to as
-
+
R
- s
+ s0
G
- s
+ s0
B
- s
+ s0
A
- s
+ s0
-
+ ,
+
+
+
+ R
+ s1
+
+ G
+ s1
+
+ B
+ s1
+
+ A
+ s1
+
+
+ ,
and
-
+
R
d
@@ -160,10 +145,10 @@
d
- .
+ , respectively.
The color specified by glBlendColor is referred to as
-
+
R
c
@@ -181,7 +166,7 @@
.
They are understood to have integer values between 0 and
-
+
k
R
@@ -202,7 +187,7 @@
-
+
k
c
@@ -226,7 +211,7 @@
and
-
+
m
R
@@ -250,7 +235,7 @@
Source and destination scale factors are referred to as
-
+
s
R
@@ -268,7 +253,7 @@
and
-
+
d
R
@@ -286,7 +271,7 @@
.
All scale factors have range
-
+
0
1
@@ -320,7 +305,7 @@
-
+
0
0
@@ -330,7 +315,7 @@
-
+
0
@@ -341,7 +326,7 @@
-
+
1
1
@@ -351,7 +336,7 @@
-
+
1
@@ -362,11 +347,11 @@
-
+
R
- s
+ s0
k
R
@@ -374,7 +359,7 @@
G
- s
+ s0
k
G
@@ -382,7 +367,7 @@
B
- s
+ s0
k
B
@@ -393,10 +378,10 @@
-
+
A
- s
+ s0
k
A
@@ -411,7 +396,7 @@
-
+
1
@@ -423,7 +408,7 @@
R
- s
+ s0
k
R
@@ -431,7 +416,7 @@
G
- s
+ s0
k
G
@@ -439,7 +424,7 @@
B
- s
+ s0
k
B
@@ -451,13 +436,13 @@
-
+
1
-
A
- s
+ s0
k
A
@@ -473,7 +458,7 @@
-
+
R
@@ -504,7 +489,7 @@
-
+
A
d
@@ -522,7 +507,7 @@
-
+
1
@@ -561,7 +546,7 @@
-
+
1
-
@@ -583,11 +568,11 @@
-
+
A
- s
+ s0
k
A
@@ -595,7 +580,7 @@
A
- s
+ s0
k
A
@@ -603,7 +588,7 @@
A
- s
+ s0
k
A
@@ -614,10 +599,10 @@
-
+
A
- s
+ s0
k
A
@@ -632,7 +617,7 @@
-
+
1
@@ -643,7 +628,7 @@
A
- s
+ s0
k
A
@@ -651,7 +636,7 @@
A
- s
+ s0
k
A
@@ -659,7 +644,7 @@
A
- s
+ s0
k
A
@@ -671,13 +656,13 @@
-
+
1
-
A
- s
+ s0
k
A
@@ -693,7 +678,7 @@
-
+
A
@@ -724,7 +709,7 @@
-
+
A
d
@@ -742,7 +727,7 @@
-
+
1
@@ -781,7 +766,7 @@
-
+
1
-
@@ -803,7 +788,7 @@
-
+
R
c
@@ -819,7 +804,7 @@
-
+
A
c
@@ -832,7 +817,7 @@
-
+
1
@@ -856,7 +841,7 @@
-
+
1
-
@@ -873,7 +858,7 @@
-
+
A
c
@@ -889,7 +874,7 @@
-
+
A
c
@@ -902,7 +887,7 @@
-
+
1
@@ -926,7 +911,7 @@
-
+
1
-
@@ -943,7 +928,7 @@
-
+
i
i
@@ -953,11 +938,232 @@
-
+
1
+
+
+ GL_SRC1_COLOR
+
+
+
+
+
+
+ R
+ s1
+
+ k
+ R
+
+
+
+ G
+ s1
+
+ k
+ G
+
+
+
+ B
+ s1
+
+ k
+ B
+
+
+
+
+
+
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+ GL_ONE_MINUS_SRC_COLOR
+
+
+
+
+
+
+ 1
+ 1
+ 1
+ 1
+
+ -
+
+
+ R
+ s1
+
+ k
+ R
+
+
+
+ G
+ s1
+
+ k
+ G
+
+
+
+ B
+ s1
+
+ k
+ B
+
+
+
+
+
+
+
+
+
+
+ 1
+ -
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+ GL_SRC1_ALPHA
+
+
+
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+ GL_ONE_MINUS_SRC_ALPHA
+
+
+
+
+
+
+ 1
+ 1
+ 1
+
+ -
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
+
+
+
+
+ 1
+ -
+
+ A
+ s1
+
+ k
+ A
+
+
+
+
+
+
@@ -967,7 +1173,7 @@
-
+
i
=
@@ -994,13 +1200,13 @@
- To determine the blended RGBA values of a pixel when drawing in RGBA mode,
+ To determine the blended RGBA values of a pixel,
the system uses the following equations:
-
+
R
d
@@ -1035,7 +1241,7 @@
-
+
G
d
@@ -1070,7 +1276,7 @@
-
+
B
d
@@ -1105,7 +1311,7 @@
-
+
A
d
@@ -1149,7 +1355,7 @@
reduces its multiplicand to 0. For example, when srcRGB is
GL_SRC_ALPHA, dstRGB is GL_ONE_MINUS_SRC_ALPHA, and
-
+
A
s
@@ -1157,7 +1363,7 @@
is
equal to
-
+
k
A
@@ -1167,7 +1373,7 @@
-
+
R
d
@@ -1179,7 +1385,7 @@
-
+
G
d
@@ -1191,7 +1397,7 @@
-
+
B
d
@@ -1203,7 +1409,7 @@
-
+
A
d
@@ -1220,14 +1426,11 @@
Notes
-
- glBlendFuncSeparate is available only if the GL version is 1.4 or greater.
-
Incoming (source) alpha is correctly thought of as a material opacity,
ranging from 1.0
(
-
+
K
A
@@ -1243,22 +1446,10 @@
(See glDrawBuffer.)
- Blending affects only RGBA rendering.
- It is ignored by color index renderers.
-
-
- GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR,
- GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only
- if the GL version is 1.4 or greater or if the ARB_imaging
is
- supported by your implementation.
-
-
- GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for
- srcRGB if the GL version is 1.4 or greater.
-
-
- GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for
- dstRGB if the GL version is 1.4 or greater.
+ When dual source blending is enabled (i.e., one of the blend factors requiring
+ the second color input is used), the maximum number of enabled draw buffers
+ is given by GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, which may
+ be lower than GL_MAX_DRAW_BUFFERS.
Errors
@@ -1266,11 +1457,6 @@
GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an
accepted value.
-
- GL_INVALID_OPERATION is generated if glBlendFuncSeparate
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -1293,7 +1479,6 @@
See Also
- glAlphaFunc,
glBlendColor,
glBlendFunc,
glBlendEquation,
diff --git a/Source/Bind/Specifications/Docs/glBlitFramebuffer.xml b/Source/Bind/Specifications/Docs/glBlitFramebuffer.xml
new file mode 100644
index 00000000..c5024cd7
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glBlitFramebuffer.xml
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glBlitFramebuffer
+ 3G
+
+
+ glBlitFramebuffer
+ copy a block of pixels from the read framebuffer to the draw framebuffer
+
+ C Specification
+
+
+ void glBlitFramebuffer
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+
+ Parameters
+
+
+ srcX0
+ srcY0
+ srcX1
+ srcY1
+
+
+ Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
+
+
+
+
+ dstX0
+ dstY0
+ dstX1
+ dstY1
+
+
+ Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
+
+
+
+
+ mask
+
+
+ The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are
+ GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT and GL_STENCIL_BUFFER_BIT.
+
+
+
+
+ filter
+
+
+ Specifies the interpolation to be applied if the image is stretched. Must be GL_NEAREST or GL_LINEAR.
+
+
+
+
+
+ Description
+
+ glBlitFramebuffer transfers a rectangle of pixel values from one region of the read framebuffer to another region in
+ the draw framebuffer. mask is the bitwise OR of a number of values indicating which buffers are
+ to be copied. The values are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, and
+ GL_STENCIL_BUFFER_BIT. The pixels corresponding to these buffers are copied from the source rectangle bounded by the
+ locations (srcX0; srcY0) and (srcX1; srcY1)
+ to the destination rectangle bounded by the locations (dstX0; dstY0) and
+ (dstX1; dstY1). The lower bounds of the rectangle are inclusive, while the upper
+ bounds are exclusive.
+
+
+ The actual region taken from the read framebuffer is limited to the intersection of the source buffers being transferred, which may
+ include the color buffer selected by the read buffer, the depth buffer, and/or the stencil buffer depending on mask. The actual region
+ written to the draw framebuffer is limited to the intersection of the destination buffers being written, which may include multiple draw
+ buffers, the depth buffer, and/or the stencil buffer depending on mask. Whether or not the source or destination regions are altered due
+ to these limits, the scaling and offset applied to pixels being transferred is performed as though no such limits were present.
+
+
+ If the sizes of the source and destination rectangles are not equal, filter specifies the interpolation method that
+ will be applied to resize the source image , and must be GL_NEAREST or GL_LINEAR.
+ GL_LINEAR is only a valid interpolation method for the color buffer. If filter is not
+ GL_NEAREST and mask includes GL_DEPTH_BUFFER_BIT or
+ GL_STENCIL_BUFFER_BIT, no data is transferred and a GL_INVALID_OPERATION error is generated.
+
+
+ If filter is GL_LINEAR and the source rectangle would require sampling outside the bounds of
+ the source framebuffer, values are read as if the GL_CLAMP_TO_EDGE texture wrapping mode were applied.
+
+
+ When the color buffer is transferred, values are taken from the read buffer of the read framebuffer and written to each of the draw
+ buffers of the draw framebuffer.
+
+
+ If the source and destination rectangles overlap or are the same, and the read and draw buffers are the same, the result of the operation
+ is undefined.
+
+
+ Notes
+
+ glBindVertexArray is available only if the GL version is 3.0 or greater.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if mask contains any of the GL_DEPTH_BUFFER_BIT
+ or GL_STENCIL_BUFFER_BIT and filter is not GL_NEAREST.
+
+
+ GL_INVALID_OPERATION is generated if mask contains GL_COLOR_BUFFER_BIT
+ and any of the following conditions hold:
+
+
+ The read buffer contains fixed-point or floating-point values and any draw buffer contains
+ neither fixed-point nor floating-point values.
+
+
+ The read buffer contains unsigned integer values and any draw buffer does not contain unsigned
+ integer values.
+
+
+ The read buffer contains signed integer values and any draw buffer does not contain signed integer values.
+
+
+
+
+ GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or
+ GL_DEPTH_BUFFER_BIT and the source and destination depth and stencil formats do not match.
+
+
+ GL_INVALID_OPERATION is generated if filter is GL_LINEAR and the read buffer
+ contains integer data.
+
+
+ GL_INVALID_OPERATION is generated if the value of GL_SAMPLES for the read and draw buffers is
+ not identical.
+
+
+ GL_INVALID_OPERATION is generated if GL_SAMPLE_BUFFERS for both read and draw buffers greater than
+ zero and the dimensions of the source and destination rectangles is not identical.
+
+
+ GL_INVALID_FRAMEBUFFER_OPERATION is generated if the objects bound to GL_DRAW_FRAMEBUFFER_BINDING
+ or GL_READ_FRAMEBUFFER_BINDING are not framebuffer complete.
+
+
+ See Also
+
+ glReadPixels
+ glCheckFramebufferStatus,
+ glGenFramebuffers
+ glBindFramebuffer
+ glDeleteFramebuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glBufferData.xml b/Source/Bind/Specifications/Docs/glBufferData.xml
index db521313..2607fd4a 100644
--- a/Source/Bind/Specifications/Docs/glBufferData.xml
+++ b/Source/Bind/Specifications/Docs/glBufferData.xml
@@ -35,10 +35,15 @@
Specifies the target buffer object.
- The symbolic constant must be GL_ARRAY_BUFFER,
+ The symbolic constant must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
@@ -148,13 +153,6 @@
Notes
-
- glBufferData is available only if the GL version is 1.5 or greater.
-
-
- Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available
- only if the GL version is 2.1 or greater.
-
If data is NULL, a data store of the specified size is still created,
but its contents remain uninitialized and thus undefined.
@@ -169,8 +167,7 @@
Errors
GL_INVALID_ENUM is generated if target is not
- GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
+ one of the accepted buffer targets.
GL_INVALID_ENUM is generated if usage is not
@@ -187,19 +184,13 @@
GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size.
-
- GL_INVALID_OPERATION is generated if glBufferData
- is executed between the execution of
- glBegin and the corresponding execution of
- glEnd.
-
Associated Gets
glGetBufferSubData
- glGetBufferParameteriv with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE
+ glGetBufferParameter with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE
See Also
diff --git a/Source/Bind/Specifications/Docs/glBufferSubData.xml b/Source/Bind/Specifications/Docs/glBufferSubData.xml
index f5b7022a..97ea9dc9 100644
--- a/Source/Bind/Specifications/Docs/glBufferSubData.xml
+++ b/Source/Bind/Specifications/Docs/glBufferSubData.xml
@@ -35,10 +35,15 @@
Specifies the target buffer object.
- The symbolic constant must be GL_ARRAY_BUFFER,
+ The symbolic constant must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
@@ -79,13 +84,6 @@
Notes
-
- glBufferSubData is available only if the GL version is 1.5 or greater.
-
-
- Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available
- only if the GL version is 2.1 or greater.
-
When replacing the entire data store, consider using glBufferSubData rather
than completely recreating the data store with glBufferData. This avoids the cost of
@@ -107,8 +105,7 @@
Errors
GL_INVALID_ENUM is generated if target is not
- GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
+ one of the accepted buffer targets.
GL_INVALID_VALUE is generated if offset or
@@ -121,12 +118,6 @@
GL_INVALID_OPERATION is generated if the buffer object being updated is mapped.
-
- GL_INVALID_OPERATION is generated if glBufferSubData
- is executed between the execution of
- glBegin and the corresponding execution of
- glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml b/Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml
new file mode 100644
index 00000000..922e8f9d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glCheckFramebufferStatus
+ 3G
+
+
+ glCheckFramebufferStatus
+ check the completeness status of a framebuffer
+
+ C Specification
+
+
+ GLenum glCheckFramebufferStatus
+ GLenum target
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specify the target of the framebuffer completeness check.
+
+
+
+
+
+ Description
+
+ glCheckFramebufferStatus queries the completeness status of the framebuffer object currently bound to target.
+ target must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
+ GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+ The return value is GL_FRAMEBUFFER_COMPLETE if the framebuffer bound to target is complete. Otherwise,
+ the return value is determined as follows:
+
+
+
+ GL_FRAMEBUFFER_UNDEFINED is returned if target is the default framebuffer, but the default framebuffer does not exist.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT is returned if any of the framebuffer attachment points are framebuffer incomplete.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT is returned if the framebuffer does not have at least one image attached to it.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER is returned if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
+ is GL_NONE for any color attachment point(s) named by GL_DRAWBUFFERi.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER is returned if GL_READ_BUFFER is not GL_NONE
+ and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE for the color attachment point named
+ by GL_READ_BUFFER.
+
+
+
+
+ GL_FRAMEBUFFER_UNSUPPORTED is returned if the combination of internal formats of the attached images violates
+ an implementation-dependent set of restrictions.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is returned if the value of GL_RENDERBUFFER_SAMPLES is not the same
+ for all attached renderbuffers; if the value of GL_TEXTURE_SAMPLES is the not same for all attached textures; or, if the attached
+ images are a mix of renderbuffers and textures, the value of GL_RENDERBUFFER_SAMPLES does not match the value of
+ GL_TEXTURE_SAMPLES.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is also returned if the value of GL_TEXTURE_FIXED_SAMPLE_LOCATIONS is
+ not the same for all attached textures; or, if the attached images are a mix of renderbuffers and textures, the value of GL_TEXTURE_FIXED_SAMPLE_LOCATIONS
+ is not GL_TRUE for all attached textures.
+
+
+
+
+ GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS is returned if any framebuffer attachment is layered, and any populated attachment is not layered,
+ or if all populated color attachments are not from textures of the same target.
+
+
+
+
+
+ Additionally, if an error occurs, zero is returned.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glDeleteFramebuffers
+ glBindFramebuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glClampColor.xml b/Source/Bind/Specifications/Docs/glClampColor.xml
new file mode 100644
index 00000000..962c3ea4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glClampColor.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glClampColor
+ 3G
+
+
+ glClampColor
+ specify whether data read via glReadPixels should be clamped
+
+ C Specification
+
+
+ void glClampColor
+ GLenum target
+ GLenum clamp
+
+
+
+ Parameters
+
+
+ target
+
+
+ Target for color clamping. target must be GL_CLAMP_READ_COLOR.
+
+
+
+
+ clamp
+
+
+ Specifies whether to apply color clamping. clamp must be GL_TRUE or GL_FALSE.
+
+
+
+
+
+ Description
+
+ glClampColor controls color clamping that is performed during glReadPixels.
+ target must be GL_CLAMP_READ_COLOR. If clamp is GL_TRUE,
+ read color clamping is enabled; if clamp is GL_FALSE, read color clamping is disabled. If
+ clamp is GL_FIXED_ONLY, read color clamping is enabled only if the selected read buffer has
+ fixed point components and disabled otherwise.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not
+ GL_CLAMP_READ_COLOR.
+
+
+ GL_INVALID_ENUM is generated if clamp is not GL_TRUE or GL_FALSE.
+
+
+ Associated Gets
+
+ glGet with argument GL_CLAMP_READ_COLOR.
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glClear.xml b/Source/Bind/Specifications/Docs/glClear.xml
index dacb0009..9183a4e8 100644
--- a/Source/Bind/Specifications/Docs/glClear.xml
+++ b/Source/Bind/Specifications/Docs/glClear.xml
@@ -31,10 +31,9 @@
Bitwise OR of masks that indicate the buffers to be cleared.
- The four masks are
+ The three masks are
GL_COLOR_BUFFER_BIT,
- GL_DEPTH_BUFFER_BIT,
- GL_ACCUM_BUFFER_BIT, and
+ GL_DEPTH_BUFFER_BIT, and
GL_STENCIL_BUFFER_BIT.
@@ -44,8 +43,8 @@
Description
glClear sets the bitplane area of the window to values previously selected
- by glClearColor, glClearIndex, glClearDepth,
- glClearStencil, and glClearAccum.
+ by glClearColor, glClearDepth, and
+ glClearStencil.
Multiple color buffers can be cleared simultaneously by selecting
more than one buffer at a time using glDrawBuffer.
@@ -86,14 +85,6 @@
-
- GL_ACCUM_BUFFER_BIT
-
-
- Indicates the accumulation buffer.
-
-
-
GL_STENCIL_BUFFER_BIT
@@ -116,25 +107,14 @@
Errors
- GL_INVALID_VALUE is generated if any bit other than the four defined
+ GL_INVALID_VALUE is generated if any bit other than the three defined
bits is set in mask.
-
- GL_INVALID_OPERATION is generated if glClear
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
-
- glGet with argument GL_ACCUM_CLEAR_VALUE
-
glGet with argument GL_DEPTH_CLEAR_VALUE
-
- glGet with argument GL_INDEX_CLEAR_VALUE
-
glGet with argument GL_COLOR_CLEAR_VALUE
@@ -144,10 +124,8 @@
See Also
- glClearAccum,
glClearColor,
glClearDepth,
- glClearIndex,
glClearStencil,
glColorMask,
glDepthMask,
diff --git a/Source/Bind/Specifications/Docs/glClearBuffer.xml b/Source/Bind/Specifications/Docs/glClearBuffer.xml
new file mode 100644
index 00000000..8e40979c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glClearBuffer.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glClearBuffer
+ 3G
+
+
+ glClearBuffer
+ clear individual buffers of the currently bound draw framebuffer
+
+ C Specification
+
+
+ void glClearBufferiv
+ GLenum buffer
+ GLint drawBuffer
+ const GLint * value
+
+
+
+
+ void glClearBufferuiv
+ GLenum buffer
+ GLint drawBuffer
+ const GLuint * value
+
+
+
+
+ void glClearBufferfv
+ GLenum buffer
+ GLint drawBuffer
+ const GLfloat * value
+
+
+
+
+ void glClearBufferfi
+ GLenum buffer
+ GLint drawBuffer
+ GLfloat depth
+ GLint stencil
+
+
+
+ Parameters
+
+
+ buffer
+
+
+ Specify the buffer to clear.
+
+
+
+
+ drawBuffer
+
+
+ Specify a particular draw buffer to clear.
+
+
+
+
+ value
+
+
+ For color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to.
+ For depth buffers, a pointer to a single depth value to clear the buffer to.
+ For stencil buffers, a pointer to a single stencil value to clear the buffer to.
+
+
+
+
+ depth
+
+
+ The value to clear a depth render buffer to.
+
+
+
+
+ stencil
+
+
+ The value to clear a stencil render buffer to.
+
+
+
+
+
+ Description
+
+ glClearBuffer* clears the specified buffer to the specified value(s). If buffer is
+ GL_COLOR, a particular draw buffer GL_DRAWBUFFERi is specified
+ by passing i as drawBuffer. In this case, value points to
+ a four-element vector specifying the R, G, B and A color to clear that draw buffer to. If buffer is
+ one of GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT,
+ or GL_FRONT_AND_BACK, identifying multiple buffers, each selected buffer is cleared to the same value.
+ Clamping and conversion for fixed-point color buffers are performed in the same fashion as
+ glClearColor.
+
+
+ If buffer is GL_DEPTH, drawBuffer must be zero, and value
+ points to a single value to clear the depth buffer to. Only glClearBufferfv should be used to clear
+ depth buffers. Clamping and conversion for fixed-point depth buffers are performed in the same fashion as
+ glClearDepth.
+
+
+ If buffer is GL_STENCIL, drawBuffer must be zero, and value
+ points to a single value to clear the stencil buffer to. Only glClearBufferiv should be used to clear
+ stencil buffers. Masing and type conversion are performed in the same fashion as
+ glClearStencil.
+
+
+ glClearBufferfi may be used to clear the depth and stencil buffers. buffer must be
+ GL_DEPTH_STENCIL and drawBuffer must be zero. depth and
+ stencil are the depth and stencil values, respectively.
+
+
+ The result of glClearBuffer is undefined if no conversion between the type of value
+ and the buffer being cleared is defined. However, this is not an error.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated by glClearBufferif, glClearBufferfv
+ and glClearBufferuiv if buffer is not GL_COLOR,
+ GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT,
+ GL_FRONT_AND_BACK, GL_DEPTH or GL_STENCIL.
+
+
+ GL_INVALID_ENUM is generated by glClearBufferfi if buffer
+ is not GL_DEPTH_STENCIL.
+
+
+ GL_INVALID_VALUE is generated if buffer is GL_COLOR,
+ GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT,
+ or GL_FRONT_AND_BACK and drawBuffer is greater than or equal to GL_MAX_DRAW_BUFFERS.
+
+
+ GL_INVALID_VALUE is generated if buffer is GL_DEPTH,
+ GL_STENCIL or GL_DEPTH_STENCIL and drawBuffer is not zero.
+
+
+ See Also
+
+ glClearColor,
+ glClearDepth,
+ glClearStencil,
+ glClear
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glClearColor.xml b/Source/Bind/Specifications/Docs/glClearColor.xml
index bcfd72df..cb9025a7 100644
--- a/Source/Bind/Specifications/Docs/glClearColor.xml
+++ b/Source/Bind/Specifications/Docs/glClearColor.xml
@@ -52,7 +52,7 @@
and alpha values used by glClear to clear the color buffers.
Values specified by glClearColor are clamped to the range
-
+
0
1
@@ -60,13 +60,6 @@
.
- Errors
-
- GL_INVALID_OPERATION is generated if glClearColor
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_COLOR_CLEAR_VALUE
diff --git a/Source/Bind/Specifications/Docs/glClearDepth.xml b/Source/Bind/Specifications/Docs/glClearDepth.xml
index 43b9b3e7..7572d2c9 100644
--- a/Source/Bind/Specifications/Docs/glClearDepth.xml
+++ b/Source/Bind/Specifications/Docs/glClearDepth.xml
@@ -22,6 +22,10 @@
void glClearDepth
GLclampd depth
+
+ void glClearDepthf
+ GLclampf depth
+
Parameters
@@ -42,7 +46,7 @@
glClearDepth specifies the depth value used by glClear to clear the depth buffer.
Values specified by glClearDepth are clamped to the range
-
+
0
1
@@ -50,13 +54,6 @@
.
- Errors
-
- GL_INVALID_OPERATION is generated if glClearDepth
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_DEPTH_CLEAR_VALUE
diff --git a/Source/Bind/Specifications/Docs/glClearStencil.xml b/Source/Bind/Specifications/Docs/glClearStencil.xml
index 43888743..1e319cdd 100644
--- a/Source/Bind/Specifications/Docs/glClearStencil.xml
+++ b/Source/Bind/Specifications/Docs/glClearStencil.xml
@@ -43,7 +43,7 @@
glClearStencil specifies the index used by glClear to clear the stencil buffer.
s is masked with
-
+
2
m
@@ -57,13 +57,6 @@
is the number of bits in the stencil buffer.
- Errors
-
- GL_INVALID_OPERATION is generated if glClearStencil
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_STENCIL_CLEAR_VALUE
diff --git a/Source/Bind/Specifications/Docs/glClientWaitSync.xml b/Source/Bind/Specifications/Docs/glClientWaitSync.xml
new file mode 100644
index 00000000..bbe292b3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glClientWaitSync.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glClientWaitSync
+ 3G
+
+
+ glClientWaitSync
+ block and wait for a sync object to become signaled
+
+ C Specification
+
+
+ GLenum glClientWaitSync
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+
+ Parameters
+
+
+ sync
+
+
+ The sync object whose status to wait on.
+
+
+
+
+ flags
+
+
+ A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT.
+
+
+
+
+
+ timeout
+
+
+ The timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled.
+
+
+
+
+ Description
+
+ glClientWaitSync causes the client to block and wait for the sync object specified by sync to become signaled. If
+ sync is signaled when glClientWaitSync is called, glClientWaitSync returns immediately, otherwise
+ it will block and wait for up to timeout nanoseconds for sync to become signaled.
+
+
+ The return value is one of four status values:
+
+
+
+ GL_ALREADY_SIGNALED indicates that sync was signaled at the time that glClientWaitSync
+ was called.
+
+
+
+
+ GL_TIMEOUT_EXPIRED indicates that at least timeout nanoseconds passed and sync did not
+ become signaled.
+
+
+
+
+ GL_CONDITION_SATISFIED indicates that sync was signaled before the timeout expired.
+
+
+
+
+ GL_WAIT_FAILED indicates that an error occurred. Additionally, an OpenGL error will be generated.
+
+
+
+
+
+ Notes
+
+ glClientWaitSync is available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if sync is not the name of an existing sync object.
+
+
+ GL_INVALID_VALUE is generated if flags contains any unsupported flag.
+
+
+ See Also
+
+ glFenceSync,
+ glIsSync
+ glWaitSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glColorMask.xml b/Source/Bind/Specifications/Docs/glColorMask.xml
index 7b0aff34..94ab2f50 100644
--- a/Source/Bind/Specifications/Docs/glColorMask.xml
+++ b/Source/Bind/Specifications/Docs/glColorMask.xml
@@ -61,30 +61,15 @@
changes are either enabled or disabled for entire color components.
- Errors
-
- GL_INVALID_OPERATION is generated if glColorMask
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_COLOR_WRITEMASK
-
- glGet with argument GL_RGBA_MODE
-
See Also
glClear,
- glColor,
- glColorPointer,
glDepthMask,
- glIndex,
- glIndexPointer,
- glIndexMask,
glStencilMask
diff --git a/Source/Bind/Specifications/Docs/glCompileShader.xml b/Source/Bind/Specifications/Docs/glCompileShader.xml
index 871a4f4b..714831d7 100644
--- a/Source/Bind/Specifications/Docs/glCompileShader.xml
+++ b/Source/Bind/Specifications/Docs/glCompileShader.xml
@@ -1,87 +1,77 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glCompileShader
- 3G
+ glCompileShader
+ 3G
- glCompileShader
- Compiles a shader object
+ glCompileShader
+ Compiles a shader object
C Specification
-
-
- void glCompileShader
- GLuint shader
-
-
+
+
+ void glCompileShader
+ GLuint shader
+
+
Parameters
-
-
- shader
-
- Specifies the shader object to be
- compiled.
-
-
-
+
+
+ shader
+
+ Specifies the shader object to be
+ compiled.
+
+
+
Description
- glCompileShader compiles the source
- code strings that have been stored in the shader object
- specified by shader.
+ glCompileShader compiles the source
+ code strings that have been stored in the shader object
+ specified by shader.
- The compilation status will be stored as part of the
- shader object's state. This value will be set to
- GL_TRUE if the shader was compiled without
- errors and is ready for use, and GL_FALSE
- otherwise. It can be queried by calling
- glGetShader
- with arguments shader and
- GL_COMPILE_STATUS.
+ The compilation status will be stored as part of the
+ shader object's state. This value will be set to
+ GL_TRUE if the shader was compiled without
+ errors and is ready for use, and GL_FALSE
+ otherwise. It can be queried by calling
+ glGetShader
+ with arguments shader and
+ GL_COMPILE_STATUS.
- Compilation of a shader can fail for a number of reasons
- as specified by the OpenGL Shading Language Specification.
- Whether or not the compilation was successful, information about
- the compilation can be obtained from the shader object's
- information log by calling
- glGetShaderInfoLog.
-
- Notes
- glCompileShader
- is available only if the GL version is 2.0 or greater.
+ Compilation of a shader can fail for a number of reasons
+ as specified by the OpenGL Shading Language Specification.
+ Whether or not the compilation was successful, information about
+ the compilation can be obtained from the shader object's
+ information log by calling
+ glGetShaderInfoLog.
Errors
- GL_INVALID_VALUE is generated if
- shader is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ shader is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- shader is not a shader object.
+ GL_INVALID_OPERATION is generated if
+ shader is not a shader object.
- GL_INVALID_OPERATION is generated if
- glCompileShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetShaderInfoLog
- with argument shader
+ glGetShaderInfoLog
+ with argument shader
- glGetShader
- with arguments shader and
- GL_COMPILE_STATUS
- glIsShader
+ glGetShader
+ with arguments shader and
+ GL_COMPILE_STATUS
+ glIsShader
See Also
- glCreateShader,
- glLinkProgram,
- glShaderSource
+ glCreateShader,
+ glLinkProgram,
+ glShaderSource
Copyright
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml b/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml
index b1b5ff82..4e28d64c 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml
@@ -64,25 +64,7 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
+ Specifies the width of the texture image.
All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
@@ -91,7 +73,7 @@
border
- Specifies the width of the border. Must be either 0 or 1.
+ This value must be 0.
@@ -115,19 +97,25 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D.
+ Texturing allows elements of an image array to be read by shaders.
- glCompressedTexImage1D loads a previously defined, and retrieved, compressed one-dimensional texture image if target is GL_TEXTURE_1D (see glTexImage1D).
+ glCompressedTexImage1D loads a previously defined, and retrieved, compressed
+ one-dimensional texture image if target is GL_TEXTURE_1D
+ (see glTexImage1D).
If target is GL_PROXY_TEXTURE_1D, no data is read from data, but
all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1.
- internalformat must be extension-specified compressed-texture format. When a texture is loaded with glTexImage1D using a generic compressed texture format (e.g., GL_COMPRESSED_RGB) the GL selects from one of
+ internalformat must be an extension-specified compressed-texture format.
+ When a texture is loaded with
+ glTexImage1D using a generic compressed texture format
+ (e.g., GL_COMPRESSED_RGB) the GL selects from one of
its extensions supporting compressed textures. In order to load the
- compressed texture image using glCompressedTexImage1D, query the compressed texture image's size and format using glGetTexLevelParameter.
+ compressed texture image using glCompressedTexImage1D, query the compressed texture image's size and
+ format using glGetTexLevelParameter.
If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target
@@ -135,25 +123,24 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexImage1D is available only if the GL version is 1.3 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
Errors
- GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or
- GL_COMPRESSED_RGBA.
+ GL_INVALID_ENUM is generated if internalformat is not
+ a supported specific compressed internal formats, or is one of the generic
+ compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
- the format, dimensions, and contents of the specified compressed image
- data.
+ the format, dimensions, and contents of the specified compressed image data.
+
+
+ GL_INVALID_VALUE is generated if border is not 0.
GL_INVALID_OPERATION is generated if parameter combinations are not
@@ -169,11 +156,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexImage1D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if
data is not encoded in a manner consistent with the extension
@@ -187,6 +169,12 @@
glGet with argument GL_TEXTURE_COMPRESSED
+
+ glGet with argument GL_NUM_COMPRESSED_TEXTURE_FORMATS
+
+
+ glGet with argument GL_COMPRESSED_TEXTURE_FORMATS
+
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -194,32 +182,21 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument GL_TEXTURE_1D
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml
index 28b75561..cf05ff0b 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml
@@ -40,6 +40,7 @@
Specifies the target texture.
Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D,
+ GL_TEXTURE_1D_ARRAY, GL_PROXY_TEXTURE_1D_ARRAY,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
@@ -72,27 +73,8 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 2D texture images that are at least 64 texels
+ Specifies the width of the texture image.
+ All implementations support 2D texture images that are at least 64 texels
wide and cube-mapped texture images that are at least 16 texels wide.
@@ -101,28 +83,8 @@
height
- Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
- Must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 2D texture images that are at least 64 texels
+ Specifies the height of the texture image.
+ All implementations support 2D texture images that are at least 64 texels
high and cube-mapped texture images that are at least 16 texels high.
@@ -131,8 +93,7 @@
border
- Specifies the width of the border.
- Must be either 0 or 1.
+ This value must be 0.
@@ -157,28 +118,31 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical
- primitive for which texturing is enabled. To enable and disable
- two-dimensional texturing, call glEnable and glDisable with argument
- GL_TEXTURE_2D. To enable and disable texturing using
- cube-mapped textures, call glEnable and glDisable with argument
- GL_TEXTURE_CUBE_MAP.
+ Texturing allows elements of an image array to be read by shaders.
glCompressedTexImage2D loads a previously defined, and retrieved, compressed two-dimensional
- texture image if target is GL_TEXTURE_2D (see glTexImage2D).
+ texture image if target is GL_TEXTURE_2D, or one of the
+ cube map faces such as GL_TEXTURE_CUBE_MAP_POSITIVE_X.
+ (see glTexImage2D).
- If target is GL_PROXY_TEXTURE_2D, no data is read from data, but
+ If target is GL_TEXTURE_1D_ARRAY, data
+ is treated as an array of compressed 1D textures.
+
+
+ If target is GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_1D_ARRAY
+ or GL_PROXY_CUBE_MAP, no data is read from data, but
all of the texture image state is recalculated, checked for consistency,
and checked against the implementation's capabilities. If the
implementation cannot handle a texture of the requested texture size, it
sets all of the image state to 0, but does not generate an error (see
- glGetError). To query for an entire mipmap array, use an image array level
- greater than or equal to 1.
+ glGetError). To query for an entire mipmap array,
+ use an image array level greater than or equal to 1.
- internalformat must be an extension-specified compressed-texture format.
+ internalformat must be a known compressed image format (such as GL_RGTC)
+ or an extension-specified compressed-texture format.
When a texture is loaded with glTexImage2D using a generic compressed
texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of
its extensions supporting compressed textures. In order to load the
@@ -191,26 +155,25 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexImage2D is available only if the GL version is 1.3 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
Errors
- GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or
- GL_COMPRESSED_RGBA.
+ GL_INVALID_ENUM is generated if internalformat is not one of the generic
+ compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
the format, dimensions, and contents of the specified compressed image
data.
+
+ GL_INVALID_VALUE is generated if border is not 0.
+
GL_INVALID_OPERATION is generated if parameter combinations are not
supported by the specific compressed internal format as specified in the
@@ -225,11 +188,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexImage2D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if
data is not encoded in a manner consistent with the extension
@@ -250,32 +208,20 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument
- GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml b/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml
index f1f46015..968a2c54 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml
@@ -40,7 +40,8 @@
Specifies the target texture.
- Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
+ Must be GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D,
+ GL_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_2D_ARRAY.
@@ -66,28 +67,8 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 3D texture images that are at least 16 texels
- wide.
+ Specifies the width of the texture image.
+ All implementations support 3D texture images that are at least 16 texels wide.
@@ -95,27 +76,8 @@
height
- Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 3D texture images that are at least 16 texels
+ Specifies the height of the texture image.
+ All implementations support 3D texture images that are at least 16 texels
high.
@@ -124,27 +86,8 @@
depth
- Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 3D texture images that are at least 16 texels
+ Specifies the depth of the texture image.
+ All implementations support 3D texture images that are at least 16 texels
deep.
@@ -153,8 +96,7 @@
border
- Specifies the width of the border.
- Must be either 0 or 1.
+ This value must be 0.
@@ -179,17 +121,19 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical
- primitive for which texturing is enabled. To enable and disable
- three-dimensional texturing, call glEnable and glDisable with argument
- GL_TEXTURE_3D.
+ Texturing allows elements of an image array to be read by shaders.
glCompressedTexImage3D loads a previously defined, and retrieved, compressed three-dimensional
texture image if target is GL_TEXTURE_3D (see glTexImage3D).
- If target is GL_PROXY_TEXTURE_3D, no data is read from data, but
+ If target is GL_TEXTURE_2D_ARRAY, data is
+ treated as an array of compressed 2D textures.
+
+
+ If target is GL_PROXY_TEXTURE_3D or GL_PROXY_TEXTURE_2D_ARRAY,
+ no data is read from data, but
all of the texture image state is recalculated, checked for consistency,
and checked against the implementation's capabilities. If the
implementation cannot handle a texture of the requested texture size, it
@@ -198,7 +142,8 @@
greater than or equal to 1.
- internalformat must be an extension-specified compressed-texture format.
+ internalformat must be a known compressed image format (such as GL_RGTC)
+ or an extension-specified compressed-texture format.
When a texture is loaded with glTexImage2D using a generic compressed
texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of
its extensions supporting compressed textures. In order to load the
@@ -211,25 +156,24 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexImage3D is available only if the GL version is 1.3 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
Errors
- GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or
- GL_COMPRESSED_RGBA.
+ GL_INVALID_ENUM is generated if internalformat is not one of the generic
+ compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
the format, dimensions, and contents of the specified compressed image data.
+
+ GL_INVALID_VALUE is generated if border is not 0.
+
GL_INVALID_OPERATION is generated if parameter combinations are not
supported by the specific compressed internal format as specified in the
@@ -244,11 +188,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexImage3D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format.
@@ -267,31 +206,20 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument GL_TEXTURE_3D
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml b/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml
index d04e7fba..8e11ad1e 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml
@@ -97,17 +97,14 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical
- primitive for which texturing is enabled. To enable and disable
- one-dimensional texturing, call glEnable and glDisable with argument
- GL_TEXTURE_1D.
+ Texturing allows elements of an image array to be read by shaders.
glCompressedTexSubImage1D redefines a contiguous subregion of an existing one-dimensional
texture image. The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -122,8 +119,9 @@
specification has no effect.
- format must be an extension-specified
- compressed-texture format. The format of the compressed texture
+ internalformat must be a known compressed image format (such as GL_RGTC)
+ or an extension-specified compressed-texture format.
+ The format of the compressed texture
image is selected by the GL implementation that compressed it (see
glTexImage1D), and should be queried at the time the texture was
compressed with glGetTexLevelParameter.
@@ -134,25 +132,16 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexSubImage1D is available only if the GL version is 1.3 or greater.
-
-
Errors
- GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats:
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
- GL_COMPRESSED_SLUMINANCE,
- GL_COMPRESSED_SLUMINANCE_ALPHA,
- GL_COMPRESSED_SRGB,
- GL_COMPRESSED_SRGBA, or
- GL_COMPRESSED_SRGB_ALPHA.
+ GL_INVALID_ENUM is generated if internalformat is not one of the generic
+ compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
@@ -173,11 +162,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexSubImage1D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if
data is not encoded in a manner consistent with the extension
@@ -198,32 +182,21 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument GL_TEXTURE_1D
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml
index c3708e59..f7ea5028 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml
@@ -121,19 +121,14 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical
- primitive for which texturing is enabled. To enable and disable
- two-dimensional texturing, call glEnable and glDisable with argument
- GL_TEXTURE_2D. To enable and disable texturing using
- cube-mapped texture, call glEnable and glDisable with argument
- GL_TEXTURE_CUBE_MAP.
+ Texturing allows elements of an image array to be read by shaders.
glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional
texture image. The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -144,7 +139,7 @@
,
and the y indices yoffset and
-
+
yoffset
+
@@ -160,8 +155,9 @@
specification has no effect.
- format must be an extension-specified
- compressed-texture format. The format of the compressed texture
+ internalformat must be a known compressed image format (such as GL_RGTC)
+ or an extension-specified compressed-texture format.
+ The format of the compressed texture
image is selected by the GL implementation that compressed it (see
glTexImage2D) and should be queried at the time the texture was
compressed with glGetTexLevelParameter.
@@ -172,35 +168,15 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexSubImage2D is available only if the GL version is 1.3 or greater.
-
-
- GL_TEXTURE_CUBE_MAP_POSITIVE_X,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or
- GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3
- or greater.
-
-
Errors
- GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats:
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
- GL_COMPRESSED_SLUMINANCE,
- GL_COMPRESSED_SLUMINANCE_ALPHA,
- GL_COMPRESSED_SRGB,
- GL_COMPRESSED_SRGBA, or
- GL_COMPRESSED_SRGB_ALPHA.
+ GL_INVALID_ENUM is generated if internalformat is of the generic compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
@@ -221,11 +197,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexSubImage2D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if
data is not encoded in a manner consistent with the extension
@@ -246,32 +217,21 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage3D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml b/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml
index 6018b471..5b5dcec2 100644
--- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml
+++ b/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml
@@ -125,17 +125,14 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical
- primitive for which texturing is enabled. To enable and disable
- three-dimensional texturing, call glEnable and glDisable with argument
- GL_TEXTURE_3D.
+ Texturing allows elements of an image array to be read by shaders.
glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional
texture image. The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -146,7 +143,7 @@
,
and the y indices yoffset and
-
+
yoffset
+
@@ -157,7 +154,7 @@
,
and the z indices zoffset and
-
+
zoffset
+
@@ -172,8 +169,9 @@
but such a specification has no effect.
- format must be an extension-specified
- compressed-texture format. The format of the compressed texture
+ internalformat must be a known compressed image format (such as GL_RGTC)
+ or an extension-specified compressed-texture format.
+ The format of the compressed texture
image is selected by the GL implementation that compressed it (see
glTexImage3D) and should be queried at the time the texture was
compressed with glGetTexLevelParameter.
@@ -184,25 +182,15 @@
specified, data is treated as a byte offset into the buffer object's data store.
- Notes
-
- glCompressedTexSubImage3D is available only if the GL version is 1.3 or greater.
-
-
Errors
- GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats:
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
- GL_COMPRESSED_SLUMINANCE,
- GL_COMPRESSED_SLUMINANCE_ALPHA,
- GL_COMPRESSED_SRGB,
- GL_COMPRESSED_SRGBA, or
- GL_COMPRESSED_SRGB_ALPHA.
+ GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB, or
+ GL_COMPRESSED_SRGB_ALPHA.
GL_INVALID_VALUE is generated if imageSize is not consistent with
@@ -223,11 +211,6 @@
GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glCompressedTexSubImage3D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Undefined results, including abnormal program termination, are generated if
data is not encoded in a manner consistent with the extension
@@ -248,32 +231,21 @@
glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT
and GL_TEXTURE_COMPRESSED_IMAGE_SIZE
-
- glIsEnabled with argument GL_TEXTURE_3D
-
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCopyBufferSubData.xml b/Source/Bind/Specifications/Docs/glCopyBufferSubData.xml
new file mode 100644
index 00000000..2b5bee77
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glCopyBufferSubData.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glCopyBufferSubData
+ 3G
+
+
+ glCopyBufferSubData
+ copy part of the data store of a buffer object to the data store of another buffer object
+
+ C Specification
+
+
+ void glCopyBufferSubData
+ GLenum readtarget
+ GLenum writetarget
+ GLintptr readoffset
+ GLintptr writeoffset
+ GLsizeiptr size
+
+
+
+
+ Parameters
+
+
+ readtarget
+
+
+ Specifies the target from whose data store data should be read.
+
+
+
+
+ writetarget
+
+
+ Specifies the target to whose data store data should be written.
+
+
+
+
+ readoffset
+
+
+ Specifies the offset, in basic machine units, within the data store of readtarget from which data should be read.
+
+
+
+
+ writeoffset
+
+
+ Specifies the offset, in basic machine units, within the data store of writetarget to which data should be written.
+
+
+
+
+ size
+
+
+ Specifies the size, in basic machine units, of the data to be copied from readtarget to writetarget.
+
+
+
+
+
+ Description
+
+ glCopyBufferSubData copies part of the data store attached to readtarget to the
+ data store attached to writetarget. The number of basic machine units indicated by size
+ is copied from the source, at offset readoffset to the destination at writeoffset,
+ also in basic machine units.
+
+
+ readtarget and writetarget must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
+ GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. Any of these targets may be used,
+ although the targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER are provided
+ specifically to allow copies between buffers without disturbing other GL state.
+
+
+ readoffset, writeoffset and size must all be greater than or equal to
+ zero. Furthermore, readoffset + size must not exceeed the size of the buffer
+ object bound to readtarget, and readoffset + size must not exceeed the
+ size of the buffer bound to writetarget. If the same buffer object is bound to both readtarget
+ and writetarget, then the ranges specified by readoffset, writeoffset
+ and size must not overlap.
+
+
+ Notes
+
+ glCopyBufferSubData is available only if the GL version is 3.1 or greater.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if any of readoffset, writeoffset
+ or size is negative, if readoffset + size exceeds the
+ size of the buffer object bound to readtarget or if writeoffset + size
+ exceeds the size of the buffer object bound to writetarget.
+
+
+ GL_INVALID_VALUE is generated if the same buffer object is bound to both readtarget
+ and writetarget and the ranges [readoffset, readoffset +
+ size) and [writeoffset, writeoffset + size)
+ overlap.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to readtarget or writetarget.
+
+
+ GL_INVALID_OPERATION is generated if the buffer object bound to either readtarget or writetarget
+ is mapped.
+
+
+ See Also
+
+ glGenBuffers,
+ glBindBuffer,
+ glBufferData,
+ glBufferSubData,
+ glGetBufferSubData
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml b/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml
index 390d3977..462fafc6 100644
--- a/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml
@@ -58,38 +58,18 @@
Specifies the internal format of the texture.
Must be one of the following symbolic constants:
- GL_ALPHA,
- GL_ALPHA4,
- GL_ALPHA8,
- GL_ALPHA12,
- GL_ALPHA16,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB,
+ GL_COMPRESSED_SRGB_ALPHA.
GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16,
GL_DEPTH_COMPONENT24,
GL_DEPTH_COMPONENT32,
- GL_LUMINANCE,
- GL_LUMINANCE4,
- GL_LUMINANCE8,
- GL_LUMINANCE12,
- GL_LUMINANCE16,
- GL_LUMINANCE_ALPHA,
- GL_LUMINANCE4_ALPHA4,
- GL_LUMINANCE6_ALPHA2,
- GL_LUMINANCE8_ALPHA8,
- GL_LUMINANCE12_ALPHA4,
- GL_LUMINANCE12_ALPHA12,
- GL_LUMINANCE16_ALPHA16,
- GL_INTENSITY,
- GL_INTENSITY4,
- GL_INTENSITY8,
- GL_INTENSITY12,
- GL_INTENSITY16,
+ GL_RED,
+ GL_RG,
GL_RGB,
GL_R3_G3_B2,
GL_RGB4,
@@ -106,10 +86,6 @@
GL_RGB10_A2,
GL_RGBA12,
GL_RGBA16,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA,
- GL_SLUMINANCE8_ALPHA8,
GL_SRGB,
GL_SRGB8,
GL_SRGB_ALPHA, or
@@ -134,7 +110,7 @@
Specifies the width of the texture image.
Must be 0 or
-
+
2
n
@@ -174,7 +150,7 @@
The screen-aligned pixel row with left corner at
-
+
x
y
@@ -182,7 +158,7 @@
and with a length of
-
+
width
+
@@ -201,11 +177,11 @@
The pixels in the row are processed exactly as if
- glCopyPixels had been called, but the process stops just before
+ glReadPixels had been called, but the process stops just before
final conversion.
At this point all pixel component values are clamped to the range
-
+
0
1
@@ -234,41 +210,12 @@
Notes
-
- glCopyTexImage1D is available only if the GL version is 1.1 or greater.
-
-
- Texturing has no effect in color index mode.
-
1, 2, 3, and 4 are not accepted values for internalformat.
An image with 0 width indicates a NULL texture.
-
- When the ARB_imaging
extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details.
-
-
- GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only
- if the GL version is 1.4 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
- The
- GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, and
- GL_SLUMINANCE8_ALPHA8
- internal formats are only available if the GL version is 2.1 or greater. See glTexImage1D for specific details about sRGB conversion.
-
Errors
@@ -281,7 +228,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -299,12 +246,12 @@
GL_INVALID_VALUE is generated if width is less than 0 or greater than
- 2 + GL_MAX_TEXTURE_SIZE.
+ GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as
-
+
2
n
@@ -324,9 +271,6 @@
GL_INVALID_VALUE is generated if border is not 0 or 1.
-
- GL_INVALID_OPERATION is generated if glCopyTexImage1D is executed between the execution of glBegin and the corresponding execution of glEnd.
-
GL_INVALID_OPERATION is generated if internalformat is
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
@@ -338,20 +282,13 @@
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_1D
-
See Also
- glCopyPixels,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml
index 59804c33..17b5e00e 100644
--- a/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml
@@ -65,38 +65,18 @@
Specifies the internal format of the texture.
Must be one of the following symbolic constants:
- GL_ALPHA,
- GL_ALPHA4,
- GL_ALPHA8,
- GL_ALPHA12,
- GL_ALPHA16,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
+ GL_COMPRESSED_RGBA.
+ GL_COMPRESSED_SRGB,
+ GL_COMPRESSED_SRGB_ALPHA.
GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16,
GL_DEPTH_COMPONENT24,
GL_DEPTH_COMPONENT32,
- GL_LUMINANCE,
- GL_LUMINANCE4,
- GL_LUMINANCE8,
- GL_LUMINANCE12,
- GL_LUMINANCE16,
- GL_LUMINANCE_ALPHA,
- GL_LUMINANCE4_ALPHA4,
- GL_LUMINANCE6_ALPHA2,
- GL_LUMINANCE8_ALPHA8,
- GL_LUMINANCE12_ALPHA4,
- GL_LUMINANCE12_ALPHA12,
- GL_LUMINANCE16_ALPHA16,
- GL_INTENSITY,
- GL_INTENSITY4,
- GL_INTENSITY8,
- GL_INTENSITY12,
- GL_INTENSITY16,
+ GL_RED,
+ GL_RG,
GL_RGB,
GL_R3_G3_B2,
GL_RGB4,
@@ -113,10 +93,6 @@
GL_RGB10_A2,
GL_RGBA12,
GL_RGBA16,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA,
- GL_SLUMINANCE8_ALPHA8,
GL_SRGB,
GL_SRGB8,
GL_SRGB_ALPHA, or
@@ -141,7 +117,7 @@
Specifies the width of the texture image.
Must be 0 or
-
+
2
n
@@ -168,7 +144,7 @@
Specifies the height of the texture image.
Must be 0 or
-
+
2
m
@@ -209,7 +185,7 @@
The screen-aligned pixel rectangle with lower left corner at (x,
y) and with a width of
-
+
width
+
@@ -224,7 +200,7 @@
and a height of
-
+
height
+
@@ -243,11 +219,11 @@
The pixels in the rectangle are processed exactly as if
- glCopyPixels had been called, but the process stops just before
+ glReadPixels had been called, but the process stops just before
final conversion.
At this point all pixel component values are clamped to the range
-
+
0
1
@@ -278,48 +254,12 @@
Notes
-
- glCopyTexImage2D is available only if the GL version is 1.1 or greater.
-
-
- Texturing has no effect in color index mode.
-
1, 2, 3, and 4 are not accepted values for internalformat.
An image with height or width of 0 indicates a NULL texture.
-
- When the ARB_imaging
extension is supported, the RGBA components read from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details.
-
-
- GL_TEXTURE_CUBE_MAP_POSITIVE_X,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or
- GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3
- or greater.
-
-
- GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24,
- and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4
- or greater.
-
-
- The
- GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, and
- GL_SLUMINANCE8_ALPHA8
- internal formats are only available if the GL version is 2.1 or greater. See glTexImage2D for specific details about sRGB conversion.
-
Errors
@@ -338,7 +278,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -354,12 +294,12 @@
GL_INVALID_VALUE is generated if width is less than 0
or greater than
- 2 + GL_MAX_TEXTURE_SIZE.
+ GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or depth cannot be represented as
-
+
2
k
@@ -384,11 +324,6 @@
GL_INVALID_VALUE is generated if internalformat is not an
accepted format.
-
- GL_INVALID_OPERATION is generated if glCopyTexImage2D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
GL_INVALID_OPERATION is generated if internalformat is
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
@@ -400,20 +335,13 @@
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP
-
See Also
- glCopyPixels,
glCopyTexImage1D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml b/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml
index c5028810..18671d60 100644
--- a/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml
@@ -92,7 +92,7 @@
length width replaces the portion of the
texture array with x indices xoffset through
-
+
xoffset
+
@@ -107,11 +107,11 @@
The pixels in the row are processed exactly as if
- glCopyPixels had been called, but the process stops just before
+ glReadPixels had been called, but the process stops just before
final conversion.
At this point, all pixel component values are clamped to the range
-
+
0
1
@@ -135,19 +135,7 @@
Notes
- glCopyTexSubImage1D is available only if the GL version is 1.1 or greater.
-
-
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- When the ARB_imaging
extension is supported, the RGBA components
- copied from the framebuffer may be processed by the imaging pipeline. See
- glTexImage1D for specific details.
+ The glPixelStore mode affects texture images.
Errors
@@ -164,7 +152,7 @@
GL_INVALID_VALUE may be generated if
-
+
level
>
@@ -184,7 +172,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -196,7 +184,7 @@
,
or
-
+
@@ -232,22 +220,15 @@
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_1D
-
See Also
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
glPixelStore,
- glPixelTransfer,
glReadBuffer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml
index 9fd02690..332b0e2b 100644
--- a/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml
@@ -114,7 +114,7 @@
The screen-aligned pixel rectangle with lower left corner at
-
+
x
y
@@ -124,7 +124,7 @@
width width and height height replaces the portion of the
texture array with x indices xoffset through
-
+
xoffset
+
@@ -135,7 +135,7 @@
,
inclusive, and y indices yoffset through
-
+
yoffset
+
@@ -148,11 +148,11 @@
The pixels in the rectangle are processed exactly as if
- glCopyPixels had been called, but the process stops just before
+ glReadPixels had been called, but the process stops just before
final conversion.
At this point, all pixel component values are clamped to the range
-
+
0
1
@@ -180,29 +180,7 @@
Notes
- glCopyTexSubImage2D is available only if the GL version is 1.1 or greater.
-
-
- GL_TEXTURE_CUBE_MAP_POSITIVE_X,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or
- GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3
- or greater.
-
-
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- When the ARB_imaging
extension is supported, the RGBA components
- read from the framebuffer may be processed by the imaging pipeline. See
- glTexImage1D for specific details.
+ glPixelStore modes affect texture images.
Errors
@@ -225,7 +203,7 @@
GL_INVALID_VALUE may be generated if
-
+
level
>
@@ -247,7 +225,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -258,7 +236,7 @@
,
-
+
@@ -278,7 +256,7 @@
,
-
+
yoffset
<
@@ -290,7 +268,7 @@
,
or
-
+
@@ -324,32 +302,20 @@
h
include twice the border width.
-
- GL_INVALID_OPERATION is generated if glCopyTexSubImage2D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_2D
-
See Also
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage3D,
glPixelStore,
- glPixelTransfer,
glReadBuffer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml b/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml
index ff0bb18f..356b8105 100644
--- a/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml
+++ b/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml
@@ -116,11 +116,11 @@
The screen-aligned pixel rectangle with lower left corner at
- (x,\ y) and with
+ (x, y) and with
width width and height height replaces the portion of the
texture array with x indices xoffset through
-
+
xoffset
+
@@ -131,7 +131,7 @@
,
inclusive, and y indices yoffset through
-
+
yoffset
+
@@ -144,11 +144,11 @@
The pixels in the rectangle are processed exactly as if
- glCopyPixels had been called, but the process stops just before
+ glReadPixels had been called, but the process stops just before
final conversion.
At this point, all pixel component values are clamped to the range
-
+
0
1
@@ -176,20 +176,7 @@
Notes
- glCopyTexSubImage3D is available only if the GL version is 1.2 or greater.
-
-
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- When the ARB_imaging
extension is supported, the RGBA components
- copied from the framebuffer may be processed by the imaging pipeline, as
- if they were a two-dimensional texture. See glTexImage2D for
- specific details.
+ glPixelStore modes affect texture images.
Errors
@@ -206,7 +193,7 @@
GL_INVALID_VALUE may be generated if
-
+
level
>
@@ -228,7 +215,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -239,7 +226,7 @@
,
-
+
@@ -259,7 +246,7 @@
,
-
+
yoffset
<
@@ -270,7 +257,7 @@
,
-
+
@@ -290,7 +277,7 @@
,
-
+
zoffset
<
@@ -302,7 +289,7 @@
,
or
-
+
@@ -339,32 +326,20 @@
d
include twice the border width.
-
- GL_INVALID_OPERATION is generated if glCopyTexSubImage3D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_3D
-
See Also
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glPixelStore,
- glPixelTransfer,
glReadBuffer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glCreateProgram.xml b/Source/Bind/Specifications/Docs/glCreateProgram.xml
index 345ec443..43477a47 100644
--- a/Source/Bind/Specifications/Docs/glCreateProgram.xml
+++ b/Source/Bind/Specifications/Docs/glCreateProgram.xml
@@ -46,10 +46,7 @@
context.
Notes
- glCreateProgram is available only if
- the GL version is 2.0 or greater.
-
- Like display lists and texture objects, the name space for
+ Like buffer and texture objects, the name space for
program objects may be shared across a set of contexts, as long
as the server sides of the contexts share the same address
space. If the name space is shared across contexts, any attached
@@ -63,12 +60,6 @@
Errors
This function returns 0 if an error occurs creating the program object.
- GL_INVALID_OPERATION is generated if
- glCreateProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGet
diff --git a/Source/Bind/Specifications/Docs/glCreateShader.xml b/Source/Bind/Specifications/Docs/glCreateShader.xml
index 137bff7e..b41d3248 100644
--- a/Source/Bind/Specifications/Docs/glCreateShader.xml
+++ b/Source/Bind/Specifications/Docs/glCreateShader.xml
@@ -24,7 +24,10 @@
shaderType
Specifies the type of shader to be created.
- Must be either GL_VERTEX_SHADER
+ Must be one of GL_VERTEX_SHADER,
+ GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER,
+ GL_GEOMETRY_SHADER,
or GL_FRAGMENT_SHADER.
@@ -35,27 +38,29 @@
shader object and returns a non-zero value by which it can be
referenced. A shader object is used to maintain the source code
strings that define a shader. shaderType
- indicates the type of shader to be created. Two types of shaders
+ indicates the type of shader to be created. Five types of shader
are supported. A shader of type
GL_VERTEX_SHADER is a shader that is
- intended to run on the programmable vertex processor and replace
- the fixed functionality vertex processing in OpenGL. A shader of
+ intended to run on the programmable vertex processor.
+ A shader of type GL_TESS_CONTROL_SHADER is a shader that
+ is intended to run on the programmable tessellation processor in the control stage.
+ A shader of type GL_TESS_EVALUATION_SHADER is a shader that
+ is intended to run on the programmable tessellation processor in the evaluation stage.
+ A shader of type
+ GL_GEOMETRY_SHADER is a shader that is intended to
+ run on the programmable geometry processor. A shader of
type GL_FRAGMENT_SHADER is a shader that is
- intended to run on the programmable fragment processor and
- replace the fixed functionality fragment processing in
- OpenGL.
+ intended to run on the programmable fragment processor.
When created, a shader object's
GL_SHADER_TYPE parameter is set to either
- GL_VERTEX_SHADER or
- GL_FRAGMENT_SHADER, depending on the value
+ GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER
+ or GL_FRAGMENT_SHADER, depending on the value
of shaderType.
Notes
- glCreateShader is available only if
- the GL version is 2.0 or greater.
-
- Like display lists and texture objects, the name space for
+ Like buffer and texture objects, the name space for
shader objects may be shared across a set of contexts, as long
as the server sides of the contexts share the same address
space. If the name space is shared across contexts, any attached
@@ -73,12 +78,6 @@
GL_INVALID_ENUM is generated if
shaderType is not an accepted value.
- GL_INVALID_OPERATION is generated if
- glCreateShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetShader
diff --git a/Source/Bind/Specifications/Docs/glCreateShaderProgram.xml b/Source/Bind/Specifications/Docs/glCreateShaderProgram.xml
new file mode 100644
index 00000000..d129342d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glCreateShaderProgram.xml
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glCreateShaderProgram
+ 3G
+
+
+ glCreateShaderProgramv
+ create a stand-alone program from an array of null-terminated source code strings
+
+ C Specification
+
+
+ GLuint glCreateShaderProgramv
+ GLenum type
+ GLsizei count
+ const char **strings
+
+
+
+ Parameters
+
+
+ type
+
+
+ Specifies the type of shader to create.
+
+
+
+
+ count
+
+
+ Specifies the number of source code strings in the array strings.
+
+
+
+
+ strings
+
+
+ Specifies the address of an array of pointers to source code strings from which to create the program object.
+
+
+
+
+
+ Description
+
+ glCreateShaderProgram creates a program object containing compiled and linked
+ shaders for a single stage specified by type. strings
+ refers to an array of count strings from which to create the shader executables.
+
+
+ glCreateShaderProgram is equivalent (assuming no errors are generated) to:
+
+
+
+ The program object created by glCreateShaderProgram has its GL_PROGRAM_SEPARABLE
+ status set to GL_TRUE.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ GL_INVALID_OPERATION is generated if program refers
+ to a program object that has not been successfully linked.
+
+
+ See Also
+
+ glCreateShader,
+ glCreateProgram,
+ glCompileShader,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glCullFace.xml b/Source/Bind/Specifications/Docs/glCullFace.xml
index ead278c2..40b71f5c 100644
--- a/Source/Bind/Specifications/Docs/glCullFace.xml
+++ b/Source/Bind/Specifications/Docs/glCullFace.xml
@@ -68,11 +68,6 @@
GL_INVALID_ENUM is generated if mode is not an accepted value.
-
- GL_INVALID_OPERATION is generated if glCullFace
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/glDeleteBuffers.xml
index e4424ced..1a5a12b5 100644
--- a/Source/Bind/Specifications/Docs/glDeleteBuffers.xml
+++ b/Source/Bind/Specifications/Docs/glDeleteBuffers.xml
@@ -51,27 +51,17 @@
After a buffer object is deleted, it has no contents,
and its name is free for reuse (for example by glGenBuffers).
If a buffer object that is currently bound is deleted, the binding reverts
- to 0 (the absence of any buffer object, which reverts to client memory usage).
+ to 0 (the absence of any buffer object).
glDeleteBuffers silently ignores 0's and names that do not correspond to
existing buffer objects.
- Notes
-
- glDeleteBuffers is available only if the GL version is 1.5 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
-
- GL_INVALID_OPERATION is generated if glDeleteBuffers is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml b/Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml
new file mode 100644
index 00000000..3da367d1
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDeleteFramebuffers
+ 3G
+
+
+ glDeleteFramebuffers
+ delete framebuffer objects
+
+ C Specification
+
+
+ void glDeleteFramebuffers
+ GLsizei n
+ GLuint *framebuffers
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of framebuffer objects to be deleted.
+
+
+
+
+ framebuffers
+
+
+ A pointer to an array containing n framebuffer objects to be deleted.
+
+
+
+
+
+ Description
+
+ glDeleteFramebuffers deletes the n framebuffer objects whose names are stored in
+ the array addressed by framebuffers. The name zero is reserved by the GL and is silently ignored, should it
+ occur in framebuffers, as are other unused names. Once a framebuffer object is deleted, its name is again
+ unused and it has no attachments. If a framebuffer that is currently bound to one or more of the targets GL_DRAW_FRAMEBUFFER
+ or GL_READ_FRAMEBUFFER is deleted, it is as though glBindFramebuffer
+ had been executed with the corresponding target and framebuffer zero.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glCheckFramebufferStatus
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/glDeleteProgram.xml
index 0469c235..b67cbe13 100644
--- a/Source/Bind/Specifications/Docs/glDeleteProgram.xml
+++ b/Source/Bind/Specifications/Docs/glDeleteProgram.xml
@@ -1,89 +1,79 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glDeleteProgram
- 3G
+ glDeleteProgram
+ 3G
- glDeleteProgram
- Deletes a program object
+ glDeleteProgram
+ Deletes a program object
C Specification
-
-
- void glDeleteProgram
- GLuint program
-
-
+
+
+ void glDeleteProgram
+ GLuint program
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- deleted.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ deleted.
+
+
+
Description
- glDeleteProgram frees the memory and
- invalidates the name associated with the program object
- specified by program. This command
- effectively undoes the effects of a call to
- glCreateProgram.
+ glDeleteProgram frees the memory and
+ invalidates the name associated with the program object
+ specified by program. This command
+ effectively undoes the effects of a call to
+ glCreateProgram.
- If a program object is in use as part of current rendering
- state, it will be flagged for deletion, but it will not be
- deleted until it is no longer part of current state for any
- rendering context. If a program object to be deleted has shader
- objects attached to it, those shader objects will be
- automatically detached but not deleted unless they have already
- been flagged for deletion by a previous call to
- glDeleteShader.
- A value of 0 for program will be silently
- ignored.
+ If a program object is in use as part of current rendering
+ state, it will be flagged for deletion, but it will not be
+ deleted until it is no longer part of current state for any
+ rendering context. If a program object to be deleted has shader
+ objects attached to it, those shader objects will be
+ automatically detached but not deleted unless they have already
+ been flagged for deletion by a previous call to
+ glDeleteShader.
+ A value of 0 for program will be silently
+ ignored.
- To determine whether a program object has been flagged for
- deletion, call
- glGetProgram
- with arguments program and
- GL_DELETE_STATUS.
-
- Notes
- glDeleteProgram is available only if
- the GL version is 2.0 or greater.
+ To determine whether a program object has been flagged for
+ deletion, call
+ glGetProgram
+ with arguments program and
+ GL_DELETE_STATUS.
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- glDeleteProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGet
- with argument GL_CURRENT_PROGRAM
+ glGet
+ with argument GL_CURRENT_PROGRAM
- glGetProgram
- with arguments program and
- GL_DELETE_STATUS
+ glGetProgram
+ with arguments program and
+ GL_DELETE_STATUS
- glIsProgram
+ glIsProgram
See Also
- glCreateShader,
- glDetachShader,
- glUseProgram
-
+ glCreateShader,
+ glDetachShader,
+ glUseProgram
+
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml b/Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml
new file mode 100644
index 00000000..359f734c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ c
+ 3G
+
+
+ glDeleteProgramPipelines
+ delete program pipeline objects
+
+ C Specification
+
+
+ void glDeleteProgramPipelines
+ GLsizei n
+ const GLuint *pipelines
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of program pipeline objects to delete.
+
+
+
+
+ pipelines
+
+
+ Specifies an array of names of program pipeline objects to delete.
+
+
+
+
+
+ Description
+
+ glDeleteProgramPipelines deletes the n program pipeline objects
+ whose names are stored in the array pipelines. Unused names in pipelines are
+ ignored, as is the name zero. After a program pipeline object is deleted, its name is again unused and it
+ has no contents. If program pipeline object that is currently bound is deleted, the binding for that object reverts to
+ zero and no program pipeline object becomes current.
+
+
+ Associated Gets
+
+ glGet with argument GL_PROGRAM_PIPELINE_BINDING
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glBindProgramPipeline,
+ glIsProgramPipeline,
+ glUseShaderPrograms,
+ glUseProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteQueries.xml b/Source/Bind/Specifications/Docs/glDeleteQueries.xml
index 949bc767..62be1b26 100644
--- a/Source/Bind/Specifications/Docs/glDeleteQueries.xml
+++ b/Source/Bind/Specifications/Docs/glDeleteQueries.xml
@@ -56,11 +56,6 @@
existing query objects.
- Notes
-
- glDeleteQueries is available only if the GL version is 1.5 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
@@ -70,11 +65,6 @@
between the execution of glBeginQuery and the corresponding
execution of glEndQuery.
-
- GL_INVALID_OPERATION is generated if glDeleteQueries is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml b/Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml
new file mode 100644
index 00000000..1faf4f9e
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDeleteRenderbuffers
+ 3G
+
+
+ glDeleteRenderbuffers
+ delete renderbuffer objects
+
+ C Specification
+
+
+ void glDeleteRenderbuffers
+ GLsizei n
+ GLuint *renderbuffers
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of renderbuffer objects to be deleted.
+
+
+
+
+ renderbuffers
+
+
+ A pointer to an array containing n renderbuffer objects to be deleted.
+
+
+
+
+
+ Description
+
+ glDeleteRenderbuffers deletes the n renderbuffer objects whose names are stored in
+ the array addressed by renderbuffers. The name zero is reserved by the GL and is silently ignored, should it
+ occur in renderbuffers, as are other unused names. Once a renderbuffer object is deleted, its name is again
+ unused and it has no contents. If a renderbuffer that is currently bound to the target GL_RENDERBUFFER
+ is deleted, it is as though glBindRenderbuffer
+ had been executed with a target of GL_RENDERBUFFER and a name of zero.
+
+
+ If a renderbuffer object is attached to one or more attachment points in the currently bound framebuffer, then it as if
+ glFramebufferRenderbuffer had been called, with a renderbuffer
+ of zero for each attachment point to which this image was attached in the currently bound framebuffer. In other words,
+ this renderbuffer object is first detached from all attachment ponits in the currently bound framebuffer. Note that the renderbuffer
+ image is specifically not detached from any non-bound framebuffers.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glFramebufferRenderbuffer,
+ glRenderbufferStorage,
+ glRenderbufferStorageMultisample
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteSamplers.xml b/Source/Bind/Specifications/Docs/glDeleteSamplers.xml
new file mode 100644
index 00000000..4155ad35
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteSamplers.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDeleteSamplers
+ 3G
+
+
+ glDeleteSamplers
+ delete named sampler objects
+
+ C Specification
+
+
+ void glDeleteSamplers
+ GLsizei n
+ const GLuint * ids
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of sampler objects to be deleted.
+
+
+
+
+ ids
+
+
+ Specifies an array of sampler objects to be deleted.
+
+
+
+
+
+ Description
+
+ glDeleteSamplers deletes n sampler objects named by the elements of the array ids.
+ After a sampler object is deleted, its name is again unused. If a sampler object that is currently bound to a sampler unit is deleted, it is as
+ though glBindSampler is called with unit set to the unit the sampler is bound to and
+ sampler zero. Unused names in samplers are silently ignored, as is the reserved name zero.
+
+
+ Notes
+
+ glDeleteSamplers is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ Associated Gets
+
+ glIsSampler
+
+
+ See Also
+
+ glGenSamplers,
+ glBindSampler,
+ glDeleteSamplers,
+ glIsSampler
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteShader.xml b/Source/Bind/Specifications/Docs/glDeleteShader.xml
index 72a73e94..dae7c422 100644
--- a/Source/Bind/Specifications/Docs/glDeleteShader.xml
+++ b/Source/Bind/Specifications/Docs/glDeleteShader.xml
@@ -1,85 +1,75 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glDeleteShader
- 3G
+ glDeleteShader
+ 3G
- glDeleteShader
- Deletes a shader object
+ glDeleteShader
+ Deletes a shader object
C Specification
-
-
- void glDeleteShader
- GLuint shader
-
-
+
+
+ void glDeleteShader
+ GLuint shader
+
+
Parameters
-
-
- shader
-
- Specifies the shader object to be deleted.
-
-
-
+
+
+ shader
+
+ Specifies the shader object to be deleted.
+
+
+
Description
- glDeleteShader frees the memory and
- invalidates the name associated with the shader object specified
- by shader. This command effectively
- undoes the effects of a call to
- glCreateShader.
+ glDeleteShader frees the memory and
+ invalidates the name associated with the shader object specified
+ by shader. This command effectively
+ undoes the effects of a call to
+ glCreateShader.
- If a shader object to be deleted is attached to a program
- object, it will be flagged for deletion, but it will not be
- deleted until it is no longer attached to any program object,
- for any rendering context (i.e., it must be detached from
- wherever it was attached before it will be deleted). A value of
- 0 for shader will be silently
- ignored.
+ If a shader object to be deleted is attached to a program
+ object, it will be flagged for deletion, but it will not be
+ deleted until it is no longer attached to any program object,
+ for any rendering context (i.e., it must be detached from
+ wherever it was attached before it will be deleted). A value of
+ 0 for shader will be silently
+ ignored.
- To determine whether an object has been flagged for
- deletion, call
- glGetShader
- with arguments shader and
- GL_DELETE_STATUS.
-
- Notes
- glDeleteShader is available only if
- the GL version is 2.0 or greater.
+ To determine whether an object has been flagged for
+ deletion, call
+ glGetShader
+ with arguments shader and
+ GL_DELETE_STATUS.
Errors
- GL_INVALID_VALUE is generated if
- shader is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ shader is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- glDeleteShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetAttachedShaders
- with the program object to be queried
+ glGetAttachedShaders
+ with the program object to be queried
- glGetShader
- with arguments shader and
- GL_DELETE_STATUS
+ glGetShader
+ with arguments shader and
+ GL_DELETE_STATUS
- glIsShader
+ glIsShader
See Also
- glCreateProgram,
- glCreateShader,
- glDetachShader,
- glUseProgram
+ glCreateProgram,
+ glCreateShader,
+ glDetachShader,
+ glUseProgram
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDeleteSync.xml b/Source/Bind/Specifications/Docs/glDeleteSync.xml
new file mode 100644
index 00000000..509f9e2c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteSync.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDeleteSync
+ 3G
+
+
+ glDeleteSync
+ delete a sync object
+
+ C Specification
+
+
+ void glDeleteSync
+ GLsync sync
+
+
+
+
+ Parameters
+
+
+ sync
+
+
+ The sync object to be deleted.
+
+
+
+
+
+ Description
+
+ glDeleteSync deletes the sync object specified by sync. If the fence command
+ corresponding to the specified sync object has completed, or if no glWaitSync
+ or glClientWaitSync commands are blocking on sync,
+ the object is deleted immediately. Otherwise, sync is flagged for deletion and will be deleted when
+ it is no longer associated with any fence command and is no longer blocking any glWaitSync
+ or glClientWaitSync command. In either case, after
+ glDeleteSync returns, the name sync is invalid and can no longer be used to
+ refer to the sync object.
+
+
+ glDeleteSync will silently ignore a sync value of zero.
+
+
+ Notes
+
+ glSync is only supported if the GL version is 3.2 or greater, or if
+ the ARB_sync
extension is supported.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if sync is neither zero or the name of a sync object.
+
+
+ See Also
+
+ glFenceSync,
+ glWaitSync,
+ glClientWaitSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/glDeleteTextures.xml
index 57bee58d..3448f2dc 100644
--- a/Source/Bind/Specifications/Docs/glDeleteTextures.xml
+++ b/Source/Bind/Specifications/Docs/glDeleteTextures.xml
@@ -58,20 +58,10 @@
existing textures.
- Notes
-
- glDeleteTextures is available only if the GL version is 1.1 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
-
- GL_INVALID_OPERATION is generated if glDeleteTextures is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
@@ -80,14 +70,12 @@
See Also
- glAreTexturesResident,
glBindTexture,
glCopyTexImage1D,
glCopyTexImage2D,
glGenTextures,
glGet,
glGetTexParameter,
- glPrioritizeTextures,
glTexImage1D,
glTexImage2D,
glTexParameter
diff --git a/Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml
new file mode 100644
index 00000000..055035c5
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glDeleteTransformFeedbacks
+ 3G
+
+
+ glDeleteTransformFeedbacks
+ delete transform feedback objects
+
+ C Specification
+
+
+ void glDeleteTransformFeedbacks
+ GLsizei n
+ const GLuint *ids
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of transform feedback objects to delete.
+
+
+
+
+ ids
+
+
+ Specifies an array of names of transform feedback objects to delete.
+
+
+
+
+
+ Description
+
+ glDeleteTransformFeedbacks deletes the n transform feedback objects
+ whose names are stored in the array ids. Unused names in ids are
+ ignored, as is the name zero. After a transform feedback object is deleted, its name is again unused and it
+ has no contents. If an active transform feedback object is deleted, its name immediately becomes unused, but
+ the underlying object is not deleted until it is no longer active.
+
+
+ Associated Gets
+
+ glGet with argument GL_TRANSFORM_FEEDBACK_BINDING
+
+
+ See Also
+
+ glGenTransformFeedbacks,
+ glBindTransformFeedback,
+ glIsTransformFeedback,
+ glBeginTransformFeedback,
+ glPauseTransformFeedback,
+ glResumeTransformFeedback,
+ glEndTransformFeedback
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml b/Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml
new file mode 100644
index 00000000..f7bbdd60
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDeleteVertexArrays
+ 3G
+
+
+ glDeleteVertexArrays
+ delete vertex array objects
+
+ C Specification
+
+
+ void glDeleteVertexArrays
+ GLsizei n
+ const GLuint *arrays
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of vertex array objects to be deleted.
+
+
+
+
+ arrays
+
+
+ Specifies the address of an array containing the n names of the objects to be deleted.
+
+
+
+
+
+ Description
+
+ glDeleteVertexArrays deletes n vertex array objects whose names are stored in the
+ array addressed by arrays. Once a vertex array object is deleted it has no contents and its name is
+ again unused. If a vertex array object that is currently bound is deleted, the binding for that object reverts to zero
+ and the default vertex array becomes current. Unused names in arrays are silently ignored, as is the value zero.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glGenVertexArrays,
+ glIsVertexArray,
+ glBindVertexArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDepthFunc.xml b/Source/Bind/Specifications/Docs/glDepthFunc.xml
index 78cb6356..51900ad3 100644
--- a/Source/Bind/Specifications/Docs/glDepthFunc.xml
+++ b/Source/Bind/Specifications/Docs/glDepthFunc.xml
@@ -134,18 +134,15 @@
Notes
Even if the depth buffer exists and the depth mask is non-zero, the
- depth buffer is not updated if the depth test is disabled.
+ depth buffer is not updated if the depth test is disabled. In order to
+ unconditionally write to the depth buffer, the depth test should be enabled
+ and set to GL_ALWAYS.
Errors
GL_INVALID_ENUM is generated if func is not an accepted value.
-
- GL_INVALID_OPERATION is generated if glDepthFunc
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glDepthMask.xml b/Source/Bind/Specifications/Docs/glDepthMask.xml
index 172cee0a..147a10d9 100644
--- a/Source/Bind/Specifications/Docs/glDepthMask.xml
+++ b/Source/Bind/Specifications/Docs/glDepthMask.xml
@@ -49,13 +49,6 @@
Initially, depth buffer writing is enabled.
- Errors
-
- GL_INVALID_OPERATION is generated if glDepthMask
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_DEPTH_WRITEMASK
@@ -66,7 +59,6 @@
glColorMask,
glDepthFunc,
glDepthRange,
- glIndexMask,
glStencilMask
diff --git a/Source/Bind/Specifications/Docs/glDepthRange.xml b/Source/Bind/Specifications/Docs/glDepthRange.xml
index 8bc52a80..62d8cc3d 100644
--- a/Source/Bind/Specifications/Docs/glDepthRange.xml
+++ b/Source/Bind/Specifications/Docs/glDepthRange.xml
@@ -23,6 +23,11 @@
GLclampd nearVal
GLclampd farVal
+
+ void glDepthRangef
+ GLclampf nearVal
+ GLclampf farVal
+
@@ -53,7 +58,7 @@
After clipping and division by w,
depth coordinates range from
-
+
-1
to 1,
@@ -79,7 +84,7 @@
It is not necessary that nearVal be less than farVal.
Reverse mappings such as
-
+
nearVal
=
@@ -88,7 +93,7 @@
,
and
-
+
farVal
=
@@ -98,13 +103,6 @@
are acceptable.
- Errors
-
- GL_INVALID_OPERATION is generated if glDepthRange
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_DEPTH_RANGE
diff --git a/Source/Bind/Specifications/Docs/glDepthRangeArray.xml b/Source/Bind/Specifications/Docs/glDepthRangeArray.xml
new file mode 100644
index 00000000..adf6cd50
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDepthRangeArray.xml
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDepthRangeArray
+ 3G
+
+
+ glDepthRangeArray
+ specify mapping of depth values from normalized device coordinates to window coordinates for a specified set of viewports
+
+ C Specification
+
+
+ void glDepthRangeArrayv
+ GLuint first
+ GLsizei count
+ const GLclampd *v
+
+
+
+
+ Parameters
+
+
+ first
+
+
+ Specifies the index of the first viewport whose depth range to update.
+
+
+
+
+ count
+
+
+ Specifies the number of viewports whose depth range to update.
+
+
+
+
+ v
+
+
+ Specifies the address of an array containing the near and far values for the
+ depth range of each modified viewport.
+
+
+
+
+
+ Description
+
+ After clipping and division by w,
+ depth coordinates range from
+
+
+ -1
+
+ to 1,
+ corresponding to the near and far clipping planes.
+ Each viewport has an independent depth range specified as a linear mapping of the normalized
+ depth coordinates in this range to window depth coordinates.
+ Regardless of the actual depth buffer implementation,
+ window coordinate depth values are treated as though they range
+ from 0 through 1 (like color components).
+ glDepthRangeArray specifies a linear mapping of the normalized depth coordinates
+ in this range to window depth coordinates for each viewport in the range [first,
+ first + count).
+ Thus,
+ the values accepted by glDepthRangeArray are both clamped to this range
+ before they are accepted.
+
+
+ The first parameter specifies the index of the first viewport whose depth
+ range to modify and must be less than the value of GL_MAX_VIEWPORTS.
+ count specifies the number of viewports whose depth range to modify.
+ first + count must be less than or equal to
+ the value of GL_MAX_VIEWPORTS. v specifies the address of an
+ array of pairs of double precision floating point values representing the near and far values of the
+ depth range for each viewport, in that order.
+
+
+ The setting of (0,1) maps the near plane to 0 and
+ the far plane to 1.
+ With this mapping,
+ the depth buffer range is fully utilized.
+
+
+ Notes
+
+ It is not necessary that the near plane distance be less than the far plane distance.
+ Reverse mappings such as
+
+
+
+ near
+ =
+ 1
+
+ ,
+ and
+
+
+
+ far
+ =
+ 0
+
+
+ are acceptable.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if first is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if first + count
+ is greater than or equal to the value of GL_MAX_VIEWPORTS.
+
+
+ Associated Gets
+
+ glGet with argument GL_DEPTH_RANGE
+
+
+ See Also
+
+ glDepthFunc,
+ glDepthRange,
+ glPolygonOffset,
+ glViewportArray,
+ glViewport
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml b/Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml
new file mode 100644
index 00000000..fdc1aff3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDepthRangeIndexed
+ 3G
+
+
+ glDepthRangeIndexed
+ specify mapping of depth values from normalized device coordinates to window coordinates for a specified viewport
+
+ C Specification
+
+
+ void glDepthRangeArrayv
+ GLuint index
+ GLclampd nearVal
+ GLclampd farVal
+
+
+
+
+ Parameters
+
+
+ index
+
+
+ Specifies the index of the viewport whose depth range to update.
+
+
+
+
+ nearVal
+
+
+ Specifies the mapping of the near clipping plane to window coordinates.
+ The initial value is 0.
+
+
+
+
+ farVal
+
+
+ Specifies the mapping of the far clipping plane to window coordinates.
+ The initial value is 1.
+
+
+
+
+
+ Description
+
+ After clipping and division by w,
+ depth coordinates range from
+
+
+ -1
+
+ to 1,
+ corresponding to the near and far clipping planes.
+ Each viewport has an independent depth range specified as a linear mapping of the normalized
+ depth coordinates in this range to window depth coordinates.
+ Regardless of the actual depth buffer implementation,
+ window coordinate depth values are treated as though they range
+ from 0 through 1 (like color components).
+ glDepthRangeIndexed specifies a linear mapping of the normalized depth coordinates
+ in this range to window depth coordinates for a specified viewport.
+ Thus,
+ the values accepted by glDepthRangeArray are both clamped to this range
+ before they are accepted.
+
+
+ The index parameter specifies the index of first viewport whose depth
+ range to modify and must be less than the value of GL_MAX_VIEWPORTS.
+ nearVal and farVal specify near and far values of the
+ depth range for the specified viewport, respectively.
+
+
+ The setting of (0,1) maps the near plane to 0 and
+ the far plane to 1.
+ With this mapping,
+ the depth buffer range is fully utilized.
+
+
+ Notes
+
+ It is not necessary that the near plane distance be less than the far plane distance.
+ Reverse mappings such as
+
+
+
+ nearVal
+ =
+ 1
+
+ ,
+ and
+
+
+
+ farVal
+ =
+ 0
+
+
+ are acceptable.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ Associated Gets
+
+ glGet with argument GL_DEPTH_RANGE
+
+
+ See Also
+
+ glDepthFunc,
+ glDepthRange,
+ glDepthRangeArray,
+ glPolygonOffset,
+ glViewportArray,
+ glViewport
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDetachShader.xml b/Source/Bind/Specifications/Docs/glDetachShader.xml
index d821cc51..7fe22f70 100644
--- a/Source/Bind/Specifications/Docs/glDetachShader.xml
+++ b/Source/Bind/Specifications/Docs/glDetachShader.xml
@@ -1,95 +1,85 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glDetachShader
- 3G
+ glDetachShader
+ 3G
- glDetachShader
- Detaches a shader object from a program object to which it is attached
+ glDetachShader
+ Detaches a shader object from a program object to which it is attached
C Specification
-
-
- void glDetachShader
- GLuint program
- GLuint shader
-
-
+
+
+ void glDetachShader
+ GLuint program
+ GLuint shader
+
+
Parameters
-
-
- program
-
- Specifies the program object from which to
- detach the shader object.
-
-
-
- shader
-
- Specifies the shader object to be
- detached.
-
-
-
+
+
+ program
+
+ Specifies the program object from which to
+ detach the shader object.
+
+
+
+ shader
+
+ Specifies the shader object to be
+ detached.
+
+
+
Description
- glDetachShader detaches the shader
- object specified by shader from the
- program object specified by program. This
- command can be used to undo the effect of the command
- glAttachShader.
+ glDetachShader detaches the shader
+ object specified by shader from the
+ program object specified by program. This
+ command can be used to undo the effect of the command
+ glAttachShader.
- If shader has already been flagged
- for deletion by a call to
- glDeleteShader
- and it is not attached to any other program object, it will be
- deleted after it has been detached.
-
- Notes
- glDetachShader is available only if
- the GL version is 2.0 or greater.
+ If shader has already been flagged
+ for deletion by a call to
+ glDeleteShader
+ and it is not attached to any other program object, it will be
+ deleted after it has been detached.
Errors
- GL_INVALID_VALUE is generated if either
- program or shader
- is a value that was not generated by OpenGL.
+ GL_INVALID_VALUE is generated if either
+ program or shader
+ is a value that was not generated by OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_OPERATION is generated if
- shader is not a shader object.
+ GL_INVALID_OPERATION is generated if
+ shader is not a shader object.
- GL_INVALID_OPERATION is generated if
- shader is not attached to
- program.
+ GL_INVALID_OPERATION is generated if
+ shader is not attached to
+ program.
- GL_INVALID_OPERATION is generated if
- glDetachShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetAttachedShaders
- with the handle of a valid program object
+ glGetAttachedShaders
+ with the handle of a valid program object
- glGetShader
- with arguments shader and
- GL_DELETE_STATUS
+ glGetShader
+ with arguments shader and
+ GL_DELETE_STATUS
- glIsProgram
+ glIsProgram
- glIsShader
+ glIsShader
See Also
- glAttachShader
+ glAttachShader
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDrawArrays.xml b/Source/Bind/Specifications/Docs/glDrawArrays.xml
index a0936166..3198bd12 100644
--- a/Source/Bind/Specifications/Docs/glDrawArrays.xml
+++ b/Source/Bind/Specifications/Docs/glDrawArrays.xml
@@ -39,12 +39,14 @@
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
- GL_QUAD_STRIP,
- GL_QUADS,
- and GL_POLYGON are accepted.
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
@@ -81,29 +83,21 @@
enabled array to construct a sequence of geometric primitives,
beginning with element first. mode specifies what kind of
primitives are constructed and how the array elements
- construct those primitives. If GL_VERTEX_ARRAY is not enabled, no
- geometric primitives are generated.
+ construct those primitives.
Vertex attributes that are modified by glDrawArrays have an
- unspecified value after glDrawArrays returns. For example, if
- GL_COLOR_ARRAY is enabled, the value of the current color is
- undefined after glDrawArrays executes. Attributes that aren't
+ unspecified value after glDrawArrays returns. Attributes that aren't
modified remain well defined.
Notes
- glDrawArrays is available only if the GL version is 1.1 or greater.
-
-
- glDrawArrays is included in display lists. If glDrawArrays is entered into a
- display list,
- the necessary array data (determined by the array pointers and
- enables) is also
- entered into the display list. Because the array pointers and
- enables are client-side state, their values affect display lists
- when the lists are created, not when the lists are executed.
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
Errors
@@ -118,25 +112,15 @@
enabled array and the buffer object's data store is currently mapped.
- GL_INVALID_OPERATION is generated if glDrawArrays is executed between
- the execution of glBegin and the corresponding glEnd.
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
See Also
- glArrayElement,
- glColorPointer,
+ glDrawArraysInstanced,
glDrawElements,
glDrawRangeElements,
- glEdgeFlagPointer,
- glFogCoordPointer,
- glGetPointerv,
- glIndexPointer,
- glInterleavedArrays,
- glNormalPointer,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexPointer
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml b/Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml
new file mode 100644
index 00000000..2d5b2157
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glDrawTransformFeedback
+ 3G
+
+
+ glDrawArraysIndirect
+ render primitives from array data, taking parameters from memory
+
+ C Specification
+
+
+ void glDrawArraysIndirect
+ GLenum mode
+ const void *indirect
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, and
+ GL_PATCHES
+ are accepted.
+
+
+
+
+ indirect
+
+
+ Specifies the address of a structure containing the draw parameters.
+
+
+
+
+
+ Description
+
+ glDrawArraysIndirect specifies multiple geometric primitives
+ with very few subroutine calls. glDrawArraysIndirect behaves
+ similarly to glDrawArraysInstanced,
+ execpt that the parameters to glDrawArraysInstanced
+ are stored in memory at the address given by indirect.
+
+
+ The parameters addressed by indirect are packed into a structure
+ that takes the form (in C):
+ first, cmd->count, cmd->primCount);]]>
+
+
+ If a buffer is bound to the GL_INDIRECT_BUFFER binding at the time
+ of a call to glDrawArraysIndirect, indirect
+ is interpreted as an offset, in basic machine units, into that buffer and the parameter
+ data is read from the buffer rather than from client memory.
+
+
+ In contrast to glDrawArraysInstanced,
+ the first
member of the parameter structure is unsigned, and out-of-range indices
+ do not generate an error. The results of the operation are undefined if the reservedMustBeZero
member
+ of the parameter structure is non-zero. However, no error is generated in this case.
+
+
+ Vertex attributes that are modified by glDrawArraysIndirect have an
+ unspecified value after glDrawArraysIndirect returns. Attributes that aren't
+ modified remain well defined.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or to the GL_INDIRECT_BUFFER binding and the buffer object's data store is currently mapped.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if mode is GL_PATCHES
+ and no tessellation control shader is active.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawArraysInstanced,
+ glDrawElements,
+ glDrawRangeElements,
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml b/Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml
new file mode 100644
index 00000000..0e0bebbf
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDrawArraysInstanced
+ 3G
+
+
+ glDrawArraysInstanced
+ draw multiple instances of a range of elements
+
+ C Specification
+
+
+ void glDrawArraysInstanced
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei primcount
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render. Symbolic constants GL_POINTS,
+ GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES,
+ GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES
+ GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES
+ are accepted.
+
+
+
+
+ first
+
+
+ Specifies the starting index in the enabled arrays.
+
+
+
+
+ count
+
+
+ Specifies the number of indices to be rendered.
+
+
+
+
+ primcount
+
+
+ Specifies the number of instances of the specified range of indices to be rendered.
+
+
+
+
+
+ Description
+
+ glDrawArraysInstanced behaves identically to glDrawArrays
+ except that primcount instances of the range of elements are executed and the value of the internal counter
+ instanceID advances for each iteration. instanceID is an internal 32-bit integer counter
+ that may be read by a vertex shader as gl_InstanceID.
+
+
+ glDrawArraysInstanced has the same effect as:
+
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not one of
+ the accepted values.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_VALUE is generated if count or primcount are negative.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawElementsInstanced
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawBuffer.xml b/Source/Bind/Specifications/Docs/glDrawBuffer.xml
index 1b17b86d..035c90d9 100644
--- a/Source/Bind/Specifications/Docs/glDrawBuffer.xml
+++ b/Source/Bind/Specifications/Docs/glDrawBuffer.xml
@@ -41,12 +41,9 @@
GL_FRONT,
GL_BACK,
GL_LEFT,
- GL_RIGHT,
- GL_FRONT_AND_BACK, and
- GL_AUXi,
- where i is between 0 and the value of GL_AUX_BUFFERS minus 1,
- are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet
- to query the number of available aux buffers.)
+ GL_RIGHT, and
+ GL_FRONT_AND_BACK
+ are accepted.
The initial value is GL_FRONT for single-buffered contexts,
and GL_BACK for double-buffered contexts.
@@ -157,14 +154,6 @@
-
- GL_AUXi
-
-
- Only auxiliary color buffer i is written.
-
-
-
If more than one color buffer is selected for drawing,
@@ -189,14 +178,6 @@
The context is selected at GL initialization.
- Notes
-
- It is always the case that GL_AUX
- i
- = GL_AUX0 +
- i.
-
-
Errors
GL_INVALID_ENUM is generated if mode is not an accepted value.
@@ -205,25 +186,17 @@
GL_INVALID_OPERATION is generated if none of the buffers indicated
by mode exists.
-
- GL_INVALID_OPERATION is generated if glDrawBuffer
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
glGet with argument GL_DRAW_BUFFER
-
- glGet with argument GL_AUX_BUFFERS
-
See Also
glBlendFunc,
glColorMask,
- glIndexMask,
+ glDrawBuffers,
glLogicOp,
glReadBuffer
diff --git a/Source/Bind/Specifications/Docs/glDrawBuffers.xml b/Source/Bind/Specifications/Docs/glDrawBuffers.xml
index 446e0627..f54a5d12 100644
--- a/Source/Bind/Specifications/Docs/glDrawBuffers.xml
+++ b/Source/Bind/Specifications/Docs/glDrawBuffers.xml
@@ -1,189 +1,177 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glDrawBuffers
- 3G
+ glDrawBuffers
+ 3G
- glDrawBuffers
- Specifies a list of color buffers to be drawn into
+ glDrawBuffers
+ Specifies a list of color buffers to be drawn into
C Specification
-
-
- void glDrawBuffers
- GLsizei n
- const GLenum *bufs
-
-
+
+
+ void glDrawBuffers
+ GLsizei n
+ const GLenum *bufs
+
+
Parameters
-
-
- n
-
- Specifies the number of buffers in
- bufs.
-
-
-
- bufs
-
- Points to an array of symbolic constants
- specifying the buffers into which fragment colors or
- data values will be written.
-
-
-
+
+
+ n
+
+ Specifies the number of buffers in
+ bufs.
+
+
+
+ bufs
+
+ Points to an array of symbolic constants
+ specifying the buffers into which fragment colors or
+ data values will be written.
+
+
+
Description
- glDrawBuffers defines an array of
- buffers into which fragment color values or fragment data will
- be written. If no fragment shader is active, rendering
- operations will generate only one fragment color per fragment
- and it will be written into each of the buffers specified by
- bufs. If a fragment shader is active and
- it writes a value to the output variable
- gl_FragColor
, then that value will be
- written into each of the buffers specified by
- bufs. If a fragment shader is active and
- it writes a value to one or more elements of the output array
- variable gl_FragData[]
, then the value of
- gl_FragData[0]
will be written into the
- first buffer specified by bufs, the value
- of gl_FragData[1]
will be written into the
- second buffer specified by bufs, and so
- on up to gl_FragData[n-1]
. The draw buffer
- used for gl_FragData[n]
and beyond is
- implicitly set to be GL_NONE.
+ glDrawBuffers defines an array of
+ buffers into which outputs from the fragment shader data will
+ be written. If a fragment shader writes a value
+ to one or more user defined output
+ variables, then the value of each variable will be written into the
+ buffer specified at a location within bufs
+ corresponding to the location assigned to that user defined output.
+ The draw buffer used for user defined outputs assigned to locations
+ greater than or equal to n is implicitly set
+ to GL_NONE and any data written to such an output
+ is discarded.
- The symbolic constants contained in
- bufs may be any of the following:
+ The symbolic constants contained in
+ bufs may be any of the following:
-
-
- GL_NONE
-
- The fragment color/data value is not written into
- any color buffer.
-
-
-
- GL_FRONT_LEFT
-
- The fragment color/data value is written into the
- front left color buffer.
-
-
-
- GL_FRONT_RIGHT
-
- The fragment color/data value is written into the
- front right color buffer.
-
-
-
- GL_BACK_LEFT
-
- The fragment color/data value is written into the
- back left color buffer.
-
-
-
- GL_BACK_RIGHT
-
- The fragment color/data value is written into the
- back right color buffer.
-
-
-
- GL_AUXi
-
- The fragment color/data value is written into
- auxiliary buffer i
.
-
-
-
+
+
+ GL_NONE
+
+ The fragment shader output value is not written into
+ any color buffer.
+
+
+
+ GL_FRONT_LEFT
+
+ The fragment shader output value is written into the
+ front left color buffer.
+
+
+
+ GL_FRONT_RIGHT
+
+ The fragment shader output value is written into the
+ front right color buffer.
+
+
+
+ GL_BACK_LEFT
+
+ The fragment shader output value is written into the
+ back left color buffer.
+
+
+
+ GL_BACK_RIGHT
+
+ The fragment shader output value is written into the
+ back right color buffer.
+
+
+
+ GL_COLOR_ATTACHMENTn
+
+ The fragment shader output value is written into the
+ nth color attachment of the current framebuffer.
+ n may range from 0 to the value of
+ GL_MAX_COLOR_ATTACHMENTS.
+
+
+
- Except for GL_NONE, the preceding
- symbolic constants may not appear more than once in
- bufs. The maximum number of draw buffers
- supported is implementation dependent and can be queried by
- calling
- glGet
- with the argument GL_MAX_DRAW_BUFFERS. The
- number of auxiliary buffers can be queried by calling
- glGet
- with the argument GL_AUX_BUFFERS.
+ Except for GL_NONE, the preceding
+ symbolic constants may not appear more than once in
+ bufs. The maximum number of draw buffers
+ supported is implementation dependent and can be queried by
+ calling
+ glGet
+ with the argument GL_MAX_DRAW_BUFFERS.
Notes
- glDrawBuffers is available only if
- the GL version is 2.0 or greater.
- It is always the case that GL_AUXi =
- GL_AUX0 + i
.
+ The symbolic constants GL_FRONT,
+ GL_BACK, GL_LEFT,
+ GL_RIGHT, and
+ GL_FRONT_AND_BACK are not allowed in the
+ bufs array since they may refer to
+ multiple buffers.
- The symbolic constants GL_FRONT,
- GL_BACK, GL_LEFT,
- GL_RIGHT, and
- GL_FRONT_AND_BACK are not allowed in the
- bufs array since they may refer to
- multiple buffers.
-
- If a fragment shader writes to neither
- gl_FragColor
nor
- gl_FragData
, the values of the fragment
- colors following shader execution are undefined. For each
- fragment generated in this situation, a different value may be
- written into each of the buffers specified by
- bufs.
+ If a fragment shader does not write to a user defined output variable,
+ the values of the fragment
+ colors following shader execution are undefined. For each
+ fragment generated in this situation, a different value may be
+ written into each of the buffers specified by
+ bufs.
Errors
- GL_INVALID_ENUM is generated if one of the
- values in bufs is not an accepted
- value.
+ GL_INVALID_ENUM is generated if one of the
+ values in bufs is not an accepted
+ value.
+
+ GL_INVALID_ENUM is generated if the GL is bound
+ to the default framebuffer and one or more of the values in
+ bufs is one of the GL_COLOR_ATTACHMENTn
+ tokens.
- GL_INVALID_ENUM is generated if
- n is less than 0.
+ GL_INVALID_ENUM is generated if the GL is bound
+ to a framebuffer object and one or more of the values in bufs
+ is anything other than GL_NONE or one of the
+ GL_COLOR_ATTACHMENTSn tokens.
- GL_INVALID_OPERATION is generated if a
- symbolic constant other than GL_NONE
- appears more than once in bufs.
+ GL_INVALID_ENUM is generated if
+ n is less than 0.
- GL_INVALID_OPERATION is generated if any of
- the entries in bufs (other than
- GL_NONE ) indicates a color buffer that
- does not exist in the current GL context.
+ GL_INVALID_OPERATION is generated if a
+ symbolic constant other than GL_NONE
+ appears more than once in bufs.
- GL_INVALID_VALUE is generated if
- n is greater than
- GL_MAX_DRAW_BUFFERS.
+ GL_INVALID_OPERATION is generated if any of
+ the entries in bufs (other than
+ GL_NONE ) indicates a color buffer that
+ does not exist in the current GL context.
+
+ GL_INVALID_VALUE is generated if
+ n is greater than
+ GL_MAX_DRAW_BUFFERS.
- GL_INVALID_OPERATION is generated if
- glDrawBuffers is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGet
- with argument GL_MAX_DRAW_BUFFERS
+ glGet
+ with argument GL_MAX_DRAW_BUFFERS
- glGet
- with argument GL_DRAW_BUFFERSi where
- i
indicates the number of the draw buffer
- whose value is to be queried
+ glGet
+ with argument GL_DRAW_BUFFERi where
+ i
indicates the number of the draw buffer
+ whose value is to be queried
See Also
- glBlendFunc,
- glColorMask,
- glDrawBuffers,
- glIndexMask,
- glLogicOp,
- glReadBuffer
+ glBlendFunc,
+ glColorMask,
+ glDrawBuffers,
+ glLogicOp,
+ glReadBuffer
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDrawElements.xml b/Source/Bind/Specifications/Docs/glDrawElements.xml
index 0e557b29..df6b5aae 100644
--- a/Source/Bind/Specifications/Docs/glDrawElements.xml
+++ b/Source/Bind/Specifications/Docs/glDrawElements.xml
@@ -40,12 +40,14 @@
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
- GL_QUAD_STRIP,
- GL_QUADS,
- and GL_POLYGON are accepted.
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
@@ -92,30 +94,21 @@
enabled array, starting at indices to construct a sequence of
geometric primitives. mode specifies what kind of primitives are
constructed and how the array elements construct these primitives. If
- more than one array is enabled, each is used. If
- GL_VERTEX_ARRAY is not enabled, no geometric primitives are
- constructed.
+ more than one array is enabled, each is used.
Vertex attributes that are modified by glDrawElements have an
- unspecified value after glDrawElements returns. For example, if
- GL_COLOR_ARRAY is enabled, the value of the current color is
- undefined after glDrawElements executes. Attributes that aren't
+ unspecified value after glDrawElements returns. Attributes that aren't
modified maintain their previous values.
Notes
- glDrawElements is available only if the GL version is 1.1 or greater.
-
-
- glDrawElements is included in display lists. If glDrawElements is entered into a
- display list,
- the necessary array data (determined by the array pointers and
- enables) is also
- entered into the display list. Because the array pointers and
- enables are client-side state, their values affect display lists
- when the lists are created, not when the lists are executed.
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
Errors
@@ -126,29 +119,20 @@
GL_INVALID_VALUE is generated if count is negative.
- GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
- enabled array or the element array and the buffer object's data store is currently mapped.
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
- GL_INVALID_OPERATION is generated if glDrawElements is executed between
- the execution of glBegin and the corresponding glEnd.
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
See Also
- glArrayElement,
- glColorPointer,
glDrawArrays,
- glDrawRangeElements,
- glEdgeFlagPointer,
- glFogCoordPointer,
- glGetPointerv,
- glIndexPointer,
- glInterleavedArrays,
- glNormalPointer,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexPointer
+ glDrawElementsInstanced,
+ glDrawElementsBaseVertex,
+ glDrawRangeElements
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml
new file mode 100644
index 00000000..8a3a6ccd
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDrawElementsBaseVertex
+ 3G
+
+
+ glDrawElementsBaseVertex
+ render primitives from array data with a per-element offset
+
+ C Specification
+
+
+ void glDrawElementsBaseVertex
+ GLenum mode
+ GLsizei count
+ GLenum type
+ GLvoid *indices
+ GLint basevertex
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP,
+ GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
+
+
+
+
+ count
+
+
+ Specifies the number of elements to be rendered.
+
+
+
+
+ type
+
+
+ Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE,
+ GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
+
+
+
+
+ indices
+
+
+ Specifies a pointer to the location where the indices are stored.
+
+
+
+
+ basevertex
+
+
+ Specifies a constant that should be added to each element of indices
+ when chosing elements from the enabled vertex arrays.
+
+
+
+
+
+ Description
+
+ glDrawElementsBaseVertex behaves identically to
+ glDrawElements except that the ith element
+ transferred by the corresponding draw call will be taken from element indices[i] + basevertex
+ of each enabled array. If the resulting value is larger than the maximum value representable by type,
+ it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions).
+ The operation is undefined if the sum would be negative.
+
+
+ Notes
+ glDrawElementsBaseVertex is only supported if the GL version is 3.2 or greater, or if
+ the ARB_draw_elements_base_vertex
extension is supported.
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if count is negative.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glDrawElements,
+ glDrawRangeElements,
+ glDrawRangeElementsBaseVertex,
+ glDrawElementsInstanced,
+ glDrawElementsInstancedBaseVertex
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml b/Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml
new file mode 100644
index 00000000..96838742
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glDrawElementsIndirect
+ 3G
+
+
+ glDrawElementsIndirect
+ render indexed primitives from array data, taking parameters from memory
+
+ C Specification
+
+
+ void glDrawElementsIndirect
+ GLenum mode
+ GLenum type
+ const void *indirect
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, and
+ GL_PATCHES
+ are accepted.
+
+
+
+
+ type
+
+
+ Specifies the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding.
+
+
+
+
+ indirect
+
+
+ Specifies the address of a structure containing the draw parameters.
+
+
+
+
+
+ Description
+
+ glDrawElementsIndirect specifies multiple indexed geometric primitives
+ with very few subroutine calls. glDrawElementsIndirect behaves
+ similarly to glDrawElementsInstancedBaseVertex,
+ execpt that the parameters to glDrawElementsInstancedBaseVertex
+ are stored in memory at the address given by indirect.
+
+
+ The parameters addressed by indirect are packed into a structure
+ that takes the form (in C):
+
+
+ glDrawElementsIndirect is equivalent to:
+
+count,
+ type,
+ cmd->firstIndex + size-of-type,
+ cmd->primCount,
+ cmd->baseVertex);
+ }]]>
+
+
+ If a buffer is bound to the GL_INDIRECT_BUFFER binding at the time
+ of a call to glDrawElementsIndirect, indirect
+ is interpreted as an offset, in basic machine units, into that buffer and the parameter
+ data is read from the buffer rather than from client memory.
+
+
+ Note that indices stored in client memory are not supported. If no buffer is bound to the
+ GL_ELEMENT_ARRAY_BUFFER binding, an error will be generated.
+
+
+ The results of the operation are undefined if the reservedMustBeZero
member
+ of the parameter structure is non-zero. However, no error is generated in this case.
+
+
+ Vertex attributes that are modified by glDrawElementsIndirect have an
+ unspecified value after glDrawElementsIndirect returns. Attributes that aren't
+ modified remain well defined.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_OPERATION is generated if no buffer is bound to the GL_ELEMENT_ARRAY_BUFFER
+ binding, or if such a buffer's data store is currently mapped.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or to the GL_INDIRECT_BUFFER binding and the buffer object's data store is currently mapped.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if mode is GL_PATCHES
+ and no tessellation control shader is active.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawArraysInstanced,
+ glDrawArraysIndirect,
+ glDrawElements,
+ glDrawRangeElements,
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml b/Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml
new file mode 100644
index 00000000..9431a76d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDrawElementsInstanced
+ 3G
+
+
+ glDrawElementsInstanced
+ draw multiple instances of a set of elements
+
+ C Specification
+
+
+ void glDrawElementsInstanced
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void * indices
+ GLsizei primcount
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
+
+
+
+
+ count
+
+
+ Specifies the number of elements to be rendered.
+
+
+
+
+ type
+
+
+ Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE,
+ GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
+
+
+
+
+ indices
+
+
+ Specifies a pointer to the location where the indices are stored.
+
+
+
+
+ primcount
+
+
+ Specifies the number of instances of the specified range of indices to be rendered.
+
+
+
+
+
+ Description
+
+ glDrawElementsInstanced behaves identically to glDrawElements
+ except that primcount instances of the set of elements are executed and the value of the internal counter
+ instanceID advances for each iteration. instanceID is an internal 32-bit integer counter
+ that may be read by a vertex shader as gl_InstanceID.
+
+
+ glDrawElementsInstanced has the same effect as:
+
+
+
+ Notes
+
+ glDrawElementsInstanced is available only if the GL version is 3.1 or greater.
+
+
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not one of GL_POINTS,
+ GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES,
+ GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, or GL_TRIANGLES.
+
+
+ GL_INVALID_VALUE is generated if count or primcount are negative.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glDrawElements,
+ glDrawArraysInstanced
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml b/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml
new file mode 100644
index 00000000..0ea63f06
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDrawElementsInstancedBaseVertex
+ 3G
+
+
+ glDrawElementsInstancedBaseVertex
+ render multiple instances of a set of primitives from array data with a per-element offset
+
+ C Specification
+
+
+ void glDrawElementsInstancedBaseVertex
+ GLenum mode
+ GLsizei count
+ GLenum type
+ GLvoid *indices
+ GLsizei primcount
+ GLint basevertex
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP,
+ GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
+
+
+
+
+ count
+
+
+ Specifies the number of elements to be rendered.
+
+
+
+
+ type
+
+
+ Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE,
+ GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
+
+
+
+
+ indices
+
+
+ Specifies a pointer to the location where the indices are stored.
+
+
+
+
+ primcount
+
+
+ Specifies the number of instances of the indexed geometry that should be drawn.
+
+
+
+
+ basevertex
+
+
+ Specifies a constant that should be added to each element of indices
+ when chosing elements from the enabled vertex arrays.
+
+
+
+
+
+ Description
+
+ glDrawElementsInstancedBaseVertex behaves identically to
+ glDrawElementsInstanced except that the ith element
+ transferred by the corresponding draw call will be taken from element indices[i] + basevertex
+ of each enabled array. If the resulting value is larger than the maximum value representable by type,
+ it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions).
+ The operation is undefined if the sum would be negative.
+
+
+ Notes
+ glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater.
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if count or primcount is negative.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glDrawElements,
+ glDrawRangeElements,
+ glDrawRangeElementsBaseVertex,
+ glDrawElementsInstanced,
+ glDrawElementsInstancedBaseVertex
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawRangeElements.xml b/Source/Bind/Specifications/Docs/glDrawRangeElements.xml
index 9d460685..9124c19a 100644
--- a/Source/Bind/Specifications/Docs/glDrawRangeElements.xml
+++ b/Source/Bind/Specifications/Docs/glDrawRangeElements.xml
@@ -42,12 +42,14 @@
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
- GL_QUAD_STRIP,
- GL_QUADS,
- and GL_POLYGON are accepted.
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
@@ -109,7 +111,7 @@
GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES.
If
-
+
end
-
@@ -123,7 +125,7 @@
GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced
performance. There is no requirement that all vertices in the range
-
+
start
end
@@ -138,37 +140,28 @@
enabled array, starting at start to construct a sequence of
geometric primitives. mode specifies what kind of primitives are
constructed, and how the array elements construct these primitives. If
- more than one array is enabled, each is used. If
- GL_VERTEX_ARRAY is not enabled, no geometric primitives are
- constructed.
+ more than one array is enabled, each is used.
Vertex attributes that are modified by glDrawRangeElements have an
- unspecified value after glDrawRangeElements returns. For example, if
- GL_COLOR_ARRAY is enabled, the value of the current color is
- undefined after glDrawRangeElements executes. Attributes that aren't
+ unspecified value after glDrawRangeElements returns. Attributes that aren't
modified maintain their previous values.
Notes
- glDrawRangeElements is available only if the GL version is 1.2 or greater.
-
-
- glDrawRangeElements is included in display lists. If glDrawRangeElements is entered into a
- display list,
- the necessary array data (determined by the array pointers and
- enables) is also
- entered into the display list. Because the array pointers and
- enables are client-side state, their values affect display lists
- when the lists are created, not when the lists are executed.
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
Errors
It is an error for indices to lie outside the range
-
+
start
end
@@ -186,7 +179,7 @@
GL_INVALID_VALUE is generated if
-
+
end
<
@@ -195,12 +188,12 @@
.
- GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
- enabled array or the element array and the buffer object's data store is currently mapped.
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
- GL_INVALID_OPERATION is generated if glDrawRangeElements is executed between
- the execution of glBegin and the corresponding glEnd.
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
Associated Gets
@@ -213,18 +206,9 @@
See Also
- glArrayElement,
- glColorPointer,
glDrawArrays,
glDrawElements,
- glEdgeFlagPointer,
- glGetPointerv,
- glIndexPointer,
- glInterleavedArrays,
- glNormalPointer,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexPointer
+ glDrawElementsBaseVertex
Copyright
diff --git a/Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml
new file mode 100644
index 00000000..c0417eae
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glDrawRangeElementsBaseVertex
+ 3G
+
+
+ glDrawRangeElementsBaseVertex
+ render primitives from array data with a per-element offset
+
+ C Specification
+
+
+ void glDrawRangeElementsBaseVertex
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ GLvoid *indices
+ GLint basevertex
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP,
+ GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
+
+
+
+
+ start
+
+
+ Specifies the minimum array index contained in indices.
+
+
+
+
+ end
+
+
+ Specifies the maximum array index contained in indices.
+
+
+
+
+ count
+
+
+ Specifies the number of elements to be rendered.
+
+
+
+
+ type
+
+
+ Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE,
+ GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
+
+
+
+
+ indices
+
+
+ Specifies a pointer to the location where the indices are stored.
+
+
+
+
+ basevertex
+
+
+ Specifies a constant that should be added to each element of indices
+ when chosing elements from the enabled vertex arrays.
+
+
+
+
+
+ Description
+
+ glDrawRangeElementsBaseVertex is a restricted form of
+ glDrawElementsBaseVertex. mode,
+ start, end, count and basevertex match
+ the corresponding arguments to glDrawElementsBaseVertex, with the additional
+ constraint that all values in the array indices must lie between start and end,
+ inclusive, prior to adding basevertex. Index values lying outside the range [start, end]
+ are treated in the same way as glDrawElementsBaseVertex. The ith element
+ transferred by the corresponding draw call will be taken from element indices[i] + basevertex of each enabled
+ array. If the resulting value is larger than the maximum value representable by type, it is as if the calculation were upconverted to
+ 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if count is negative.
+
+
+ GL_INVALID_VALUE is generated if end < start.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glDrawElements,
+ glDrawElementsBaseVertex,
+ glDrawRangeElements,
+ glDrawElementsInstanced,
+ glDrawElementsInstancedBaseVertex
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml b/Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml
new file mode 100644
index 00000000..26f4936b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glDrawTransformFeedback
+ 3G
+
+
+ glDrawTransformFeedback
+ render primitives using a count derived from a transform feedback object
+
+ C Specification
+
+
+ void glDrawTransformFeedback
+ GLenum mode
+ GLuint id
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, and
+ GL_PATCHES
+ are accepted.
+
+
+
+
+ id
+
+
+ Specifies the name of a transform feedback object from which to retrieve a primitive count.
+
+
+
+
+
+ Description
+
+ glDrawTransformFeedback draws primitives of a type specified by mode using
+ a count retrieved from the transform feedback specified by id. Calling glDrawTransformFeedback
+ is equivalent to calling glDrawArrays with mode
+ as specified, first set to zero, and count set to the number of vertices captured
+ on vertex stream zero the last time transform feedback was active on the transform feedback object named by id.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if id is not the name of a transform feedback
+ object.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array and the buffer object's data store is currently mapped.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if mode is GL_PATCHES
+ and no tessellation control shader is active.
+
+
+ GL_INVALID_OPERATION is generated if glEndTransformFeedback
+ has never been called while the transform feedback object named by id was bound.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawArraysInstanced,
+ glDrawElements,
+ glDrawRangeElements,
+ glDrawTransformFeedbackStream
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml b/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml
new file mode 100644
index 00000000..aa72460c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glDrawTransformFeedbackStream
+ 3G
+
+
+ glDrawTransformFeedbackStream
+ render primitives using a count derived from a specifed stream of a transform feedback object
+
+ C Specification
+
+
+ void glDrawTransformFeedbackStream
+ GLenum mode
+ GLuint id
+ GLuint stream
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY, and
+ GL_PATCHES
+ are accepted.
+
+
+
+
+ id
+
+
+ Specifies the name of a transform feedback object from which to retrieve a primitive count.
+
+
+
+
+ stream
+
+
+ Specifies the index of the transform feedback stream from which to retrieve a primitive count.
+
+
+
+
+
+ Description
+
+ glDrawTransformFeedbackStream draws primitives of a type specified by mode using
+ a count retrieved from the transform feedback stream specified by stream of the transform feedback object
+ specified by id. Calling glDrawTransformFeedbackStream
+ is equivalent to calling glDrawArrays with mode
+ as specified, first set to zero, and count set to the number of vertices captured
+ on vertex stream stream the last time transform feedback was active on the transform feedback object named
+ by id.
+
+
+ Calling glDrawTransformFeedback is equivalent to calling glDrawTransformFeedbackStream
+ with stream set to zero.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if id is not the name of a transform feedback
+ object.
+
+
+ GL_INVALID_VALUE is generated if stream is greater than or equal to
+ the value of GL_MAX_VERTEX_STREAMS.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array and the buffer object's data store is currently mapped.
+
+
+ GL_INVALID_OPERATION is generated if a geometry shader is active and mode
+ is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
+
+ GL_INVALID_OPERATION is generated if mode is GL_PATCHES
+ and no tessellation control shader is active.
+
+
+ GL_INVALID_OPERATION is generated if glEndTransformFeedback
+ has never been called while the transform feedback object named by id was bound.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawArraysInstanced,
+ glDrawElements,
+ glDrawRangeElements,
+ glDrawTransformFeedback
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glEnable.xml b/Source/Bind/Specifications/Docs/glEnable.xml
index 5bc32f74..9204e3ec 100644
--- a/Source/Bind/Specifications/Docs/glEnable.xml
+++ b/Source/Bind/Specifications/Docs/glEnable.xml
@@ -56,50 +56,87 @@
+ C Specification
+
+
+ void glEnablei
+ GLenum cap
+ GLuint index
+
+
+
+ Parameters
+
+
+ cap
+
+
+ Specifies a symbolic constant indicating a GL capability.
+
+
+
+
+ index
+
+
+ Specifies the index of the swtich to enable.
+
+
+
+
+
+ C Specification
+
+
+ void glDisablei
+ GLenum cap
+ GLuint index
+
+
+
+ Parameters
+
+
+ cap
+
+
+ Specifies a symbolic constant indicating a GL capability.
+
+
+
+
+ index
+
+
+ Specifies the index of the swtich to disable.
+
+
+
+
+
Description
glEnable and glDisable enable and disable various capabilities.
Use glIsEnabled or glGet to determine the current setting
of any capability. The initial value for each capability with the
- exception of GL_DITHER and GL_MULTISAMPLE is GL_FALSE. The initial value for
+ exception of GL_DITHER and GL_MULTISAMPLE is
+ GL_FALSE. The initial value for
GL_DITHER and GL_MULTISAMPLE is GL_TRUE.
Both glEnable and glDisable take a single argument, cap,
which can assume one of the following values:
+
+ Some of the GL's capabilities are indicated. glEnablei and glDisablei enable and disable
+ indexed capabilities.
+
-
- GL_ALPHA_TEST
-
-
-
-
- If enabled,
- do alpha testing. See
- glAlphaFunc.
-
-
-
-
- GL_AUTO_NORMAL
-
-
-
-
- If enabled,
- generate normal vectors when either
- GL_MAP2_VERTEX_3 or
- GL_MAP2_VERTEX_4 is used to generate vertices.
- See glMap2.
-
-
-
GL_BLEND
-
-
+
+
If enabled,
blend the computed fragment color values with the values in the color
@@ -108,22 +145,20 @@
- GL_CLIP_PLANEi
+ GL_CLIP_DISTANCEi
-
-
+
+
- If enabled,
- clip geometry against user-defined clipping plane i.
- See glClipPlane.
+ If enabled, clip geometry against user-defined half space i.
GL_COLOR_LOGIC_OP
-
-
+
+
If enabled,
apply the currently selected logical operation to the computed fragment
@@ -131,71 +166,11 @@
-
- GL_COLOR_MATERIAL
-
-
-
-
- If enabled,
- have one or more material parameters track the current color.
- See glColorMaterial.
-
-
-
-
- GL_COLOR_SUM
-
-
-
-
- If enabled and no fragment shader is active,
- add the secondary color value to the computed fragment color.
- See glSecondaryColor.
-
-
-
-
- GL_COLOR_TABLE
-
-
-
-
- If enabled,
- perform a color table lookup on the incoming RGBA color values.
- See glColorTable.
-
-
-
-
- GL_CONVOLUTION_1D
-
-
-
-
- If enabled,
- perform a 1D convolution operation on incoming RGBA color values.
- See glConvolutionFilter1D.
-
-
-
-
- GL_CONVOLUTION_2D
-
-
-
-
- If enabled,
- perform a 2D convolution operation on incoming RGBA color values.
- See glConvolutionFilter2D.
-
-
-
GL_CULL_FACE
-
-
+
+
If enabled,
cull polygons based on their winding in window coordinates.
@@ -203,11 +178,29 @@
+
+ GL_DEPTH_CLAMP
+
+
+
+
+ If enabled,
+ the
+
+
+ -wc≤zc≤wc
+
+ plane equation is ignored by view volume clipping (effectively, there is no near or
+ far plane clipping).
+ See glDepthRange.
+
+
+
GL_DEPTH_TEST
-
-
+
+
If enabled,
do depth comparisons and update the depth buffer. Note that even if
@@ -219,10 +212,10 @@
- GL_DITHER
+ GL_DITHER
-
-
+
+
If enabled,
dither color components or indices before they are written to the
@@ -230,74 +223,11 @@
-
- GL_FOG
-
-
-
-
- If enabled and no fragment shader is active,
- blend a fog color into the post-texturing color.
- See glFog.
-
-
-
-
- GL_HISTOGRAM
-
-
-
-
- If enabled,
- histogram incoming RGBA color values.
- See glHistogram.
-
-
-
-
- GL_INDEX_LOGIC_OP
-
-
-
-
- If enabled,
- apply the currently selected logical operation to the incoming index and color
- buffer indices.
- See glLogicOp.
-
-
-
-
- GL_LIGHTi
-
-
-
-
- If enabled,
- include light i in the evaluation of the lighting
- equation. See glLightModel and glLight.
-
-
-
-
- GL_LIGHTING
-
-
-
-
- If enabled and no vertex shader is active,
- use the current lighting parameters to compute the vertex color or index.
- Otherwise, simply associate the current color or index with each
- vertex. See
- glMaterial, glLightModel, and glLight.
-
-
-
GL_LINE_SMOOTH
-
-
+
+
If enabled,
draw lines with correct filtering.
@@ -307,339 +237,11 @@
-
- GL_LINE_STIPPLE
-
-
-
-
- If enabled,
- use the current line stipple pattern when drawing lines. See
- glLineStipple.
-
-
-
-
- GL_MAP1_COLOR_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate RGBA values.
- See glMap1.
-
-
-
-
- GL_MAP1_INDEX
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate color indices.
- See glMap1.
-
-
-
-
- GL_MAP1_NORMAL
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate normals.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_1
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- s
- texture coordinates.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_2
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- s and
- t texture coordinates.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_3
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- s,
- t, and
- r texture coordinates.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- s,
- t,
- r, and
- q texture coordinates.
- See glMap1.
-
-
-
-
- GL_MAP1_VERTEX_3
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- x, y, and z vertex coordinates.
- See glMap1.
-
-
-
-
- GL_MAP1_VERTEX_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord1,
- glEvalMesh1, and
- glEvalPoint1 generate
- homogeneous
- x,
- y,
- z, and
- w vertex coordinates.
- See glMap1.
-
-
-
-
- GL_MAP2_COLOR_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate RGBA values.
- See glMap2.
-
-
-
-
- GL_MAP2_INDEX
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate color indices.
- See glMap2.
-
-
-
-
- GL_MAP2_NORMAL
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate normals.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_1
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- s
- texture coordinates.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_2
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- s and
- t texture coordinates.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_3
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- s,
- t, and
- r texture coordinates.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- s,
- t,
- r, and
- q texture coordinates.
- See glMap2.
-
-
-
-
- GL_MAP2_VERTEX_3
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- x, y, and z vertex coordinates.
- See glMap2.
-
-
-
-
- GL_MAP2_VERTEX_4
-
-
-
-
- If enabled,
- calls to
- glEvalCoord2,
- glEvalMesh2, and
- glEvalPoint2 generate
- homogeneous
- x,
- y,
- z, and
- w vertex coordinates.
- See glMap2.
-
-
-
-
- GL_MINMAX
-
-
-
-
- If enabled,
- compute the minimum and maximum values of incoming RGBA color values.
- See glMinmax.
-
-
-
GL_MULTISAMPLE
-
-
+
+
If enabled,
use multiple fragment samples in computing the final color of a pixel.
@@ -647,53 +249,11 @@
-
- GL_NORMALIZE
-
-
-
-
- If enabled and no vertex shader is active,
- normal vectors are normalized to unit length
- after transformation and before lighting. This method is generally
- less efficient than GL_RESCALE_NORMAL. See
- glNormal and
- glNormalPointer.
-
-
-
-
- GL_POINT_SMOOTH
-
-
-
-
- If enabled,
- draw points with proper filtering.
- Otherwise,
- draw aliased points.
- See glPointSize.
-
-
-
-
- GL_POINT_SPRITE
-
-
-
-
- If enabled,
- calculate texture coordinates for points based on texture
- environment and point parameter settings. Otherwise texture coordinates
- are constant across points.
-
-
-
GL_POLYGON_OFFSET_FILL
-
-
+
+
If enabled, and if the polygon is rendered in
GL_FILL mode, an offset is added to depth values of a polygon's
@@ -705,8 +265,8 @@
GL_POLYGON_OFFSET_LINE
-
-
+
+
If enabled, and if the polygon is rendered in
GL_LINE mode, an offset is added to depth values of a polygon's
@@ -718,8 +278,8 @@
GL_POLYGON_OFFSET_POINT
-
-
+
+
If enabled, an offset is added to depth values of a polygon's fragments
before the depth comparison is performed, if the polygon is rendered in
@@ -730,8 +290,8 @@
GL_POLYGON_SMOOTH
-
-
+
+
If enabled, draw polygons with proper filtering.
Otherwise, draw aliased polygons. For correct antialiased polygons,
@@ -741,64 +301,23 @@
- GL_POLYGON_STIPPLE
+ GL_PRIMITIVE_RESTART
-
-
+
+
- If enabled,
- use the current polygon stipple pattern when rendering
- polygons. See glPolygonStipple.
-
-
-
-
- GL_POST_COLOR_MATRIX_COLOR_TABLE
-
-
-
-
- If enabled,
- perform a color table lookup on RGBA color values after color matrix
- transformation.
- See glColorTable.
-
-
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE
-
-
-
-
- If enabled,
- perform a color table lookup on RGBA color values after convolution.
- See glColorTable.
-
-
-
-
- GL_RESCALE_NORMAL
-
-
-
-
- If enabled and no vertex shader is active,
- normal vectors are scaled after transformation and before
- lighting by a factor computed from the modelview matrix. If the
- modelview matrix scales space uniformly, this has the effect of
- restoring the transformed normal to unit length. This method is generally
- more efficient than GL_NORMALIZE. See
- glNormal and
- glNormalPointer.
+ Enables primitive restarting. If enabled, any one of the draw commands
+ which transfers a set of generic attribute array elements to the GL will restart
+ the primitive when the index of the vertex is equal to the primitive restart index.
+ See glPrimitiveRestartIndex.
GL_SAMPLE_ALPHA_TO_COVERAGE
-
-
+
+
If enabled,
compute a temporary coverage value where each bit is determined by the
@@ -810,8 +329,8 @@
GL_SAMPLE_ALPHA_TO_ONE
-
-
+
+
If enabled,
each sample alpha value is replaced by the maximum representable alpha value.
@@ -821,8 +340,8 @@
GL_SAMPLE_COVERAGE
-
-
+
+
If enabled,
the fragment's coverage is ANDed with the temporary coverage value. If
@@ -832,23 +351,11 @@
-
- GL_SEPARABLE_2D
-
-
-
-
- If enabled, perform a two-dimensional convolution operation using a separable
- convolution filter on incoming RGBA color values.
- See glSeparableFilter2D.
-
-
-
GL_SCISSOR_TEST
-
-
+
+
If enabled,
discard fragments that are outside the scissor rectangle.
@@ -859,8 +366,8 @@
GL_STENCIL_TEST
-
-
+
+
If enabled,
do stencil testing and update the stencil buffer.
@@ -869,188 +376,54 @@
- GL_TEXTURE_1D
+ GL_TEXTURE_CUBE_MAP_SEAMLESS
-
-
+
+
- If enabled and no fragment shader is active,
- one-dimensional texturing is performed
- (unless two- or three-dimensional or cube-mapped texturing is also enabled).
- See glTexImage1D.
+ If enabled, modifies the way sampling is performed on cube map textures. See the spec for more information.
- GL_TEXTURE_2D
+ GL_PROGRAM_POINT_SIZE
-
-
-
- If enabled and no fragment shader is active,
- two-dimensional texturing is performed
- (unless three-dimensional or cube-mapped texturing is also enabled).
- See glTexImage2D.
-
-
-
-
- GL_TEXTURE_3D
-
-
-
-
- If enabled and no fragment shader is active,
- three-dimensional texturing is performed
- (unless cube-mapped texturing is also enabled).
- See glTexImage3D.
-
-
-
-
- GL_TEXTURE_CUBE_MAP
-
-
-
-
- If enabled and no fragment shader is active,
- cube-mapped texturing is performed.
- See glTexImage2D.
-
-
-
-
- GL_TEXTURE_GEN_Q
-
-
-
-
- If enabled and no vertex shader is active,
- the q texture coordinate is computed using
- the texture generation function defined with glTexGen.
- Otherwise, the current q texture coordinate is used.
- See glTexGen.
-
-
-
-
- GL_TEXTURE_GEN_R
-
-
-
-
- If enabled and no vertex shader is active,
- the r texture coordinate is computed using
- the texture generation function defined with glTexGen.
- Otherwise, the current r texture coordinate is used.
- See glTexGen.
-
-
-
-
- GL_TEXTURE_GEN_S
-
-
-
-
- If enabled and no vertex shader is active,
- the s texture coordinate is computed using
- the texture generation function defined with glTexGen.
- Otherwise, the current s texture coordinate is used.
- See glTexGen.
-
-
-
-
- GL_TEXTURE_GEN_T
-
-
-
-
- If enabled and no vertex shader is active,
- the t texture coordinate is computed using
- the texture generation function defined with glTexGen.
- Otherwise, the current t texture coordinate is used.
- See glTexGen.
-
-
-
-
- GL_VERTEX_PROGRAM_POINT_SIZE
-
-
-
+
+
If enabled
- and a vertex shader is active, then the derived point size is taken from the (potentially clipped) shader builtin
+ and a vertex or geometry shader is active, then the derived point size is taken from the (potentially clipped) shader builtin
gl_PointSize and clamped to the implementation-dependent point size range.
-
- GL_VERTEX_PROGRAM_TWO_SIDE
-
-
-
-
- If enabled
- and a vertex shader is active, it specifies that the GL will choose between front and back colors based on the
- polygon's face direction of which the vertex being shaded is a part. It has no effect on points or lines.
-
-
-
- Notes
-
- GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE,
- GL_POLYGON_OFFSET_POINT,
- GL_COLOR_LOGIC_OP, and GL_INDEX_LOGIC_OP are available
- only if the GL version is 1.1 or greater.
-
-
- GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the
- GL version is 1.2 or greater.
-
-
- GL_MULTISAMPLE,
- GL_SAMPLE_ALPHA_TO_COVERAGE,
- GL_SAMPLE_ALPHA_TO_ONE,
- GL_SAMPLE_COVERAGE,
- GL_TEXTURE_CUBE_MAP
- are available only if the GL version is 1.3 or greater.
-
-
- GL_POINT_SPRITE,
- GL_VERTEX_PROGRAM_POINT_SIZE, and
- GL_VERTEX_PROGRAM_TWO_SIDE
- is available only if the GL version is 2.0 or greater.
-
-
- GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D,
- GL_HISTOGRAM, GL_MINMAX,
- GL_POST_COLOR_MATRIX_COLOR_TABLE,
- GL_POST_CONVOLUTION_COLOR_TABLE, and
- GL_SEPARABLE_2D are available only if ARB_imaging
is returned
- from glGet with an argument of GL_EXTENSIONS.
-
-
- For OpenGL versions 1.3 and greater, or when ARB_multitexture
is supported, GL_TEXTURE_1D,
- GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_GEN_S,
- GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, and GL_TEXTURE_GEN_Q
- enable or disable the respective state for the active texture unit
- specified with glActiveTexture.
-
-
Errors
GL_INVALID_ENUM is generated if cap is not one of the values
listed previously.
- GL_INVALID_OPERATION is generated if glEnable or glDisable
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_VALUE is generated by glEnablei and glDisablei
+ if index is greater than or equal to the number of indexed capabilities for cap.
+
+
+ Notes
+
+ GL_PRIMITIVE_RESTART is available only if the GL version is 3.1 or greater.
+
+
+ GL_TEXTURE_CUBE_MAP_SEAMLESS is available only if the GL version is 3.2 or greater.
+
+
+ Any token accepted by glEnable or glDisable is also accepted by
+ glEnablei and glDisablei, but if the capability is not indexed,
+ the maximum value that index may take is zero.
+
+
+ In general, passing an indexed capability to glEnable or glDisable
+ will enable or disable that capability for all indices, resepectively.
Associated Gets
@@ -1064,36 +437,21 @@
See Also
glActiveTexture,
- glAlphaFunc,
glBlendFunc,
- glClipPlane,
- glColorMaterial,
glCullFace,
glDepthFunc,
glDepthRange,
- glEnableClientState,
- glFog,
glGet,
glIsEnabled,
- glLight,
- glLightModel,
glLineWidth,
- glLineStipple,
glLogicOp,
- glMap1,
- glMap2,
- glMaterial,
- glNormal,
- glNormalPointer,
glPointSize,
glPolygonMode,
glPolygonOffset,
- glPolygonStipple,
glSampleCoverage,
glScissor,
glStencilFunc,
glStencilOp,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D
@@ -1102,7 +460,8 @@
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010 Khronos Group.
+ This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml
index 3b0ab922..be9dd57c 100644
--- a/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml
+++ b/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml
@@ -1,102 +1,87 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glEnableVertexAttribArray
- 3G
+ glEnableVertexAttribArray
+ 3G
- glEnableVertexAttribArray
- glEnableVertexAttribArray
- glDisableVertexAttribArray
- Enable or disable a generic vertex attribute array
+ glEnableVertexAttribArray
+ glEnableVertexAttribArray
+ glDisableVertexAttribArray
+ Enable or disable a generic vertex attribute array
C Specification
-
-
- void glEnableVertexAttribArray
- GLuint index
-
-
- void glDisableVertexAttribArray
- GLuint index
-
-
+
+
+ void glEnableVertexAttribArray
+ GLuint index
+
+
+ void glDisableVertexAttribArray
+ GLuint index
+
+
Parameters
-
-
- index
-
- Specifies the index of the generic vertex
- attribute to be enabled or disabled.
-
-
-
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be enabled or disabled.
+
+
+
Description
- glEnableVertexAttribArray enables the
- generic vertex attribute array specified by
- index.
- glDisableVertexAttribArray disables the
- generic vertex attribute array specified by
- index. By default, all client-side
- capabilities are disabled, including all generic vertex
- attribute arrays. If enabled, the values in the generic vertex
- attribute array will be accessed and used for rendering when
- calls are made to vertex array commands such as
- glDrawArrays,
- glDrawElements,
- glDrawRangeElements,
- glArrayElement,
- glMultiDrawElements,
- or
- glMultiDrawArrays.
-
- Notes
- glEnableVertexAttribArray and
- glDisableVertexAttribArray are available
- only if the GL version is 2.0 or greater.
+ glEnableVertexAttribArray enables the
+ generic vertex attribute array specified by
+ index.
+ glDisableVertexAttribArray disables the
+ generic vertex attribute array specified by
+ index. By default, all client-side
+ capabilities are disabled, including all generic vertex
+ attribute arrays. If enabled, the values in the generic vertex
+ attribute array will be accessed and used for rendering when
+ calls are made to vertex array commands such as
+ glDrawArrays,
+ glDrawElements,
+ glDrawRangeElements,
+ glMultiDrawElements,
+ or
+ glMultiDrawArrays.
Errors
- GL_INVALID_VALUE is generated if
- index is greater than or equal to
- GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to
+ GL_MAX_VERTEX_ATTRIBS.
- GL_INVALID_OPERATION is generated if either
- glEnableVertexAttribArray or
- glDisableVertexAttribArray is executed
- between the execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS
- glGetVertexAttrib
- with arguments index and
- GL_VERTEX_ATTRIB_ARRAY_ENABLED
-
+ glGetVertexAttrib
+ with arguments index and
+ GL_VERTEX_ATTRIB_ARRAY_ENABLED
+
- glGetVertexAttribPointerv
- with arguments index and
- GL_VERTEX_ATTRIB_ARRAY_POINTER
+ glGetVertexAttribPointerv
+ with arguments index and
+ GL_VERTEX_ATTRIB_ARRAY_POINTER
See Also
- glArrayElement,
- glBindAttribLocation,
- glDrawArrays,
- glDrawElements,
- glDrawRangeElements,
- glMultiDrawElements,
- glPopClientAttrib,
- glPushClientAttrib,
- glVertexAttrib,
- glVertexAttribPointer
-
+
+ glBindAttribLocation,
+ glDrawArrays,
+ glDrawElements,
+ glDrawRangeElements,
+ glMultiDrawElements,
+ glVertexAttrib,
+ glVertexAttribPointer
+
Copyright
diff --git a/Source/Bind/Specifications/Docs/glFenceSync.xml b/Source/Bind/Specifications/Docs/glFenceSync.xml
new file mode 100644
index 00000000..098ea3b5
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFenceSync.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFenceSync
+ 3G
+
+
+ glFenceSync
+ create a new sync object and insert it into the GL command stream
+
+ C Specification
+
+
+ GLsync glFenceSync
+ GLenum condition
+ GLbitfield flags
+
+
+
+
+ Parameters
+
+
+ condition
+
+
+ Specifies the condition that must be met to set the sync object's state to signaled. condition
+ must be GL_SYNC_GPU_COMMANDS_COMPLETE.
+
+
+
+
+ flags
+
+
+ Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined
+ for this operation and flags must be zero.
+ flags is a placeholder for anticipated future extensions of fence sync object capabilities.
+
+
+
+
+
+
+
+ Description
+
+ glFenceSync creates a new fence sync object, inserts a fence command into the GL command stream and
+ associates it with that sync object, and returns a non-zero name corresponding to the sync object.
+
+
+ When the specified condition of the sync object is satisfied by the fence command, the sync object
+ is signaled by the GL, causing any glWaitSync,
+ glClientWaitSync commands blocking in sync
+ to unblock. No other state is affected by glFenceSync or by the execution
+ of the associated fence command.
+
+
+ condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. This condition is satisfied by
+ completion of the fence command corresponding to the sync object and all preceding commands in the same command stream.
+ The sync object will not be signaled until all effects from these commands on GL client and server state and the
+ framebuffer are fully realized. Note that completion of the fence command occurs once the state of the corresponding sync
+ object has been changed, but commands waiting on that sync object may not be unblocked until after the fence command completes.
+
+
+ Notes
+ glFenceSync is only supported if the GL version is 3.2 or greater, or if
+ the ARB_sync
extension is supported.
+
+ Errors
+
+ GL_INVALID_ENUM is generated if condition is not
+ GL_SYNC_GPU_COMMANDS_COMPLETE.
+
+
+ GL_INVALID_VALUE is generated if flags is not zero.
+
+
+ Additionally, if glFenceSync fails, it will return zero.
+
+
+ See Also
+
+ glDeleteSync,
+ glGetSync,
+ glWaitSync,
+ glClientWaitSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFinish.xml b/Source/Bind/Specifications/Docs/glFinish.xml
index 0d6341d8..57d86d8a 100644
--- a/Source/Bind/Specifications/Docs/glFinish.xml
+++ b/Source/Bind/Specifications/Docs/glFinish.xml
@@ -38,13 +38,6 @@
glFinish requires a round trip to the server.
- Errors
-
- GL_INVALID_OPERATION is generated if glFinish is executed between
- the execution of glBegin
- and the corresponding execution of glEnd.
-
-
See Also
glFlush
diff --git a/Source/Bind/Specifications/Docs/glFlush.xml b/Source/Bind/Specifications/Docs/glFlush.xml
index 3e56a10c..c7fad464 100644
--- a/Source/Bind/Specifications/Docs/glFlush.xml
+++ b/Source/Bind/Specifications/Docs/glFlush.xml
@@ -52,13 +52,6 @@
issued GL commands is complete.
- Errors
-
- GL_INVALID_OPERATION is generated if glFlush
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
See Also
glFinish
diff --git a/Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml b/Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml
new file mode 100644
index 00000000..35a0a506
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFlushMappedBufferRange
+ 3G
+
+
+ glFlushMappedBufferRange
+ indicate modifications to a range of a mapped buffer
+
+ C Specification
+
+
+ GLsync glFlushMappedBufferRange
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the flush operation. target must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
+ GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_BUFFER.
+
+
+
+
+ offset
+
+
+ Specifies the start of the buffer subrange, in basic machine units.
+
+
+
+
+ length
+
+
+ Specifies the length of the buffer subrange, in basic machine units.
+
+
+
+
+
+ Description
+
+ glFlushMappedBufferRange indicates that modifications have been made to a range of a mapped buffer.
+ The buffer must previously have been mapped with the GL_MAP_FLUSH_EXPLICIT flag. offset
+ and length indicate the modified subrange of the mapping, in basic units. The specified subrange to flush
+ is relative to the start of the currently mapped range of the buffer. glFlushMappedBufferRange may be called
+ multiple times to indicate distinct subranges of the mapping which require flushing.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if offset or length
+ is negative, or if offset + length exceeds the size of the mapping.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to target.
+
+
+ GL_INVALID_OPERATION is generated if the buffer bound to target is not
+ mapped, or is mapped without the GL_MAP_FLUSH_EXPLICIT flag.
+
+
+ See Also
+
+ glMapBufferRange,
+ glMapBuffer,
+ glUnmapBuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml b/Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml
new file mode 100644
index 00000000..a1a21b8b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFramebufferRenderbuffer
+ 3G
+
+
+ glFramebufferRenderbuffer
+ attach a renderbuffer as a logical buffer to the currently bound framebuffer object
+
+ C Specification
+
+
+ GLsync glFramebufferRenderbuffer
+ GLenum target
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER
+ is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+
+
+ attachment
+
+
+ Specifies the attachment point of the framebuffer.
+
+
+
+
+ renderbuffertarget
+
+
+ Specifies the renderbuffer target and must be GL_RENDERBUFFER.
+
+
+
+
+ renderbuffer
+
+
+ Specifies the name of an existing renderbuffer object of type renderbuffertarget to attach.
+
+
+
+
+
+ Description
+
+ glFramebufferRenderbuffer attaches a renderbuffer as one of the logical buffers of the
+ currently bound framebuffer object. renderbuffer is the name of the renderbuffer object
+ to attach and must be either zero, or the name of an existing renderbuffer object of type renderbuffertarget.
+ If renderbuffer is not zero and if glFramebufferRenderbuffer is
+ successful, then the renderbuffer name renderbuffer will be used as the logical buffer
+ identified by attachment of the framebuffer currently bound to target.
+
+
+ The value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the specified attachment point is
+ set to GL_RENDERBUFFER and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
+ is set to renderbuffer. All other state values of the attachment point specified by
+ attachment are set to their default values. No change is made to the state of the renderbuuffer
+ object and any previous attachment to the attachment logical buffer of the framebuffer
+ target is broken.
+
+
+ Calling glFramebufferRenderbuffer with the renderbuffer name zero will detach the image, if any,
+ identified by attachment, in the framebuffer currently bound to target.
+ All state values of the attachment point specified by attachment in the object bound to target are set to their default values.
+
+
+ Setting attachment to the value GL_DEPTH_STENCIL_ATTACHMENT is a special
+ case causing both the depth and stencil attachments of the framebuffer object to be set to renderbuffer,
+ which should have the base internal format GL_DEPTH_STENCIL.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to target.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glGenRenderbuffers,
+ glFramebufferTexture,
+ glFramebufferTexture1D,
+ glFramebufferTexture2D,
+ glFramebufferTexture3D
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFramebufferTexture.xml b/Source/Bind/Specifications/Docs/glFramebufferTexture.xml
new file mode 100644
index 00000000..1e8f9aa3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFramebufferTexture.xml
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFramebufferTexture
+ 3G
+
+
+ glFramebufferTexture
+ attach a level of a texture object as a logical buffer to the currently bound framebuffer object
+
+ C Specification
+
+
+ void glFramebufferTexture
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glFramebufferTexture1D
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glFramebufferTexture2D
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glFramebufferTexture3D
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER
+ is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+
+
+ attachment
+
+
+ Specifies the attachment point of the framebuffer. attachment must be
+ GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT,
+ GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT.
+
+
+
+
+ texture
+
+
+ Specifies the texture object to attach to the framebuffer attachment point named by attachment.
+
+
+
+
+ level
+
+
+ Specifies the mipmap level of texture to attach.
+
+
+
+
+
+ Description
+
+ glFramebufferTexture, glFramebufferTexture1D, glFramebufferTexture2D,
+ and glFramebufferTexture attach a selected mipmap level or image of a texture object as one of the
+ logical buffers of the framebuffer object currently bound to target. target must
+ be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER.
+ GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+ attachment specifies the logical attachment of the framebuffer and must be
+ GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT,
+ GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT.
+ i in GL_COLOR_ATTACHMENTi may range from zero to
+ the value of GL_MAX_COLOR_ATTACHMENTS - 1. Attaching a level of a texture to
+ GL_DEPTH_STENCIL_ATTACHMENT is equivalent to attaching that level to both the
+ GL_DEPTH_ATTACHMENT and the GL_STENCIL_ATTACHMENT
+ attachment points simultaneously.
+
+
+ If texture is non-zero, the specified level of the texture object named
+ texture is attached to the framebfufer attachment point named by attachment.
+ For glFramebufferTexture1D, glFramebufferTexture2D, and
+ glFramebufferTexture3D, texture must be zero or the name of an existing
+ texture with a target of textarget, or texture must be the name
+ of an existing cube-map texture and textarget must be one of GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, or
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
+
+
+ If textarget is GL_TEXTURE_RECTANGLE, GL_TEXTURE_2D_MULTISAMPLE,
+ or GL_TEXTURE_2D_MULTISAMPLE_ARRAY, then level must be zero. If textarget
+ is GL_TEXTURE_3D, then level must be greater than or equal to zero and less than or equal to log2
+ of the value of GL_MAX_3D_TEXTURE_SIZE. If textarget is one of GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, then level must be greater
+ than or equal to zero and less than or equal to log2 of the value of GL_MAX_CUBE_MAP_TEXTURE_SIZE. For all other
+ values of textarget, level must be greater than or equal to zero and no larger than log2
+ of the value of GL_MAX_TEXTURE_SIZE.
+
+
+ layer specifies the layer of a 2-dimensional image within a 3-dimensional texture.
+
+
+ For glFramebufferTexture1D, if texture is not zero, then textarget must
+ be GL_TEXTURE_1D. For glFramebufferTexture2D, if texture is not zero,
+ textarget must be one of GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or
+ GL_TEXTURE_2D_MULTISAMPLE. For glFramebufferTexture3D, if texture is
+ not zero, then textarget must be GL_TEXTURE_3D.
+
+
+ Notes
+
+ glFramebufferTexture is available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to target.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glGenRenderbuffers,
+ glFramebufferTexture,
+ glFramebufferTexture1D,
+ glFramebufferTexture2D,
+ glFramebufferTexture3D
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml b/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml
new file mode 100644
index 00000000..79971008
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFramebufferTextureFace
+ 3G
+
+
+ glFramebufferTextureFace
+ attach a face of a cube map texture as a logical buffer to the currently bound framebuffer
+
+ C Specification
+
+
+ void glFramebufferTextureFace
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLenum face
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER
+ is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+
+
+ attachment
+
+
+ Specifies the attachment point of the framebuffer. attachment must be
+ GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT,
+ GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT.
+
+
+
+
+ texture
+
+
+ Specifies the texture object to attach to the framebuffer attachment point named by attachment.
+ texture must be the name of an existing cube-map texture.
+
+
+
+
+ level
+
+
+ Specifies the mipmap level of texture to attach.
+
+
+
+
+ face
+
+
+ Specifies the face of texture to attach.
+
+
+
+
+
+ Description
+
+ glFramebufferTextureFace operates like glFramebufferTexture,
+ except that only a single face of a cube map texture, given by face, is attached to the attachment point.
+ face must be GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+ or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. texture must either be zero, or the name of an existing cube map texture.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if attachment is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if face is not one of the accepted tokens.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to target.
+
+
+ GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing cube map texture.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glGenRenderbuffers,
+ glFramebufferTexture,
+ glFramebufferTextureLayer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml b/Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml
new file mode 100644
index 00000000..3d7bff13
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glFramebufferTextureLayer
+ 3G
+
+
+ glFramebufferTextureLayer
+ attach a single layer of a texture to a framebuffer
+
+ C Specification
+
+
+ void glFramebufferTextureLayer
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER
+ is equivalent to GL_DRAW_FRAMEBUFFER.
+
+
+
+
+ attachment
+
+
+ Specifies the attachment point of the framebuffer. attachment must be
+ GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT,
+ GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT.
+
+
+
+
+ texture
+
+
+ Specifies the texture object to attach to the framebuffer attachment point named by attachment.
+
+
+
+
+ level
+
+
+ Specifies the mipmap level of texture to attach.
+
+
+
+
+ layer
+
+
+ Specifies the layer of texture to attach.
+
+
+
+
+
+ Description
+
+ glFramebufferTextureLayer operates like glFramebufferTexture,
+ except that only a single layer of the texture level, given by layer, is attached to the attachment point.
+ If texture is not zero, layer must be greater than or equal to zero.
+ texture must either be zero or the name of an existing three-dimensional texture, one- or two-dimensional array texture,
+ or multisample array texture.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if attachment is not one of the accepted tokens.
+
+
+ GL_INVALID_VALUE is generated if texture is not zero or the name of an existing
+ texture object.
+
+
+ GL_INVALID_VALUE is generated if texture is not zero and layer
+ is negative.
+
+
+ GL_INVALID_OPERATION is generated if zero is bound to target.
+
+
+ GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing cube map texture.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glGenRenderbuffers,
+ glFramebufferTexture,
+ glFramebufferTextureFace
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glFrontFace.xml b/Source/Bind/Specifications/Docs/glFrontFace.xml
index 1af2a16d..7114da1f 100644
--- a/Source/Bind/Specifications/Docs/glFrontFace.xml
+++ b/Source/Bind/Specifications/Docs/glFrontFace.xml
@@ -73,11 +73,6 @@
GL_INVALID_ENUM is generated if mode is not an accepted value.
-
- GL_INVALID_OPERATION is generated if glFrontFace
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -87,7 +82,6 @@
See Also
glCullFace,
- glLightModel
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGenBuffers.xml b/Source/Bind/Specifications/Docs/glGenBuffers.xml
index c8c9bb11..95c8a643 100644
--- a/Source/Bind/Specifications/Docs/glGenBuffers.xml
+++ b/Source/Bind/Specifications/Docs/glGenBuffers.xml
@@ -62,20 +62,10 @@
glBindBuffer.
- Notes
-
- glGenBuffers is available only if the GL version is 1.5 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
-
- GL_INVALID_OPERATION is generated if glGenBuffers is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glGenFramebuffers.xml b/Source/Bind/Specifications/Docs/glGenFramebuffers.xml
new file mode 100644
index 00000000..73db24e4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenFramebuffers.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGenFramebuffers
+ 3G
+
+
+ glGenFramebuffers
+ generate framebuffer object names
+
+ C Specification
+
+
+ void glGenFramebuffers
+ GLsizei n
+ GLuint *ids
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of framebuffer object names to generate.
+
+
+
+
+ ids
+
+
+ Specifies an array in which the generated framebuffer object names are stored.
+
+
+
+
+
+ Description
+
+ glGenFramebuffers returns n framebuffer object names in ids.
+ There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names
+ was in use immediately before the call to glGenFramebuffers.
+
+
+ Framebuffer object names returned by a call to glGenFramebuffers are not returned by subsequent calls, unless
+ they are first deleted with glDeleteFramebuffers.
+
+
+ The names returned in ids are marked as used, for the purposes of glGenFramebuffers only,
+ but they acquire state and type only when they are first bound.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glBindFramebuffer,
+ glDeleteFramebuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenProgramPipelines.xml b/Source/Bind/Specifications/Docs/glGenProgramPipelines.xml
new file mode 100644
index 00000000..6fefb76a
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenProgramPipelines.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGenProgramPipelines
+ 3G
+
+
+ glGenProgramPipelines
+ reserve program pipeline object names
+
+ C Specification
+
+
+ void glGenProgramPipelines
+ GLsizei n
+ GLuint *pipelines
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of program pipeline object names to reserve.
+
+
+
+
+ pipelines
+
+
+ Specifies an array of into which the reserved names will be written.
+
+
+
+
+
+ Description
+
+ glGenProgramPipelines returns n previously unused
+ program pipeline object names in pipelines. These names are marked as used,
+ for the purposes of glGenProgramPipelines only, but they
+ acquire program pipeline state only when they are first bound.
+
+
+ Associated Gets
+
+ glGet with argument GL_PROGRAM_PIPELINE_BINDING
+
+
+ glIsProgramPipeline
+
+
+ See Also
+
+ glDeleteProgramPipelines,
+ glBindProgramPipeline,
+ glIsProgramPipeline,
+ glUseShaderPrograms,
+ glUseProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenQueries.xml b/Source/Bind/Specifications/Docs/glGenQueries.xml
index 4c75254a..dea7ac3c 100644
--- a/Source/Bind/Specifications/Docs/glGenQueries.xml
+++ b/Source/Bind/Specifications/Docs/glGenQueries.xml
@@ -62,11 +62,6 @@
glBeginQuery.
- Notes
-
- glGenQueries is available only if the GL version is 1.5 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
@@ -76,11 +71,6 @@
between the execution of glBeginQuery and the corresponding
execution of glEndQuery.
-
- GL_INVALID_OPERATION is generated if glGenQueries is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glGenRenderbuffers.xml b/Source/Bind/Specifications/Docs/glGenRenderbuffers.xml
new file mode 100644
index 00000000..b38ffdf2
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenRenderbuffers.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGenRenderbuffers
+ 3G
+
+
+ glGenRenderbuffers
+ generate renderbuffer object names
+
+ C Specification
+
+
+ void glGenRenderbuffers
+ GLsizei n
+ GLuint *renderbuffers
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of renderbuffer object names to generate.
+
+
+
+
+ renderbuffers
+
+
+ Specifies an array in which the generated renderbuffer object names are stored.
+
+
+
+
+
+ Description
+
+ glGenRenderbuffers returns n renderbuffer object names in renderbuffers.
+ There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names
+ was in use immediately before the call to glGenRenderbuffers.
+
+
+ Renderbuffer object names returned by a call to glGenRenderbuffers are not returned by subsequent calls, unless
+ they are first deleted with glDeleteRenderbuffers.
+
+
+ The names returned in renderbuffers are marked as used, for the purposes of glGenRenderbuffers only,
+ but they acquire state and type only when they are first bound.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glFramebufferRenderbuffer,
+ glDeleteRenderbuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenSamplers.xml b/Source/Bind/Specifications/Docs/glGenSamplers.xml
new file mode 100644
index 00000000..f0283459
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenSamplers.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGenSamplers
+ 3G
+
+
+ glGenSamplers
+ generate sampler object names
+
+ C Specification
+
+
+ void glGenSamplers
+ GLsizei n
+ GLuint *samplers
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of sampler object names to generate.
+
+
+
+
+ samplers
+
+
+ Specifies an array in which the generated sampler object names are stored.
+
+
+
+
+
+ Description
+
+ glGenSamplers returns n sampler object names in samplers.
+ There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names
+ was in use immediately before the call to glGenSamplers.
+
+
+ Sampler object names returned by a call to glGenSamplers are not returned by subsequent calls, unless
+ they are first deleted with glDeleteSamplers.
+
+
+ The names returned in samplers are marked as used, for the purposes of glGenSamplers only,
+ but they acquire state and type only when they are first bound.
+
+
+ Notes
+
+ glGenSamplers is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glBindSampler,
+ glIsSampler,
+ glDeleteSamplers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenTextures.xml b/Source/Bind/Specifications/Docs/glGenTextures.xml
index bf97c33b..1f84256d 100644
--- a/Source/Bind/Specifications/Docs/glGenTextures.xml
+++ b/Source/Bind/Specifications/Docs/glGenTextures.xml
@@ -63,20 +63,10 @@
glDeleteTextures.
- Notes
-
- glGenTextures is available only if the GL version is 1.1 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if n is negative.
-
- GL_INVALID_OPERATION is generated if glGenTextures is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml
new file mode 100644
index 00000000..005fbebc
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGenTransformFeedbacks
+ 3G
+
+
+ glGenTransformFeedbacks
+ reserve transform feedback object names
+
+ C Specification
+
+
+ void glGenTransformFeedbacks
+ GLsizei n
+ GLuint *ids
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of transform feedback object names to reserve.
+
+
+
+
+ ids
+
+
+ Specifies an array of into which the reserved names will be written.
+
+
+
+
+
+ Description
+
+ glGenTransformFeedbacks returns n previously unused
+ transform feedback object names in ids. These names are marked as used,
+ for the purposes of glGenTransformFeedbacks only, but they
+ acquire transform feedback state only when they are first bound.
+
+
+ Associated Gets
+
+ glGet with argument GL_TRANSFORM_FEEDBACK_BINDING
+
+
+ glIsTransformFeedback
+
+
+ See Also
+
+ glDeleteTransformFeedbacks,
+ glBindTransformFeedback,
+ glIsTransformFeedback,
+ glBeginTransformFeedback,
+ glPauseTransformFeedback,
+ glResumeTransformFeedback,
+ glEndTransformFeedback
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenVertexArrays.xml b/Source/Bind/Specifications/Docs/glGenVertexArrays.xml
new file mode 100644
index 00000000..a960c969
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenVertexArrays.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGenVertexArrays
+ 3G
+
+
+ glGenVertexArrays
+ generate vertex array object names
+
+ C Specification
+
+
+ void glGenVertexArrays
+ GLsizei n
+ GLuint *arrays
+
+
+
+
+ Parameters
+
+
+ n
+
+
+ Specifies the number of vertex array object names to generate.
+
+
+
+
+ arrays
+
+
+ Specifies an array in which the generated vertex array object names are stored.
+
+
+
+
+
+ Description
+
+ glGenVertexArrays returns n vertex array object names in arrays.
+ There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names
+ was in use immediately before the call to glGenVertexArrays.
+
+
+ Vertex array object names returned by a call to glGenVertexArrays are not returned by subsequent calls, unless
+ they are first deleted with glDeleteVertexArrays.
+
+
+ The names returned in arrays are marked as used, for the purposes of glGenVertexArrays only,
+ but they acquire state and type only when they are first bound.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if n is negative.
+
+
+ See Also
+
+ glBindVertexArray,
+ glDeleteVertexArrays
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGenerateMipmap.xml b/Source/Bind/Specifications/Docs/glGenerateMipmap.xml
new file mode 100644
index 00000000..686cd47a
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGenerateMipmap.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGenerateMipmap
+ 3G
+
+
+ glGenerateMipmap
+ generate mipmaps for a specified texture target
+
+ C Specification
+
+
+ void glGenerateMipmap
+ GLenum target
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target to which the texture whose mimaps to generate is bound. target must
+ be GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,
+ GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY or
+ GL_TEXTURE_CUBE_MAP.
+
+
+
+
+
+ Description
+
+ glGenerateMipmap generates mipmaps for the texture attached
+ to target of the active texture unit. For cube map textures,
+ a GL_INVALID_OPERATION error is generated if the texture
+ attached to target is not cube complete.
+
+
+ Mipmap generation replaces texel array levels
+
+
+
+
+ level
+ base
+
+ +
+ 1
+
+
+ through
+
+
+ q
+
+
+ with arrays derived from the
+
+
+
+
+ level
+ base
+
+
+
+ array, regardless of their previous contents. All other mimap arrays,
+ including the
+
+
+
+
+ level
+ base
+
+
+
+ array, are left unchanged by this computation.
+
+
+ The internal formats of the derived mipmap arrays all match those of the
+
+
+
+
+ level
+ base
+
+
+
+ array. The contents of the derived arrays are computed by repeated, filtered
+ reduction of the
+
+
+
+
+ level
+ base
+
+
+
+ array. For one- and two-dimensional texture arrays, each layer is filtered
+ independently.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not
+ one of the accepted texture targets.
+
+
+ GL_INVALID_OPERATION is generated if target is
+ GL_TEXTURE_CUBE_MAP and the texture bound to the GL_TEXTURE_CUBE_MAP
+ target of the active texture unit is not cube complete.
+
+
+ See Also
+
+ glTexImage2D,
+ glBindTexture,
+ glGenTextures
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGet.xml b/Source/Bind/Specifications/Docs/glGet.xml
index e8ca9196..0cb25980 100644
--- a/Source/Bind/Specifications/Docs/glGet.xml
+++ b/Source/Bind/Specifications/Docs/glGet.xml
@@ -52,6 +52,15 @@
+ C Specification
+
+
+ void glGetInteger64v
+ GLenum pname
+ GLint64 * params
+
+
+
Parameters
@@ -74,6 +83,66 @@
+ C Specification
+
+
+ void glGetBooleani_v
+ GLenum pname
+ GLuint index
+ GLboolean * data
+
+
+
+ C Specification
+
+
+ void glGetIntegeri_v
+ GLenum pname
+ GLuint index
+ GLint * data
+
+
+
+ C Specification
+
+
+ void glGetInteger64i_v
+ GLenum pname
+ GLuint index
+ GLint64 * data
+
+
+
+
+ Parameters
+
+
+ pname
+
+
+ Specifies the parameter value to be returned.
+ The symbolic constants in the list below are accepted.
+
+
+
+
+ index
+
+
+ Specifies the index of the particular element being queried.
+
+
+
+
+ data
+
+
+ Returns the value or values of the specified parameter.
+
+
+
+
+
Description
These four commands return values for simple state variables in GL.
@@ -96,7 +165,7 @@
the most positive representable integer value
and
-
+
-1.0
to the most negative representable integer value.
@@ -108,78 +177,11 @@
The following symbolic constants are accepted by pname:
-
- GL_ACCUM_ALPHA_BITS
-
-
-
-
- params returns one value,
- the number of alpha bitplanes in the accumulation buffer.
-
-
-
-
- GL_ACCUM_BLUE_BITS
-
-
-
-
- params returns one value,
- the number of blue bitplanes in the accumulation buffer.
-
-
-
-
- GL_ACCUM_CLEAR_VALUE
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha values used to clear the accumulation buffer.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer
- value. The initial value is (0, 0, 0, 0).
- See glClearAccum.
-
-
-
-
- GL_ACCUM_GREEN_BITS
-
-
-
-
- params returns one value,
- the number of green bitplanes in the accumulation buffer.
-
-
-
-
- GL_ACCUM_RED_BITS
-
-
-
-
- params returns one value,
- the number of red bitplanes in the accumulation buffer.
-
-
-
GL_ACTIVE_TEXTURE
-
-
+
+
params returns a single value indicating the active multitexture unit.
The initial value is GL_TEXTURE0.
@@ -187,115 +189,22 @@
-
- GL_ALIASED_POINT_SIZE_RANGE
-
-
-
-
- params returns two values,
- the smallest and largest supported sizes for aliased points.
-
-
-
GL_ALIASED_LINE_WIDTH_RANGE
-
-
+
+
- params returns two values,
- the smallest and largest supported widths for aliased lines.
-
-
-
-
- GL_ALPHA_BIAS
-
-
-
-
- params returns one value,
- the alpha bias factor used during pixel transfers. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_ALPHA_BITS
-
-
-
-
- params returns one value,
- the number of alpha bitplanes in each color buffer.
-
-
-
-
- GL_ALPHA_SCALE
-
-
-
-
- params returns one value,
- the alpha scale factor used
- during pixel transfers. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_ALPHA_TEST
-
-
-
-
- params returns a single boolean value indicating whether alpha testing
- of fragments is enabled. The initial value is GL_FALSE.
- See glAlphaFunc.
-
-
-
-
- GL_ALPHA_TEST_FUNC params returns one value,
-
-
-
-
- the symbolic name of the alpha test function. The initial value is
- GL_ALWAYS.
- See glAlphaFunc.
-
-
-
-
- GL_ALPHA_TEST_REF
-
-
-
-
- params returns one value,
- the reference value for the alpha test. The initial value is 0.
- See glAlphaFunc.
- An integer value,
- if requested,
- is linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer value.
+ params returns a pair of values indicating the range of
+ widths supported for aliased lines. See glLineWidth.
GL_ARRAY_BUFFER_BINDING
-
-
+
+
params returns a single value, the name of the buffer object
currently bound to the target GL_ARRAY_BUFFER. If no buffer object
@@ -304,48 +213,11 @@
-
- GL_ATTRIB_STACK_DEPTH
-
-
-
-
- params returns one value,
- the depth of the attribute stack.
- If the stack is empty,
- 0 is returned. The initial value is 0.
- See glPushAttrib.
-
-
-
-
- GL_AUTO_NORMAL
-
-
-
-
- params returns a single boolean value indicating whether 2D map evaluation
- automatically generates surface normals. The initial value is GL_FALSE.
- See glMap2.
-
-
-
-
- GL_AUX_BUFFERS
-
-
-
-
- params returns one value,
- the number of auxiliary color buffers available.
-
-
-
-
+
GL_BLEND
-
-
+
+
params returns a single boolean value indicating whether blending is
enabled. The initial value is GL_FALSE.
@@ -356,8 +228,8 @@
GL_BLEND_COLOR
-
-
+
+
params returns four values,
the red, green, blue, and alpha values which are the components of
@@ -369,8 +241,8 @@
GL_BLEND_DST_ALPHA
-
-
+
+
params returns one value,
the symbolic constant identifying the alpha destination blend
@@ -382,8 +254,8 @@
GL_BLEND_DST_RGB
-
-
+
+
params returns one value,
the symbolic constant identifying the RGB destination blend
@@ -395,8 +267,8 @@
GL_BLEND_EQUATION_RGB
-
-
+
+
params returns one value, a symbolic constant indicating whether
the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT,
@@ -408,8 +280,8 @@
GL_BLEND_EQUATION_ALPHA
-
-
+
+
params returns one value, a symbolic constant indicating whether
the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT,
@@ -421,8 +293,8 @@
GL_BLEND_SRC_ALPHA
-
-
+
+
params returns one value,
the symbolic constant identifying the alpha source blend function. The initial
@@ -434,8 +306,8 @@
GL_BLEND_SRC_RGB
-
-
+
+
params returns one value,
the symbolic constant identifying the RGB source blend function. The initial
@@ -444,147 +316,11 @@
-
- GL_BLUE_BIAS
-
-
-
-
- params returns one value,
- the blue bias factor used during pixel transfers. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_BLUE_BITS
-
-
-
-
- params returns one value,
- the number of blue bitplanes in each color buffer.
-
-
-
-
- GL_BLUE_SCALE
-
-
-
-
- params returns one value,
- the blue scale factor used during pixel transfers. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_CLIENT_ACTIVE_TEXTURE
-
-
-
-
- params returns a single integer value indicating the current client active
- multitexture unit. The initial value is GL_TEXTURE0.
- See glClientActiveTexture.
-
-
-
-
- GL_CLIENT_ATTRIB_STACK_DEPTH
-
-
-
-
- params returns one value indicating the depth of the
- attribute stack. The initial value is 0.
- See glPushClientAttrib.
-
-
-
-
- GL_CLIP_PLANEi
-
-
-
-
- params returns a single boolean value indicating whether the specified
- clipping plane is enabled. The initial value is GL_FALSE.
- See glClipPlane.
-
-
-
-
- GL_COLOR_ARRAY
-
-
-
-
- params returns a single boolean value indicating whether the color array is enabled. The initial value is GL_FALSE.
- See glColorPointer.
-
-
-
-
- GL_COLOR_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the color array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glColorPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_COLOR_ARRAY_SIZE
-
-
-
-
- params returns one value,
- the number of components per color in the color array. The initial value
- is 4.
- See glColorPointer.
-
-
-
-
- GL_COLOR_ARRAY_STRIDE
-
-
-
-
- params returns one value,
- the byte offset between consecutive colors in the color array. The initial
- value is 0.
- See glColorPointer.
-
-
-
-
- GL_COLOR_ARRAY_TYPE
-
-
-
-
- params returns one value,
- the data type of each component in the color array. The initial value
- is GL_FLOAT.
- See glColorPointer.
-
-
-
GL_COLOR_CLEAR_VALUE
-
-
+
+
params returns four values:
the red, green, blue, and alpha values used to clear the color buffers.
@@ -594,7 +330,7 @@
that 1.0 returns the most positive representable integer value,
and
-
+
-1.0
returns the most negative representable integer
@@ -606,8 +342,8 @@
GL_COLOR_LOGIC_OP
-
-
+
+
params returns a single boolean value indicating whether a fragment's
RGBA color values are merged into the framebuffer using a logical
@@ -616,101 +352,11 @@
-
- GL_COLOR_MATERIAL
-
-
-
-
- params returns a single boolean value indicating whether one or more
- material parameters are tracking the current color. The initial value
- is GL_FALSE.
- See glColorMaterial.
-
-
-
-
- GL_COLOR_MATERIAL_FACE
-
-
-
-
- params returns one value,
- a symbolic constant indicating which materials have a parameter that is
- tracking the current color. The initial value is GL_FRONT_AND_BACK.
- See glColorMaterial.
-
-
-
-
- GL_COLOR_MATERIAL_PARAMETER
-
-
-
-
- params returns one value,
- a symbolic constant indicating which material parameters are
- tracking the current color. The initial value is
- GL_AMBIENT_AND_DIFFUSE.
- See glColorMaterial.
-
-
-
-
- GL_COLOR_MATRIX
-
-
-
-
- params returns sixteen values:
- the color matrix on the top of the color matrix stack. Initially
- this matrix is the identity matrix.
- See glPushMatrix.
-
-
-
-
- GL_COLOR_MATRIX_STACK_DEPTH
-
-
-
-
- params returns one value,
- the maximum supported depth of the projection matrix stack. The value must
- be at least 2.
- See glPushMatrix.
-
-
-
-
- GL_COLOR_SUM
-
-
-
-
- params returns a single boolean value indicating whether primary and
- secondary color sum is enabled.
- See glSecondaryColor.
-
-
-
-
- GL_COLOR_TABLE
-
-
-
-
- params returns a single boolean value indicating whether the color table
- lookup is enabled.
- See glColorTable.
-
-
-
GL_COLOR_WRITEMASK
-
-
+
+
params returns four boolean values:
the red, green, blue, and alpha write enables for the color
@@ -723,8 +369,8 @@
GL_COMPRESSED_TEXTURE_FORMATS
-
-
+
+
params returns a list of symbolic
constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS
@@ -734,34 +380,21 @@
- GL_CONVOLUTION_1D
+ GL_CONTEXT_FLAGS
-
-
+
+
- params returns a single boolean value indicating whether 1D convolution
- is enabled. The initial value is GL_FALSE.
- See glConvolutionFilter1D.
-
-
-
-
- GL_CONVOLUTION_2D
-
-
-
-
- params returns a single boolean value indicating whether 2D convolution
- is enabled. The initial value is GL_FALSE.
- See glConvolutionFilter2D.
+ params returns one value,
+ the flags with which the context was created (such as debugging functionality).
GL_CULL_FACE
-
-
+
+
params returns a single boolean value indicating whether polygon culling
is enabled. The initial value is GL_FALSE.
@@ -769,94 +402,11 @@
-
- GL_CULL_FACE_MODE
-
-
-
-
- params returns one value,
- a symbolic constant indicating which polygon faces are to be
- culled. The initial value is GL_BACK.
- See glCullFace.
-
-
-
-
- GL_CURRENT_COLOR
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha values of the current color.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer value.
- The initial value is (1, 1, 1, 1).
- See glColor.
-
-
-
-
- GL_CURRENT_FOG_COORD
-
-
-
-
- params returns one value, the current fog coordinate. The initial value
- is 0.
- See glFogCoord.
-
-
-
-
- GL_CURRENT_INDEX
-
-
-
-
- params returns one value,
- the current color index. The initial value is 1.
- See glIndex.
-
-
-
-
- GL_CURRENT_NORMAL
-
-
-
-
- params returns three values:
- the x, y, and z values of the current normal.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer value.
- The initial value is (0, 0, 1).
- See glNormal.
-
-
-
GL_CURRENT_PROGRAM
-
-
+
+
params returns one value,
the name of the program object that is currently active, or 0 if no program object is active.
@@ -864,176 +414,11 @@
-
- GL_CURRENT_RASTER_COLOR
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha color values of the current raster position.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer
- value. The initial value is (1, 1, 1, 1).
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_DISTANCE
-
-
-
-
- params returns one value, the distance from the eye to the current
- raster position. The initial value is 0.
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_INDEX
-
-
-
-
- params returns one value,
- the color index of the current raster position. The initial value is 1.
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_POSITION
-
-
-
-
- params returns four values:
- the x, y, z, and w components of the current
- raster position.
- x, y, and z are in window coordinates,
- and w is in clip coordinates. The initial value is (0, 0, 0, 1).
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_POSITION_VALID
-
-
-
-
- params returns a single boolean value indicating whether the current
- raster position is valid. The initial value is GL_TRUE.
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_SECONDARY_COLOR
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha secondary color values of the current raster position.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer
- value. The initial value is (1, 1, 1, 1).
- See glRasterPos.
-
-
-
-
- GL_CURRENT_RASTER_TEXTURE_COORDS
-
-
-
-
- params returns four values: the s, t, r, and q
- texture coordinates of the current raster position. The initial value is (0, 0, 0, 1).
- See glRasterPos and glMultiTexCoord.
-
-
-
-
- GL_CURRENT_SECONDARY_COLOR
-
-
-
-
- params returns four values: the red, green, blue, and alpha values of the
- current secondary color. Integer values, if requested, are linearly mapped
- from the internal floating-point representation such that 1.0 returns the
- most positive representable integer value, and
-
-
- -1.0
-
- returns the most
- negative representable integer value. The initial value is (0, 0, 0, 0).
- See glSecondaryColor.
-
-
-
-
- GL_CURRENT_TEXTURE_COORDS
-
-
-
-
- params returns four values:
- the s, t, r, and q current texture
- coordinates. The initial value is (0, 0, 0, 1).
- See glMultiTexCoord.
-
-
-
-
- GL_DEPTH_BIAS
-
-
-
-
- params returns one value,
- the depth bias factor used during pixel transfers. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_DEPTH_BITS
-
-
-
-
- params returns one value,
- the number of bitplanes in the depth buffer.
-
-
-
GL_DEPTH_CLEAR_VALUE
-
-
+
+
params returns one value,
the value that is used to clear the depth buffer.
@@ -1043,7 +428,7 @@
that 1.0 returns the most positive representable integer value,
and
-
+
-1.0
returns the most negative representable integer
@@ -1055,8 +440,8 @@
GL_DEPTH_FUNC
-
-
+
+
params returns one value,
the symbolic constant that indicates the depth comparison
@@ -1068,8 +453,8 @@
GL_DEPTH_RANGE
-
-
+
+
params returns two values:
the near and far mapping limits for the depth buffer.
@@ -1079,7 +464,7 @@
that 1.0 returns the most positive representable integer value,
and
-
+
-1.0
returns the most negative representable integer
@@ -1088,23 +473,11 @@
-
- GL_DEPTH_SCALE
-
-
-
-
- params returns one value,
- the depth scale factor used during pixel transfers. The initial value is 1.
- See glPixelTransfer.
-
-
-
GL_DEPTH_TEST
-
-
+
+
params returns a single boolean value indicating whether depth testing
of fragments is enabled. The initial value is GL_FALSE.
@@ -1115,8 +488,8 @@
GL_DEPTH_WRITEMASK
-
-
+
+
params returns a single boolean value indicating if the depth buffer
is enabled for writing. The initial value is GL_TRUE.
@@ -1127,8 +500,8 @@
GL_DITHER
-
-
+
+
params returns a single boolean value indicating whether dithering of
fragment colors and indices is enabled. The initial value is GL_TRUE.
@@ -1138,8 +511,8 @@
GL_DOUBLEBUFFER
-
-
+
+
params returns a single boolean value indicating whether double buffering
is supported.
@@ -1149,8 +522,8 @@
GL_DRAW_BUFFER
-
-
+
+
params returns one value,
a symbolic constant indicating which buffers are being drawn to.
@@ -1162,8 +535,8 @@
GL_DRAW_BUFFERi
-
-
+
+
params returns one value,
a symbolic constant indicating which buffers are being drawn to by the corresponding output color.
@@ -1175,62 +548,36 @@
- GL_EDGE_FLAG
+ GL_DRAW_FRAMEBFUFER_BINDING
-
-
-
- params returns a single boolean value indicating whether the current
- edge flag is GL_TRUE or GL_FALSE. The initial value is GL_TRUE.
- See glEdgeFlag.
-
-
-
-
- GL_EDGE_FLAG_ARRAY
-
-
-
-
- params returns a single boolean value indicating whether the edge
- flag array is enabled. The initial value is GL_FALSE.
- See glEdgeFlagPointer.
-
-
-
-
- GL_EDGE_FLAG_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the edge flag array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glEdgeFlagPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_EDGE_FLAG_ARRAY_STRIDE
-
-
-
+
+
params returns one value,
- the byte offset between consecutive edge flags in the edge flag
- array. The initial value is 0.
- See glEdgeFlagPointer.
+ the name of the framebuffer object currently bound to the GL_DRAW_FRAMEBUFFER target.
+ If the default framebuffer is bound, this value will be zero. The initial value is zero.
+ See glBindFramebuffer.
+
+
+
+
+ GL_READ_FRAMEBFUFER_BINDING
+
+
+
+
+ params returns one value,
+ the name of the framebuffer object currently bound to the GL_READ_FRAMEBUFFER target.
+ If the default framebuffer is bound, this value will be zero. The initial value is zero.
+ See glBindFramebuffer.
GL_ELEMENT_ARRAY_BUFFER_BINDING
-
-
+
+
params returns a single value, the name of the buffer object
currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object
@@ -1239,205 +586,11 @@
-
- GL_FEEDBACK_BUFFER_SIZE
-
-
-
-
- params returns one value, the size of the feedback buffer.
- See glFeedbackBuffer.
-
-
-
-
- GL_FEEDBACK_BUFFER_TYPE
-
-
-
-
- params returns one value, the type of the feedback buffer.
- See glFeedbackBuffer.
-
-
-
-
- GL_FOG
-
-
-
-
- params returns a single boolean value indicating whether fogging is
- enabled. The initial value is GL_FALSE.
- See glFog.
-
-
-
-
- GL_FOG_COORD_ARRAY
-
-
-
-
- params returns a single boolean value indicating whether the fog coordinate array is enabled. The initial value is GL_FALSE.
- See glFogCoordPointer.
-
-
-
-
- GL_FOG_COORD_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the fog coordinate array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glFogCoordPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_FOG_COORD_ARRAY_STRIDE
-
-
-
-
- params returns one value,
- the byte offset between consecutive fog coordinates in the fog coordinate
- array. The initial value is 0.
- See glFogCoordPointer.
-
-
-
-
- GL_FOG_COORD_ARRAY_TYPE
-
-
-
-
- params returns one value, the type of the fog coordinate array.
- The initial value is GL_FLOAT.
- See glFogCoordPointer.
-
-
-
-
- GL_FOG_COORD_SRC
-
-
-
-
- params returns one value, a symbolic constant indicating the source of the fog coordinate.
- The initial value is GL_FRAGMENT_DEPTH.
- See glFog.
-
-
-
-
- GL_FOG_COLOR
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha components of the fog color.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer
- value. The initial value is (0, 0, 0, 0).
- See glFog.
-
-
-
-
- GL_FOG_DENSITY
-
-
-
-
- params returns one value,
- the fog density parameter. The initial value is 1.
- See glFog.
-
-
-
-
- GL_FOG_END
-
-
-
-
- params returns one value,
- the end factor for the linear fog equation. The initial value is 1.
- See glFog.
-
-
-
-
- GL_FOG_HINT
-
-
-
-
- params returns one value,
- a symbolic constant indicating the mode of the fog hint. The initial value
- is GL_DONT_CARE.
- See glHint.
-
-
-
-
- GL_FOG_INDEX
-
-
-
-
- params returns one value,
- the fog color index. The initial value is 0.
- See glFog.
-
-
-
-
- GL_FOG_MODE
-
-
-
-
- params returns one value,
- a symbolic constant indicating which fog equation is selected. The initial
- value is GL_EXP.
- See glFog.
-
-
-
-
- GL_FOG_START
-
-
-
-
- params returns one value,
- the start factor for the linear fog equation. The initial value is 0.
- See glFog.
-
-
-
GL_FRAGMENT_SHADER_DERIVATIVE_HINT
-
-
+
+
params returns one value,
a symbolic constant indicating the mode of the derivative accuracy hint
@@ -1448,309 +601,34 @@
- GL_FRONT_FACE
+ GL_IMPLEMENTATION_COLOR_READ_FORMAT
-
-
+
+
- params returns one value,
- a symbolic constant indicating whether clockwise or counterclockwise
- polygon winding is treated as front-facing. The initial value is
- GL_CCW.
- See glFrontFace.
+ params returns a single GLenum value indicating
+ the implementation's preferred pixel data format.
+ See glReadPixels.
- GL_GENERATE_MIPMAP_HINT
+ GL_IMPLEMENTATION_COLOR_READ_TYPE
-
-
+
+
- params returns one value,
- a symbolic constant indicating the mode of the mipmap generation filtering
- hint. The initial value is GL_DONT_CARE.
- See glHint.
-
-
-
-
- GL_GREEN_BIAS
-
-
-
-
- params returns one value,
- the green bias factor used during pixel transfers. The initial value is 0.
-
-
-
-
- GL_GREEN_BITS
-
-
-
-
- params returns one value,
- the number of green bitplanes in each color buffer.
-
-
-
-
- GL_GREEN_SCALE
-
-
-
-
- params returns one value,
- the green scale factor used during pixel transfers. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_HISTOGRAM
-
-
-
-
- params returns a single boolean value indicating whether histogram is
- enabled. The initial value is GL_FALSE.
- See glHistogram.
-
-
-
-
- GL_INDEX_ARRAY
-
-
-
-
- params returns a single boolean value indicating whether the color
- index array is enabled. The initial value is GL_FALSE.
- See glIndexPointer.
-
-
-
-
- GL_INDEX_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the color index array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glIndexPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_INDEX_ARRAY_STRIDE
-
-
-
-
- params returns one value,
- the byte offset between consecutive color indexes in the color index
- array. The initial value is 0.
- See glIndexPointer.
-
-
-
-
- GL_INDEX_ARRAY_TYPE
-
-
-
-
- params returns one value,
- the data type of indexes in the color index array. The initial value is
- GL_FLOAT.
- See glIndexPointer.
-
-
-
-
- GL_INDEX_BITS
-
-
-
-
- params returns one value,
- the number of bitplanes in each color index buffer.
-
-
-
-
- GL_INDEX_CLEAR_VALUE
-
-
-
-
- params returns one value,
- the color index used to clear the color index buffers. The initial value
- is 0.
- See glClearIndex.
-
-
-
-
- GL_INDEX_LOGIC_OP
-
-
-
-
- params returns a single boolean value indicating whether a fragment's index
- values are merged into the framebuffer using a logical
- operation. The initial value is GL_FALSE.
- See glLogicOp.
-
-
-
-
- GL_INDEX_MODE
-
-
-
-
- params returns a single boolean value indicating whether the GL is in
- color index mode (GL_TRUE) or RGBA mode (GL_FALSE).
-
-
-
-
- GL_INDEX_OFFSET
-
-
-
-
- params returns one value,
- the offset added to color and stencil indices during pixel
- transfers. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_INDEX_SHIFT
-
-
-
-
- params returns one value,
- the amount that color and stencil indices are shifted during pixel
- transfers. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_INDEX_WRITEMASK
-
-
-
-
- params returns one value,
- a mask indicating which bitplanes of each color index buffer can be
- written. The initial value is all 1's.
- See glIndexMask.
-
-
-
-
- GL_LIGHTi
-
-
-
-
- params returns a single boolean value indicating whether the specified
- light is enabled. The initial value is GL_FALSE.
- See glLight and glLightModel.
-
-
-
-
- GL_LIGHTING
-
-
-
-
- params returns a single boolean value indicating whether lighting is
- enabled. The initial value is GL_FALSE.
- See glLightModel.
-
-
-
-
- GL_LIGHT_MODEL_AMBIENT
-
-
-
-
- params returns four values:
- the red, green, blue, and alpha components of the ambient intensity of
- the entire scene.
- Integer values,
- if requested,
- are linearly mapped from the internal floating-point representation such
- that 1.0 returns the most positive representable integer value,
- and
-
-
- -1.0
-
- returns the most negative representable integer
- value. The initial value is (0.2, 0.2, 0.2, 1.0).
- See glLightModel.
-
-
-
-
- GL_LIGHT_MODEL_COLOR_CONTROL
-
-
-
-
- params returns single enumerated value indicating whether specular
- reflection calculations are separated from normal lighting computations.
- The initial value is GL_SINGLE_COLOR.
-
-
-
-
- GL_LIGHT_MODEL_LOCAL_VIEWER
-
-
-
-
- params returns a single boolean value indicating whether specular reflection
- calculations treat the viewer as being local to the scene. The initial
- value is GL_FALSE.
- See glLightModel.
-
-
-
-
- GL_LIGHT_MODEL_TWO_SIDE
-
-
-
-
- params returns a single boolean value indicating whether separate materials
- are used to compute lighting for front- and back-facing
- polygons. The initial value is GL_FALSE.
- See glLightModel.
+ params returns a single GLenum value indicating
+ the implementation's preferred pixel data type.
+ See glReadPixels.
GL_LINE_SMOOTH
-
-
+
+
params returns a single boolean value indicating whether antialiasing of
lines is enabled. The initial value is GL_FALSE.
@@ -1761,8 +639,8 @@
GL_LINE_SMOOTH_HINT
-
-
+
+
params returns one value,
a symbolic constant indicating the mode of the line antialiasing
@@ -1771,47 +649,11 @@
-
- GL_LINE_STIPPLE
-
-
-
-
- params returns a single boolean value indicating whether stippling of lines
- is enabled. The initial value is GL_FALSE.
- See glLineStipple.
-
-
-
-
- GL_LINE_STIPPLE_PATTERN
-
-
-
-
- params returns one value,
- the 16-bit line stipple pattern. The initial value is all 1's.
- See glLineStipple.
-
-
-
-
- GL_LINE_STIPPLE_REPEAT
-
-
-
-
- params returns one value,
- the line stipple repeat factor. The initial value is 1.
- See glLineStipple.
-
-
-
GL_LINE_WIDTH
-
-
+
+
params returns one value,
the line width as specified with glLineWidth. The initial value is
@@ -1819,11 +661,31 @@
+
+ GL_LAYER_PROVOKING_VERTEX
+
+
+
+
+ params returns one value,
+ the implementation dependent specifc vertex of a primitive that is used to select the rendering layer.
+ If the value returned is equivalent to GL_PROVOKING_VERTEX, then the vertex
+ selection follows the convention specified by
+ glProvokingVertex.
+ If the value returned is equivalent to GL_FIRST_VERTEX_CONVENTION, then the
+ selection is always taken from the first vertex in the primitive.
+ If the value returned is equivalent to GL_LAST_VERTEX_CONVENTION, then the
+ selection is always taken from the last vertex in the primitive.
+ If the value returned is equivalent to GL_UNDEFINED_VERTEX, then the
+ selection is not guaranteed to be taken from any specific vertex in the primitive.
+
+
+
GL_LINE_WIDTH_GRANULARITY
-
-
+
+
params returns one value,
the width difference between adjacent supported widths for antialiased lines.
@@ -1834,8 +696,8 @@
GL_LINE_WIDTH_RANGE
-
-
+
+
params returns two values:
the smallest and largest supported widths for antialiased
@@ -1844,51 +706,11 @@
-
- GL_LIST_BASE
-
-
-
-
- params returns one value,
- the base offset added to all names in arrays presented to
- glCallLists. The initial value is 0.
- See glListBase.
-
-
-
-
- GL_LIST_INDEX
-
-
-
-
- params returns one value,
- the name of the display list currently under construction.
- 0 is returned if no display list is currently under
- construction. The initial value is 0.
- See glNewList.
-
-
-
-
- GL_LIST_MODE
-
-
-
-
- params returns one value,
- a symbolic constant indicating the construction mode of the display list
- currently under construction. The initial value is 0.
- See glNewList.
-
-
-
GL_LOGIC_OP_MODE
-
-
+
+
params returns one value,
a symbolic constant indicating the selected logic operation
@@ -1898,443 +720,187 @@
- GL_MAP1_COLOR_4
+ GL_MAJOR_VERSION
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates colors. The initial value is GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_GRID_DOMAIN
-
-
-
-
- params returns two values:
- the endpoints of the 1D map's grid domain. The initial value is (0, 1).
- See glMapGrid.
-
-
-
-
- GL_MAP1_GRID_SEGMENTS
-
-
-
+
+
params returns one value,
- the number of partitions in the 1D map's grid domain. The initial value
- is 1.
- See glMapGrid.
-
-
-
-
- GL_MAP1_INDEX
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates color indices. The initial value is GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_NORMAL
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates normals. The initial value is GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_1
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 1D texture coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_2
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 2D texture coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_3
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 3D texture coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_TEXTURE_COORD_4
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 4D texture coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_VERTEX_3
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 3D vertex coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP1_VERTEX_4
-
-
-
-
- params returns a single boolean value indicating whether
- 1D evaluation generates 4D vertex coordinates. The initial value is
- GL_FALSE.
- See glMap1.
-
-
-
-
- GL_MAP2_COLOR_4
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates colors. The initial value is GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_GRID_DOMAIN
-
-
-
-
- params returns four values:
- the endpoints of the 2D map's
- i
- and
- j
- grid domains. The initial value
- is (0,1; 0,1).
- See glMapGrid.
-
-
-
-
- GL_MAP2_GRID_SEGMENTS
-
-
-
-
- params returns two values:
- the number of partitions in the 2D map's
- i
- and
- j
- grid
- domains. The initial value is (1,1).
- See glMapGrid.
-
-
-
-
- GL_MAP2_INDEX
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates color indices. The initial value is GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_NORMAL
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates normals. The initial value is GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_1
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 1D texture coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_2
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 2D texture coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_3
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 3D texture coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_TEXTURE_COORD_4
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 4D texture coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_VERTEX_3
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 3D vertex coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP2_VERTEX_4
-
-
-
-
- params returns a single boolean value indicating whether
- 2D evaluation generates 4D vertex coordinates. The initial value is
- GL_FALSE.
- See glMap2.
-
-
-
-
- GL_MAP_COLOR
-
-
-
-
- params returns a single boolean value indicating if colors and
- color indices are to be replaced by table lookup during pixel
- transfers. The initial value is GL_FALSE.
- See glPixelTransfer.
-
-
-
-
- GL_MAP_STENCIL
-
-
-
-
- params returns a single boolean value indicating if stencil indices
- are to be replaced by table lookup during pixel transfers. The initial
- value is GL_FALSE.
- See glPixelTransfer.
-
-
-
-
- GL_MATRIX_MODE
-
-
-
-
- params returns one value,
- a symbolic constant indicating which matrix stack is currently the
- target of all matrix operations. The initial value is GL_MODELVIEW.
- See glMatrixMode.
+ the major version number of the OpenGL API supported by the current context.
GL_MAX_3D_TEXTURE_SIZE
-
-
+
+
params returns one value,
a rough estimate of the largest 3D texture that the GL can handle.
- The value must be at least 16.
- If the GL version is 1.2 or greater, use
- GL_PROXY_TEXTURE_3D to determine if a texture is too large.
+ The value must be at least 64.
+ Use GL_PROXY_TEXTURE_3D to determine if a texture is too large.
See glTexImage3D.
- GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
+ GL_MAX_ARRAY_TEXTURE_LAYERS
-
-
+
+
- params returns one value indicating the maximum supported depth
- of the client attribute stack.
- See glPushClientAttrib.
+ params returns one value.
+ The value indicates the maximum number of layers allowed in an array texture, and must be at least 256.
+ See glTexImage2D.
- GL_MAX_ATTRIB_STACK_DEPTH
+ GL_MAX_CLIP_DISTANCES
-
-
+
+
params returns one value,
- the maximum supported depth of the attribute stack. The value must be
- at least 16.
- See glPushAttrib.
+ the maximum number of application-defined clipping distances. The value must be at least 8.
- GL_MAX_CLIP_PLANES
+ GL_MAX_COLOR_TEXTURE_SAMPLES
-
-
+
+
params returns one value,
- the maximum number of application-defined clipping planes. The value must be at least 6.
- See glClipPlane.
+ the maximum number of samples in a color multisample texture.
- GL_MAX_COLOR_MATRIX_STACK_DEPTH
+ GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
-
-
+
+
- params returns one value, the maximum supported depth of the color matrix
- stack. The value must be at least 2.
- See glPushMatrix.
+ params returns one value,
+ the number of words for fragment shader uniform variables in all uniform
+ blocks (including default). The value must be at least 1.
+ See glUniform.
+
+
+
+
+ GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
+
+
+
+
+ params returns one value,
+ the number of words for geometry shader uniform variables in all uniform
+ blocks (including default). The value must be at least 1.
+ See glUniform.
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
-
-
+
+
params returns one value, the maximum supported texture image units that
can be used to access texture maps from the vertex shader and the fragment processor combined.
If both the vertex shader and the fragment processing stage access the same texture image
unit, then that counts as using two texture image units against this limit.
- The value must be at least 2.
+ The value must be at least 48.
See glActiveTexture.
+
+ GL_MAX_COMBINED_UNIFORM_BLOCKS
+
+
+
+
+ params returns one value,
+ the maximum number of uniform blocks per program. The value must be at least 36.
+ See glUniformBlockBinding.
+
+
+
+
+ GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
+
+
+
+
+ params returns one value,
+ the number of words for vertex shader uniform variables in all uniform
+ blocks (including default). The value must be at least 1.
+ See glUniform.
+
+
+
GL_MAX_CUBE_MAP_TEXTURE_SIZE
-
-
+
+
params returns one value.
The value gives a rough estimate of the largest cube-map texture that
- the GL can handle. The value must be at least 16.
- If the GL version is 1.3 or greater, use GL_PROXY_TEXTURE_CUBE_MAP
+ the GL can handle. The value must be at least 1024.
+ Use GL_PROXY_TEXTURE_CUBE_MAP
to determine if a texture is too large.
See glTexImage2D.
+
+ GL_MAX_DEPTH_TEXTURE_SAMPLES
+
+
+
+
+ params returns one value,
+ the maximum number of samples in a multisample depth or depth-stencil texture.
+
+
+
GL_MAX_DRAW_BUFFERS
-
-
+
+
params returns one value, the maximum number
- of simultaneous output colors allowed from a fragment shader using the
- gl_FragData
built-in array. The value must be at least 1.
+ of simultaneous outputs that may be written in a fragment shader.
+ The value must be at least 8.
See glDrawBuffers.
+
+ GL_MAX_DUALSOURCE_DRAW_BUFFERS
+
+
+
+
+ params returns one value, the maximum number
+ of active draw buffers when using dual-source blending. The value must be at least 1.
+ See glBlendFunc and
+ glBlendFuncSeparate.
+
+
+
GL_MAX_ELEMENTS_INDICES
-
-
+
+
params returns one value,
the recommended maximum number of vertex array indices.
@@ -2345,8 +911,8 @@
GL_MAX_ELEMENTS_VERTICES
-
-
+
+
params returns one value,
the recommended maximum number of vertex array vertices.
@@ -2355,129 +921,218 @@
- GL_MAX_EVAL_ORDER
+ GL_MAX_FRAGMENT_INPUT_COMPONENTS
-
-
+
+
params returns one value,
- the maximum equation order supported by 1D and 2D
- evaluators. The value must be at least 8.
- See glMap1 and glMap2.
+ the maximum number of components of the inputs read by the fragment shader, which must be at least 128.
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
-
-
+
+
params returns one value,
the maximum number of individual floating-point, integer, or boolean values that can be held
- in uniform variable storage for a fragment shader. The value must be at least 64.
+ in uniform variable storage for a fragment shader. The value must be at least 1024.
See glUniform.
- GL_MAX_LIGHTS
+ GL_MAX_FRAGMENT_UNIFORM_VECTORS
-
-
+
+
params returns one value,
- the maximum number of lights. The value must be at least 8.
- See glLight.
+ the maximum number of individual 4-vectors of floating-point, integer, or boolean values
+ that can be held
+ in uniform variable storage for a fragment shader. The value is equal to the value of
+ GL_MAX_FRAGMENT_UNIFORM_COMPONENTS divided by 4 and must be at least 256.
+ See glUniform.
- GL_MAX_LIST_NESTING
+ GL_MAX_FRAGMENT_UNIFORM_BLOCKS
-
-
+
+
params returns one value,
- the maximum recursion depth allowed during display-list
- traversal. The value must be at least 64.
- See glCallList.
+ the maximum number of uniform blocks per fragment shader. The value must be at least 12.
+ See glUniformBlockBinding.
- GL_MAX_MODELVIEW_STACK_DEPTH
+ GL_MAX_GEOMETRY_INPUT_COMPONENTS
-
-
+
+
params returns one value,
- the maximum supported depth of the modelview matrix stack. The value must
- be at least 32.
- See glPushMatrix.
+ the maximum number of components of inputs read by a geometry shader, which must be at least 64.
- GL_MAX_NAME_STACK_DEPTH
+ GL_MAX_GEOMETRY_OUTPUT_COMPONENTS
-
-
+
+
params returns one value,
- the maximum supported depth of the selection name stack. The value must be at least 64.
- See glPushName.
+ the maximum number of components of outputs written by a geometry shader, which must be at least 128.
- GL_MAX_PIXEL_MAP_TABLE
+ GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
-
-
+
+
- params returns one value,
- the maximum supported size of a glPixelMap lookup table.
- The value must be at least 32.
- See glPixelMap.
+ params returns one value, the maximum supported texture image units that
+ can be used to access texture maps from the geometry shader. The value must be at least 16.
+ See glActiveTexture.
- GL_MAX_PROJECTION_STACK_DEPTH
+ GL_MAX_GEOMETRY_UNIFORM_BLOCKS
-
-
+
+
- params returns one value, the maximum supported depth of the projection
- matrix stack. The value must be at least 2.
- See glPushMatrix.
+ params returns one value,
+ the maximum number of uniform blocks per geometry shader. The value must be at least 12.
+ See glUniformBlockBinding.
- GL_MAX_TEXTURE_COORDS
+ GL_MAX_GEOMETRY_UNIFORM_COMPONENTS
-
-
+
+
params returns one value,
- the maximum number of texture coordinate sets available to vertex and fragment shaders.
- The value must be at least 2.
- See glActiveTexture and
- glClientActiveTexture.
+ the maximum number of individual floating-point, integer, or boolean values that can be held
+ in uniform variable storage for a geometry shader. The value must be at least 1024.
+ See glUniform.
+
+
+
+
+ GL_MAX_INTEGER_SAMPLES
+
+
+
+
+ params returns one value,
+ the maximum number of samples supported in integer format multisample buffers.
+
+
+
+
+ GL_MAX_PROGRAM_TEXEL_OFFSET
+
+
+
+
+ params returns one value,
+ the maximum texel offset allowed in a texture lookup, which must be at least 7.
+
+
+
+
+ GL_MIN_PROGRAM_TEXEL_OFFSET
+
+
+
+
+ params returns one value,
+ the minimum texel offset allowed in a texture lookup, which must be at most -8.
+
+
+
+
+ GL_MAX_RECTANGLE_TEXTURE_SIZE
+
+
+
+
+ params returns one value.
+ The value gives a rough estimate of the largest rectangular texture that
+ the GL can handle. The value must be at least 1024.
+ Use GL_PROXY_RECTANGLE_TEXTURE
+ to determine if a texture is too large.
+ See glTexImage2D.
+
+
+
+
+ GL_MAX_RENDERBUFFER_SIZE
+
+
+
+
+ params returns one value.
+ The value indicates the maximum supported size for renderbuffers.
+ See glFramebufferRenderbuffer.
+
+
+
+
+ GL_MAX_SAMPLE_MASK_WORDS
+
+
+
+
+ params returns one value,
+ the maximum number of sample mask words.
+
+
+
+
+ GL_MAX_SERVER_WAIT_TIMEOUT
+
+
+
+
+ params returns one value,
+ the maximum glWaitSync timeout interval.
+
+
+
+
+ GL_MAX_TEXTURE_BUFFER_SIZE
+
+
+
+
+ params returns one value.
+ The value gives the maximum number of texels allowed in the texel array of a texture buffer object.
+ Value must be at least 65536.
GL_MAX_TEXTURE_IMAGE_UNITS
-
-
+
+
params returns one value, the maximum supported texture image units that
can be used to access texture maps from the fragment shader.
- The value must be at least 2.
+ The value must be at least 16.
See glActiveTexture.
@@ -2485,64 +1140,80 @@
GL_MAX_TEXTURE_LOD_BIAS
-
-
+
+
params returns one value,
the maximum, absolute value of the texture level-of-detail bias. The
- value must be at least 4.
+ value must be at least 2.0.
GL_MAX_TEXTURE_SIZE
-
-
+
+
params returns one value.
The value gives a rough estimate of the largest texture that
- the GL can handle. The value must be at least 64.
- If the GL version is 1.1 or greater, use
- GL_PROXY_TEXTURE_1D or GL_PROXY_TEXTURE_2D
+ the GL can handle. The value must be at least 1024.
+ Use a proxy texture target such as GL_PROXY_TEXTURE_1D or GL_PROXY_TEXTURE_2D
to determine if a texture is too large.
See glTexImage1D and glTexImage2D.
- GL_MAX_TEXTURE_STACK_DEPTH
+ GL_MAX_UNIFORM_BUFFER_BINDINGS
-
-
+
+
params returns one value,
- the maximum supported depth of the texture matrix stack. The value must be at least 2.
- See glPushMatrix.
+ the maximum number of uniform buffer binding points on the context, which must be at least 36.
- GL_MAX_TEXTURE_UNITS
+ GL_MAX_UNIFORM_BLOCK_SIZE
-
-
+
+
- params returns a single value indicating the number of conventional
- texture units supported. Each conventional texture unit includes both a texture coordinate set
- and a texture image unit. Conventional texture units may be used for fixed-function (non-shader)
- rendering. The value must be at least 2. Additional texture coordinate sets and texture
- image units may be accessed from vertex and fragment shaders.
- See glActiveTexture and
- glClientActiveTexture.
+ params returns one value,
+ the maximum size in basic machine units of a uniform block, which must be at least 16384.
+
+
+
+
+ GL_MAX_VARYING_COMPONENTS
+
+
+
+
+ params returns one value,
+ the number components for varying variables, which must be at least 60.
+
+
+
+
+ GL_MAX_VARYING_VECTORS
+
+
+
+
+ params returns one value,
+ the number 4-vectors for varying variables, which is equal to the value of
+ GL_MAX_VARYING_COMPONENTS and must be at least 15.
GL_MAX_VARYING_FLOATS
-
-
+
+
params returns one value,
the maximum number of interpolators available for processing varying variables used by
@@ -2555,8 +1226,8 @@
GL_MAX_VERTEX_ATTRIBS
-
-
+
+
params returns one value,
the maximum number of 4-component generic vertex attributes accessible to a vertex shader.
@@ -2568,11 +1239,11 @@
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
-
-
+
+
params returns one value, the maximum supported texture image units that
- can be used to access texture maps from the vertex shader. The value may be 0.
+ can be used to access texture maps from the vertex shader. The value may be at least 16.
See glActiveTexture.
@@ -2580,21 +1251,58 @@
GL_MAX_VERTEX_UNIFORM_COMPONENTS
-
-
+
+
params returns one value,
the maximum number of individual floating-point, integer, or boolean values that can be held
- in uniform variable storage for a vertex shader. The value must be at least 512.
+ in uniform variable storage for a vertex shader. The value must be at least 1024.
See glUniform.
+
+ GL_MAX_VERTEX_UNIFORM_VECTORS
+
+
+
+
+ params returns one value,
+ the maximum number of 4-vectors that may be held in uniform variable storage for the vertex
+ shader. The value of GL_MAX_VERTEX_UNIFORM_VECTORS is equal to the
+ value of GL_MAX_VERTEX_UNIFORM_COMPONENTS and must be at least
+ 256.
+
+
+
+
+ GL_MAX_VERTEX_OUTPUT_COMPONENTS
+
+
+
+
+ params returns one value,
+ the maximum number of components of output written by a vertex shader, which must be at least 64.
+
+
+
+
+ GL_MAX_VERTEX_UNIFORM_BLOCKS
+
+
+
+
+ params returns one value,
+ the maximum number of uniform blocks per vertex shader. The value must be at least 12.
+ See glUniformBlockBinding.
+
+
+
GL_MAX_VIEWPORT_DIMS
-
-
+
+
params returns two values:
the maximum supported width and height of the viewport.
@@ -2605,138 +1313,82 @@
- GL_MINMAX
+ GL_MAX_VIEWPORTS
-
-
+
+
- params returns a single boolean value indicating whether pixel minmax
- values are computed. The initial value is GL_FALSE.
- See glMinmax.
+ params returns one value, the maximum number
+ of simultaneous viewports that are supported.
+ The value must be at least 16.
+ See glViewportIndexed.
- GL_MODELVIEW_MATRIX
+ GL_MINOR_VERSION
-
-
-
- params returns sixteen values:
- the modelview matrix on the top of the modelview matrix stack. Initially
- this matrix is the identity matrix.
- See glPushMatrix.
-
-
-
-
- GL_MODELVIEW_STACK_DEPTH
-
-
-
+
+
params returns one value,
- the number of matrices on the modelview matrix stack.
- The initial value is 1.
- See glPushMatrix.
-
-
-
-
- GL_NAME_STACK_DEPTH
-
-
-
-
- params returns one value,
- the number of names on the selection name stack. The initial value is 0.
- See glPushName.
-
-
-
-
- GL_NORMAL_ARRAY
-
-
-
-
- params returns a single boolean value, indicating whether the normal
- array is enabled. The initial value is GL_FALSE.
- See glNormalPointer.
-
-
-
-
- GL_NORMAL_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the normal array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glNormalPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_NORMAL_ARRAY_STRIDE
-
-
-
-
- params returns one value,
- the byte offset between consecutive normals in the normal
- array. The initial value is 0.
- See glNormalPointer.
-
-
-
-
- GL_NORMAL_ARRAY_TYPE
-
-
-
-
- params returns one value,
- the data type of each coordinate in the normal array. The initial value is
- GL_FLOAT.
- See glNormalPointer.
-
-
-
-
- GL_NORMALIZE
-
-
-
-
- params returns a single boolean value indicating whether normals are
- automatically scaled to unit length after they have been transformed to
- eye coordinates. The initial value is GL_FALSE.
- See glNormal.
+ the minor version number of the OpenGL API supported by the current context.
GL_NUM_COMPRESSED_TEXTURE_FORMATS
-
-
+
+
params returns a single integer value indicating the number of available
- compressed texture formats. The minimum value is 0.
+ compressed texture formats. The minimum value is 4.
See glCompressedTexImage2D.
+
+ GL_NUM_EXTENSIONS
+
+
+
+
+ params returns one value,
+ the number of extensions supported by the GL implementation for the current context.
+ See glGetString.
+
+
+
+
+ GL_NUM_PROGRAM_BINARY_FORMATS
+
+
+
+
+ params returns one value,
+ the number of program binary formats supported by the implementation.
+
+
+
+
+ GL_NUM_SHADER_BINARY_FORMATS
+
+
+
+
+ params returns one value,
+ the number of binary shader formats supported by the implementation. If this value is
+ greater than zero, then the implementation supports loading binary shaders. If it is
+ zero, then the loading of binary shaders by the implementation is not supported.
+
+
+
GL_PACK_ALIGNMENT
-
-
+
+
params returns one value,
the byte alignment used for writing pixel data to memory. The initial
@@ -2748,8 +1400,8 @@
GL_PACK_IMAGE_HEIGHT
-
-
+
+
params returns one value,
the image height used for writing pixel data to memory. The initial
@@ -2761,8 +1413,8 @@
GL_PACK_LSB_FIRST
-
-
+
+
params returns a single boolean value indicating whether single-bit
pixels being written to memory are written first to the least significant
@@ -2774,8 +1426,8 @@
GL_PACK_ROW_LENGTH
-
-
+
+
params returns one value,
the row length used for writing pixel data to memory. The initial value is
@@ -2787,8 +1439,8 @@
GL_PACK_SKIP_IMAGES
-
-
+
+
params returns one value,
the number of pixel images skipped before the first pixel is written
@@ -2800,8 +1452,8 @@
GL_PACK_SKIP_PIXELS
-
-
+
+
params returns one value,
the number of pixel locations skipped before the first pixel is written
@@ -2813,8 +1465,8 @@
GL_PACK_SKIP_ROWS
-
-
+
+
params returns one value,
the number of rows of pixel locations skipped before the first pixel is written
@@ -2826,8 +1478,8 @@
GL_PACK_SWAP_BYTES
-
-
+
+
params returns a single boolean value indicating whether the bytes of
two-byte and four-byte pixel indices and components are swapped before being
@@ -2836,154 +1488,11 @@
-
- GL_PERSPECTIVE_CORRECTION_HINT
-
-
-
-
- params returns one value,
- a symbolic constant indicating the mode of the perspective correction
- hint. The initial value is GL_DONT_CARE.
- See glHint.
-
-
-
-
- GL_PIXEL_MAP_A_TO_A_SIZE
-
-
-
-
- params returns one value,
- the size of the alpha-to-alpha pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_B_TO_B_SIZE
-
-
-
-
- params returns one value,
- the size of the blue-to-blue pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_G_TO_G_SIZE
-
-
-
-
- params returns one value,
- the size of the green-to-green pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_I_TO_A_SIZE
-
-
-
-
- params returns one value,
- the size of the index-to-alpha pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_I_TO_B_SIZE
-
-
-
-
- params returns one value,
- the size of the index-to-blue pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_I_TO_G_SIZE
-
-
-
-
- params returns one value,
- the size of the index-to-green pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_I_TO_I_SIZE
-
-
-
-
- params returns one value,
- the size of the index-to-index pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_I_TO_R_SIZE
-
-
-
-
- params returns one value,
- the size of the index-to-red pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_R_TO_R_SIZE
-
-
-
-
- params returns one value,
- the size of the red-to-red pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
-
- GL_PIXEL_MAP_S_TO_S_SIZE
-
-
-
-
- params returns one value,
- the size of the stencil-to-stencil pixel translation table.
- The initial value is 1.
- See glPixelMap.
-
-
-
GL_PIXEL_PACK_BUFFER_BINDING
-
-
+
+
params returns a single value, the name of the buffer object
currently bound to the target GL_PIXEL_PACK_BUFFER. If no buffer object
@@ -2995,8 +1504,8 @@
GL_PIXEL_UNPACK_BUFFER_BINDING
-
-
+
+
params returns a single value, the name of the buffer object
currently bound to the target GL_PIXEL_UNPACK_BUFFER. If no buffer object
@@ -3005,23 +1514,11 @@
-
- GL_POINT_DISTANCE_ATTENUATION
-
-
-
-
- params returns three values,
- the coefficients for computing the attenuation value for points.
- See glPointParameter.
-
-
-
GL_POINT_FADE_THRESHOLD_SIZE
-
-
+
+
params returns one value,
the point size threshold for determining the point size.
@@ -3030,21 +1527,69 @@
- GL_POINT_SIZE
+ GL_PRIMITIVE_RESTART_INDEX
-
-
+
+
params returns one value,
- the point size as specified by glPointSize. The initial value is 1.
+ the current primitive restart index. The initial value is 0.
+ See glPrimitiveRestartIndex.
+
+
+
+
+ GL_PROGRAM_BINARY_FORMATS
+
+
+
+
+ params an array of GL_NUM_PROGRAM_BINARY_FORMATS values,
+ indicating the proram binary formats supported by the implementation.
+
+
+
+
+ GL_PROGRAM_PIPELINE_BINDING
+
+
+
+
+ params a single value, the name of the currently bound program pipeline
+ object, or zero if no program pipeline object is bound.
+ See glBindProgramPipeline.
+
+
+
+
+ GL_PROVOKING_VERTEX
+
+
+
+
+ params returns one value,
+ the currently selected provoking vertex convention. The initial value is GL_LAST_VERTEX_CONVENTION.
+ See glProvokingVertex.
+
+
+
+
+ GL_POINT_SIZE
+
+
+
+
+ params returns one value,
+ the point size as specified by glPointSize.
+ The initial value is 1.
GL_POINT_SIZE_GRANULARITY
-
-
+
+
params returns one value,
the size difference between adjacent supported sizes for antialiased points.
@@ -3052,35 +1597,11 @@
-
- GL_POINT_SIZE_MAX
-
-
-
-
- params returns one value,
- the upper bound for the attenuated point sizes. The initial value is 0.0.
- See glPointParameter.
-
-
-
-
- GL_POINT_SIZE_MIN
-
-
-
-
- params returns one value,
- the lower bound for the attenuated point sizes. The initial value is 1.0.
- See glPointParameter.
-
-
-
GL_POINT_SIZE_RANGE
-
-
+
+
params returns two values:
the smallest and largest supported sizes for antialiased
@@ -3090,61 +1611,11 @@
-
- GL_POINT_SMOOTH
-
-
-
-
- params returns a single boolean value indicating whether antialiasing of
- points is enabled. The initial value is GL_FALSE.
- See glPointSize.
-
-
-
-
- GL_POINT_SMOOTH_HINT
-
-
-
-
- params returns one value,
- a symbolic constant indicating the mode of the point antialiasing
- hint. The initial value is GL_DONT_CARE.
- See glHint.
-
-
-
-
- GL_POINT_SPRITE
-
-
-
-
- params returns a single boolean value indicating whether point sprite is
- enabled. The initial value is GL_FALSE.
-
-
-
-
- GL_POLYGON_MODE
-
-
-
-
- params returns two values:
- symbolic constants indicating whether front-facing and back-facing polygons
- are rasterized as points, lines, or filled polygons. The initial value is
- GL_FILL.
- See glPolygonMode.
-
-
-
GL_POLYGON_OFFSET_FACTOR
-
-
+
+
params returns one value,
the scaling factor used to determine the variable offset that is added
@@ -3157,8 +1628,8 @@
GL_POLYGON_OFFSET_UNITS
-
-
+
+
params returns one value.
This value is multiplied by an implementation-specific value and then
@@ -3171,8 +1642,8 @@
GL_POLYGON_OFFSET_FILL
-
-
+
+
params returns a single boolean value indicating whether polygon offset
is enabled for polygons in fill mode. The initial value is GL_FALSE.
@@ -3183,8 +1654,8 @@
GL_POLYGON_OFFSET_LINE
-
-
+
+
params returns a single boolean value indicating whether polygon offset
is enabled for polygons in line mode. The initial value is GL_FALSE.
@@ -3195,8 +1666,8 @@
GL_POLYGON_OFFSET_POINT
-
-
+
+
params returns a single boolean value indicating whether polygon offset
is enabled for polygons in point mode. The initial value is GL_FALSE.
@@ -3207,8 +1678,8 @@
GL_POLYGON_SMOOTH
-
-
+
+
params returns a single boolean value indicating whether antialiasing of
polygons is enabled. The initial value is GL_FALSE.
@@ -3219,8 +1690,8 @@
GL_POLYGON_SMOOTH_HINT
-
-
+
+
params returns one value,
a symbolic constant indicating the mode of the polygon antialiasing
@@ -3229,361 +1700,39 @@
-
- GL_POLYGON_STIPPLE
-
-
-
-
- params returns a single boolean value indicating whether polygon
- stippling is enabled. The initial value is GL_FALSE.
- See glPolygonStipple.
-
-
-
-
- GL_POST_COLOR_MATRIX_COLOR_TABLE
-
-
-
-
- params returns a single boolean value indicating whether post color
- matrix transformation lookup is enabled.
- The initial value is GL_FALSE.
- See glColorTable.
-
-
-
-
- GL_POST_COLOR_MATRIX_RED_BIAS
-
-
-
-
- params returns one value, the red bias factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_GREEN_BIAS
-
-
-
-
- params returns one value, the green bias factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 0.
- See glPixelTransfer
-
-
-
-
- GL_POST_COLOR_MATRIX_BLUE_BIAS
-
-
-
-
- params returns one value, the blue bias factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_ALPHA_BIAS
-
-
-
-
- params returns one value, the alpha bias factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_RED_SCALE
-
-
-
-
- params returns one value, the red scale factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_GREEN_SCALE
-
-
-
-
- params returns one value, the green scale factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_BLUE_SCALE
-
-
-
-
- params returns one value, the blue scale factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_COLOR_MATRIX_ALPHA_SCALE
-
-
-
-
- params returns one value, the alpha scale factor applied to RGBA fragments
- after color matrix transformations.
- The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE
-
-
-
-
- params returns a single boolean value indicating whether post convolution
- lookup is enabled. The initial value is GL_FALSE.
- See glColorTable.
-
-
-
-
- GL_POST_CONVOLUTION_RED_BIAS
-
-
-
-
- params returns one value, the red bias factor applied to RGBA fragments
- after convolution. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_GREEN_BIAS
-
-
-
-
- params returns one value, the green bias factor applied to RGBA fragments
- after convolution. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_BLUE_BIAS
-
-
-
-
- params returns one value, the blue bias factor applied to RGBA fragments
- after convolution. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_ALPHA_BIAS
-
-
-
-
- params returns one value, the alpha bias factor applied to RGBA fragments
- after convolution. The initial value is 0.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_RED_SCALE
-
-
-
-
- params returns one value, the red scale factor applied to RGBA fragments
- after convolution. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_GREEN_SCALE
-
-
-
-
- params returns one value, the green scale factor applied to RGBA fragments
- after convolution. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_BLUE_SCALE
-
-
-
-
- params returns one value, the blue scale factor applied to RGBA fragments
- after convolution. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_POST_CONVOLUTION_ALPHA_SCALE
-
-
-
-
- params returns one value, the alpha scale factor applied to RGBA fragments
- after convolution. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_PROJECTION_MATRIX
-
-
-
-
- params returns sixteen values:
- the projection matrix on the top of the projection matrix
- stack. Initially this matrix is the identity matrix.
- See glPushMatrix.
-
-
-
-
- GL_PROJECTION_STACK_DEPTH
-
-
-
-
- params returns one value,
- the number of matrices on the projection matrix stack.
- The initial value is 1.
- See glPushMatrix.
-
-
-
GL_READ_BUFFER
-
-
+
+
params returns one value,
a symbolic constant indicating which color buffer is selected for
reading. The initial value is GL_BACK if there is a back buffer,
otherwise it is GL_FRONT.
See
- glReadPixels and glAccum.
+ glReadPixels.
- GL_RED_BIAS
+ GL_RENDERBUFFER_BINDING
-
-
+
+
- params returns one value,
- the red bias factor used during pixel transfers. The initial value is 0.
-
-
-
-
- GL_RED_BITS
-
-
-
-
- params returns one value,
- the number of red bitplanes in each color buffer.
-
-
-
-
- GL_RED_SCALE
-
-
-
-
- params returns one value,
- the red scale factor used during pixel transfers. The initial value is 1.
- See glPixelTransfer.
-
-
-
-
- GL_RENDER_MODE
-
-
-
-
- params returns one value,
- a symbolic constant indicating whether the GL is in render,
- select,
- or feedback mode. The initial value is GL_RENDER.
- See glRenderMode.
-
-
-
-
- GL_RESCALE_NORMAL
-
-
-
-
- params returns single boolean value
- indicating whether normal rescaling is enabled.
- See glEnable.
-
-
-
-
- GL_RGBA_MODE
-
-
-
-
- params returns a single boolean value indicating whether the GL is in RGBA
- mode (true) or color index mode (false).
- See glColor.
+ params returns a single value, the name of the renderbuffer object
+ currently bound to the target GL_RENDERBUFFER. If no renderbuffer object
+ is bound to this target, 0 is returned. The initial value is 0.
+ See glBindRenderbuffer.
GL_SAMPLE_BUFFERS
-
-
+
+
params returns a single integer value indicating the number of sample buffers
associated with the framebuffer.
@@ -3594,8 +1743,8 @@
GL_SAMPLE_COVERAGE_VALUE
-
-
+
+
params returns a single positive floating-point value indicating the
current sample coverage value.
@@ -3606,8 +1755,8 @@
GL_SAMPLE_COVERAGE_INVERT
-
-
+
+
params returns a single boolean value indicating if the temporary
coverage value should be inverted.
@@ -3615,11 +1764,23 @@
+
+ GL_SAMPLER_BINDING
+
+
+
+
+ params returns a single value, the name of the sampler object
+ currently bound to the active texture unit. The initial value is 0.
+ See glBindSampler.
+
+
+
GL_SAMPLES
-
-
+
+
params returns a single integer value indicating the coverage mask size.
See glSampleCoverage.
@@ -3629,8 +1790,8 @@
GL_SCISSOR_BOX
-
-
+
+
params returns four values:
the
@@ -3652,8 +1813,8 @@
GL_SCISSOR_TEST
-
-
+
+
params returns a single boolean value indicating whether scissoring is
enabled. The initial value is GL_FALSE.
@@ -3662,157 +1823,45 @@
- GL_SECONDARY_COLOR_ARRAY
+ GL_SHADER_COMPILER
-
-
+
+
- params returns a single boolean value indicating whether the secondary color array is enabled. The initial value is GL_FALSE.
- See glSecondaryColorPointer.
-
-
-
-
- GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the secondary color array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glSecondaryColorPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_SECONDARY_COLOR_ARRAY_SIZE
-
-
-
-
- params returns one value, the number of components per color in the
- secondary color array. The initial value is 3.
- See glSecondaryColorPointer.
-
-
-
-
- GL_SECONDARY_COLOR_ARRAY_STRIDE
-
-
-
-
- params returns one value, the byte offset between consecutive colors in
- the secondary color array. The initial value is 0.
- See glSecondaryColorPointer.
-
-
-
-
- GL_SECONDARY_COLOR_ARRAY_TYPE
-
-
-
-
- params returns one value, the data type of each component in the secondary
- color array. The initial value is GL_FLOAT.
- See glSecondaryColorPointer.
-
-
-
-
- GL_SELECTION_BUFFER_SIZE
-
-
-
-
- params return one value,
- the size of the selection buffer.
- See glSelectBuffer.
-
-
-
-
- GL_SEPARABLE_2D
-
-
-
-
- params returns a single boolean value indicating whether 2D separable
- convolution is enabled. The initial value is GL_FALSE.
- See glSeparableFilter2D.
-
-
-
-
- GL_SHADE_MODEL
-
-
-
-
- params returns one value,
- a symbolic constant indicating whether the shading mode is flat or
- smooth. The initial value is GL_SMOOTH.
- See glShadeModel.
+ params returns a single boolean value indicating whether an online shader
+ compiler is present in the implementation. All desktop OpenGL implementations must support
+ online shader compilations, and therefore the value of GL_SHADER_COMPILER
+ will always be GL_TRUE.
GL_SMOOTH_LINE_WIDTH_RANGE
-
-
+
+
- params returns two values,
- the smallest and largest supported widths for antialiased lines.
- See glLineWidth.
+ params returns a pair of values indicating the range of
+ widths supported for smooth (antialiased) lines. See glLineWidth.
GL_SMOOTH_LINE_WIDTH_GRANULARITY
-
-
+
+
- params returns one value,
- the granularity of widths for antialiased lines.
- See glLineWidth.
-
-
-
-
- GL_SMOOTH_POINT_SIZE_RANGE
-
-
-
-
- params returns two values,
- the smallest and largest supported widths for antialiased points.
- See glPointSize.
-
-
-
-
- GL_SMOOTH_POINT_SIZE_GRANULARITY
-
-
-
-
- params returns one value,
- the granularity of sizes for antialiased points.
- See glPointSize.
+ params returns a single value indicating the level of
+ quantization applied to smooth line width parameters.
GL_STENCIL_BACK_FAIL
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken for back-facing polygons when the stencil
@@ -3824,8 +1873,8 @@
GL_STENCIL_BACK_FUNC
-
-
+
+
params returns one value,
a symbolic constant indicating what function is used for back-facing polygons to compare the
@@ -3838,8 +1887,8 @@
GL_STENCIL_BACK_PASS_DEPTH_FAIL
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken for back-facing polygons when the stencil
@@ -3852,8 +1901,8 @@
GL_STENCIL_BACK_PASS_DEPTH_PASS
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken for back-facing polygons when the stencil
@@ -3865,8 +1914,8 @@
GL_STENCIL_BACK_REF
-
-
+
+
params returns one value,
the reference value that is compared with the contents of the stencil
@@ -3878,8 +1927,8 @@
GL_STENCIL_BACK_VALUE_MASK
-
-
+
+
params returns one value,
the mask that is used for back-facing polygons to mask both the stencil reference value and the
@@ -3891,8 +1940,8 @@
GL_STENCIL_BACK_WRITEMASK
-
-
+
+
params returns one value,
the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value
@@ -3901,22 +1950,11 @@
-
- GL_STENCIL_BITS
-
-
-
-
- params returns one value,
- the number of bitplanes in the stencil buffer.
-
-
-
GL_STENCIL_CLEAR_VALUE
-
-
+
+
params returns one value,
the index to which the stencil bitplanes are cleared. The initial value is
@@ -3928,14 +1966,14 @@
GL_STENCIL_FAIL
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken when the stencil
test fails. The initial value is GL_KEEP.
See glStencilOp.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilOpSeparate.
@@ -3944,15 +1982,15 @@
GL_STENCIL_FUNC
-
-
+
+
params returns one value,
a symbolic constant indicating what function is used to compare the
stencil reference value with the stencil buffer value. The initial value
is GL_ALWAYS.
See glStencilFunc.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilFuncSeparate.
@@ -3961,15 +1999,15 @@
GL_STENCIL_PASS_DEPTH_FAIL
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken when the stencil
test passes,
but the depth test fails. The initial value is GL_KEEP.
See glStencilOp.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilOpSeparate.
@@ -3978,14 +2016,14 @@
GL_STENCIL_PASS_DEPTH_PASS
-
-
+
+
params returns one value,
a symbolic constant indicating what action is taken when the stencil
test passes and the depth test passes. The initial value is GL_KEEP.
See glStencilOp.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilOpSeparate.
@@ -3994,14 +2032,14 @@
GL_STENCIL_REF
-
-
+
+
params returns one value,
the reference value that is compared with the contents of the stencil
buffer. The initial value is 0.
See glStencilFunc.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilFuncSeparate.
@@ -4010,8 +2048,8 @@
GL_STENCIL_TEST
-
-
+
+
params returns a single boolean value indicating whether stencil testing
of fragments is enabled. The initial value is GL_FALSE.
@@ -4022,14 +2060,14 @@
GL_STENCIL_VALUE_MASK
-
-
+
+
params returns one value,
the mask that is used to mask both the stencil reference value and the
stencil buffer value before they are compared. The initial value is all 1's.
See glStencilFunc.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilFuncSeparate.
@@ -4038,14 +2076,14 @@
GL_STENCIL_WRITEMASK
-
-
+
+
params returns one value,
the mask that controls writing of the stencil bitplanes. The initial value
is all 1's.
See glStencilMask.
- If the GL version is 2.0 or greater, this stencil state only affects non-polygons
+ This stencil state only affects non-polygons
and front-facing polygons. Back-facing polygons use separate stencil state.
See glStencilMaskSeparate.
@@ -4054,8 +2092,8 @@
GL_STEREO
-
-
+
+
params returns a single boolean value indicating whether stereo buffers
(left and right) are supported.
@@ -4065,8 +2103,8 @@
GL_SUBPIXEL_BITS
-
-
+
+
params returns one value,
an estimate of the number of bits of subpixel resolution that are used to
@@ -4074,23 +2112,11 @@
-
- GL_TEXTURE_1D
-
-
-
-
- params returns a single boolean value indicating whether 1D texture
- mapping is enabled. The initial value is GL_FALSE.
- See glTexImage1D.
-
-
-
GL_TEXTURE_BINDING_1D
-
-
+
+
params returns a single value, the name of the texture
currently bound to the target GL_TEXTURE_1D. The initial value is 0.
@@ -4099,22 +2125,22 @@
- GL_TEXTURE_2D
+ GL_TEXTURE_BINDING_1D_ARRAY
-
-
+
+
- params returns a single boolean value indicating whether 2D texture
- mapping is enabled. The initial value is GL_FALSE.
- See glTexImage2D.
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_1D_ARRAY. The initial value is 0.
+ See glBindTexture.
GL_TEXTURE_BINDING_2D
-
-
+
+
params returns a single value, the name of the texture
currently bound to the target GL_TEXTURE_2D. The initial value is 0.
@@ -4123,22 +2149,46 @@
- GL_TEXTURE_3D
+ GL_TEXTURE_BINDING_2D_ARRAY
-
-
+
+
- params returns a single boolean value indicating whether 3D texture
- mapping is enabled. The initial value is GL_FALSE.
- See glTexImage3D.
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_2D_ARRAY. The initial value is 0.
+ See glBindTexture.
+
+
+
+
+ GL_TEXTURE_BINDING_2D_MULTISAMPLE
+
+
+
+
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_2D_MULTISAMPLE. The initial value is 0.
+ See glBindTexture.
+
+
+
+
+ GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
+
+
+
+
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_2D_MULTISAMPLE_ARRAY. The initial value is 0.
+ See glBindTexture.
GL_TEXTURE_BINDING_3D
-
-
+
+
params returns a single value, the name of the texture
currently bound to the target GL_TEXTURE_3D. The initial value is 0.
@@ -4146,11 +2196,23 @@
+
+ GL_TEXTURE_BINDING_BUFFER
+
+
+
+
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_BUFFER. The initial value is 0.
+ See glBindTexture.
+
+
+
GL_TEXTURE_BINDING_CUBE_MAP
-
-
+
+
params returns a single value, the name of the texture
currently bound to the target GL_TEXTURE_CUBE_MAP. The initial value is 0.
@@ -4158,11 +2220,23 @@
+
+ GL_TEXTURE_BINDING_RECTANGLE
+
+
+
+
+ params returns a single value, the name of the texture
+ currently bound to the target GL_TEXTURE_RECTANGLE. The initial value is 0.
+ See glBindTexture.
+
+
+
GL_TEXTURE_COMPRESSION_HINT
-
-
+
+
params returns a single value indicating the mode of the texture
compression hint. The initial value is GL_DONT_CARE.
@@ -4170,210 +2244,134 @@
- GL_TEXTURE_COORD_ARRAY
+ GL_TEXTURE_BUFFER_BINDING
-
-
+
+
- params returns a single boolean value indicating whether the texture
- coordinate array is enabled. The initial value is GL_FALSE.
- See glTexCoordPointer.
-
-
-
-
- GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the texture coordinate array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glTexCoordPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
+ params returns a single value, the name of the texture buffer object
+ currently bound. The initial value is 0.
See glBindBuffer.
- GL_TEXTURE_COORD_ARRAY_SIZE
+ GL_TIMESTAMP
-
-
+
+
- params returns one value,
- the number of coordinates per element in the texture coordinate
- array. The initial value is 4.
- See glTexCoordPointer.
+ params returns a single value, the 64-bit value of the current
+ GL time.
+ See glQueryCounter.
- GL_TEXTURE_COORD_ARRAY_STRIDE
+ GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
-
-
+
+
- params returns one value,
- the byte offset between consecutive elements in the texture coordinate
- array. The initial value is 0.
- See glTexCoordPointer.
+ When used with non-indexed variants of glGet (such as glGetIntegerv),
+ params returns a single value, the name of the buffer object
+ currently bound to the target GL_TRANSFORM_FEEDBACK_BUFFER. If no buffer object
+ is bound to this target, 0 is returned.
+ When used with indexed variants of glGet (such as glGetIntegeri_v),
+ params returns a single value, the name of the buffer object
+ bound to the indexed transform feedback attribute stream. The initial value is 0 for all targets.
+ See glBindBuffer, glBindBufferBase, and
+ glBindBufferRange.
- GL_TEXTURE_COORD_ARRAY_TYPE
+ GL_TRANSFORM_FEEDBACK_BUFFER_START
-
-
+
+
- params returns one value,
- the data type of the coordinates in the texture coordinate
- array. The initial value is GL_FLOAT.
- See glTexCoordPointer.
+ When used with indexed variants of glGet (such as glGetInteger64i_v),
+ params returns a single value, the start offset of the binding range for each
+ transform feedback attribute stream. The initial value is 0 for all streams.
+ See glBindBufferRange.
- GL_TEXTURE_CUBE_MAP
+ GL_TRANSFORM_FEEDBACK_BUFFER_SIZE
-
-
+
+
- params returns a single boolean value indicating whether cube-mapped texture
- mapping is enabled. The initial value is GL_FALSE.
- See glTexImage2D.
+ When used with indexed variants of glGet (such as glGetInteger64i_v),
+ params returns a single value, the size of the binding range for each
+ transform feedback attribute stream. The initial value is 0 for all streams.
+ See glBindBufferRange.
- GL_TEXTURE_GEN_Q
+ GL_UNIFORM_BUFFER_BINDING
-
-
+
+
- params returns a single boolean value indicating whether automatic generation
- of the q texture coordinate is enabled. The initial value is GL_FALSE.
- See glTexGen.
+ When used with non-indexed variants of glGet (such as glGetIntegerv),
+ params returns a single value, the name of the buffer object
+ currently bound to the target GL_UNIFORM_BUFFER. If no buffer object
+ is bound to this target, 0 is returned.
+ When used with indexed variants of glGet (such as glGetIntegeri_v),
+ params returns a single value, the name of the buffer object
+ bound to the indexed uniform buffer binding point. The initial value is 0 for all targets.
+ See glBindBuffer, glBindBufferBase, and
+ glBindBufferRange.
- GL_TEXTURE_GEN_R
+ GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
-
-
+
+
- params returns a single boolean value indicating whether automatic generation
- of the r texture coordinate is enabled. The initial value is GL_FALSE.
- See glTexGen.
+ params returns a single value, the minimum required alignment
+ for uniform buffer sizes and offset. The initial value is 1.
+ See glUniformBlockBinding.
- GL_TEXTURE_GEN_S
+ GL_UNIFORM_BUFFER_SIZE
-
-
+
+
- params returns a single boolean value indicating whether automatic generation
- of the S texture coordinate is enabled. The initial value is GL_FALSE.
- See glTexGen.
+ When used with indexed variants of glGet (such as glGetInteger64i_v),
+ params returns a single value, the size of the binding range for each
+ indexed uniform buffer binding. The initial value is 0 for all bindings.
+ See glBindBufferRange.
- GL_TEXTURE_GEN_T
+ GL_UNIFORM_BUFFER_START
-
-
+
+
- params returns a single boolean value indicating whether automatic generation
- of the T texture coordinate is enabled. The initial value is GL_FALSE.
- See glTexGen.
-
-
-
-
- GL_TEXTURE_MATRIX
-
-
-
-
- params returns sixteen values:
- the texture matrix on the top of the texture matrix stack. Initially this
- matrix is the identity matrix.
- See glPushMatrix.
-
-
-
-
- GL_TEXTURE_STACK_DEPTH
-
-
-
-
- params returns one value,
- the number of matrices on the texture matrix stack.
- The initial value is 1.
- See glPushMatrix.
-
-
-
-
- GL_TRANSPOSE_COLOR_MATRIX
-
-
-
-
- params returns 16 values, the elements of the color matrix in row-major
- order.
- See glLoadTransposeMatrix.
-
-
-
-
- GL_TRANSPOSE_MODELVIEW_MATRIX
-
-
-
-
- params returns 16 values, the elements of the modelview matrix in row-major
- order.
- See glLoadTransposeMatrix.
-
-
-
-
- GL_TRANSPOSE_PROJECTION_MATRIX
-
-
-
-
- params returns 16 values, the elements of the projection matrix in row-major
- order.
- See glLoadTransposeMatrix.
-
-
-
-
- GL_TRANSPOSE_TEXTURE_MATRIX
-
-
-
-
- params returns 16 values, the elements of the texture matrix in row-major
- order.
- See glLoadTransposeMatrix.
+ When used with indexed variants of glGet (such as glGetInteger64i_v),
+ params returns a single value, the start offset of the binding range for each
+ indexed uniform buffer binding. The initial value is 0 for all bindings.
+ See glBindBufferRange.
GL_UNPACK_ALIGNMENT
-
-
+
+
params returns one value,
the byte alignment used for reading pixel data from memory. The initial
@@ -4385,8 +2383,8 @@
GL_UNPACK_IMAGE_HEIGHT
-
-
+
+
params returns one value,
the image height used for reading pixel data from memory. The initial
@@ -4398,8 +2396,8 @@
GL_UNPACK_LSB_FIRST
-
-
+
+
params returns a single boolean value indicating whether single-bit
pixels being read from memory are read first from the least significant
@@ -4411,8 +2409,8 @@
GL_UNPACK_ROW_LENGTH
-
-
+
+
params returns one value,
the row length used for reading pixel data from memory. The initial value
@@ -4424,8 +2422,8 @@
GL_UNPACK_SKIP_IMAGES
-
-
+
+
params returns one value,
the number of pixel images skipped before the first pixel is read
@@ -4437,8 +2435,8 @@
GL_UNPACK_SKIP_PIXELS
-
-
+
+
params returns one value,
the number of pixel locations skipped before the first pixel is read
@@ -4450,8 +2448,8 @@
GL_UNPACK_SKIP_ROWS
-
-
+
+
params returns one value,
the number of rows of pixel locations skipped before the first pixel is read
@@ -4463,8 +2461,8 @@
GL_UNPACK_SWAP_BYTES
-
-
+
+
params returns a single boolean value indicating whether the bytes of
two-byte and four-byte pixel indices and components are swapped after being
@@ -4473,77 +2471,11 @@
-
- GL_VERTEX_ARRAY
-
-
-
-
- params returns a single boolean value indicating whether the vertex
- array is enabled. The initial value is GL_FALSE.
- See glVertexPointer.
-
-
-
-
- GL_VERTEX_ARRAY_BUFFER_BINDING
-
-
-
-
- params returns a single value, the name of the buffer object
- associated with the vertex array. This buffer object would have been bound to the
- target GL_ARRAY_BUFFER at the time of the most recent call to
- glVertexPointer.
- If no buffer object was bound to this target, 0 is returned. The initial value is 0.
- See glBindBuffer.
-
-
-
-
- GL_VERTEX_ARRAY_SIZE
-
-
-
-
- params returns one value,
- the number of coordinates per vertex in the vertex array. The initial
- value is 4.
- See glVertexPointer.
-
-
-
-
- GL_VERTEX_ARRAY_STRIDE
-
-
-
-
- params returns one value,
- the byte offset between consecutive vertices in the vertex
- array. The initial value is 0.
- See glVertexPointer.
-
-
-
-
- GL_VERTEX_ARRAY_TYPE
-
-
-
-
- params returns one value,
- the data type of each coordinate in the vertex array. The initial value is
- GL_FLOAT.
- See glVertexPointer.
-
-
-
GL_VERTEX_PROGRAM_POINT_SIZE
-
-
+
+
params returns a single boolean value indicating whether vertex
program point size mode is enabled. If enabled, and a vertex shader is active, then the
@@ -4554,33 +2486,19 @@
-
- GL_VERTEX_PROGRAM_TWO_SIDE
-
-
-
-
- params returns a single boolean value indicating whether vertex
- program two-sided color mode is enabled. If enabled, and a vertex shader is active, then the
- GL chooses the back color output for back-facing polygons, and the front color output for
- non-polygons and front-facing polygons. If disabled, and a vertex shader is active, then the
- front color output is always selected. The initial value is GL_FALSE.
-
-
-
GL_VIEWPORT
-
-
+
+
+ When used with non-indexed variants of glGet (such as glGetIntegerv),
params returns four values:
the
x
and
y
- window coordinates of the viewport,
- followed by its width and height.
+ window coordinates of the viewport, followed by its width and height.
Initially the
x
and
@@ -4589,34 +2507,64 @@
and the width and height are set to the width and height of the window into
which the GL will do its rendering.
See glViewport.
-
-
-
-
- GL_ZOOM_X
-
-
-
-
- params returns one value,
+
+ When used with indexed variants of glGet (such as glGetIntegeri_v),
+ params returns four values:
the
x
- pixel zoom factor. The initial value is 1.
- See glPixelZoom.
+ and
+ y
+ window coordinates of the indexed viewport, followed by its width and height.
+ Initially the
+ x
+ and
+ y
+ window coordinates are both set to 0,
+ and the width and height are set to the width and height of the window into
+ which the GL will do its rendering.
+ See glViewportIndexedf.
- GL_ZOOM_Y
+ GL_VIEWPORT_BOUNDS_RANGE
-
-
+
+
+
+ params returns two values, the minimum and maximum viewport bounds range.
+ The minimum range should be at least [-32768, 32767].
+
+
+
+
+ GL_VIEWPORT_INDEX_PROVOKING_VERTEX
+
+
+
params returns one value,
- the
- y
- pixel zoom factor. The initial value is 1.
- See glPixelZoom.
+ the implementation dependent specifc vertex of a primitive that is used to select the viewport index.
+ If the value returned is equivalent to GL_PROVOKING_VERTEX, then the vertex
+ selection follows the convention specified by
+ glProvokingVertex.
+ If the value returned is equivalent to GL_FIRST_VERTEX_CONVENTION, then the
+ selection is always taken from the first vertex in the primitive.
+ If the value returned is equivalent to GL_LAST_VERTEX_CONVENTION, then the
+ selection is always taken from the last vertex in the primitive.
+ If the value returned is equivalent to GL_UNDEFINED_VERTEX, then the
+ selection is not guaranteed to be taken from any specific vertex in the primitive.
+
+
+
+
+ GL_VIEWPORT_SUBPIXEL_BITS
+
+
+
+
+ params returns a single value, the number of bits of sub-pixel precision which the GL
+ uses to interpret the floating point viewport bounds. The minimum value is 0.
@@ -4628,203 +2576,16 @@
Notes
- GL_COLOR_LOGIC_OP,
- GL_COLOR_ARRAY,
- GL_COLOR_ARRAY_SIZE,
- GL_COLOR_ARRAY_STRIDE,
- GL_COLOR_ARRAY_TYPE,
- GL_EDGE_FLAG_ARRAY,
- GL_EDGE_FLAG_ARRAY_STRIDE,
- GL_INDEX_ARRAY,
- GL_INDEX_ARRAY_STRIDE,
- GL_INDEX_ARRAY_TYPE,
- GL_INDEX_LOGIC_OP,
- GL_NORMAL_ARRAY,
- GL_NORMAL_ARRAY_STRIDE,
- GL_NORMAL_ARRAY_TYPE,
- GL_POLYGON_OFFSET_UNITS,
- GL_POLYGON_OFFSET_FACTOR,
- GL_POLYGON_OFFSET_FILL,
- GL_POLYGON_OFFSET_LINE,
- GL_POLYGON_OFFSET_POINT,
- GL_TEXTURE_COORD_ARRAY,
- GL_TEXTURE_COORD_ARRAY_SIZE,
- GL_TEXTURE_COORD_ARRAY_STRIDE,
- GL_TEXTURE_COORD_ARRAY_TYPE,
- GL_VERTEX_ARRAY,
- GL_VERTEX_ARRAY_SIZE,
- GL_VERTEX_ARRAY_STRIDE, and
- GL_VERTEX_ARRAY_TYPE
- are available only if the GL version is 1.1 or greater.
-
-
- GL_ALIASED_POINT_SIZE_RANGE,
- GL_FEEDBACK_BUFFER_SIZE,
- GL_FEEDBACK_BUFFER_TYPE,
- GL_LIGHT_MODEL_AMBIENT,
- GL_LIGHT_MODEL_COLOR_CONTROL,
- GL_MAX_3D_TEXTURE_SIZE,
- GL_MAX_ELEMENTS_INDICES,
- GL_MAX_ELEMENTS_VERTICES,
- GL_PACK_IMAGE_HEIGHT,
- GL_PACK_SKIP_IMAGES,
- GL_RESCALE_NORMAL,
- GL_SELECTION_BUFFER_SIZE,
- GL_SMOOTH_LINE_WIDTH_GRANULARITY,
- GL_SMOOTH_LINE_WIDTH_RANGE,
- GL_SMOOTH_POINT_SIZE_GRANULARITY,
- GL_SMOOTH_POINT_SIZE_RANGE,
- GL_TEXTURE_3D,
- GL_TEXTURE_BINDING_3D,
- GL_UNPACK_IMAGE_HEIGHT, and
- GL_UNPACK_SKIP_IMAGES
- are available only if the GL version is 1.2 or greater.
-
-
- GL_COMPRESSED_TEXTURE_FORMATS,
- GL_NUM_COMPRESSED_TEXTURE_FORMATS,
- GL_TEXTURE_BINDING_CUBE_MAP, and
- GL_TEXTURE_COMPRESSION_HINT
- are available only if the GL version is 1.3 or greater.
-
-
- GL_BLEND_DST_ALPHA,
- GL_BLEND_DST_RGB,
- GL_BLEND_SRC_ALPHA,
- GL_BLEND_SRC_RGB,
- GL_CURRENT_FOG_COORD,
- GL_CURRENT_SECONDARY_COLOR,
- GL_FOG_COORD_ARRAY_STRIDE,
- GL_FOG_COORD_ARRAY_TYPE,
- GL_FOG_COORD_SRC,
- GL_MAX_TEXTURE_LOD_BIAS,
- GL_POINT_SIZE_MIN,
- GL_POINT_SIZE_MAX,
- GL_POINT_FADE_THRESHOLD_SIZE,
- GL_POINT_DISTANCE_ATTENUATION,
- GL_SECONDARY_COLOR_ARRAY_SIZE,
- GL_SECONDARY_COLOR_ARRAY_STRIDE, and
- GL_SECONDARY_COLOR_ARRAY_TYPE
- are available only if the GL version is 1.4 or greater.
-
-
- GL_ARRAY_BUFFER_BINDING,
- GL_COLOR_ARRAY_BUFFER_BINDING,
- GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
- GL_ELEMENT_ARRAY_BUFFER_BINDING,
- GL_FOG_COORD_ARRAY_BUFFER_BINDING,
- GL_INDEX_ARRAY_BUFFER_BINDING,
- GL_NORMAL_ARRAY_BUFFER_BINDING,
- GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
- GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, and
- GL_VERTEX_ARRAY_BUFFER_BINDING
- are available only if the GL version is 1.5 or greater.
-
-
- GL_BLEND_EQUATION_ALPHA,
- GL_BLEND_EQUATION_RGB,
- GL_DRAW_BUFFERi,
- GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
- GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
- GL_MAX_DRAW_BUFFERS,
- GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
- GL_MAX_TEXTURE_COORDS,
- GL_MAX_TEXTURE_IMAGE_UNITS,
- GL_MAX_VARYING_FLOATS,
- GL_MAX_VERTEX_ATTRIBS,
- GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
- GL_MAX_VERTEX_UNIFORM_COMPONENTS,
- GL_POINT_SPRITE,
- GL_STENCIL_BACK_FAIL,
- GL_STENCIL_BACK_FUNC,
- GL_STENCIL_BACK_PASS_DEPTH_FAIL,
- GL_STENCIL_BACK_PASS_DEPTH_PASS,
- GL_STENCIL_BACK_REF,
- GL_STENCIL_BACK_VALUE_MASK,
- GL_STENCIL_BACK_WRITEMASK,
- GL_VERTEX_PROGRAM_POINT_SIZE, and
- GL_VERTEX_PROGRAM_TWO_SIDE
- are available only if the GL version is 2.0 or greater.
-
-
- GL_CURRENT_RASTER_SECONDARY_COLOR,
- GL_PIXEL_PACK_BUFFER_BINDING and
- GL_PIXEL_UNPACK_BUFFER_BINDING
- are available only if the GL version is 2.1 or greater.
-
-
- GL_LINE_WIDTH_GRANULARITY was deprecated in GL version 1.2. Its
- functionality was replaced by GL_SMOOTH_LINE_WIDTH_GRANULARITY.
-
-
- GL_LINE_WIDTH_RANGE was deprecated in GL version 1.2. Its
- functionality was replaced by GL_SMOOTH_LINE_WIDTH_RANGE.
-
-
- GL_POINT_SIZE_GRANULARITY was deprecated in GL version 1.2. Its
- functionality was replaced by GL_SMOOTH_POINT_SIZE_GRANULARITY.
-
-
- GL_POINT_SIZE_RANGE was deprecated in GL version 1.2. Its
- functionality was replaced by GL_SMOOTH_POINT_SIZE_RANGE.
-
-
- GL_BLEND_EQUATION was deprecated in GL version 2.0. Its
- functionality was replaced by GL_BLEND_EQUATION_RGB and
- GL_BLEND_EQUATION_ALPHA.
-
-
- GL_COLOR_MATRIX,
- GL_COLOR_MATRIX_STACK_DEPTH,
- GL_COLOR_TABLE,
- GL_CONVOLUTION_1D,
- GL_CONVOLUTION_2D,
- GL_HISTOGRAM,
- GL_MAX_COLOR_MATRIX_STACK_DEPTH,
- GL_MINMAX,
- GL_POST_COLOR_MATRIX_COLOR_TABLE,
- GL_POST_COLOR_MATRIX_RED_BIAS,
- GL_POST_COLOR_MATRIX_GREEN_BIAS,
- GL_POST_COLOR_MATRIX_BLUE_BIAS,
- GL_POST_COLOR_MATRIX_ALPHA_BIAS,
- GL_POST_COLOR_MATRIX_RED_SCALE,
- GL_POST_COLOR_MATRIX_GREEN_SCALE,
- GL_POST_COLOR_MATRIX_BLUE_SCALE,
- GL_POST_COLOR_MATRIX_ALPHA_SCALE,
- GL_POST_CONVOLUTION_COLOR_TABLE,
- GL_POST_CONVOLUTION_RED_BIAS,
- GL_POST_CONVOLUTION_GREEN_BIAS,
- GL_POST_CONVOLUTION_BLUE_BIAS,
- GL_POST_CONVOLUTION_ALPHA_BIAS,
- GL_POST_CONVOLUTION_RED_SCALE,
- GL_POST_CONVOLUTION_GREEN_SCALE,
- GL_POST_CONVOLUTION_BLUE_SCALE,
- GL_POST_CONVOLUTION_ALPHA_SCALE, and
- GL_SEPARABLE_2D
- are available only if ARB_imaging
is returned from glGet
- when called with the argument GL_EXTENSIONS.
-
-
- When the ARB_multitexture
extension is supported, or the GL version
- is 1.3 or greater, the following
- parameters return the associated value for the active texture unit:
- GL_CURRENT_RASTER_TEXTURE_COORDS,
+ The following parameters return the associated value for the active texture unit:
GL_TEXTURE_1D, GL_TEXTURE_BINDING_1D,
GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D,
- GL_TEXTURE_3D, GL_TEXTURE_BINDING_3D,
- GL_TEXTURE_GEN_S,
- GL_TEXTURE_GEN_T,
- GL_TEXTURE_GEN_R,
- GL_TEXTURE_GEN_Q,
- GL_TEXTURE_MATRIX, and
- GL_TEXTURE_STACK_DEPTH.
- Likewise, the following parameters return the associated value for the
- active client texture unit:
- GL_TEXTURE_COORD_ARRAY,
- GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
- GL_TEXTURE_COORD_ARRAY_SIZE,
- GL_TEXTURE_COORD_ARRAY_STRIDE,
- GL_TEXTURE_COORD_ARRAY_TYPE.
+ GL_TEXTURE_3D and GL_TEXTURE_BINDING_3D.
+
+
+ GL_MAX_VIEWPORTS, GL_VIEWPORT_SUBPIXEL_BITS,
+ GL_VIEWPORT_BOUNDS_RANGE, GL_LAYER_PROVOKING_VERTEX,
+ and GL_VIEWPORT_INDEX_PROVOKING_VERTEX
+ are available only if the GL version is 4.1 or greater.
Errors
@@ -4832,50 +2593,29 @@
GL_INVALID_ENUM is generated if pname is not an accepted value.
- GL_INVALID_OPERATION is generated if glGet
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
+ GL_INVALID_VALUE is generated on any of glGetBooleani_v,
+ glGetIntegeri_v, or glGetInteger64i_v if
+ index is outside of the valid range for the indexed state target.
See Also
- glGetActiveAttrib,
glGetActiveUniform,
glGetAttachedShaders,
glGetAttribLocation,
- glGetBufferParameteriv,
+ glGetBufferParameter,
glGetBufferPointerv,
glGetBufferSubData,
- glGetClipPlane,
- glGetColorTable,
- glGetColorTableParameter,
glGetCompressedTexImage,
- glGetConvolutionFilter,
- glGetConvolutionParameter,
glGetError,
- glGetHistogram,
- glGetHistogramParameter,
- glGetLight,
- glGetMap,
- glGetMaterial,
- glGetMinmax,
- glGetMinmaxParameter,
- glGetPixelMap,
- glGetPointerv,
- glGetPolygonStipple,
glGetProgram,
glGetProgramInfoLog,
glGetQueryiv,
glGetQueryObject,
- glGetSeparableFilter,
glGetShader,
glGetShaderInfoLog,
glGetShaderSource,
glGetString,
- glGetTexEnv,
- glGetTexGen,
glGetTexImage,
glGetTexLevelParameter,
glGetTexParameter,
diff --git a/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml
index da8bb51d..8b6c5b2a 100644
--- a/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml
+++ b/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml
@@ -1,228 +1,232 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetActiveAttrib
- 3G
+ glGetActiveAttrib
+ 3G
- glGetActiveAttrib
- Returns information about an active attribute variable for the specified program object
+ glGetActiveAttrib
+ Returns information about an active attribute variable for the specified program object
C Specification
-
-
- void glGetActiveAttrib
- GLuint program
- GLuint index
- GLsizei bufSize
- GLsizei *length
- GLint *size
- GLenum *type
- GLchar *name
-
-
+
+
+ void glGetActiveAttrib
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLchar *name
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- index
-
- Specifies the index of the attribute variable
- to be queried.
-
-
-
- bufSize
-
- Specifies the maximum number of characters
- OpenGL is allowed to write in the character buffer
- indicated by name.
-
-
-
- length
-
- Returns the number of characters actually
- written by OpenGL in the string indicated by
- name (excluding the null
- terminator) if a value other than
- NULL is passed.
-
-
-
- size
-
- Returns the size of the attribute
- variable.
-
-
-
- type
-
- Returns the data type of the attribute
- variable.
-
-
-
- name
-
- Returns a null terminated string containing
- the name of the attribute variable.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ index
+
+ Specifies the index of the attribute variable
+ to be queried.
+
+
+
+ bufSize
+
+ Specifies the maximum number of characters
+ OpenGL is allowed to write in the character buffer
+ indicated by name.
+
+
+
+ length
+
+ Returns the number of characters actually
+ written by OpenGL in the string indicated by
+ name (excluding the null
+ terminator) if a value other than
+ NULL is passed.
+
+
+
+ size
+
+ Returns the size of the attribute
+ variable.
+
+
+
+ type
+
+ Returns the data type of the attribute
+ variable.
+
+
+
+ name
+
+ Returns a null terminated string containing
+ the name of the attribute variable.
+
+
+
Description
- glGetActiveAttrib returns information
- about an active attribute variable in the program object
- specified by program. The number of
- active attributes can be obtained by calling
- glGetProgram
- with the value GL_ACTIVE_ATTRIBUTES. A
- value of 0 for index selects the first
- active attribute variable. Permissible values for
- index range from 0 to the number of
- active attribute variables minus 1.
+ glGetActiveAttrib returns information
+ about an active attribute variable in the program object
+ specified by program. The number of
+ active attributes can be obtained by calling
+ glGetProgram
+ with the value GL_ACTIVE_ATTRIBUTES. A
+ value of 0 for index selects the first
+ active attribute variable. Permissible values for
+ index range from 0 to the number of
+ active attribute variables minus 1.
- A vertex shader may use either built-in attribute
- variables, user-defined attribute variables, or both. Built-in
- attribute variables have a prefix of "gl_" and
- reference conventional OpenGL vertex attribtes (e.g.,
- gl_Vertex,
- gl_Normal, etc., see the OpenGL Shading
- Language specification for a complete list.) User-defined
- attribute variables have arbitrary names and obtain their values
- through numbered generic vertex attributes. An attribute
- variable (either built-in or user-defined) is considered active
- if it is determined during the link operation that it may be
- accessed during program execution. Therefore,
- program should have previously been the
- target of a call to
- glLinkProgram,
- but it is not necessary for it to have been linked
- successfully.
+ A vertex shader may use either built-in attribute
+ variables, user-defined attribute variables, or both. Built-in
+ attribute variables have a prefix of "gl_" and
+ reference conventional OpenGL vertex attribtes (e.g.,
+ gl_Vertex,
+ gl_Normal, etc., see the OpenGL Shading
+ Language specification for a complete list.) User-defined
+ attribute variables have arbitrary names and obtain their values
+ through numbered generic vertex attributes. An attribute
+ variable (either built-in or user-defined) is considered active
+ if it is determined during the link operation that it may be
+ accessed during program execution. Therefore,
+ program should have previously been the
+ target of a call to
+ glLinkProgram,
+ but it is not necessary for it to have been linked
+ successfully.
- The size of the character buffer required to store the
- longest attribute variable name in
- program can be obtained by calling
- glGetProgram
- with the value
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value
- should be used to allocate a buffer of sufficient size to store
- the returned attribute name. The size of this character buffer
- is passed in bufSize, and a pointer to
- this character buffer is passed in
- name.
+ The size of the character buffer required to store the
+ longest attribute variable name in
+ program can be obtained by calling
+ glGetProgram
+ with the value
+ GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value
+ should be used to allocate a buffer of sufficient size to store
+ the returned attribute name. The size of this character buffer
+ is passed in bufSize, and a pointer to
+ this character buffer is passed in
+ name.
- glGetActiveAttrib returns the name of
- the attribute variable indicated by
- index, storing it in the character buffer
- specified by name. The string returned
- will be null terminated. The actual number of characters written
- into this buffer is returned in length,
- and this count does not include the null termination character.
- If the length of the returned string is not required, a value of
- NULL can be passed in the
- length argument.
+ glGetActiveAttrib returns the name of
+ the attribute variable indicated by
+ index, storing it in the character buffer
+ specified by name. The string returned
+ will be null terminated. The actual number of characters written
+ into this buffer is returned in length,
+ and this count does not include the null termination character.
+ If the length of the returned string is not required, a value of
+ NULL can be passed in the
+ length argument.
- The type argument will return a
- pointer to the attribute variable's data type. The symbolic
- constants GL_FLOAT,
- GL_FLOAT_VEC2,
- GL_FLOAT_VEC3,
- GL_FLOAT_VEC4,
- GL_FLOAT_MAT2,
- GL_FLOAT_MAT3,
- GL_FLOAT_MAT4,
- GL_FLOAT_MAT2x3,
- GL_FLOAT_MAT2x4,
- GL_FLOAT_MAT3x2,
- GL_FLOAT_MAT3x4,
- GL_FLOAT_MAT4x2, or
- GL_FLOAT_MAT4x3 may be returned. The
- size argument will return the size of the
- attribute, in units of the type returned in
- type.
+ The type argument specifies a
+ pointer to a variable into which the attribute variable's data type
+ will be written. The symbolic
+ constants GL_FLOAT,
+ GL_FLOAT_VEC2,
+ GL_FLOAT_VEC3,
+ GL_FLOAT_VEC4,
+ GL_FLOAT_MAT2,
+ GL_FLOAT_MAT3,
+ GL_FLOAT_MAT4,
+ GL_FLOAT_MAT2x3,
+ GL_FLOAT_MAT2x4,
+ GL_FLOAT_MAT3x2,
+ GL_FLOAT_MAT3x4,
+ GL_FLOAT_MAT4x2,
+ GL_FLOAT_MAT4x3,
+ GL_INT,
+ GL_INT_VEC2,
+ GL_INT_VEC3,
+ GL_INT_VEC4,
+ GL_UNSIGNED_INT_VEC,
+ GL_UNSIGNED_INT_VEC2,
+ GL_UNSIGNED_INT_VEC3,
+ GL_UNSIGNED_INT_VEC4,
+ DOUBLE,
+ DOUBLE_VEC2,
+ DOUBLE_VEC3,
+ DOUBLE_VEC4,
+ DOUBLE_MAT2,
+ DOUBLE_MAT3,
+ DOUBLE_MAT4,
+ DOUBLE_MAT2x3,
+ DOUBLE_MAT2x4,
+ DOUBLE_MAT3x2,
+ DOUBLE_MAT3x4,
+ DOUBLE_MAT4x2, or
+ DOUBLE_MAT4x3
+ may be returned. The
+ size argument will return the size of the
+ attribute, in units of the type returned in
+ type.
- The list of active attribute variables may include both
- built-in attribute variables (which begin with the prefix
- "gl_") as well as user-defined attribute variable
- names.
+ The list of active attribute variables may include both
+ built-in attribute variables (which begin with the prefix
+ "gl_") as well as user-defined attribute variable
+ names.
- This function will return as much information as it can
- about the specified active attribute variable. If no information
- is available, length will be 0, and
- name will be an empty string. This
- situation could occur if this function is called after a link
- operation that failed. If an error occurs, the return values
- length, size,
- type, and name
- will be unmodified.
-
- Notes
- glGetActiveAttrib
- is available only if the GL version is 2.0 or greater.
-
- GL_FLOAT_MAT2x3,
- GL_FLOAT_MAT2x4,
- GL_FLOAT_MAT3x2,
- GL_FLOAT_MAT3x4,
- GL_FLOAT_MAT4x2, and
- GL_FLOAT_MAT4x3
- will only be returned as a type
- if the GL version is 2.1 or greater.
+ This function will return as much information as it can
+ about the specified active attribute variable. If no information
+ is available, length will be 0, and
+ name will be an empty string. This
+ situation could occur if this function is called after a link
+ operation that failed. If an error occurs, the return values
+ length, size,
+ type, and name
+ will be unmodified.
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_VALUE is generated if
- index is greater than or equal to the
- number of active attribute variables in
- program.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to the
+ number of active attribute variables in
+ program.
- GL_INVALID_OPERATION is generated if
- glGetActiveAttrib is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
-
- GL_INVALID_VALUE is generated if
- bufSize is less than 0.
+ GL_INVALID_VALUE is generated if
+ bufSize is less than 0.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS.
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS.
- glGetProgram
- with argument GL_ACTIVE_ATTRIBUTES or
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH.
+ glGetProgram
+ with argument GL_ACTIVE_ATTRIBUTES or
+ GL_ACTIVE_ATTRIBUTE_MAX_LENGTH.
- glIsProgram
+ glIsProgram
See Also
- glBindAttribLocation,
- glLinkProgram,
- glVertexAttrib,
- glVertexAttribPointer
+ glBindAttribLocation,
+ glLinkProgram,
+ glVertexAttrib,
+ glVertexAttribPointer
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml b/Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml
new file mode 100644
index 00000000..dc694d0f
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetActiveSubroutineName
+ 3G
+
+
+ glGetActiveSubroutineName
+ query the name of an active shader subroutine
+
+ C Specification
+
+
+ void glGetActiveSubroutineName
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLsizei bufsize
+ GLsizei *length
+ GLchar *name
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing the subroutine.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query the subroutine name.
+
+
+
+
+ index
+
+
+ Specifies the index of the shader subroutine uniform.
+
+
+
+
+ bufsize
+
+
+ Specifies the size of the buffer whose address is given in name.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
+
+
+
+
+ name
+
+
+ Specifies the address of an array into which the name of the shader subroutine uniform will be written.
+
+
+
+
+
+ Description
+
+ glGetActiveSubroutineName queries the name of an active shader subroutine uniform from the
+ program object given in program. index specifies the index of
+ the shader subroutine uniform within the shader stage given by stage, and must between
+ zero and the value of GL_ACTIVE_SUBROUTINES minus one for the shader stage.
+
+
+ The name of the selected subroutine is returned as a null-terminated string in name. The
+ actual number of characters written into name, not including the null-terminator, is
+ is returned in length. If length is NULL,
+ no length is returned. The maximum number of characters that may be written into name,
+ including the null-terminator, is given in bufsize.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_ACTIVE_SUBROUTINES.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ Associated Gets
+
+ glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
+
+
+ See Also
+
+ glGetSubroutineIndex,
+ glGetActiveSubroutineUniform,
+ glGetProgramStage
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml b/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml
new file mode 100644
index 00000000..6ab0db5a
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetActiveSubroutineUniform
+ 3G
+
+
+ glGetActiveSubroutineUniform
+ query a property of an active shader subroutine uniform
+
+ C Specification
+
+
+ void glGetActiveSubroutineUniformiv
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLenum pname
+ GLint *values
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing the subroutine.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for the subroutine parameter. shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ index
+
+
+ Specifies the index of the shader subroutine uniform.
+
+
+
+
+ pname
+
+
+ Specifies the parameter of the shader subroutine uniform to query. pname
+ must be GL_NUM_COMPATIBLE_SUBROUTINES, GL_COMPATIBLE_SUBROUTINES,
+ GL_UNIFORM_SIZE or GL_UNIFORM_NAME_LENGTH.
+
+
+
+
+ values
+
+
+ Specifies the address of a into which the queried value or values will be placed.
+
+
+
+
+
+ Description
+
+ glGetActiveSubroutineUniform queries a parameter of an active shader subroutine uniform.
+ program contains the name of the program containing the uniform. shadertype
+ specifies the stage which which the uniform location, given by index, is valid. index
+ must be between zero and the value of GL_ACTIVE_SUBROUTINE_UNIFORMS minus one for the
+ shader stage.
+
+
+ If pname is GL_NUM_COMPATIBLE_SUBROUTINES, a single integer indicating the number
+ of subroutines that can be assigned to the uniform is returned in values.
+
+
+ If pname is GL_COMPATIBLE_SUBROUTINES, an array of integers is returned in
+ values, with each integer specifying the index of an active subroutine that can be assigned to
+ the selected subroutine uniform. The number of integers returned is the same as the value returned for
+ GL_NUM_COMPATIBLE_SUBROUTINES.
+
+
+ If pname is GL_UNIFORM_SIZE, a single integer is returned in values.
+ If the selected subroutine uniform is an array, the declared size of the array is returned; otherwise, one is returned.
+
+
+ If pname is GL_UNIFORM_NAME_LENGTH, a single integer specifying the length of
+ the subroutine uniform name (including the terminating null character) is returned in values.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype or pname
+ is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_ACTIVE_SUBROUTINES.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ Associated Gets
+
+ glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORMS
+
+
+ See Also
+
+ glGetSubroutineIndex,
+ glGetActiveSubroutineUniformName,
+ glGetProgramStage
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml b/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml
new file mode 100644
index 00000000..98d1990f
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetActiveSubroutineUniformName
+ 3G
+
+
+ glGetActiveSubroutineUniformName
+ query the name of an active shader subroutine uniform
+
+ C Specification
+
+
+ void glGetActiveSubroutineUniformName
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLsizei bufsize
+ GLsizei *length
+ GLchar *name
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing the subroutine.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for the subroutine parameter. shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ index
+
+
+ Specifies the index of the shader subroutine uniform.
+
+
+
+
+ bufsize
+
+
+ Specifies the size of the buffer whose address is given in name.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable into which is written the number of characters copied into name.
+
+
+
+
+ name
+
+
+ Specifies the address of a buffer that will receive the name of the specified shader subroutine uniform.
+
+
+
+
+
+ Description
+
+ glGetActiveSubroutineUniformName retrieves the name of an active shader subroutine uniform.
+ program contains the name of the program containing the uniform. shadertype
+ specifies the stage for which which the uniform location, given by index, is valid. index
+ must be between zero and the value of GL_ACTIVE_SUBROUTINE_UNIFORMS minus one for the
+ shader stage.
+
+
+ The uniform name is returned as a null-terminated string in name. The actual number of characters
+ written into name, excluding the null terminator is returned in length.
+ If length is NULL, no length is returned. The maximum number of characters
+ that may be written into name, including the null terminator, is specified by bufsize.
+ The length of the longest subroutine uniform name in program and shadertype is given
+ by the value of GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH, which can be queried with
+ glGetProgramStage.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype or pname
+ is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_ACTIVE_SUBROUTINES.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ Associated Gets
+
+ glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORMS
+
+
+ See Also
+
+ glGetSubroutineIndex,
+ glGetActiveSubroutineUniform,
+ glGetProgramStage
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/glGetActiveUniform.xml
index 699af8f7..3a222ca5 100644
--- a/Source/Bind/Specifications/Docs/glGetActiveUniform.xml
+++ b/Source/Bind/Specifications/Docs/glGetActiveUniform.xml
@@ -1,274 +1,851 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetActiveUniform
- 3G
+ glGetActiveUniform
+ 3G
- glGetActiveUniform
- Returns information about an active uniform variable for the specified program object
+ glGetActiveUniform
+ Returns information about an active uniform variable for the specified program object
C Specification
-
-
- void glGetActiveUniform
- GLuint program
- GLuint index
- GLsizei bufSize
- GLsizei *length
- GLint *size
- GLenum *type
- GLchar *name
-
-
+
+
+ void glGetActiveUniform
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLchar *name
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- index
-
- Specifies the index of the uniform variable to
- be queried.
-
-
-
- bufSize
-
- Specifies the maximum number of characters
- OpenGL is allowed to write in the character buffer
- indicated by name.
-
-
-
- length
-
- Returns the number of characters actually
- written by OpenGL in the string indicated by
- name (excluding the null
- terminator) if a value other than
- NULL is passed.
-
-
-
- size
-
- Returns the size of the uniform
- variable.
-
-
-
- type
-
- Returns the data type of the uniform
- variable.
-
-
-
- name
-
- Returns a null terminated string containing
- the name of the uniform variable.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ index
+
+ Specifies the index of the uniform variable to
+ be queried.
+
+
+
+ bufSize
+
+ Specifies the maximum number of characters
+ OpenGL is allowed to write in the character buffer
+ indicated by name.
+
+
+
+ length
+
+ Returns the number of characters actually
+ written by OpenGL in the string indicated by
+ name (excluding the null
+ terminator) if a value other than
+ NULL is passed.
+
+
+
+ size
+
+ Returns the size of the uniform
+ variable.
+
+
+
+ type
+
+ Returns the data type of the uniform
+ variable.
+
+
+
+ name
+
+ Returns a null terminated string containing
+ the name of the uniform variable.
+
+
+
Description
- glGetActiveUniform returns
- information about an active uniform variable in the program
- object specified by program. The number
- of active uniform variables can be obtained by calling
- glGetProgram
- with the value GL_ACTIVE_UNIFORMS. A value
- of 0 for index selects the first active
- uniform variable. Permissible values for
- index range from 0 to the number of
- active uniform variables minus 1.
+ glGetActiveUniform returns
+ information about an active uniform variable in the program
+ object specified by program. The number
+ of active uniform variables can be obtained by calling
+ glGetProgram
+ with the value GL_ACTIVE_UNIFORMS. A value
+ of 0 for index selects the first active
+ uniform variable. Permissible values for
+ index range from 0 to the number of
+ active uniform variables minus 1.
- Shaders may use either built-in uniform variables,
- user-defined uniform variables, or both. Built-in uniform
- variables have a prefix of "gl_" and reference
- existing OpenGL state or values derived from such state (e.g.,
- gl_Fog,
- gl_ModelViewMatrix, etc., see the OpenGL
- Shading Language specification for a complete list.)
- User-defined uniform variables have arbitrary names and obtain
- their values from the application through calls to
- glUniform.
- A uniform variable (either built-in or user-defined) is
- considered active if it is determined during the link operation
- that it may be accessed during program execution. Therefore,
- program should have previously been the
- target of a call to
- glLinkProgram,
- but it is not necessary for it to have been linked
- successfully.
+ Shaders may use either built-in uniform variables,
+ user-defined uniform variables, or both. Built-in uniform
+ variables have a prefix of "gl_" and reference
+ existing OpenGL state or values derived from such state (e.g.,
+ gl_DepthRangeParameters, see the OpenGL
+ Shading Language specification for a complete list.)
+ User-defined uniform variables have arbitrary names and obtain
+ their values from the application through calls to
+ glUniform.
+ A uniform variable (either built-in or user-defined) is
+ considered active if it is determined during the link operation
+ that it may be accessed during program execution. Therefore,
+ program should have previously been the
+ target of a call to
+ glLinkProgram,
+ but it is not necessary for it to have been linked
+ successfully.
- The size of the character buffer required to store the
- longest uniform variable name in program
- can be obtained by calling
- glGetProgram
- with the value
- GL_ACTIVE_UNIFORM_MAX_LENGTH. This value
- should be used to allocate a buffer of sufficient size to store
- the returned uniform variable name. The size of this character
- buffer is passed in bufSize, and a
- pointer to this character buffer is passed in
- name.
+ The size of the character buffer required to store the
+ longest uniform variable name in program
+ can be obtained by calling
+ glGetProgram
+ with the value
+ GL_ACTIVE_UNIFORM_MAX_LENGTH. This value
+ should be used to allocate a buffer of sufficient size to store
+ the returned uniform variable name. The size of this character
+ buffer is passed in bufSize, and a
+ pointer to this character buffer is passed in
+ name.
- glGetActiveUniform returns the name
- of the uniform variable indicated by
- index, storing it in the character buffer
- specified by name. The string returned
- will be null terminated. The actual number of characters written
- into this buffer is returned in length,
- and this count does not include the null termination character.
- If the length of the returned string is not required, a value of
- NULL can be passed in the
- length argument.
+ glGetActiveUniform returns the name
+ of the uniform variable indicated by
+ index, storing it in the character buffer
+ specified by name. The string returned
+ will be null terminated. The actual number of characters written
+ into this buffer is returned in length,
+ and this count does not include the null termination character.
+ If the length of the returned string is not required, a value of
+ NULL can be passed in the
+ length argument.
- The type
- argument will return a pointer to the uniform variable's data
- type. The symbolic constants
- GL_FLOAT,
- GL_FLOAT_VEC2,
- GL_FLOAT_VEC3,
- GL_FLOAT_VEC4,
- GL_INT,
- GL_INT_VEC2,
- GL_INT_VEC3,
- GL_INT_VEC4,
- GL_BOOL,
- GL_BOOL_VEC2,
- GL_BOOL_VEC3,
- GL_BOOL_VEC4,
- GL_FLOAT_MAT2,
- GL_FLOAT_MAT3,
- GL_FLOAT_MAT4,
- GL_FLOAT_MAT2x3,
- GL_FLOAT_MAT2x4,
- GL_FLOAT_MAT3x2,
- GL_FLOAT_MAT3x4,
- GL_FLOAT_MAT4x2,
- GL_FLOAT_MAT4x3,
- GL_SAMPLER_1D,
- GL_SAMPLER_2D,
- GL_SAMPLER_3D,
- GL_SAMPLER_CUBE,
- GL_SAMPLER_1D_SHADOW, or
- GL_SAMPLER_2D_SHADOW
- may be returned.
+ The type
+ argument will return a pointer to the uniform variable's data
+ type. The symbolic constants returned for uniform types are shown in the
+ table below.
+
+
+
+
+
+
+
+ Returned Symbolic Contant
+
+
+ Shader Uniform Type
+
+
+
+
+
+
+ GL_FLOAT
+
+
+ float
+
+
+
+
+ GL_FLOAT_VEC2
+
+
+ vec2
+
+
+
+
+ GL_FLOAT_VEC3
+
+
+ vec3
+
+
+
+
+ GL_FLOAT_VEC4
+
+
+ vec4
+
+
+
+
+ GL_DOUBLE
+
+
+ double
+
+
+
+
+ GL_DOUBLE_VEC2
+
+
+ dvec2
+
+
+
+
+ GL_DOUBLE_VEC3
+
+
+ dvec3
+
+
+
+
+ GL_DOUBLE_VEC4
+
+
+ dvec4
+
+
+
+
+ GL_INT
+
+
+ int
+
+
+
+
+ GL_INT_VEC2
+
+
+ ivec2
+
+
+
+
+ GL_INT_VEC3
+
+
+ ivec3
+
+
+
+
+ GL_INT_VEC4
+
+
+ ivec4
+
+
+
+
+ GL_UNSIGNED_INT
+
+
+ unsigned int
+
+
+
+
+ GL_UNSIGNED_INT_VEC2
+
+
+ uvec2
+
+
+
+
+ GL_UNSIGNED_INT_VEC3
+
+
+ uvec3
+
+
+
+
+ GL_UNSIGNED_INT_VEC4
+
+
+ uvec4
+
+
+
+
+ GL_BOOL
+
+
+ bool
+
+
+
+
+ GL_BOOL_VEC2
+
+
+ bvec2
+
+
+
+
+ GL_BOOL_VEC3
+
+
+ bvec3
+
+
+
+
+ GL_BOOL_VEC4
+
+
+ bvec4
+
+
+
+
+ GL_FLOAT_MAT2
+
+
+ mat2
+
+
+
+
+ GL_FLOAT_MAT3
+
+
+ mat3
+
+
+
+
+ GL_FLOAT_MAT4
+
+
+ mat4
+
+
+
+
+ GL_FLOAT_MAT2x3
+
+
+ mat2x3
+
+
+
+
+ GL_FLOAT_MAT2x4
+
+
+ mat2x4
+
+
+
+
+ GL_FLOAT_MAT3x2
+
+
+ mat3x2
+
+
+
+
+ GL_FLOAT_MAT3x4
+
+
+ mat3x4
+
+
+
+
+ GL_FLOAT_MAT4x2
+
+
+ mat4x2
+
+
+
+
+ GL_FLOAT_MAT4x3
+
+
+ mat4x3
+
+
+
+
+ GL_DOUBLE_MAT2
+
+
+ dmat2
+
+
+
+
+ GL_DOUBLE_MAT3
+
+
+ dmat3
+
+
+
+
+ GL_DOUBLE_MAT4
+
+
+ dmat4
+
+
+
+
+ GL_DOUBLE_MAT2x3
+
+
+ dmat2x3
+
+
+
+
+ GL_DOUBLE_MAT2x4
+
+
+ dmat2x4
+
+
+
+
+ GL_DOUBLE_MAT3x2
+
+
+ dmat3x2
+
+
+
+
+ GL_DOUBLE_MAT3x4
+
+
+ dmat3x4
+
+
+
+
+ GL_DOUBLE_MAT4x2
+
+
+ dmat4x2
+
+
+
+
+ GL_DOUBLE_MAT4x3
+
+
+ dmat4x3
+
+
+
+
+ GL_SAMPLER_1D
+
+
+ sampler1D
+
+
+
+
+ GL_SAMPLER_2D
+
+
+ sampler2D
+
+
+
+
+ GL_SAMPLER_3D
+
+
+ sampler3D
+
+
+
+
+ GL_SAMPLER_CUBE
+
+
+ samplerCube
+
+
+
+
+ GL_SAMPLER_1D_SHADOW
+
+
+ sampler1DShadow
+
+
+
+
+ GL_SAMPLER_2D_SHADOW
+
+
+ sampler2DShadow
+
+
+
+
+ GL_SAMPLER_1D_ARRAY
+
+
+ sampler1DArray
+
+
+
+
+ GL_SAMPLER_2D_ARRAY
+
+
+ sampler2DArray
+
+
+
+
+ GL_SAMPLER_1D_ARRAY_SHADOW
+
+
+ sampler1DArrayShadow
+
+
+
+
+ GL_SAMPLER_2D_ARRAY_SHADOW
+
+
+ sampler2DArrayShadow
+
+
+
+
+ GL_SAMPLER_2D_MULTISAMPLE
+
+
+ sampler2DMS
+
+
+
+
+ GL_SAMPLER_2D_MULTISAMPLE_ARRAY
+
+
+ sampler2DMSArray
+
+
+
+
+ GL_SAMPLER_CUBE_SHADOW
+
+
+ samplerCubeShadow
+
+
+
+
+ GL_SAMPLER_BUFFER
+
+
+ samplerBuffer
+
+
+
+
+ GL_SAMPLER_2D_RECT
+
+
+ sampler2DRect
+
+
+
+
+ GL_SAMPLER_2D_RECT_SHADOW
+
+
+ sampler2DRectShadow
+
+
+
+
+ GL_INT_SAMPLER_1D
+
+
+ isampler1D
+
+
+
+
+ GL_INT_SAMPLER_2D
+
+
+ isampler2D
+
+
+
+
+ GL_INT_SAMPLER_3D
+
+
+ isampler3D
+
+
+
+
+ GL_INT_SAMPLER_CUBE
+
+
+ isamplerCube
+
+
+
+
+ GL_INT_SAMPLER_1D_ARRAY
+
+
+ isampler1DArray
+
+
+
+
+ GL_INT_SAMPLER_2D_ARRAY
+
+
+ isampler2DArray
+
+
+
+
+ GL_INT_SAMPLER_2D_MULTISAMPLE
+
+
+ isampler2DMS
+
+
+
+
+ GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
+
+
+ isampler2DMSArray
+
+
+
+
+ GL_INT_SAMPLER_BUFFER
+
+
+ isamplerBuffer
+
+
+
+
+ GL_INT_SAMPLER_2D_RECT
+
+
+ isampler2DRect
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_1D
+
+
+ usampler1D
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_2D
+
+
+ usampler2D
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_3D
+
+
+ usampler3D
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_CUBE
+
+
+ usamplerCube
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_1D_ARRAY
+
+
+ usampler2DArray
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_2D_ARRAY
+
+
+ usampler2DArray
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
+
+
+ usampler2DMS
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
+
+
+ usampler2DMSArray
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_BUFFER
+
+
+ usamplerBuffer
+
+
+
+
+ GL_UNSIGNED_INT_SAMPLER_2D_RECT
+
+
+ usampler2DRect
+
+
+
+
+
+
- If one or more elements of an array are active, the name
- of the array is returned in name, the
- type is returned in type, and the
- size parameter returns the highest array
- element index used, plus one, as determined by the compiler
- and/or linker. Only one active uniform variable will be reported
- for a uniform array.
+ If one or more elements of an array are active, the name
+ of the array is returned in name, the
+ type is returned in type, and the
+ size parameter returns the highest array
+ element index used, plus one, as determined by the compiler
+ and/or linker. Only one active uniform variable will be reported
+ for a uniform array.
- Uniform variables that are declared as structures or
- arrays of structures will not be returned directly by this
- function. Instead, each of these uniform variables will be
- reduced to its fundamental components containing the
- "." and "[]" operators such that each of the
- names is valid as an argument to
- glGetUniformLocation.
- Each of these reduced uniform variables is counted as one active
- uniform variable and is assigned an index. A valid name cannot
- be a structure, an array of structures, or a subcomponent of a
- vector or matrix.
+ Uniform variables that are declared as structures or
+ arrays of structures will not be returned directly by this
+ function. Instead, each of these uniform variables will be
+ reduced to its fundamental components containing the
+ "." and "[]" operators such that each of the
+ names is valid as an argument to
+ glGetUniformLocation.
+ Each of these reduced uniform variables is counted as one active
+ uniform variable and is assigned an index. A valid name cannot
+ be a structure, an array of structures, or a subcomponent of a
+ vector or matrix.
- The size of the uniform variable will be returned in
- size. Uniform variables other than arrays
- will have a size of 1. Structures and arrays of structures will
- be reduced as described earlier, such that each of the names
- returned will be a data type in the earlier list. If this
- reduction results in an array, the size returned will be as
- described for uniform arrays; otherwise, the size returned will
- be 1.
+ The size of the uniform variable will be returned in
+ size. Uniform variables other than arrays
+ will have a size of 1. Structures and arrays of structures will
+ be reduced as described earlier, such that each of the names
+ returned will be a data type in the earlier list. If this
+ reduction results in an array, the size returned will be as
+ described for uniform arrays; otherwise, the size returned will
+ be 1.
- The list of active uniform variables may include both
- built-in uniform variables (which begin with the prefix
- "gl_") as well as user-defined uniform variable
- names.
+ The list of active uniform variables may include both
+ built-in uniform variables (which begin with the prefix
+ "gl_") as well as user-defined uniform variable
+ names.
- This function will return as much information as it can
- about the specified active uniform variable. If no information
- is available, length will be 0, and
- name will be an empty string. This
- situation could occur if this function is called after a link
- operation that failed. If an error occurs, the return values
- length, size,
- type, and name
- will be unmodified.
+ This function will return as much information as it can
+ about the specified active uniform variable. If no information
+ is available, length will be 0, and
+ name will be an empty string. This
+ situation could occur if this function is called after a link
+ operation that failed. If an error occurs, the return values
+ length, size,
+ type, and name
+ will be unmodified.
Notes
- glGetActiveUniform is available only
- if the GL version is 2.0 or greater.
-
- GL_FLOAT_MAT2x3,
- GL_FLOAT_MAT2x4,
- GL_FLOAT_MAT3x2,
- GL_FLOAT_MAT3x4,
- GL_FLOAT_MAT4x2, and
- GL_FLOAT_MAT4x3
- will only be returned as a type
- if the GL version is 2.1 or greater.
+
+ The double types, GL_DOUBLE, GL_DOUBLE_VEC2,
+ GL_DOUBLE_VEC3, GL_DOUBLE_VEC4,
+ GL_DOUBLE_MAT2, GL_DOUBLE_MAT3,
+ GL_DOUBLE_MAT4, GL_DOUBLE_MAT2x3,
+ GL_DOUBLE_MAT2x4, GL_DOUBLE_MAT3x2,
+ GL_DOUBLE_MAT3x4, GL_DOUBLE_MAT4x2,
+ and GL_DOUBLE_MAT4x3 are only available if the GL
+ version is 4.1 or higher.
+
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_VALUE is generated if
- index is greater than or equal to the
- number of active uniform variables in
- program.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to the
+ number of active uniform variables in
+ program.
- GL_INVALID_OPERATION is generated if
- glGetActiveUniform is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
-
- GL_INVALID_VALUE is generated if
- bufSize is less than 0.
+ GL_INVALID_VALUE is generated if
+ bufSize is less than 0.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS
- or
- GL_MAX_FRAGMENT_UNIFORM_COMPONENTS.
+ glGet
+ with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+ GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+ GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, or
+ GL_MAX_COMBINED_UNIFORM_COMPONENTS.
- glGetProgram
- with argument GL_ACTIVE_UNIFORMS or
- GL_ACTIVE_UNIFORM_MAX_LENGTH.
+ glGetProgram
+ with argument GL_ACTIVE_UNIFORMS or
+ GL_ACTIVE_UNIFORM_MAX_LENGTH.
- glIsProgram
+ glIsProgram
See Also
- glGetUniform,
- glGetUniformLocation,
- glLinkProgram,
- glUniform,
- glUseProgram
+ glGetUniform,
+ glGetUniformLocation,
+ glLinkProgram,
+ glUniform,
+ glUseProgram
Copyright
- Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml b/Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml
new file mode 100644
index 00000000..54740c80
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetActiveUniformBlock
+ 3G
+
+
+ glGetActiveUniformBlock
+ query information about an active uniform block
+
+ C Specification
+
+
+ void glGetActiveUniformBlockiv
+ GLuint program
+ GLuint uniformBlockIndex
+ GLenum pname
+ GLint params
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program containing the uniform block.
+
+
+
+
+ uniformBlockIndex
+
+
+ Specifies the index of the uniform block within program.
+
+
+
+
+ pname
+
+
+ Specifies the name of the parameter to query.
+
+
+
+
+ params
+
+
+ Specifies the address of a variable to receive the result of the query.
+
+
+
+
+
+ Description
+
+ glGetActiveUniformBlockiv retrieves information about an active uniform block within program.
+
+
+ program must be the name of a program object for which the command
+ glLinkProgram must have been called in the past, although it is not required that
+ glLinkProgram must have succeeded. The link could have failed because the number
+ of active uniforms exceeded the limit.
+
+
+ uniformBlockIndex is an active uniform block index of program, and must be less than the value
+ of GL_ACTIVE_UNIFORM_BLOCKS.
+
+
+ Upon success, the uniform block parameter(s) specified by pname are returned in params. If an error
+ occurs, nothing will be written to params.
+
+
+ If pname is GL_UNIFORM_BLOCK_BINDING, then the index of the uniform buffer binding point
+ last selected by the uniform block specified by uniformBlockIndex for program is returned. If
+ no uniform block has been previously specified, zero is returned.
+
+
+ If pname is GL_UNIFORM_BLOCK_DATA_SIZE, then the implementation-dependent minimum total buffer
+ object size, in basic machine units, required to hold all active uniforms in the uniform block identified by uniformBlockIndex
+ is returned. It is neither guaranteed nor expected that a given implementation will arrange uniform values as tightly packed in a buffer
+ object. The exception to this is the std140 uniform block layout, which guarantees specific packing behavior and does not
+ require the application to query for offsets and strides. In this case the minimum size may still be queried, even though it is determined in
+ advance based only on the uniform block declaration.
+
+
+ If pname is GL_UNIFORM_BLOCK_NAME_LENGTH, then the total length (including the nul terminator) of
+ the name of the uniform block identified by uniformBlockIndex is returned.
+
+
+ If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, then the number of active uniforms in the uniform
+ block identified by uniformBlockIndex is returned.
+
+
+ If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, then a list of the active uniform indices
+ for the uniform block identified by uniformBlockIndex is returned. The number of elements that will be written to
+ params is the value of GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS for uniformBlockIndex.
+
+
+ If pname is GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+ or GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, then a boolean value indicating whether the uniform block identified by
+ uniformBlockIndex is referenced by the vertex, geometry, or fragment programming stages of program, respectively, is returned.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value
+ of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program.
+
+
+ GL_INVALID_ENUM is generated if pname is not one of the accepted tokens.
+
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object for which
+ glLinkProgram has been called in the past.
+
+
+ Notes
+
+ glGetActiveUniformBlockiv is available only if the GL version is 3.1 or greater.
+
+
+ See Also
+
+ glGetActiveUniformBlockName,
+ glGetUniformBlockIndex,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml b/Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml
new file mode 100644
index 00000000..a215c478
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetActiveUniformBlockName
+ 3G
+
+
+ glGetActiveUniformBlockName
+ retrieve the name of an active uniform block
+
+ C Specification
+
+
+ void glGetActiveUniformBlockName
+ GLuint program
+ GLuint uniformBlockIndex
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *uniformBlockName
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program containing the uniform block.
+
+
+
+
+ uniformBlockIndex
+
+
+ Specifies the index of the uniform block within program.
+
+
+
+
+ bufSize
+
+
+ Specifies the size of the buffer addressed by uniformBlockName.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable to receive the number of characters that were written to uniformBlockName.
+
+
+
+
+ uniformBlockName
+
+
+ Specifies the address an array of characters to receive the name of the uniform block at uniformBlockIndex.
+
+
+
+
+
+ Description
+
+ glGetActiveUniformBlockName retrieves the name of the active uniform block at uniformBlockIndex
+ within program.
+
+
+ program must be the name of a program object for which the command
+ glLinkProgram must have been called in the past, although it is not required that
+ glLinkProgram must have succeeded. The link could have failed because the number
+ of active uniforms exceeded the limit.
+
+
+ uniformBlockIndex is an active uniform block index of program, and must be less than the value
+ of GL_ACTIVE_UNIFORM_BLOCKS.
+
+
+ Upon success, the name of the uniform block identified by unifomBlockIndex is returned into
+ uniformBlockName. The name is nul-terminated. The actual number of characters written into uniformBlockName,
+ excluding the nul terminator, is returned in length. If length is NULL
, no length is returned.
+
+
+ bufSize contains the maximum number of characters (including the nul terminator) that will be written into
+ uniformBlockName.
+
+
+ If an error occurs, nothing will be written to uniformBlockName or length.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object for which
+ glLinkProgram has been called in the past.
+
+
+ GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value
+ of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program.
+
+
+ Notes
+
+ glGetActiveUniformBlockName is available only if the GL version is 3.1 or greater.
+
+
+ See Also
+
+ glGetActiveUniformBlock,
+ glGetUniformBlockIndex
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformName.xml b/Source/Bind/Specifications/Docs/glGetActiveUniformName.xml
new file mode 100644
index 00000000..a6ed0e7b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetActiveUniformName.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetActiveUniformName
+ 3G
+
+
+ glGetActiveUniformName
+ query the name of an active uniform
+
+ C Specification
+
+
+ void glGetActiveUniformName
+ GLuint program
+ GLuint uniformIndex
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *uniformName
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the program containing the active uniform index uniformIndex.
+
+
+
+
+ uniformIndex
+
+
+ Specifies the index of the active uniform whose name to query.
+
+
+
+
+ bufSize
+
+
+ Specifies the size of the buffer, in units of GLchar
, of the buffer whose address is specified in uniformName.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable that will receive the number of characters that were or would have been written to the buffer addressed by uniformName.
+
+
+
+
+ uniformName
+
+
+ Specifies the address of a buffer into which the GL will place the name of the active uniform at uniformIndex within program.
+
+
+
+
+
+ Description
+
+ glGetActiveUniformName returns the name of the active uniform at uniformIndex within program.
+ If uniformName is not NULL
, up to bufSize characters (including a nul-terminator) will be written into
+ the array whose address is specified by uniformName. If length is not NULL
, the number of characters
+ that were (or would have been) written into uniformName (not including the nul-terminator) will be placed in the variable whose address
+ is specified in length. If length is NULL
, no length is returned. The length of the longest uniform
+ name in program is given by the value of GL_ACTIVE_UNIFORM_MAX_LENGTH, which can be queried with
+ glGetProgram.
+
+
+ If glGetActiveUniformName is not successful, nothing is written to length or uniformName.
+
+
+ program must be the name of a program for which the command glLinkProgram
+ has been issued in the past. It is not necessary for program to have been linked successfully. The link could have failed because
+ the number of active uniforms exceeded the limit.
+
+
+ uniformIndex must be an active uniform index of the program program, in the range zero to
+ GL_ACTIVE_UNIFORMS - 1. The value of GL_ACTIVE_UNIFORMS can be queried with
+ glGetProgram.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if uniformIndex is greater than or equal to the value
+ of GL_ACTIVE_UNIFORMS.
+
+
+ GL_INVALID_VALUE is generated if bufSize is negative.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of a program object for which
+ glLinkProgram has been issued.
+
+
+ See Also
+
+ glGetActiveUniform,
+ glGetUniformIndices,
+ glGetProgram,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml
index c41302e1..a052d6ec 100644
--- a/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml
+++ b/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml
@@ -1,113 +1,103 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetAttachedShaders
- 3G
+ glGetAttachedShaders
+ 3G
- glGetAttachedShaders
- Returns the handles of the shader objects attached to a program object
+ glGetAttachedShaders
+ Returns the handles of the shader objects attached to a program object
C Specification
-
-
- void glGetAttachedShaders
- GLuint program
- GLsizei maxCount
- GLsizei *count
- GLuint *shaders
-
-
+
+
+ void glGetAttachedShaders
+ GLuint program
+ GLsizei maxCount
+ GLsizei *count
+ GLuint *shaders
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- maxCount
-
- Specifies the size of the array for storing
- the returned object names.
-
-
-
- count
-
- Returns the number of names actually returned
- in objects.
-
-
-
- shaders
-
- Specifies an array that is used to return the
- names of attached shader objects.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ maxCount
+
+ Specifies the size of the array for storing
+ the returned object names.
+
+
+
+ count
+
+ Returns the number of names actually returned
+ in objects.
+
+
+
+ shaders
+
+ Specifies an array that is used to return the
+ names of attached shader objects.
+
+
+
Description
- glGetAttachedShaders returns the
- names of the shader objects attached to
- program. The names of shader objects that
- are attached to program will be returned
- in shaders. The actual number of shader
- names written into shaders is returned in
- count. If no shader objects are attached
- to program, count
- is set to 0. The maximum number of shader names that may be
- returned in shaders is specified by
- maxCount.
+ glGetAttachedShaders returns the
+ names of the shader objects attached to
+ program. The names of shader objects that
+ are attached to program will be returned
+ in shaders. The actual number of shader
+ names written into shaders is returned in
+ count. If no shader objects are attached
+ to program, count
+ is set to 0. The maximum number of shader names that may be
+ returned in shaders is specified by
+ maxCount.
- If the number of names actually returned is not required
- (for instance, if it has just been obtained by calling
- glGetProgram),
- a value of NULL may be passed for count. If
- no shader objects are attached to
- program, a value of 0 will be returned in
- count. The actual number of attached
- shaders can be obtained by calling
- glGetProgram
- with the value GL_ATTACHED_SHADERS.
-
- Notes
- glGetAttachedShaders
- is available only if the GL version is 2.0 or greater.
+ If the number of names actually returned is not required
+ (for instance, if it has just been obtained by calling
+ glGetProgram),
+ a value of NULL may be passed for count. If
+ no shader objects are attached to
+ program, a value of 0 will be returned in
+ count. The actual number of attached
+ shaders can be obtained by calling
+ glGetProgram
+ with the value GL_ATTACHED_SHADERS.
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_VALUE is generated if
- maxCount is less than 0.
+ GL_INVALID_VALUE is generated if
+ maxCount is less than 0.
- GL_INVALID_OPERATION is generated if
- glGetAttachedShaders
- is executed between the execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetProgram
- with argument GL_ATTACHED_SHADERS
+ glGetProgram
+ with argument GL_ATTACHED_SHADERS
- glIsProgram
+ glIsProgram
See Also
- glAttachShader,
- glDetachShader.
+ glAttachShader,
+ glDetachShader.
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/glGetAttribLocation.xml
index bd072b04..39bc04a7 100644
--- a/Source/Bind/Specifications/Docs/glGetAttribLocation.xml
+++ b/Source/Bind/Specifications/Docs/glGetAttribLocation.xml
@@ -1,107 +1,97 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetAttribLocation
- 3G
+ glGetAttribLocation
+ 3G
- glGetAttribLocation
- Returns the location of an attribute variable
+ glGetAttribLocation
+ Returns the location of an attribute variable
C Specification
-
-
- GLint glGetAttribLocation
- GLuint program
- const GLchar *name
-
-
+
+
+ GLint glGetAttribLocation
+ GLuint program
+ const GLchar *name
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- name
-
- Points to a null terminated string containing
- the name of the attribute variable whose location is
- to be queried.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ name
+
+ Points to a null terminated string containing
+ the name of the attribute variable whose location is
+ to be queried.
+
+
+
Description
- glGetAttribLocation queries the
- previously linked program object specified by
- program for the attribute variable
- specified by name and returns the index
- of the generic vertex attribute that is bound to that attribute
- variable. If name is a matrix attribute
- variable, the index of the first column of the matrix is
- returned. If the named attribute variable is not an active
- attribute in the specified program object or if
- name starts with the reserved prefix
- "gl_", a value of -1 is returned.
+ glGetAttribLocation queries the
+ previously linked program object specified by
+ program for the attribute variable
+ specified by name and returns the index
+ of the generic vertex attribute that is bound to that attribute
+ variable. If name is a matrix attribute
+ variable, the index of the first column of the matrix is
+ returned. If the named attribute variable is not an active
+ attribute in the specified program object or if
+ name starts with the reserved prefix
+ "gl_", a value of -1 is returned.
- The association between an attribute variable name and a
- generic attribute index can be specified at any time by calling
- glBindAttribLocation.
- Attribute bindings do not go into effect until
- glLinkProgram
- is called. After a program object has been linked successfully,
- the index values for attribute variables remain fixed until the
- next link command occurs. The attribute values can only be
- queried after a link if the link was successful.
- glGetAttribLocation returns the binding
- that actually went into effect the last time
- glLinkProgram
- was called for the specified program object. Attribute bindings
- that have been specified since the last link operation are not
- returned by glGetAttribLocation.
-
- Notes
- glGetAttribLocation is available only
- if the GL version is 2.0 or greater.
+ The association between an attribute variable name and a
+ generic attribute index can be specified at any time by calling
+ glBindAttribLocation.
+ Attribute bindings do not go into effect until
+ glLinkProgram
+ is called. After a program object has been linked successfully,
+ the index values for attribute variables remain fixed until the
+ next link command occurs. The attribute values can only be
+ queried after a link if the link was successful.
+ glGetAttribLocation returns the binding
+ that actually went into effect the last time
+ glLinkProgram
+ was called for the specified program object. Attribute bindings
+ that have been specified since the last link operation are not
+ returned by glGetAttribLocation.
Errors
- GL_INVALID_OPERATION is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_OPERATION is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_OPERATION is generated if
- program has not been successfully
- linked.
+ GL_INVALID_OPERATION is generated if
+ program has not been successfully
+ linked.
- GL_INVALID_OPERATION is generated if
- glGetAttribLocation is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetActiveAttrib
- with argument program and the index of an
- active attribute
+ glGetActiveAttrib
+ with argument program and the index of an
+ active attribute
- glIsProgram
+ glIsProgram
See Also
- glBindAttribLocation,
- glLinkProgram,
- glVertexAttrib,
- glVertexAttribPointer
+ glBindAttribLocation,
+ glLinkProgram,
+ glVertexAttrib,
+ glVertexAttribPointer
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetBufferParameter.xml b/Source/Bind/Specifications/Docs/glGetBufferParameter.xml
new file mode 100644
index 00000000..cb3df4e5
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetBufferParameter.xml
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+ 2005
+ Sams Publishing
+
+
+ glGetBufferParameteriv
+ 3G
+
+
+ glGetBufferParameteriv
+ return parameters of a buffer object
+
+ C Specification
+
+
+ void glGetBufferParameteriv
+ GLenum target
+ GLenum value
+ GLint * data
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target buffer object.
+ The symbolic constant must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
+ GL_ELEMENT_ARRAY_BUFFER,
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
+
+
+
+
+ value
+
+
+ Specifies the symbolic name of a buffer object parameter.
+ Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED,
+ GL_BUFFER_SIZE, or GL_BUFFER_USAGE.
+
+
+
+
+ data
+
+
+ Returns the requested parameter.
+
+
+
+
+
+ Description
+
+ glGetBufferParameteriv returns in data a selected parameter of the buffer object
+ specified by target.
+
+
+ value names a specific buffer object parameter, as follows:
+
+
+
+ GL_BUFFER_ACCESS
+
+
+ params returns the access policy set while mapping the buffer object.
+ The initial value is GL_READ_WRITE.
+
+
+
+
+ GL_BUFFER_MAPPED
+
+
+ params returns a flag indicating whether the buffer object is currently
+ mapped. The initial value is GL_FALSE.
+
+
+
+
+ GL_BUFFER_SIZE
+
+
+ params returns the size of the buffer object, measured in bytes.
+ The initial value is 0.
+
+
+
+
+ GL_BUFFER_USAGE
+
+
+ params returns the buffer object's usage pattern. The initial value is
+ GL_STATIC_DRAW.
+
+
+
+
+
+ Notes
+
+ If an error is generated,
+ no change is made to the contents of data.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target or value is not an
+ accepted value.
+
+
+ GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target.
+
+
+ See Also
+
+ glBindBuffer,
+ glBufferData,
+ glMapBuffer,
+ glUnmapBuffer
+
+
+ Copyright
+
+ Copyright 2005 Addison-Wesley.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml b/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml
index fb9b362e..2e1e12ec 100644
--- a/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml
+++ b/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml
@@ -33,10 +33,15 @@
Specifies the target buffer object.
- The symbolic constant must be GL_ARRAY_BUFFER,
+ The symbolic constant must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
@@ -71,13 +76,6 @@
If an error is generated,
no change is made to the contents of params.
-
- glGetBufferPointerv is available only if the GL version is 1.5 or greater.
-
-
- Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available
- only if the GL version is 2.1 or greater.
-
The initial value for the pointer is NULL.
@@ -90,11 +88,6 @@
GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target.
-
- GL_INVALID_OPERATION is generated if glGetBufferPointerv
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
See Also
diff --git a/Source/Bind/Specifications/Docs/glGetBufferSubData.xml b/Source/Bind/Specifications/Docs/glGetBufferSubData.xml
index 7b25903a..185c0b43 100644
--- a/Source/Bind/Specifications/Docs/glGetBufferSubData.xml
+++ b/Source/Bind/Specifications/Docs/glGetBufferSubData.xml
@@ -35,10 +35,15 @@
Specifies the target buffer object.
- The symbolic constant must be GL_ARRAY_BUFFER,
+ The symbolic constant must be GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or
+ GL_UNIFORM_BUFFER.
@@ -84,13 +89,6 @@
If an error is generated,
no change is made to the contents of data.
-
- glGetBufferSubData is available only if the GL version is 1.5 or greater.
-
-
- Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available
- only if the GL version is 2.1 or greater.
-
Errors
@@ -109,12 +107,6 @@
GL_INVALID_OPERATION is generated if the buffer object being queried is mapped.
-
- GL_INVALID_OPERATION is generated if glGetBufferSubData
- is executed between the execution of
- glBegin and the corresponding execution of
- glEnd.
-
See Also
diff --git a/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml b/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml
index f9ac1f8d..b3278a44 100644
--- a/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml
+++ b/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml
@@ -34,7 +34,7 @@
Specifies which texture is to be obtained.
- GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D
+ GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
@@ -98,11 +98,6 @@
texture or subtexture loading routine used for loading target textures.
- Notes
-
- glGetCompressedTexImage is available only if the GL version is 1.3 or greater.
-
-
Errors
GL_INVALID_VALUE is generated if lod is less than zero or greater
@@ -121,11 +116,6 @@
GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer
object such that the memory writes required would exceed the data store size.
-
- GL_INVALID_OPERATION is generated if glGetCompressedTexImage
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -150,10 +140,7 @@
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glDrawPixels,
glReadPixels,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
@@ -161,7 +148,6 @@
glTexSubImage1D,
glTexSubImage2D,
glTexSubImage3D
-
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetError.xml b/Source/Bind/Specifications/Docs/glGetError.xml
index 454fb9ca..fccd61a0 100644
--- a/Source/Bind/Specifications/Docs/glGetError.xml
+++ b/Source/Bind/Specifications/Docs/glGetError.xml
@@ -97,22 +97,11 @@
- GL_STACK_OVERFLOW
+ GL_INVALID_FRAMEBUFFER_OPERATION
- This command would cause a stack overflow.
- The offending command is ignored
- and has no other side effect than to set the error flag.
-
-
-
-
- GL_STACK_UNDERFLOW
-
-
- This command would cause a stack underflow.
- The offending command is ignored
- and has no other side effect than to set the error flag.
+ The framebuffer object is not complete. The offending command
+ is ignored and has no other side effect than to set the error flag.
@@ -127,16 +116,6 @@
-
- GL_TABLE_TOO_LARGE
-
-
- The specified table exceeds the implementation's maximum supported table
- size. The offending command is ignored and has no other side effect
- than to set the error flag.
-
-
-
When an error flag is set,
@@ -149,19 +128,6 @@
If glGetError itself generates an error, it returns 0.
- Notes
-
- GL_TABLE_TOO_LARGE was introduced in GL version 1.2.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glGetError
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
- In this case, glGetError returns 0.
-
-
Copyright
Copyright 1991-2006
diff --git a/Source/Bind/Specifications/Docs/glGetFragDataIndex.xml b/Source/Bind/Specifications/Docs/glGetFragDataIndex.xml
new file mode 100644
index 00000000..7b7949e3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetFragDataIndex.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetFragDataIndex
+ 3G
+
+
+ glGetFragDataIndex
+ query the bindings of color indices to user-defined varying out variables
+
+ C Specification
+
+
+ GLint glGetFragDataIndex
+ GLuint program
+ const char * name
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the program containing varying out variable whose binding to query
+
+
+
+
+ name
+
+
+ The name of the user-defined varying out variable whose index to query
+
+
+
+
+
+ Description
+
+ glGetFragDataIndex returns the index of the fragment color to which the variable name
+ was bound when the program object program was last linked. If name is not a varying out
+ variable of program, or if an error occurs, -1 will be returned.
+
+
+ Notes
+
+ glGetFragDataIndex is available only if the GL version is 3.3 or greater.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object.
+
+
+ See Also
+
+ glCreateProgram,
+ glBindFragDataLocation,
+ glBindFragDataLocationIndexed,
+ glGetFragDataLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetFragDataLocation.xml b/Source/Bind/Specifications/Docs/glGetFragDataLocation.xml
new file mode 100644
index 00000000..435d95f7
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetFragDataLocation.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetFragDataLocation
+ 3G
+
+
+ glGetFragDataLocation
+ query the bindings of color numbers to user-defined varying out variables
+
+ C Specification
+
+
+ GLint glGetFragDataLocation
+ GLuint program
+ const char * name
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the program containing varying out variable whose binding to query
+
+
+
+
+ name
+
+
+ The name of the user-defined varying out variable whose binding to query
+
+
+
+
+
+ Description
+
+ glGetFragDataLocation retrieves the assigned color number binding for the user-defined
+ varying out variable name for program program. program
+ must have previously been linked. name must be a null-terminated string. If name
+ is not the name of an active user-defined varying out fragment shader variable within program, -1 will
+ be returned.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object.
+
+
+ See Also
+
+ glCreateProgram,
+ glBindFragDataLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml b/Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml
new file mode 100644
index 00000000..9d72d4a4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetFramebufferAttachmentParameteriv
+ 3G
+
+
+ glGetFramebufferAttachmentParameteriv
+ retrieve information about attachments of a bound framebuffer object
+
+ C Specification
+
+
+ void glGetFramebufferAttachmentParameter
+ GLenum target
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the query operation.
+
+
+
+
+ attachment
+
+
+ Specifies the attachment within target
+
+
+
+
+ pname
+
+
+ Specifies the parameter of attachment to query.
+
+
+
+
+ params
+
+
+ Specifies the address of a variable receive the value of pname for attachment.
+
+
+
+
+
+ Description
+
+ glGetFramebufferAttachmentParameter returns information about attachments of a bound framebuffer
+ object. target specifies the framebuffer binding point and must be GL_DRAW_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. GL_FRAMEBUFFER is equivalent
+ to GL_DRAW_FRAMEBUFFER.
+
+
+ If the default framebuffer is bound to target then attachment must be one of
+ GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, or
+ GL_BACK_RIGHT, identifying a color buffer, GL_DEPTH, identifying the depth buffer,
+ or GL_STENCIL, identifying the stencil buffer.
+
+
+ If a framebuffer object is bound, then attachment must be one of GL_COLOR_ATTACHMENTi,
+ GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT, or GL_DEPTH_STENCIL_ATTACHMENT.
+ i in GL_COLOR_ATTACHMENTi must be in the range zero to the value of
+ GL_MAX_COLOR_ATTACHMENTS - 1.
+
+
+ If attachment is GL_DEPTH_STENCIL_ATTACHMENT and different objects are bound
+ to the depth and stencil attachment points of target the query will fail. If the same object
+ is bound to both attachment points, information about that object will be returned.
+
+
+ Upon successful return from glGetFramebufferAttachmentParameteriv, if pname is
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, then params will contain one of GL_NONE,
+ GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER, identifying the type of
+ object which contains the attached image. Other values accepted for pname depend on the type of object, as described below.
+
+
+ If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE, no framebuffer is bound to
+ target. In this case querying pname GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
+ will return zero, and all other queries will generate an error.
+
+
+ If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is not GL_NONE, these queries apply to all other
+ framebuffer types:
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+ GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+ GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+ or GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, then params will contain the number
+ of bits in the corresponding red, green, blue, alpha, depth, or stencil component of the specified attachment. Zero is returned
+ if the requested component is not present in attachment.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, params will
+ contain the format of components of the specified attachment, one of GL_FLOAT, GL_INT,
+ GL_UNSIGNED_INT, GL_SIGNED_NORMALIZED, or GL_UNSIGNED_NORMALIZED
+ for floating-point, signed integer, unsigned integer, signed normalized fixed-point, or unsigned normalized fixed-point components
+ respectively. Only color buffers may have integer components.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, param will
+ contain the encoding of components of the specified attachment, one of GL_LINEAR or GL_SRGB
+ for linear or sRGB-encoded components, respectively. Only color buffer components may be sRGB-encoded; such components
+ are treated as described in sections 4.1.7 and 4.1.8. For the default framebuffer, color encoding is determined by the implementation.
+ For framebuffer objects, components are sRGB-encoded if the internal format of a color attachment is one of the color-renderable SRGB
+ formats.
+
+
+
+
+ If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_RENDERBUFFER, then:
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, params will contain
+ the name of the renderbuffer object which contains the attached image.
+
+
+
+
+ If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_TEXTURE, then:
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, then params will
+ contain the name of the texture object which contains the attached image.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, then params
+ will contain the mipmap level of the texture object which contains the attached image.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE and the texture object named
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a cube map texture, then params will contain the cube map
+ face of the cubemap texture object which contains the attached image. Otherwise params will contain the value
+ zero.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER and the texture object named
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a layer of a three-dimensional texture or a one-or two-dimensional
+ array texture, then params will contain the number of the texture layer which contains the attached image.
+ Otherwise params will contain the value zero.
+
+
+
+
+ If pname is GL_FRAMEBUFFER_ATTACHMENT_LAYERED, then params will
+ contain GL_TRUE if an entire level of a three-dimesional texture, cube map texture, or one-or two-dimensional
+ array texture is attached. Otherwise, params will contain GL_FALSE.
+
+
+
+
+ Any combinations of framebuffer type and pname not described above will generate an error.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not one of the accepted tokens.
+
+
+ GL_INVALID_ENUM is generated if pname is not valid for the value of
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE.
+
+
+ GL_INVALID_OPERATION is generated if attachment is not the accepted values
+ for target.
+
+
+ GL_INVALID_OPERATION is generated if attachment is GL_DEPTH_STENCIL_ATTACHMENT
+ and different objects are bound to the depth and stencil attachment points of target.
+
+
+ GL_INVALID_OPERATION is generated if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is
+ GL_NONE and pname is not GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetMultisample.xml b/Source/Bind/Specifications/Docs/glGetMultisample.xml
new file mode 100644
index 00000000..2b021cc3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetMultisample.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetMultisamplefv
+ 3G
+
+
+ glGetMultisamplefv
+ retrieve the location of a sample
+
+ C Specification
+
+
+ void glGetMultisamplefv
+ GLenum pname
+ GLuint index
+ GLfloat *val
+
+
+
+
+ Parameters
+
+
+ pname
+
+
+ Specifies the sample parameter name. pname must be GL_SAMPLE_POSITION.
+
+
+
+
+ index
+
+
+ Specifies the index of the sample whose position to query.
+
+
+
+
+ val
+
+
+ Specifies the address of an array to receive the position of the sample.
+
+
+
+
+
+ Description
+
+ glGetMultisamplefv queries the location of a given sample. pname
+ specifies the sample parameter to retrieve and must be GL_SAMPLE_POSITION. index
+ corresponds to the sample for which the location should be returned. The sample location is returned as two floating-point
+ values in val[0] and val[1], each between 0 and 1, corresponding to the x
+ and y locations respectively in the GL pixel space of that sample. (0.5, 0.5) this corresponds to the
+ pixel center. index must be between zero and the value of GL_SAMPLES - 1.
+
+
+ If the multisample mode does not have fixed sample locations, the returned values may only reflect the locations of samples
+ within some pixels.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if pname is not one GL_SAMPLE_POSITION.
+
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to the value of
+ GL_SAMPLES.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetProgram.xml b/Source/Bind/Specifications/Docs/glGetProgram.xml
index 4268d005..241d1ec3 100644
--- a/Source/Bind/Specifications/Docs/glGetProgram.xml
+++ b/Source/Bind/Specifications/Docs/glGetProgram.xml
@@ -1,238 +1,333 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetProgram
- 3G
+ glGetProgram
+ 3G
- glGetProgramiv
- Returns a parameter from a program object
+ glGetProgramiv
+ Returns a parameter from a program object
C Specification
-
-
- void glGetProgramiv
- GLuint program
- GLenum pname
- GLint *params
-
-
+
+
+ void glGetProgramiv
+ GLuint program
+ GLenum pname
+ GLint *params
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- pname
-
- Specifies the object parameter. Accepted
- symbolic names are
- GL_DELETE_STATUS,
- GL_LINK_STATUS,
- GL_VALIDATE_STATUS,
- GL_INFO_LOG_LENGTH,
- GL_ATTACHED_SHADERS,
- GL_ACTIVE_ATTRIBUTES,
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
- GL_ACTIVE_UNIFORMS,
- GL_ACTIVE_UNIFORM_MAX_LENGTH.
-
-
-
- params
-
- Returns the requested object parameter.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ pname
+
+ Specifies the object parameter. Accepted
+ symbolic names are
+ GL_DELETE_STATUS,
+ GL_LINK_STATUS,
+ GL_VALIDATE_STATUS,
+ GL_INFO_LOG_LENGTH,
+ GL_ATTACHED_SHADERS,
+ GL_ACTIVE_ATTRIBUTES,
+ GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+ GL_ACTIVE_UNIFORMS,
+ GL_ACTIVE_UNIFORM_BLOCKS,
+ GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+ GL_ACTIVE_UNIFORM_MAX_LENGTH,
+ GL_PROGRAM_BINARY_LENGTH,
+ GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+ GL_TRANSFORM_FEEDBACK_VARYINGS,
+ GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+ GL_GEOMETRY_VERTICES_OUT,
+ GL_GEOMETRY_INPUT_TYPE, and
+ GL_GEOMETRY_OUTPUT_TYPE.
+
+
+
+ params
+
+ Returns the requested object parameter.
+
+
+
Description
- glGetProgram
- returns in params
- the value of a parameter for a specific program object. The following parameters are defined:
+ glGetProgram
+ returns in params
+ the value of a parameter for a specific program object. The following parameters are defined:
-
-
- GL_DELETE_STATUS
-
-
-
- params returns
- GL_TRUE if
- program is currently flagged
- for deletion, and GL_FALSE
- otherwise.
-
-
+
+
+ GL_DELETE_STATUS
+
+
+
+ params returns
+ GL_TRUE if
+ program is currently flagged
+ for deletion, and GL_FALSE
+ otherwise.
+
+
-
- GL_LINK_STATUS
-
-
-
- params returns
- GL_TRUE if the last link
- operation on program was
- successful, and GL_FALSE
- otherwise.
-
-
+
+ GL_LINK_STATUS
+
+
+
+ params returns
+ GL_TRUE if the last link
+ operation on program was
+ successful, and GL_FALSE
+ otherwise.
+
+
-
- GL_VALIDATE_STATUS
-
-
-
- params returns
- GL_TRUE or if the last
- validation operation on
- program was successful, and
- GL_FALSE
- otherwise.
-
-
+
+ GL_VALIDATE_STATUS
+
+
+
+ params returns
+ GL_TRUE or if the last
+ validation operation on
+ program was successful, and
+ GL_FALSE
+ otherwise.
+
+
-
- GL_INFO_LOG_LENGTH
-
-
-
- params returns the
- number of characters in the information log for
- program including the null
- termination character (i.e., the size of the
- character buffer required to store the information
- log). If program has no
- information log, a value of 0 is
- returned.
-
-
+
+ GL_INFO_LOG_LENGTH
+
+
+
+ params returns the
+ number of characters in the information log for
+ program including the null
+ termination character (i.e., the size of the
+ character buffer required to store the information
+ log). If program has no
+ information log, a value of 0 is
+ returned.
+
+
-
- GL_ATTACHED_SHADERS
-
-
-
- params returns the
- number of shader objects attached to
- program.
-
-
+
+ GL_ATTACHED_SHADERS
+
+
+
+ params returns the
+ number of shader objects attached to
+ program.
+
+
-
- GL_ACTIVE_ATTRIBUTES
-
-
-
- params returns the
- number of active attribute variables for
- program.
-
-
+
+ GL_ACTIVE_ATTRIBUTES
+
+
+
+ params returns the
+ number of active attribute variables for
+ program.
+
+
-
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
-
-
-
- params returns the
- length of the longest active attribute name for
- program, including the null
- termination character (i.e., the size of the
- character buffer required to store the longest
- attribute name). If no active attributes exist, 0 is
- returned.
-
-
+
+ GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
+
+
+
+ params returns the
+ length of the longest active attribute name for
+ program, including the null
+ termination character (i.e., the size of the
+ character buffer required to store the longest
+ attribute name). If no active attributes exist, 0 is
+ returned.
+
+
-
- GL_ACTIVE_UNIFORMS
-
-
-
- params returns the
- number of active uniform variables for
- program.
-
-
+
+ GL_ACTIVE_UNIFORMS
+
+
+
+ params returns the
+ number of active uniform variables for
+ program.
+
+
-
- GL_ACTIVE_UNIFORM_MAX_LENGTH
-
-
-
- params returns the
- length of the longest active uniform variable name
- for program, including the
- null termination character (i.e., the size of the
- character buffer required to store the longest
- uniform variable name). If no active uniform
- variables exist, 0 is returned.
-
-
-
+
+ GL_ACTIVE_UNIFORM_MAX_LENGTH
+
+
+
+ params returns the
+ length of the longest active uniform variable name
+ for program, including the
+ null termination character (i.e., the size of the
+ character buffer required to store the longest
+ uniform variable name). If no active uniform
+ variables exist, 0 is returned.
+
+
+
+
+ GL_PROGRAM_BINARY_LENGTH
+
+
+
+ params returns the
+ length of the program binary, in bytes that will be returned by
+ a call to glGetProgramBinary.
+ When a progam's GL_LINK_STATUS is GL_FALSE,
+ its program binary length is zero.
+
+
+
+
+
+ GL_TRANSFORM_FEEDBACK_BUFFER_MODE
+
+
+
+ params returns a symbolic constant
+ indicating the buffer mode used when transform feedback is active.
+ This may be GL_SEPARATE_ATTRIBS or
+ GL_INTERLEAVED_ATTRIBS.
+
+
+
+
+ GL_TRANSFORM_FEEDBACK_VARYINGS
+
+
+
+ params returns the number of varying
+ variables to capture in transform feedback mode for the program.
+
+
+
+
+ GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
+
+
+
+ params returns the length of the longest
+ variable name to be used for transform feedback, including the null-terminator.
+
+
+
+
+ GL_GEOMETRY_VERTICES_OUT
+
+
+
+ params returns the maximum number of vertices
+ that the geometry shader in program will output.
+
+
+
+
+ GL_GEOMETRY_INPUT_TYPE
+
+
+
+ params returns a symbolic constant indicating
+ the primitive type accepted as input to the geometry shader contained in
+ program.
+
+
+
+
+ GL_GEOMETRY_OUTPUT_TYPE
+
+
+
+ params returns a symbolic constant indicating
+ the primitive type that will be output by the geometry shader contained
+ in program.
+
+
+
Notes
- glGetProgram is available only if the
- GL version is 2.0 or greater.
+
+ GL_ACTIVE_UNIFORM_BLOCKS and
+ GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
+ are available only if the GL version 3.1 or greater.
+
+
+ GL_GEOMETRY_VERTICES_OUT, GL_GEOMETRY_INPUT_TYPE
+ and GL_GEOMETRY_OUTPUT_TYPE are accepted only if the GL
+ version is 3.2 or greater.
+
- If an error is generated, no change is made to the
- contents of params.
+ If an error is generated, no change is made to the
+ contents of params.
Errors
- GL_INVALID_VALUE
- is generated if program
- is not a value generated by OpenGL.
+ GL_INVALID_VALUE
+ is generated if program
+ is not a value generated by OpenGL.
- GL_INVALID_OPERATION
- is generated if program
- does not refer to a program object.
+ GL_INVALID_OPERATION
+ is generated if program
+ does not refer to a program object.
- GL_INVALID_ENUM
- is generated if pname
- is not an accepted value.
+ GL_INVALID_OPERATION is generated if
+ pname is GL_GEOMETRY_VERTICES_OUT,
+ GL_GEOMETRY_INPUT_TYPE, or GL_GEOMETRY_OUTPUT_TYPE,
+ and program does not contain a geometry shader.
+
+ GL_INVALID_ENUM
+ is generated if pname
+ is not an accepted value.
- GL_INVALID_OPERATION is generated if
- glGetProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetActiveAttrib
- with argument program
+ glGetActiveAttrib
+ with argument program
- glGetActiveUniform
- with argument program
+ glGetActiveUniform
+ with argument program
- glGetAttachedShaders
- with argument program
+ glGetAttachedShaders
+ with argument program
- glGetProgramInfoLog
- with argument program
+ glGetProgramInfoLog
+ with argument program
- glIsProgram
-
+ glIsProgram
+
See Also
- glAttachShader,
- glCreateProgram,
- glDeleteProgram,
- glGetShader,
- glLinkProgram,
- glValidateProgram
+ glAttachShader,
+ glCreateProgram,
+ glDeleteProgram,
+ glGetShader,
+ glLinkProgram,
+ glValidateProgram
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glGetProgramBinary.xml b/Source/Bind/Specifications/Docs/glGetProgramBinary.xml
new file mode 100644
index 00000000..e0e0dfd6
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetProgramBinary.xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetProgramBinary
+ 3G
+
+
+ glGetProgramBinary
+ return a binary representation of a program object's compiled and linked executable source
+
+ C Specification
+
+
+ void glGetProgramBinary
+ GLuint program
+ GLsizei bufsize
+ GLsizei *length
+ GLenum *binaryFormat
+ void *binary
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program object whose binary representation to retrieve.
+
+
+
+
+ bufSize
+
+
+ Specifies the size of the buffer whose address is given by binary.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable to receive the number of bytes written into binary.
+
+
+
+
+ binaryFormat
+
+
+ Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL.
+
+
+
+
+ binary
+
+
+ Specifies the address an array into which the GL will return program's binary representation.
+
+
+
+
+
+ Description
+
+ glGetProgramBinary returns a binary representation of the compiled
+ and linked executable for program into the array of bytes whose
+ address is specified in binary. The maximum number of bytes that
+ may be written into binary is specified by bufSize.
+ If the program binary is greater in size than bufSize bytes,
+ then an error is generated, otherwise the actual number of bytes written into binary
+ is returned in the variable whose address is given by length. If
+ length is NULL, then no length is returned.
+
+
+ The format of the program binary written into binary is returned in
+ the variable whose address is given by binaryFormat, and may be implementation dependent. The binary produced
+ by the GL may subsequently be returned to the GL by calling glProgramBinary,
+ with binaryFormat and length set to the values
+ returned by glGetProgramBinary, and passing the returned binary data
+ in the binary parameter.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if bufSize is less than
+ the size of GL_PROGRAM_BINARY_LENGTH for program.
+
+
+ GL_INVALID_OPERATION is generated if GL_LINK_STATUS for the
+ program object is false.
+
+
+ Associated Gets
+
+ glGetProgram with argument GL_PROGRAM_BINARY_LENGTH
+
+
+ See Also
+
+ glGetProgram,
+ glProgramBinary
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml
index dca2ec68..e2765979 100644
--- a/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml
+++ b/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml
@@ -83,9 +83,6 @@
0.
Notes
- glGetProgramInfoLog is available only
- if the GL version is 2.0 or greater.
-
The information log for a program object is the OpenGL
implementer's primary mechanism for conveying information about
linking and validating. Therefore, the information log can be
@@ -105,12 +102,6 @@
GL_INVALID_VALUE is generated if
maxLength is less than 0.
- GL_INVALID_OPERATION is generated if
- glGetProgramInfoLog is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetProgram
diff --git a/Source/Bind/Specifications/Docs/glGetProgramPipeline.xml b/Source/Bind/Specifications/Docs/glGetProgramPipeline.xml
new file mode 100644
index 00000000..ab1b5449
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetProgramPipeline.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetProgramPipeline
+ 3G
+
+
+ glGetProgramPipeline
+ retrieve properties of a program pipeline object
+
+ C Specification
+
+
+ void glGetProgramPipelineiv
+ GLuint pipeline
+ GLenum pname
+ GLint *params
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the name of a program pipeline object whose parameter retrieve.
+
+
+
+
+ pname
+
+
+ Specifies the name of the parameter to retrieve.
+
+
+
+
+ params
+
+
+ Specifies the address of a variable into which will be written the value or values
+ of pname for pipeline.
+
+
+
+
+
+ Description
+
+ glGetProgramPipelineiv retrieves the value of a property of the program
+ pipeline object pipeline. pname specifies the
+ name of the parameter whose value to retrieve. The value of the parameter is written to
+ the variable whose address is given by params.
+
+
+ If pname is GL_ACTIVE_PROGRAM, the name of the
+ active program object of the program pipeline object is returned in params.
+
+
+ If pname is GL_VERTEX_SHADER, the name of the
+ current program object for the vertex shader type of the program pipeline object is
+ returned in params.
+
+
+ If pname is GL_TESS_CONTROL_SHADER, the name of the
+ current program object for the tessellation control shader type of the program pipeline object is
+ returned in params.
+
+
+ If pname is GL_TESS_EVALUATION_SHADER, the name of the
+ current program object for the tessellation evaluation shader type of the program pipeline object is
+ returned in params.
+
+
+ If pname is GL_GEOMETRY_SHADER, the name of the
+ current program object for the geometry shader type of the program pipeline object is
+ returned in params.
+
+
+ If pname is GL_FRAGMENT_SHADER, the name of the
+ current program object for the fragment shader type of the program pipeline object is
+ returned in params.
+
+
+ If pname is GL_INFO_LOG_LENGTH, the length of the
+ info log, including the null terminator, is returned in params. If there
+ is no info log, zero is returned.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not zero or
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ GL_INVALID_ENUM is generated if pname is not one
+ of the accepted values.
+
+
+ See Also
+
+ glGetProgramPipelines,
+ glBindProgramPipeline,
+ glDeleteProgramPipelines
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml b/Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml
new file mode 100644
index 00000000..7521dbed
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetProgramPipelineInfoLog
+ 3G
+
+
+ glGetProgramPipelineInfoLog
+ retrieve the info log string from a program pipeline object
+
+ C Specification
+
+
+ void glGetProgramPipelineInfoLog
+ GLuint pipeline
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *infoLog
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the name of a program pipeline object from which to retrieve the info log.
+
+
+
+
+ bufSize
+
+
+ Specifies the maximum number of characters, including the null terminator, that may be written into infoLog.
+
+
+
+
+ length
+
+
+ Specifies the address of a variable into which will be written the number of characters written into infoLog.
+
+
+
+
+ infoLog
+
+
+ Specifies the address of an array of characters into which will be written the info log for pipeline.
+
+
+
+
+
+ Description
+
+ glGetProgramPipelineInfoLog retrieves the info log for the program
+ pipeline object pipeline. The info log, including its null terminator,
+ is written into the array of characters whose address is given by infoLog.
+ The maximum number of characters that may be written into infoLog
+ is given by bufSize, and the actual number of characters written
+ into infoLog is returned in the integer whose address is given
+ by length. If length is NULL,
+ no length is returned.
+
+
+ The actual length of the info log for the program pipeline may be determined by calling
+ glGetProgramPipeline with
+ pname set to GL_INFO_LOG_LENGTH.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ Associated Gets
+
+ glGetProgramPipeline
+ with parameter GL_INFO_LOG_LENGTH.
+
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glBindProgramPipeline,
+ glDeleteProgramPipelines,
+ glGetProgramPipeline
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetProgramStage.xml b/Source/Bind/Specifications/Docs/glGetProgramStage.xml
new file mode 100644
index 00000000..6420acae
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetProgramStage.xml
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetProgramStage
+ 3G
+
+
+ glGetProgramStage
+ retrieve properties of a program object corresponding to a specified shader stage
+
+ C Specification
+
+
+ void glGetProgramStageiv
+ GLuint program
+ GLenum shadertype
+ GLenum pname
+ GLint *values
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing shader stage.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for the subroutine parameter. shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ pname
+
+
+ Specifies the parameter of the shader to query. pname
+ must be GL_ACTIVE_SUBROUTINE_UNIFORMS,
+ GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+ GL_ACTIVE_SUBROUTINES,
+ GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+ or GL_ACTIVE_SUBROUTINE_MAX_LENGTH.
+
+
+
+
+ values
+
+
+ Specifies the address of a variable into which the queried value or values will be placed.
+
+
+
+
+
+ Description
+
+ glGetProgramStage queries a parameter of a shader stage attached to a program object.
+ program contains the name of the program to which the shader is attached. shadertype
+ specifies the stage from which to query the parameter. pname specifies which parameter
+ should be queried. The value or values of the parameter to be queried is returned in the variable whose address
+ is given in values.
+
+
+ If pname is GL_ACTIVE_SUBROUTINE_UNIFORMS, the number
+ of active subroutine variables in the stage is returned in values.
+
+
+ If pname is GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+ the number of active subroutine variable locations in the stage is returned in values.
+
+
+ If pname is GL_ACTIVE_SUBROUTINES,
+ the number of active subroutines in the stage is returned in values.
+
+
+ If pname is GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+ the length of the longest subroutine uniform for the stage is returned in values.
+
+
+ If pname is GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+ the length of the longest subroutine name for the stage is returned in values. The
+ returned name length includes space for the null-terminator.
+
+
+ If there is no shader present of type shadertype, the returned value will be consistent
+ with a shader containing no subroutines or subroutine uniforms.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype or pname
+ is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ See Also
+
+ glGetProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetQueryIndexed.xml b/Source/Bind/Specifications/Docs/glGetQueryIndexed.xml
new file mode 100644
index 00000000..7108da9c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetQueryIndexed.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetQueryIndexediv
+ 3G
+
+
+ glGetQueryIndexediv
+ return parameters of an indexed query object target
+
+ C Specification
+
+
+ void glGetQueryIndexediv
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLint * params
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies a query object target.
+ Must be GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+ GL_TIME_ELAPSED, or GL_TIMESTAMP.
+
+
+
+
+ index
+
+
+ Specifies the index of the query object target.
+
+
+
+
+ pname
+
+
+ Specifies the symbolic name of a query object target parameter.
+ Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
+
+
+
+
+ params
+
+
+ Returns the requested data.
+
+
+
+
+
+ Description
+
+ glGetQueryIndexediv returns in params a selected parameter of the indexed query object target
+ specified by target and index. index specifies the index of the
+ query object target and must be between zero and a target-specific maxiumum.
+
+
+ pname names a specific query object target parameter. When pname is
+ GL_CURRENT_QUERY, the name of the currently active query for the specified index of target,
+ or zero if no query is active, will be placed in params.
+ If pname is GL_QUERY_COUNTER_BITS, the implementation-dependent number
+ of bits used to hold the result of queries for target is returned in params.
+
+
+ Notes
+
+ If an error is generated,
+ no change is made to the contents of params.
+
+
+ Calling glGetQueryiv is equivalent to calling
+ glGetQueryIndexediv with index set to zero.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target or pname is not an
+ accepted value.
+
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to the
+ target-specific maximum.
+
+
+ See Also
+
+ glGetQueryObject,
+ glIsQuery
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetQueryObject.xml b/Source/Bind/Specifications/Docs/glGetQueryObject.xml
index 49a54b41..6d728d10 100644
--- a/Source/Bind/Specifications/Docs/glGetQueryObject.xml
+++ b/Source/Bind/Specifications/Docs/glGetQueryObject.xml
@@ -33,6 +33,22 @@
GLuint * params
+
+
+ void glGetQueryObjecti64v
+ GLuint id
+ GLenum pname
+ GLint64 * params
+
+
+
+
+ void glGetQueryObjectui64v
+ GLuint id
+ GLenum pname
+ GLuint64 * params
+
+
Parameters
@@ -109,7 +125,8 @@
when issuing a new query, the results of the previous query are discarded.
- glGetQueryObject is available only if the GL version is 1.5 or greater.
+ glGetQueryObjecti64v and glGetQueryObjectui64v are available only
+ if the GL version is 3.3 or greater.
Errors
@@ -123,18 +140,14 @@
GL_INVALID_OPERATION is generated if id is the name of a currently active
query object.
-
- GL_INVALID_OPERATION is generated if glGetQueryObject
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
See Also
glBeginQuery,
glEndQuery,
glGetQueryiv,
- glIsQuery
+ glIsQuery,
+ glQueryCounter
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetQueryiv.xml b/Source/Bind/Specifications/Docs/glGetQueryiv.xml
index ad492a30..32e7b092 100644
--- a/Source/Bind/Specifications/Docs/glGetQueryiv.xml
+++ b/Source/Bind/Specifications/Docs/glGetQueryiv.xml
@@ -33,7 +33,9 @@
Specifies a query object target.
- Must be GL_SAMPLES_PASSED.
+ Must be GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED,
+ GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+ GL_TIME_ELAPSED, or GL_TIMESTAMP.
@@ -62,50 +64,24 @@
specified by target.
- pname names a specific query object target parameter. When target is
- GL_SAMPLES_PASSED, pname can be as follows:
+ pname names a specific query object target parameter. When pname is
+ GL_CURRENT_QUERY, the name of the currently active query for target,
+ or zero if no query is active, will be placed in params.
+ If pname is GL_QUERY_COUNTER_BITS, the implementation-dependent number
+ of bits used to hold the result of queries for target is returned in params.
-
-
- GL_CURRENT_QUERY
-
-
- params returns the name of the currently active occlusion query object.
- If no occlusion query is active, 0 is returned. The initial value is 0.
-
-
-
-
- GL_QUERY_COUNTER_BITS
-
-
- params returns the number of bits in the query counter used to accumulate passing samples.
- If the number of bits returned is 0, the implementation does not support a query counter, and the results
- obtained from glGetQueryObject are useless.
-
-
-
-
Notes
If an error is generated,
no change is made to the contents of params.
-
- glGetQueryiv is available only if the GL version is 1.5 or greater.
-
Errors
GL_INVALID_ENUM is generated if target or pname is not an
accepted value.
-
- GL_INVALID_OPERATION is generated if glGetQueryiv
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
See Also
diff --git a/Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml b/Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml
new file mode 100644
index 00000000..05a3bded
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetRenderbufferParameteriv
+ 3G
+
+
+ glGetRenderbufferParameteriv
+ retrieve information about a bound renderbuffer object
+
+ C Specification
+
+
+ void glGetRenderbufferParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the query operation. target must be GL_RENDERBUFFER.
+
+
+
+
+ pname
+
+
+ Specifies the parameter whose value to retrieve from the renderbuffer bound to target.
+
+
+
+
+ params
+
+
+ Specifies the address of an array to receive the value of the queried parameter.
+
+
+
+
+
+ Description
+
+ glGetRenderbufferParameteriv retrieves information about a bound renderbuffer object. target
+ specifies the target of the query operation and must be GL_RENDERBUFFER. pname specifies
+ the parameter whose value to query and must be one of GL_RENDERBUFFER_WIDTH, GL_RENDERBUFFER_HEIGHT,
+ GL_RENDERBUFFER_INTERNAL_FORMAT, GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE,
+ GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE,
+ GL_RENDERBUFFER_DEPTH_SIZE, GL_RENDERBUFFER_STENCIL_SIZE, or GL_RENDERBUFFER_SAMPLES.
+
+
+ Upon a successful return from glGetRenderbufferParameteriv, if pname is GL_RENDERBUFFER_WIDTH,
+ GL_RENDERBUFFER_HEIGHT, GL_RENDERBUFFER_INTERNAL_FORMAT, or GL_RENDERBUFFER_SAMPLES,
+ then params will contain the width in pixels, the height in pixels, the internal format, or the number of samples, respectively,
+ of the image of the renderbuffer currently bound to target.
+
+
+ If pname is GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE,
+ GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE,
+ or GL_RENDERBUFFER_STENCIL_SIZE, then params will contain the actual resolutions (not the resolutions
+ specified when the image array was defined) for the red, green, blue, alpha depth, or stencil components, respectively, of the image of the
+ renderbuffer currently bound to target.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if pname is not one of the accepted tokens.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glFramebufferRenderbuffer,
+ glBindRenderbuffer,
+ glRenderbufferStorage,
+ glRenderbufferStorageMultisample
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetSamplerParameter.xml b/Source/Bind/Specifications/Docs/glGetSamplerParameter.xml
new file mode 100644
index 00000000..7ce80611
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetSamplerParameter.xml
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetSamplerParameter
+ 3G
+
+
+ glGetSamplerParameter
+ return sampler parameter values
+
+ C Specification
+
+
+ void glGetSamplerParameterfv
+ GLuint sampler
+ GLenum pname
+ GLfloat * params
+
+
+
+
+ void glGetSamplerParameteriv
+ GLuint sampler
+ GLenum pname
+ GLint * params
+
+
+
+
+ Parameters
+
+
+ sampler
+
+
+ Specifies name of the sampler object from which to retrieve parameters.
+
+
+
+
+ pname
+
+
+ Specifies the symbolic name of a sampler parameter.
+ GL_TEXTURE_MAG_FILTER,
+ GL_TEXTURE_MIN_FILTER,
+ GL_TEXTURE_MIN_LOD,
+ GL_TEXTURE_MAX_LOD,
+ GL_TEXTURE_LOD_BIAS,
+ GL_TEXTURE_WRAP_S,
+ GL_TEXTURE_WRAP_T,
+ GL_TEXTURE_WRAP_R,
+ GL_TEXTURE_BORDER_COLOR,
+ GL_TEXTURE_COMPARE_MODE, and
+ GL_TEXTURE_COMPARE_FUNC
+ are accepted.
+
+
+
+
+ params
+
+
+ Returns the sampler parameters.
+
+
+
+
+
+ Description
+
+ glGetSamplerParameter returns in params the value or values of the sampler parameter
+ specified as pname.
+ sampler defines the target sampler, and must be the name of an existing sampler object, returned from a previous call
+ to glGenSamplers.
+ pname accepts the same symbols as glSamplerParameter,
+ with the same interpretations:
+
+
+
+ GL_TEXTURE_MAG_FILTER
+
+
+ Returns the single-valued texture magnification filter,
+ a symbolic constant. The initial value is GL_LINEAR.
+
+
+
+
+ GL_TEXTURE_MIN_FILTER
+
+
+ Returns the single-valued texture minification filter,
+ a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR.
+
+
+
+
+ GL_TEXTURE_MIN_LOD
+
+
+ Returns the single-valued texture minimum level-of-detail value. The
+ initial value is
+
+
+ -1000
+ .
+
+
+
+
+ GL_TEXTURE_MAX_LOD
+
+
+ Returns the single-valued texture maximum level-of-detail value. The
+ initial value is 1000.
+
+
+
+
+ GL_TEXTURE_WRAP_S
+
+
+ Returns the single-valued wrapping function for texture coordinate
+ s,
+ a symbolic constant. The initial value is GL_REPEAT.
+
+
+
+
+ GL_TEXTURE_WRAP_T
+
+
+ Returns the single-valued wrapping function for texture coordinate
+ t,
+ a symbolic constant. The initial value is GL_REPEAT.
+
+
+
+
+ GL_TEXTURE_WRAP_R
+
+
+ Returns the single-valued wrapping function for texture coordinate
+ r,
+ a symbolic constant. The initial value is GL_REPEAT.
+
+
+
+
+ GL_TEXTURE_BORDER_COLOR
+
+
+ Returns four integer or floating-point numbers that comprise the RGBA color
+ of the texture border.
+ Floating-point values are returned in the range
+
+
+
+ 0
+ 1
+
+ .
+ Integer values are returned as a linear mapping of the internal floating-point
+ representation such that 1.0 maps to the most positive representable
+ integer and
+
+
+ -1.0
+
+ maps to the most negative representable
+ integer. The initial value is (0, 0, 0, 0).
+
+
+
+
+ GL_TEXTURE_COMPARE_MODE
+
+
+ Returns a single-valued texture comparison mode, a symbolic constant. The
+ initial value is GL_NONE. See glSamplerParameter.
+
+
+
+
+ GL_TEXTURE_COMPARE_FUNC
+
+
+ Returns a single-valued texture comparison function, a symbolic constant. The
+ initial value is GL_LEQUAL. See glSamplerParameter.
+
+
+
+
+
+ Notes
+
+ If an error is generated,
+ no change is made to the contents of params.
+
+
+ glGetSamplerParameter is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if sampler is not the name of a sampler object returned from
+ a previous call to glGenSamplers.
+
+
+ GL_INVALID_ENUM is generated if pname is not an accepted value.
+
+
+ See Also
+
+ glSamplerParameter,
+ glGenSamplers,
+ glDeleteSamplers,
+ glSamplerParameter
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetShader.xml b/Source/Bind/Specifications/Docs/glGetShader.xml
index daf5916e..daedbe28 100644
--- a/Source/Bind/Specifications/Docs/glGetShader.xml
+++ b/Source/Bind/Specifications/Docs/glGetShader.xml
@@ -63,7 +63,8 @@
params returns
GL_VERTEX_SHADER if
shader is a vertex shader
- object, and GL_FRAGMENT_SHADER
+ object, GL_GEOMETRY_SHADER if shader
+ is a geometry shader object, and GL_FRAGMENT_SHADER
if shader is a fragment
shader object.
@@ -120,8 +121,6 @@
Notes
- glGetShader is available only if the
- GL version is 2.0 or greater.
If an error is generated, no change is made to the
contents of params.
@@ -138,12 +137,6 @@
GL_INVALID_ENUM is generated if
pname is not an accepted value.
- GL_INVALID_OPERATION is generated if
- glGetShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetShaderInfoLog
diff --git a/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml
index ed10964e..d492099a 100644
--- a/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml
+++ b/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml
@@ -80,9 +80,6 @@
length 0.
Notes
- glGetShaderInfoLog is available only
- if the GL version is 2.0 or greater.
-
The information log for a shader object is the OpenGL
implementer's primary mechanism for conveying information about
the compilation process. Therefore, the information log can be
@@ -102,12 +99,6 @@
GL_INVALID_VALUE is generated if
maxLength is less than 0.
- GL_INVALID_OPERATION is generated if
- glGetShaderInfoLog is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetShader
diff --git a/Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml b/Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml
new file mode 100644
index 00000000..a6f5f22c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetShaderPrecisionFormat
+ 3G
+
+
+ glGetShaderPrecisionFormat
+ retrieve the range and precision for numeric formats supported by the shader compiler
+
+ C Specification
+
+
+ void glGetShaderPrecisionFormat
+ GLenum shaderType
+ GLenum precisionType
+ GLint *range
+ GLint *precision
+
+
+
+ Parameters
+
+
+ shaderType
+
+
+ Specifies the type of shader whose precision to query. shaderType
+ must be GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
+
+
+
+
+ precisionType
+
+
+ Specifies the numeric format whose precision and range to query.
+
+
+
+
+ range
+
+
+ Specifies the address of array of two integers into which encodings of the implementation's
+ numeric range are returned.
+
+
+
+
+ precision
+
+
+ Specifies the address of an integer into which the numeric precision of the implementation
+ is written.
+
+
+
+
+
+ Description
+
+ glGetShaderPrecisionFormat retrieves the numeric range and precision for
+ the implementation's representation of quantities in different numeric formats in specified
+ shader type. shaderType specifies the type of shader for which the numeric
+ precision and range is to be retrieved and must be one of GL_VERTEX_SHADER
+ or GL_FRAGMENT_SHADER. precisionType specifies the
+ numeric format to query and must be one of GL_LOW_FLOAT, GL_MEDIUM_FLOAT
+ GL_HIGH_FLOAT, GL_LOW_INT, GL_MEDIUM_INT,
+ or GL_HIGH_INT.
+
+
+ range points to an array of two integers into which the format's numeric range
+ will be returned. If min and max are the smallest values representable in the format, then the values
+ returned are defined to be: range[0] = floor(log2(|min|)) and
+ range[1] = floor(log2(|max|)).
+
+
+ precision specifies the address of an integer into which will be written
+ the log2 value of the number of bits of precision of the format. If the smallest representable
+ value greater than 1 is 1 + eps, then the integer addressed by precision
+ will contain floor(-log2(eps)).
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shaderType or
+ precisionType is not an accepted value.
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/glGetShaderSource.xml
index 2e5230c5..6d7cb106 100644
--- a/Source/Bind/Specifications/Docs/glGetShaderSource.xml
+++ b/Source/Bind/Specifications/Docs/glGetShaderSource.xml
@@ -1,114 +1,104 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetShaderSource
- 3G
+ glGetShaderSource
+ 3G
- glGetShaderSource
- Returns the source code string from a shader object
+ glGetShaderSource
+ Returns the source code string from a shader object
C Specification
-
-
- void glGetShaderSource
- GLuint shader
- GLsizei bufSize
- GLsizei *length
- GLchar *source
-
-
+
+
+ void glGetShaderSource
+ GLuint shader
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *source
+
+
Parameters
-
-
- shader
-
- Specifies the shader object to be
- queried.
-
-
-
- bufSize
-
- Specifies the size of the character buffer for
- storing the returned source code string.
-
-
-
- length
-
- Returns the length of the string returned in
- source (excluding the null
- terminator).
-
-
-
- source
-
- Specifies an array of characters that is used
- to return the source code string.
-
-
-
+
+
+ shader
+
+ Specifies the shader object to be
+ queried.
+
+
+
+ bufSize
+
+ Specifies the size of the character buffer for
+ storing the returned source code string.
+
+
+
+ length
+
+ Returns the length of the string returned in
+ source (excluding the null
+ terminator).
+
+
+
+ source
+
+ Specifies an array of characters that is used
+ to return the source code string.
+
+
+
Description
- glGetShaderSource returns the
- concatenation of the source code strings from the shader object
- specified by shader. The source code
- strings for a shader object are the result of a previous call to
- glShaderSource.
- The string returned by the function will be null
- terminated.
+ glGetShaderSource returns the
+ concatenation of the source code strings from the shader object
+ specified by shader. The source code
+ strings for a shader object are the result of a previous call to
+ glShaderSource.
+ The string returned by the function will be null
+ terminated.
- glGetShaderSource returns in
- source as much of the source code string
- as it can, up to a maximum of bufSize
- characters. The number of characters actually returned,
- excluding the null termination character, is specified by
- length. If the length of the returned
- string is not required, a value of NULL can
- be passed in the length argument. The
- size of the buffer required to store the returned source code
- string can be obtained by calling
- glGetShader
- with the value
- GL_SHADER_SOURCE_LENGTH.
-
- Notes
- glGetShaderSource is available only
- if the GL version is 2.0 or greater.
+ glGetShaderSource returns in
+ source as much of the source code string
+ as it can, up to a maximum of bufSize
+ characters. The number of characters actually returned,
+ excluding the null termination character, is specified by
+ length. If the length of the returned
+ string is not required, a value of NULL can
+ be passed in the length argument. The
+ size of the buffer required to store the returned source code
+ string can be obtained by calling
+ glGetShader
+ with the value
+ GL_SHADER_SOURCE_LENGTH.
Errors
- GL_INVALID_VALUE is generated if
- shader is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ shader is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- shader is not a shader object.
+ GL_INVALID_OPERATION is generated if
+ shader is not a shader object.
- GL_INVALID_VALUE is generated if
- bufSize is less than 0.
+ GL_INVALID_VALUE is generated if
+ bufSize is less than 0.
- GL_INVALID_OPERATION is generated if
- glGetShaderSource is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetShader
- with argument
- GL_SHADER_SOURCE_LENGTH
+ glGetShader
+ with argument
+ GL_SHADER_SOURCE_LENGTH
- glIsShader
+ glIsShader
See Also
- glCreateShader,
- glShaderSource
+ glCreateShader,
+ glShaderSource
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetString.xml b/Source/Bind/Specifications/Docs/glGetString.xml
index e431d7a3..7f541aff 100644
--- a/Source/Bind/Specifications/Docs/glGetString.xml
+++ b/Source/Bind/Specifications/Docs/glGetString.xml
@@ -24,6 +24,15 @@
+ C Specification
+
+
+ const GLubyte* glGetStringi
+ GLenum name
+ GLuint index
+
+
+
Parameters
@@ -31,7 +40,17 @@
Specifies a symbolic constant, one of
- GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS.
+ GL_VENDOR, GL_RENDERER,
+ GL_VERSION, or GL_SHADING_LANGUAGE_VERSION.
+ Additionally, glGetStringi accepts the GL_EXTENSIONS token.
+
+
+
+
+ index
+
+
+ For glGetStringi, specifies the index of the string to return.
@@ -88,34 +107,30 @@
+
+
+ glGetStringi returns a pointer to a static string
+ indexed by index.
+ name can be one of the following:
+
+
GL_EXTENSIONS
- Returns a space-separated list of supported extensions to GL.
+ For glGetStringi only, returns the extension string
+ supported by the implementation at index.
- Because the GL does not include queries for the performance
- characteristics of an implementation, some applications are written to
- recognize known platforms and modify their GL usage based on known
- performance characteristics of these platforms.
Strings GL_VENDOR and GL_RENDERER together uniquely specify
a platform. They do not change from release to release and should be used
by platform-recognition algorithms.
-
- Some applications want to make use of features that
- are not part of the standard GL. These features
- may be implemented as extensions to the standard GL.
- The GL_EXTENSIONS string is a space-separated
- list of supported GL extensions.
- (Extension names never contain a space character.)
-
The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number.
The version number uses one
@@ -140,28 +155,25 @@
If an error is generated, glGetString returns 0.
- The client and server may support different versions or extensions.
- glGetString always returns a compatible version number or list of extensions.
+ The client and server may support different versions.
+ glGetString always returns a compatible version number.
The release number always describes the server.
-
- GL_SHADING_LANGUAGE_VERSION is available only if the GL version is 2.0 or greater.
-
Errors
GL_INVALID_ENUM is generated if name is not an accepted value.
- GL_INVALID_OPERATION is generated if glGetString
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_VALUE is generated by glGetStringi if
+ index is outside the valid range for indexed state name.
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010
+ Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml b/Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml
new file mode 100644
index 00000000..f287231c
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetSubroutineIndex
+ 3G
+
+
+ glGetSubroutineIndex
+ retrieve the index of a subroutine uniform of a given shader stage within a program
+
+ C Specification
+
+
+ GLuint glGetSubroutineIndex
+ GLuint program
+ GLenum shadertype
+ const GLchar *name
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing shader stage.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for subroutine uniform index.
+ shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ name
+
+
+ Specifies the name of the subroutine uniform whose index to query.
+
+
+
+
+
+ Description
+
+ glGetSubroutineIndex returns the index of a subroutine uniform within a shader stage attached to a program object.
+ program contains the name of the program to which the shader is attached. shadertype
+ specifies the stage from which to query shader subroutine index. name contains the null-terminated
+ name of the subroutine uniform whose name to query.
+
+
+ If name is not the name of a subroutine uniform in the shader stage, GL_INVALID_INDEX
+ is returned, but no error is generated. If name is the name of a subroutine uniform in the shader stage,
+ a value between zero and the value of GL_ACTIVE_SUBROUTINES minus one will be returned. Subroutine indices
+ are assigned using consecutive integers in the range from zero to the value of GL_ACTIVE_SUBROUTINES minus
+ one for the shader stage.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype or pname
+ is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ See Also
+
+ glGetProgram,
+ glGetActiveSubroutineUniform,
+ glGetActiveSubroutineUniformName
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml b/Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml
new file mode 100644
index 00000000..50182d6d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetSubroutineUniformLocation
+ 3G
+
+
+ glGetSubroutineUniformLocation
+ retrieve the location of a subroutine uniform of a given shader stage within a program
+
+ C Specification
+
+
+ GLint glGetSubroutineUniformLocation
+ GLuint program
+ GLenum shadertype
+ const GLchar *name
+
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of the program containing shader stage.
+
+
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for subroutine uniform index.
+ shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ name
+
+
+ Specifies the name of the subroutine uniform whose index to query.
+
+
+
+
+
+ Description
+
+ glGetSubroutineUniformLocation returns the location of the subroutine uniform variable
+ name in the shader stage of type shadertype attached to
+ program, with behavior otherwise identical to
+ glGetUniformLocation.
+
+
+ If name is not the name of a subroutine uniform in the shader stage, -1
+ is returned, but no error is generated. If name is the name of a subroutine uniform in the shader stage,
+ a value between zero and the value of GL_ACTIVE_SUBROUTINE_LOCATIONS minus one will be returned.
+ Subroutine locations are assigned using consecutive integers in the range from zero to the value
+ of GL_ACTIVE_SUBROUTINE_LOCATIONS minus one for the shader stage. For active subroutine uniforms
+ declared as arrays, the declared array elements are assigned consecutive locations.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype or pname
+ is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if program is not the name of an
+ existing program object.
+
+
+ See Also
+
+ glGetProgram,
+ glGetActiveSubroutineUniform,
+ glGetActiveSubroutineUniformName,
+ glGetUniformLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetSync.xml b/Source/Bind/Specifications/Docs/glGetSync.xml
new file mode 100644
index 00000000..5548eed0
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetSync.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetSynciv
+ 3G
+
+
+ glGetSynciv
+ query the properties of a sync object
+
+ C Specification
+
+
+ void glGetSynciv
+ GLsync sync
+ GLenum pname
+ GLsizei bufSize
+ GLsizei *length
+ GLint *values
+
+
+
+
+ Parameters
+
+
+ sync
+
+
+ Specifies the sync object whose properties to query.
+
+
+
+
+ pname
+
+
+ Specifies the parameter whose value to retrieve from the sync object specified in sync.
+
+
+
+
+ bufSize
+
+
+ Specifies the size of the buffer whose address is given in values.
+
+
+
+
+ length
+
+
+ Specifies the address of an variable to receive the number of integers placed in values.
+
+
+
+
+ values
+
+
+ Specifies the address of an array to receive the values of the queried parameter.
+
+
+
+
+
+ Description
+
+ glGetSynciv retrieves properties of a sync object. sync specifies the name of the sync
+ object whose properties to retrieve.
+
+
+ On success, glGetSynciv replaces up to bufSize integers in values with the
+ corresponding property values of the object being queried. The actual number of integers replaced is returned in the variable whose address is
+ specified in length. If length is NULL
, no length is returned.
+
+
+ If pname is GL_OBJECT_TYPE, a single value representing the specific type of the sync object is
+ placed in values. The only type supported is GL_SYNC_FENCE.
+
+
+ If pname is GL_SYNC_STATUS, a single value representing the status of the sync object
+ (GL_SIGNALED or GL_UNSIGNALED) is placed in values.
+
+
+ If pname is GL_SYNC_CONDITION, a single value representing the condition of the sync object
+ is placed in values. The only condition supported is GL_SYNC_GPU_COMMANDS_COMPLETE.
+
+
+ If pname is GL_SYNC_FLAGS, a single value representing the flags with which the sync object
+ was created is placed in values. No flags are currently supportedflags is
+ expected to be used in future extensions to the sync objects..
+
+
+ If an error occurs, nothing will be written to values or length.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if sync is not the name of a sync object.
+
+
+ GL_INVALID_ENUM is generated if pname is not one of the accepted tokens.
+
+
+ See Also
+
+ glFenceSync,
+ glWaitSync,
+ glClientWaitSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetTexImage.xml b/Source/Bind/Specifications/Docs/glGetTexImage.xml
index 72accf56..37f5b9a8 100644
--- a/Source/Bind/Specifications/Docs/glGetTexImage.xml
+++ b/Source/Bind/Specifications/Docs/glGetTexImage.xml
@@ -36,7 +36,12 @@
Specifies which texture is to be obtained.
- GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,
+ GL_TEXTURE_1D,
+ GL_TEXTURE_2D,
+ GL_TEXTURE_3D,
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_RECTANGLE,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
@@ -67,16 +72,25 @@
Specifies a pixel format for the returned data.
The supported formats are
+ GL_STENCIL_INDEX,
+ GL_DEPTH_COMPONENT,
+ GL_DEPTH_STENCIL,
GL_RED,
GL_GREEN,
GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
- GL_BGR,
GL_RGBA,
+ GL_BGR,
GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RED_INTEGER,
+ GL_GREEN_INTEGER,
+ GL_BLUE_INTEGER,
+ GL_RG_INTEGER,
+ GL_RGB_INTEGER,
+ GL_RGBA_INTEGER,
+ GL_BGR_INTEGER,
+ GL_BGRA_INTEGER.
@@ -92,6 +106,7 @@
GL_SHORT,
GL_UNSIGNED_INT,
GL_INT,
+ GL_HALF_FLOAT,
GL_FLOAT,
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
@@ -103,8 +118,12 @@
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV.
+ GL_UNSIGNED_INT_10_10_10_2,
+ GL_UNSIGNED_INT_2_10_10_10_REV,
+ GL_UNSIGNED_INT_24_8,
+ GL_UNSIGNED_INT_10F_11F_11F_REV,
+ GL_UNSIGNED_INT_5_9_9_9_REV, and
+ GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
@@ -124,13 +143,15 @@
glGetTexImage returns a texture image into img.
target specifies whether the desired texture image is one specified by
glTexImage1D (GL_TEXTURE_1D),
- glTexImage2D (GL_TEXTURE_2D or any of
+ glTexImage2D (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_2D or any of
GL_TEXTURE_CUBE_MAP_*),
or
- glTexImage3D (GL_TEXTURE_3D).
+ glTexImage3D (GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_3D).
level specifies the level-of-detail number of the desired image.
format and type specify the format and type of the desired image array.
- See the reference pages glTexImage1D and glDrawPixels
+ See the reference page for glTexImage1D
for a description of the acceptable values for the format and type
parameters, respectively.
@@ -147,16 +168,9 @@
when called with the same format and type,
with x and y set to 0,
width set to the width of the texture image
- (including border if one was specified),
and height set to 1 for 1D images,
or to the height of the texture image
- (including border if one was specified)
for 2D images.
- Because the internal texture image is an RGBA image,
- pixel formats GL_COLOR_INDEX,
- GL_STENCIL_INDEX,
- and GL_DEPTH_COMPONENT are not accepted,
- and pixel type GL_BITMAP is not accepted.
If the selected texture image does not contain four components,
@@ -192,25 +206,7 @@
no change is made to the contents of img.
- The types GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2,
- GL_UNSIGNED_INT_2_10_10_10_REV,
- and the formats
- GL_BGR, and GL_BGRA are available only if the GL version is
- 1.2 or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glGetTexImage returns
- the texture image for the active texture unit.
+ glGetTexImage returns the texture image for the active texture unit.
Errors
@@ -225,7 +221,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -244,8 +240,9 @@
GL_INVALID_OPERATION is returned if type is one of
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5, or
- GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB.
+ GL_UNSIGNED_SHORT_5_6_5,
+ GL_UNSIGNED_SHORT_5_6_5_REV, or
+ GL_UNSIGNED_INT_10F_11F_11F_REV and format is not GL_RGB.
GL_INVALID_OPERATION is returned if type is one of
@@ -255,8 +252,9 @@
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, or
- GL_UNSIGNED_INT_2_10_10_10_REV, and format is neither GL_RGBA
+ GL_UNSIGNED_INT_10_10_10_2,
+ GL_UNSIGNED_INT_2_10_10_10_REV, or
+ GL_UNSIGNED_INT_5_9_9_9_REV and format is neither GL_RGBA
or GL_BGRA.
@@ -273,11 +271,6 @@
GL_PIXEL_PACK_BUFFER target and img is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glGetTexImage
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -286,9 +279,6 @@
glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT
-
- glGetTexLevelParameter with argument GL_TEXTURE_BORDER
-
glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT
@@ -302,10 +292,7 @@
See Also
glActiveTexture,
- glDrawPixels,
glReadPixels,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
@@ -318,7 +305,8 @@
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010
+ Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml b/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml
index ec5a06bb..7b054dcd 100644
--- a/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml
+++ b/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml
@@ -44,16 +44,31 @@
Specifies the symbolic name of the target texture,
- either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,
- GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D,
- GL_PROXY_TEXTURE_3D,
+ one of
+ GL_TEXTURE_1D,
+ GL_TEXTURE_2D,
+ GL_TEXTURE_3D,
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_2D_MULTISAMPLE,
+ GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or
- GL_PROXY_TEXTURE_CUBE_MAP.
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+ GL_PROXY_TEXTURE_1D,
+ GL_PROXY_TEXTURE_2D,
+ GL_PROXY_TEXTURE_3D,
+ GL_PROXY_TEXTURE_1D_ARRAY,
+ GL_PROXY_TEXTURE_2D_ARRAY,
+ GL_PROXY_TEXTURE_RECTANGLE,
+ GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+ GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+ GL_PROXY_TEXTURE_CUBE_MAP, or
+ GL_TEXTURE_BUFFER.
@@ -85,8 +100,6 @@
GL_TEXTURE_GREEN_SIZE,
GL_TEXTURE_BLUE_SIZE,
GL_TEXTURE_ALPHA_SIZE,
- GL_TEXTURE_LUMINANCE_SIZE,
- GL_TEXTURE_INTENSITY_SIZE,
GL_TEXTURE_DEPTH_SIZE,
GL_TEXTURE_COMPRESSED, and
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
@@ -195,14 +208,37 @@
- GL_TEXTURE_BORDER
+ GL_TEXTURE_RED_TYPE,
+
+
+
+
+ GL_TEXTURE_GREEN_TYPE,
+
+
+
+
+ GL_TEXTURE_BLUE_TYPE,
+
+
+
+
+ GL_TEXTURE_ALPHA_TYPE,
+
+
+
+
+ GL_TEXTURE_DEPTH_TYPE
- params returns a single value,
- the width in pixels of the border of the texture image. The initial value
- is 0.
+ The data type used to store the component.
+ The types GL_NONE, GL_SIGNED_NORMALIZED,
+ GL_UNSIGNED_NORMALIZED, GL_FLOAT,
+ GL_INT, and GL_UNSIGNED_INT may be returned
+ to indicate signed normalized fixed-point, unsigned normalized fixed-point, floating-point, integer unnormalized, and
+ unsigned integer unnormalized components, respectively.
@@ -226,16 +262,6 @@
-
- GL_TEXTURE_LUMINANCE_SIZE,
-
-
-
-
- GL_TEXTURE_INTENSITY_SIZE,
-
-
-
GL_TEXTURE_DEPTH_SIZE
@@ -281,33 +307,7 @@
no change is made to the contents of params.
- GL_TEXTURE_INTERNAL_FORMAT is available only if the GL version is
- 1.1 or greater. In version 1.0, use GL_TEXTURE_COMPONENTS
- instead.
-
-
- GL_PROXY_TEXTURE_1D and GL_PROXY_TEXTURE_2D are
- available only if the GL version is 1.1 or greater.
-
-
- GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, and GL_TEXTURE_DEPTH
- are available only if the GL version is 1.2 or greater.
-
-
- GL_TEXTURE_COMPRESSED,
- GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
- GL_TEXTURE_CUBE_MAP_POSITIVE_X,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, and
- GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3
- or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glGetTexLevelParameter returns
- the texture level parameters for the active texture unit.
+ glGetTexLevelParameter returns the texture level parameters for the active texture unit.
Errors
@@ -322,7 +322,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -331,9 +331,8 @@
where max is the returned value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_OPERATION is generated if glGetTexLevelParameter
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_VALUE is generated if target is GL_TEXTURE_BUFFER
+ and level is not zero.
GL_INVALID_OPERATION is generated if
@@ -350,8 +349,6 @@
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
@@ -364,7 +361,8 @@
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010
+ Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/glGetTexParameter.xml
index 1d986c75..58eab044 100644
--- a/Source/Bind/Specifications/Docs/glGetTexParameter.xml
+++ b/Source/Bind/Specifications/Docs/glGetTexParameter.xml
@@ -44,7 +44,10 @@
Specifies the symbolic name of the target texture.
GL_TEXTURE_1D,
GL_TEXTURE_2D,
- GL_TEXTURE_3D, and
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_3D,
+ GL_TEXTURE_RECTANGLE, and
GL_TEXTURE_CUBE_MAP
are accepted.
@@ -55,22 +58,24 @@
Specifies the symbolic name of a texture parameter.
- GL_TEXTURE_MAG_FILTER,
- GL_TEXTURE_MIN_FILTER,
- GL_TEXTURE_MIN_LOD,
- GL_TEXTURE_MAX_LOD,
GL_TEXTURE_BASE_LEVEL,
- GL_TEXTURE_MAX_LEVEL,
- GL_TEXTURE_WRAP_S,
- GL_TEXTURE_WRAP_T,
- GL_TEXTURE_WRAP_R,
GL_TEXTURE_BORDER_COLOR,
- GL_TEXTURE_PRIORITY,
- GL_TEXTURE_RESIDENT,
GL_TEXTURE_COMPARE_MODE,
GL_TEXTURE_COMPARE_FUNC,
- GL_DEPTH_TEXTURE_MODE, and
- GL_GENERATE_MIPMAP
+ GL_TEXTURE_LOD_BIAS,
+ GL_TEXTURE_MAG_FILTER,
+ GL_TEXTURE_MAX_LEVEL,
+ GL_TEXTURE_MAX_LOD,
+ GL_TEXTURE_MIN_FILTER,
+ GL_TEXTURE_MIN_LOD,
+ GL_TEXTURE_SWIZZLE_R,
+ GL_TEXTURE_SWIZZLE_G,
+ GL_TEXTURE_SWIZZLE_B,
+ GL_TEXTURE_SWIZZLE_A,
+ GL_TEXTURE_SWIZZLE_RGBA,
+ GL_TEXTURE_WRAP_S,
+ GL_TEXTURE_WRAP_T, and
+ GL_TEXTURE_WRAP_R
are accepted.
@@ -89,9 +94,15 @@
glGetTexParameter returns in params the value or values of the texture parameter
specified as pname.
- target defines the target texture,
- either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP,
- to specify one-, two-, or three-dimensional or cube-mapped texturing.
+ target defines the target texture.
+ GL_TEXTURE_1D,
+ GL_TEXTURE_2D,
+ GL_TEXTURE_3D,
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_RECTANGLE, and
+ GL_TEXTURE_CUBE_MAP
+ specify one-, two-, or three-dimensional, one-dimensional array, two-dimensional array, rectangle or cube-mapped texturing, respectively.
pname accepts the same symbols as glTexParameter,
with the same interpretations:
@@ -121,7 +132,7 @@
Returns the single-valued texture minimum level-of-detail value. The
initial value is
-
+
-1000
.
@@ -153,6 +164,46 @@
+
+ GL_TEXTURE_SWIZZLE_R
+
+
+ Returns the red component swizzle. The initial value is GL_RED.
+
+
+
+
+ GL_TEXTURE_SWIZZLE_G
+
+
+ Returns the green component swizzle. The initial value is GL_GREEN.
+
+
+
+
+ GL_TEXTURE_SWIZZLE_B
+
+
+ Returns the blue component swizzle. The initial value is GL_BLUE.
+
+
+
+
+ GL_TEXTURE_SWIZZLE_A
+
+
+ Returns the alpha component swizzle. The initial value is GL_ALPHA.
+
+
+
+
+ GL_TEXTURE_SWIZZLE_RGBA
+
+
+ Returns the component swizzle for all channels in a single query.
+
+
+
GL_TEXTURE_WRAP_S
@@ -191,7 +242,7 @@
of the texture border.
Floating-point values are returned in the range
-
+
0
1
@@ -201,7 +252,7 @@
representation such that 1.0 maps to the most positive representable
integer and
-
+
-1.0
maps to the most negative representable
@@ -209,27 +260,6 @@
-
- GL_TEXTURE_PRIORITY
-
-
- Returns the residence priority of the target texture (or the named
- texture bound to it). The initial value is 1.
- See glPrioritizeTextures.
-
-
-
-
- GL_TEXTURE_RESIDENT
-
-
- Returns the residence status of the target texture.
- If the value returned in params is GL_TRUE, the texture is
- resident in texture memory.
- See glAreTexturesResident.
-
-
-
GL_TEXTURE_COMPARE_MODE
@@ -248,44 +278,9 @@
-
- GL_DEPTH_TEXTURE_MODE
-
-
- Returns a single-valued texture format indicating how the depth values
- should be converted into color components. The initial value is
- GL_LUMINANCE. See glTexParameter.
-
-
-
-
- GL_GENERATE_MIPMAP
-
-
- Returns a single boolean value indicating if automatic mipmap level updates
- are enabled.
- See glTexParameter.
-
-
-
Notes
-
- GL_TEXTURE_PRIORITY and GL_TEXTURE_RESIDENT are
- available only if the GL version is 1.1 or greater.
-
-
- GL_TEXTURE_3D,
- GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL,
- GL_TEXTURE_MAX_LEVEL, and GL_TEXTURE_WRAP_R are available only
- if the GL version is 1.2 or greater.
-
-
- GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, and
- GL_GENERATE_MIPMAP is available only if the GL version is 1.4 or
- greater.
-
If an error is generated,
no change is made to the contents of params.
@@ -296,23 +291,17 @@
GL_INVALID_ENUM is generated if target or pname is not an
accepted value.
-
- GL_INVALID_OPERATION is generated if glGetTexParameter
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
See Also
- glAreTexturesResident,
- glPrioritizeTextures,
glTexParameter
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010
+ Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml b/Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml
new file mode 100644
index 00000000..c5e63c28
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetTransformFeedbackVarying
+ 3G
+
+
+ glGetTransformFeedbackVarying
+ retrieve information about varying variables selected for transform feedback
+
+ C Specification
+
+
+ void glGetTransformFeedbackVarying
+ GLuintprogram
+ GLuintindex
+ GLsizeibufSize
+ GLsizei *length
+ GLsizeisize
+ GLenum *type
+ char *name
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the target program object.
+
+
+
+
+ index
+
+
+ The index of the varying variable whose information to retrieve.
+
+
+
+
+ bufSize
+
+
+ The maximum number of characters, including the null terminator, that may be written into name.
+
+
+
+
+ length
+
+
+ The address of a variable which will receive the number of characters written into name,
+ excluding the null-terminator. If length is NULL no length is returned.
+
+
+
+
+ size
+
+
+ The address of a variable that will receive the size of the varying.
+
+
+
+
+ type
+
+
+ The address of a variable that will recieve the type of the varying.
+
+
+
+
+ name
+
+
+ The address of a buffer into which will be written the name of the varying.
+
+
+
+
+
+ Description
+
+ Information about the set of varying variables in a linked program that will be captured
+ during transform feedback may be retrieved by calling glGetTransformFeedbackVarying.
+ glGetTransformFeedbackVarying provides information about the varying
+ variable selected by index. An index of 0 selects
+ the first varying variable specified in the varyings array passed
+ to glTransformFeedbackVaryings, and
+ an index of GL_TRANSFORM_FEEDBACK_VARYINGS-1 selects
+ the last such variable.
+
+
+ The name of the selected varying is returned as a null-terminated string in
+ name. The actual number of characters written into name,
+ excluding the null terminator, is returned in length. If length
+ is NULL, no length is returned. The maximum number of characters that may be written into name,
+ including the null terminator, is specified by bufSize.
+
+
+ The length of the longest varying name in program is given by GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+ which can be queried with glGetProgram.
+
+
+ For the selected varying variable, its type is returned into type. The size of
+ the varying is returned into size. The value in size is
+ in units of the type returned in type. The type returned can be any of the
+ scalar, vector, or matrix attribute types returned by glGetActiveAttrib.
+ If an error occurred, the return parameters length, size,
+ type and name will be unmodified. This command will return as much
+ information about the varying variables as possible. If no information is available, length
+ will be set to zero and name will be an empty string. This situation could
+ arise if glGetTransformFeedbackVarying is called after a failed link.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if program is not
+ the name of a program object.
+
+
+ GL_INVALID_VALUE is generated if index is greater or equal to
+ the value of GL_TRANSFORM_FEEDBACK_VARYINGS.
+
+
+ GL_INVALID_OPERATION is generated program has not been linked.
+
+
+ Associated Gets
+
+ glGetProgram with argument GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH.
+
+
+ See Also
+
+ glBeginTransformFeedback,
+ glEndTransformFeedback,
+ glTransformFeedbackVaryings,
+ glGetProgram
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetUniform.xml b/Source/Bind/Specifications/Docs/glGetUniform.xml
index 762b51c8..82ede686 100644
--- a/Source/Bind/Specifications/Docs/glGetUniform.xml
+++ b/Source/Bind/Specifications/Docs/glGetUniform.xml
@@ -1,138 +1,129 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetUniform
- 3G
+ glGetUniform
+ 3G
- glGetUniform
- glGetUniformfv
- glGetUniformiv
- Returns the value of a uniform variable
+ glGetUniform
+ glGetUniformfv
+ glGetUniformiv
+ Returns the value of a uniform variable
C Specification
-
-
- void glGetUniformfv
- GLuint program
- GLint location
- GLfloat *params
-
-
- void glGetUniformiv
- GLuint program
- GLint location
- GLint *params
-
-
+
+
+ void glGetUniformfv
+ GLuint program
+ GLint location
+ GLfloat *params
+
+
+ void glGetUniformiv
+ GLuint program
+ GLint location
+ GLint *params
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- location
-
- Specifies the location of the uniform variable
- to be queried.
-
-
-
- params
-
- Returns the value of the specified uniform
- variable.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ location
+
+ Specifies the location of the uniform variable
+ to be queried.
+
+
+
+ params
+
+ Returns the value of the specified uniform
+ variable.
+
+
+
Description
- glGetUniform returns in
- params the value(s) of the specified
- uniform variable. The type of the uniform variable specified by
- location determines the number of values
- returned. If the uniform variable is defined in the shader as a
- boolean, int, or float, a single value will be returned. If it
- is defined as a vec2, ivec2, or bvec2, two values will be
- returned. If it is defined as a vec3, ivec3, or bvec3, three
- values will be returned, and so on. To query values stored in
- uniform variables declared as arrays, call
- glGetUniform for each element of the array.
- To query values stored in uniform variables declared as
- structures, call glGetUniform for each
- field in the structure. The values for uniform variables
- declared as a matrix will be returned in column major
- order.
+ glGetUniform returns in
+ params the value(s) of the specified
+ uniform variable. The type of the uniform variable specified by
+ location determines the number of values
+ returned. If the uniform variable is defined in the shader as a
+ boolean, int, or float, a single value will be returned. If it
+ is defined as a vec2, ivec2, or bvec2, two values will be
+ returned. If it is defined as a vec3, ivec3, or bvec3, three
+ values will be returned, and so on. To query values stored in
+ uniform variables declared as arrays, call
+ glGetUniform for each element of the array.
+ To query values stored in uniform variables declared as
+ structures, call glGetUniform for each
+ field in the structure. The values for uniform variables
+ declared as a matrix will be returned in column major
+ order.
- The locations assigned to uniform variables are not known
- until the program object is linked. After linking has occurred,
- the command
- glGetUniformLocation
- can be used to obtain the location of a uniform variable. This
- location value can then be passed to
- glGetUniform in order to query the current
- value of the uniform variable. After a program object has been
- linked successfully, the index values for uniform variables
- remain fixed until the next link command occurs. The uniform
- variable values can only be queried after a link if the link was
- successful.
+ The locations assigned to uniform variables are not known
+ until the program object is linked. After linking has occurred,
+ the command
+ glGetUniformLocation
+ can be used to obtain the location of a uniform variable. This
+ location value can then be passed to
+ glGetUniform in order to query the current
+ value of the uniform variable. After a program object has been
+ linked successfully, the index values for uniform variables
+ remain fixed until the next link command occurs. The uniform
+ variable values can only be queried after a link if the link was
+ successful.
Notes
- glGetUniform is available only if the
- GL version is 2.0 or greater.
-
- If an error is generated, no change is made to the
- contents of params.
+ If an error is generated, no change is made to the
+ contents of params.
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_OPERATION is generated if
- program has not been successfully
- linked.
+ GL_INVALID_OPERATION is generated if
+ program has not been successfully
+ linked.
- GL_INVALID_OPERATION is generated if
- location does not correspond to a valid
- uniform variable location for the specified program object.
+ GL_INVALID_OPERATION is generated if
+ location does not correspond to a valid
+ uniform variable location for the specified program object.
- GL_INVALID_OPERATION is generated if
- glGetUniform is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetActiveUniform
- with arguments program and the index of an active
- uniform variable
+ glGetActiveUniform
+ with arguments program and the index of an active
+ uniform variable
- glGetProgram
- with arguments program and
- GL_ACTIVE_UNIFORMS or
- GL_ACTIVE_UNIFORM_MAX_LENGTH
+ glGetProgram
+ with arguments program and
+ GL_ACTIVE_UNIFORMS or
+ GL_ACTIVE_UNIFORM_MAX_LENGTH
- glGetUniformLocation
- with arguments program and the name of a
- uniform variable
- glIsProgram
+ glGetUniformLocation
+ with arguments program and the name of a
+ uniform variable
+ glIsProgram
See Also
- glCreateProgram,
- glLinkProgram,
- glUniform
+ glCreateProgram,
+ glLinkProgram,
+ glUniform
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml b/Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml
new file mode 100644
index 00000000..98a7148f
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetUniformBlockIndex
+ 3G
+
+
+ glGetUniformBlockIndex
+ retrieve the index of a named uniform block
+
+ C Specification
+
+
+ GLuint glGetUniformBlockIndex
+ GLuint program
+ const GLchar *uniformBlockName
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program containing the uniform block.
+
+
+
+
+ uniformBlockName
+
+
+ Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.
+
+
+
+
+
+ Description
+
+ glGetUniformBlockIndex retrieves the index of a uniform block within program.
+
+
+ program must be the name of a program object for which the command
+ glLinkProgram must have been called in the past, although it is not required that
+ glLinkProgram must have succeeded. The link could have failed because the number
+ of active uniforms exceeded the limit.
+
+
+ uniformBlockName must contain a nul-terminated string specifying the name of the uniform block.
+
+
+ glGetUniformBlockIndex returns the uniform block index for the uniform block named uniformBlockName
+ of program. If uniformBlockName does not identify an active uniform block of program,
+ glGetUniformBlockIndex returns the special identifier, GL_INVALID_INDEX. Indices of the active uniform
+ blocks of a program are assigned in consecutive order, beginning with zero.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object for which
+ glLinkProgram has been called in the past.
+
+
+ Notes
+
+ glGetUniformBlockIndex is available only if the GL version is 3.1 or greater.
+
+
+ See Also
+
+ glGetActiveUniformBlockName,
+ glGetActiveUniformBlock,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetUniformIndices.xml b/Source/Bind/Specifications/Docs/glGetUniformIndices.xml
new file mode 100644
index 00000000..d04caf30
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetUniformIndices.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glGetUniformIndices
+ 3G
+
+
+ glGetUniformIndices
+ retrieve the index of a named uniform block
+
+ C Specification
+
+
+ GLuint glGetUniformIndices
+ GLuint program
+ GLsizei uniformCount
+ const GLchar **uniformNames
+ GLuint *uniformIndices
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program containing uniforms whose indices to query.
+
+
+
+
+ uniformCount
+
+
+ Specifies the number of uniforms whose indices to query.
+
+
+
+
+ uniformNames
+
+
+ Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.
+
+
+
+
+ uniformIndices
+
+
+ Specifies the address of an array that will receive the indices of the uniforms.
+
+
+
+
+
+ Description
+
+ glGetUniformIndices retrieves the indices of a number of uniforms within program.
+
+
+ program must be the name of a program object for which the command
+ glLinkProgram must have been called in the past, although it is not required that
+ glLinkProgram must have succeeded. The link could have failed because the number
+ of active uniforms exceeded the limit.
+
+
+ uniformCount indicates both the number of elements in the array of names uniformNames and the
+ number of indices that may be written to uniformIndices.
+
+
+ uniformNames contains a list of uniformCount name strings identifying the uniform names to be
+ queried for indices. For each name string in uniformNames, the index assigned to the active uniform of that name will
+ be written to the corresponding element of uniformIndices. If a string in uniformNames is not
+ the name of an active uniform, the special value GL_INVALID_INDEX will be written to the corresponding element of
+ uniformIndices.
+
+
+ If an error occurs, nothing is written to uniformIndices.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the name of a program object for which
+ glLinkProgram has been called in the past.
+
+
+ Notes
+
+ glGetUniformIndices is available only if the GL version is 3.1 or greater.
+
+
+ See Also
+
+ glGetActiveUniform,
+ glGetActiveUniformName,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/glGetUniformLocation.xml
index d1fd0d17..ee8e9288 100644
--- a/Source/Bind/Specifications/Docs/glGetUniformLocation.xml
+++ b/Source/Bind/Specifications/Docs/glGetUniformLocation.xml
@@ -1,126 +1,116 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetUniformLocation
- 3G
+ glGetUniformLocation
+ 3G
- glGetUniformLocation
- Returns the location of a uniform variable
+ glGetUniformLocation
+ Returns the location of a uniform variable
C Specification
-
-
- GLint glGetUniformLocation
- GLuint program
- const GLchar *name
-
-
+
+
+ GLint glGetUniformLocation
+ GLuint program
+ const GLchar *name
+
+
Parameters
-
-
- program
-
- Specifies the program object to be
- queried.
-
-
-
- name
-
- Points to a null terminated string containing
- the name of the uniform variable whose location is
- to be queried.
-
-
-
+
+
+ program
+
+ Specifies the program object to be
+ queried.
+
+
+
+ name
+
+ Points to a null terminated string containing
+ the name of the uniform variable whose location is
+ to be queried.
+
+
+
Description
- glGetUniformLocation returns an
- integer that represents the location of a specific uniform
- variable within a program object. name
- must be a null terminated string that contains no white space.
- name must be an active uniform variable
- name in program that is not a structure,
- an array of structures, or a subcomponent of a vector or a
- matrix. This function returns -1 if name
- does not correspond to an active uniform variable in
- program or if name
- starts with the reserved prefix "gl_".
+ glGetUniformLocation returns an
+ integer that represents the location of a specific uniform
+ variable within a program object. name
+ must be a null terminated string that contains no white space.
+ name must be an active uniform variable
+ name in program that is not a structure,
+ an array of structures, or a subcomponent of a vector or a
+ matrix. This function returns -1 if name
+ does not correspond to an active uniform variable in
+ program or if name
+ starts with the reserved prefix "gl_".
- Uniform variables that are structures or arrays of
- structures may be queried by calling
- glGetUniformLocation for each field within
- the structure. The array element operator "[]" and the
- structure field operator "." may be used in
- name in order to select elements within
- an array or fields within a structure. The result of using these
- operators is not allowed to be another structure, an array of
- structures, or a subcomponent of a vector or a matrix. Except if
- the last part of name indicates a uniform
- variable array, the location of the first element of an array
- can be retrieved by using the name of the array, or by using the
- name appended by "[0]".
+ Uniform variables that are structures or arrays of
+ structures may be queried by calling
+ glGetUniformLocation for each field within
+ the structure. The array element operator "[]" and the
+ structure field operator "." may be used in
+ name in order to select elements within
+ an array or fields within a structure. The result of using these
+ operators is not allowed to be another structure, an array of
+ structures, or a subcomponent of a vector or a matrix. Except if
+ the last part of name indicates a uniform
+ variable array, the location of the first element of an array
+ can be retrieved by using the name of the array, or by using the
+ name appended by "[0]".
- The actual locations assigned to uniform variables are not
- known until the program object is linked successfully. After
- linking has occurred, the command
- glGetUniformLocation can be used to obtain
- the location of a uniform variable. This location value can then
- be passed to
- glUniform
- to set the value of the uniform variable or to
- glGetUniform
- in order to query the current value of the uniform variable.
- After a program object has been linked successfully, the index
- values for uniform variables remain fixed until the next link
- command occurs. Uniform variable locations and values can only
- be queried after a link if the link was successful.
-
- Notes
- glGetUniformLocation is available
- only if the GL version is 2.0 or greater.
+ The actual locations assigned to uniform variables are not
+ known until the program object is linked successfully. After
+ linking has occurred, the command
+ glGetUniformLocation can be used to obtain
+ the location of a uniform variable. This location value can then
+ be passed to
+ glUniform
+ to set the value of the uniform variable or to
+ glGetUniform
+ in order to query the current value of the uniform variable.
+ After a program object has been linked successfully, the index
+ values for uniform variables remain fixed until the next link
+ command occurs. Uniform variable locations and values can only
+ be queried after a link if the link was successful.
Errors
- GL_INVALID_VALUE is generated if
- program is not a value generated by
- OpenGL.
+ GL_INVALID_VALUE is generated if
+ program is not a value generated by
+ OpenGL.
- GL_INVALID_OPERATION is generated if
- program is not a program object.
+ GL_INVALID_OPERATION is generated if
+ program is not a program object.
- GL_INVALID_OPERATION is generated if
- program has not been successfully
- linked.
+ GL_INVALID_OPERATION is generated if
+ program has not been successfully
+ linked.
- GL_INVALID_OPERATION is generated if
- glGetUniformLocation is executed between
- the execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGetActiveUniform
- with arguments program and the index of
- an active uniform variable
+ glGetActiveUniform
+ with arguments program and the index of
+ an active uniform variable
- glGetProgram
- with arguments program and
- GL_ACTIVE_UNIFORMS or
- GL_ACTIVE_UNIFORM_MAX_LENGTH
+ glGetProgram
+ with arguments program and
+ GL_ACTIVE_UNIFORMS or
+ GL_ACTIVE_UNIFORM_MAX_LENGTH
- glGetUniform
- with arguments program and the name of a
- uniform variable
- glIsProgram
+ glGetUniform
+ with arguments program and the name of a
+ uniform variable
+ glIsProgram
See Also
- glLinkProgram,
- glUniform
+ glLinkProgram,
+ glUniform
Copyright
diff --git a/Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml b/Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml
new file mode 100644
index 00000000..41a03437
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glGetUniformSubroutine
+ 3G
+
+
+ glGetUniformSubroutine
+ retrieve the value of a subroutine uniform of a given shader stage of the current program
+
+ C Specification
+
+
+ void glGetUniformSubroutineuiv
+ GLenum shadertype
+ GLint location
+ GLuint *values
+
+
+
+
+ Parameters
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for subroutine uniform index.
+ shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ location
+
+
+ Specifies the location of the subroutine uniform.
+
+
+
+
+ values
+
+
+ Specifies the address of a variable to receive the value or values of the subroutine uniform.
+
+
+
+
+
+ Description
+
+ glGetUniformSubroutine retrieves the value of the subroutine uniform at location
+ location for shader stage shadertype of the current
+ program. location must be less than the value of
+ GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader currently in use at
+ shader stage shadertype. The value of the subroutine uniform is returned in
+ values.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if shadertype is not one of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if location is greater than or equal to
+ the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader currently in use at
+ shader stage shadertype.
+
+
+ GL_INVALID_OPERATION is generated if no program is active.
+
+
+ See Also
+
+ glGetProgram,
+ glGetActiveSubroutineUniform,
+ glGetActiveSubroutineUniformName,
+ glGetUniformLocation
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml
index bc28164c..8f11fd3f 100644
--- a/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml
+++ b/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml
@@ -1,231 +1,292 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetVertexAttrib
- 3G
+ glGetVertexAttrib
+ 3G
- glGetVertexAttrib
- glGetVertexAttribdv
- glGetVertexAttribfv
- glGetVertexAttribiv
- Return a generic vertex attribute parameter
+ glGetVertexAttrib
+ glGetVertexAttribdv
+ glGetVertexAttribfv
+ glGetVertexAttribiv
+ glGetVertexAttribIiv
+ glGetVertexAttribIuiv
+ glGetVertexAttribLdv
+ Return a generic vertex attribute parameter
C Specification
-
-
- void glGetVertexAttribdv
- GLuint index
- GLenum pname
- GLdouble *params
-
-
- void glGetVertexAttribfv
- GLuint index
- GLenum pname
- GLfloat *params
-
-
- void glGetVertexAttribiv
- GLuint index
- GLenum pname
- GLint *params
-
-
+
+
+ void glGetVertexAttribdv
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+ void glGetVertexAttribfv
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetVertexAttribiv
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetVertexAttribIiv
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetVertexAttribIuiv
+ GLuint index
+ GLenum pname
+ GLuint *params
+
+
+ void glGetVertexAttribLdv
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
Parameters
-
-
- index
-
- Specifies the generic vertex attribute
- parameter to be queried.
-
-
-
- pname
-
- Specifies the symbolic name of the vertex
- attribute parameter to be queried. Accepted values are
- GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
- GL_VERTEX_ATTRIB_ARRAY_ENABLED,
- GL_VERTEX_ATTRIB_ARRAY_SIZE,
- GL_VERTEX_ATTRIB_ARRAY_STRIDE,
- GL_VERTEX_ATTRIB_ARRAY_TYPE,
- GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or
- GL_CURRENT_VERTEX_ATTRIB.
-
-
-
- params
-
- Returns the requested data.
-
-
-
+
+
+ index
+
+ Specifies the generic vertex attribute
+ parameter to be queried.
+
+
+
+ pname
+
+ Specifies the symbolic name of the vertex
+ attribute parameter to be queried. Accepted values are
+ GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+ GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+ GL_VERTEX_ATTRIB_ARRAY_SIZE,
+ GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+ GL_VERTEX_ATTRIB_ARRAY_TYPE,
+ GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+ GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+ GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or
+ GL_CURRENT_VERTEX_ATTRIB.
+
+
+
+ params
+
+ Returns the requested data.
+
+
+
Description
- glGetVertexAttrib returns in
- params the value of a generic vertex
- attribute parameter. The generic vertex attribute to be queried
- is specified by index, and the parameter
- to be queried is specified by pname.
+ glGetVertexAttrib returns in
+ params the value of a generic vertex
+ attribute parameter. The generic vertex attribute to be queried
+ is specified by index, and the parameter
+ to be queried is specified by pname.
- The accepted parameter names are as follows:
+ The accepted parameter names are as follows:
-
-
- GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
-
+
+
+ GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
+
- params returns a
- single value, the name of the buffer object currently bound to
+ params returns a
+ single value, the name of the buffer object currently bound to
the binding point corresponding to generic vertex attribute array
index. If no buffer object is bound,
0 is returned. The initial value is 0.
-
-
+
+
-
- GL_VERTEX_ATTRIB_ARRAY_ENABLED
-
+
+ GL_VERTEX_ATTRIB_ARRAY_ENABLED
+
- params returns a
- single value that is non-zero (true) if the vertex
- attribute array for index is
- enabled and 0 (false) if it is disabled. The initial
- value is GL_FALSE.
-
-
+ params returns a
+ single value that is non-zero (true) if the vertex
+ attribute array for index is
+ enabled and 0 (false) if it is disabled. The initial
+ value is GL_FALSE.
+
+
-
- GL_VERTEX_ATTRIB_ARRAY_SIZE
-
+
+ GL_VERTEX_ATTRIB_ARRAY_SIZE
+
- params returns a
- single value, the size of the vertex attribute array
- for index. The size is the
- number of values for each element of the vertex
- attribute array, and it will be 1, 2, 3, or 4. The
- initial value is 4.
-
-
+ params returns a
+ single value, the size of the vertex attribute array
+ for index. The size is the
+ number of values for each element of the vertex
+ attribute array, and it will be 1, 2, 3, or 4. The
+ initial value is 4.
+
+
-
- GL_VERTEX_ATTRIB_ARRAY_STRIDE
-
+
+ GL_VERTEX_ATTRIB_ARRAY_STRIDE
+
- params returns a
- single value, the array stride for (number of bytes
- between successive elements in) the vertex attribute
- array for index. A value of 0
- indicates that the array elements are stored
- sequentially in memory. The initial value is 0.
-
-
+ params returns a
+ single value, the array stride for (number of bytes
+ between successive elements in) the vertex attribute
+ array for index. A value of 0
+ indicates that the array elements are stored
+ sequentially in memory. The initial value is 0.
+
+
-
- GL_VERTEX_ATTRIB_ARRAY_TYPE
-
+
+ GL_VERTEX_ATTRIB_ARRAY_TYPE
+
- params returns a
- single value, a symbolic constant indicating the
- array type for the vertex attribute array for
- index. Possible values are
- GL_BYTE,
- GL_UNSIGNED_BYTE,
- GL_SHORT,
- GL_UNSIGNED_SHORT,
- GL_INT,
- GL_UNSIGNED_INT,
- GL_FLOAT, and
- GL_DOUBLE. The initial value is
- GL_FLOAT.
-
-
+ params returns a
+ single value, a symbolic constant indicating the
+ array type for the vertex attribute array for
+ index. Possible values are
+ GL_BYTE,
+ GL_UNSIGNED_BYTE,
+ GL_SHORT,
+ GL_UNSIGNED_SHORT,
+ GL_INT,
+ GL_UNSIGNED_INT,
+ GL_FLOAT, and
+ GL_DOUBLE. The initial value is
+ GL_FLOAT.
+
+
-
- GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
-
+
+ GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
+
- params returns a
- single value that is non-zero (true) if fixed-point
- data types for the vertex attribute array indicated
- by index are normalized when
- they are converted to floating point, and 0 (false)
- otherwise. The initial value is
- GL_FALSE.
-
-
+ params returns a
+ single value that is non-zero (true) if fixed-point
+ data types for the vertex attribute array indicated
+ by index are normalized when
+ they are converted to floating point, and 0 (false)
+ otherwise. The initial value is
+ GL_FALSE.
+
+
-
- GL_CURRENT_VERTEX_ATTRIB
-
+
+ GL_VERTEX_ATTRIB_ARRAY_INTEGER
+
- params returns four
- values that represent the current value for the
- generic vertex attribute specified by index. Generic
- vertex attribute 0 is unique in that it has no
- current state, so an error will be generated if
- index is 0. The initial value
- for all other generic vertex attributes is
- (0,0,0,1).
-
-
-
+ params returns a
+ single value that is non-zero (true) if fixed-point
+ data types for the vertex attribute array indicated
+ by index have integer data types, and 0 (false)
+ otherwise. The initial value is
+ 0 (GL_FALSE).
+
+
- All of the parameters except GL_CURRENT_VERTEX_ATTRIB
- represent client-side state.
+
+ GL_VERTEX_ATTRIB_ARRAY_DIVISOR
+
+
+
+ params returns a
+ single value that is the frequency divisor used for instanced
+ rendering. See glVertexAttribDivisor.
+ The initial value is 0.
+
+
+
+
+ GL_CURRENT_VERTEX_ATTRIB
+
+
+
+ params returns four
+ values that represent the current value for the
+ generic vertex attribute specified by index. Generic
+ vertex attribute 0 is unique in that it has no
+ current state, so an error will be generated if
+ index is 0. The initial value
+ for all other generic vertex attributes is
+ (0,0,0,1).
+
+ glGetVertexAttribdv and glGetVertexAttribfv
+ return the current attribute values as four single-precision floating-point values;
+ glGetVertexAttribiv reads them as floating-point values and
+ converts them to four integer values; glGetVertexAttribIiv and
+ glGetVertexAttribIuiv read and return them as signed or unsigned
+ integer values, respectively; glGetVertexAttribLdv reads and returns
+ them as four double-precision floating-point values.
+
+
+
+
+
+ All of the parameters except GL_CURRENT_VERTEX_ATTRIB
+ represent state stored in the currently bound vertex array object.
Notes
- glGetVertexAttrib is available only
- if the GL version is 2.0 or greater.
-
- If an error is generated, no change is made to the
- contents of params.
+ If an error is generated, no change is made to the
+ contents of params.
Errors
- GL_INVALID_VALUE is generated if
- index is greater than or equal to
- GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_OPERATION is generated if pname
+ is not GL_CURRENT_VERTEX_ATTRIB and there is no
+ currently bound vertex array object.
- GL_INVALID_ENUM is generated if
- pname is not an accepted value.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to
+ GL_MAX_VERTEX_ATTRIBS.
- GL_INVALID_OPERATION is generated if
- index is 0 and
- pname is
- GL_CURRENT_VERTEX_ATTRIB.
+ GL_INVALID_ENUM is generated if
+ pname is not an accepted value.
+
+ GL_INVALID_OPERATION is generated if
+ index is 0 and
+ pname is
+ GL_CURRENT_VERTEX_ATTRIB.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS
- glGetVertexAttribPointerv
- with arguments index and
- GL_VERTEX_ATTRIB_ARRAY_POINTER
+ glGetVertexAttribPointerv
+ with arguments index and
+ GL_VERTEX_ATTRIB_ARRAY_POINTER
See Also
- glBindAttribLocation,
- glBindBuffer,
- glDisableVertexAttribArray,
- glEnableVertexAttribArray,
- glVertexAttrib,
- glVertexAttribPointer
+ glBindAttribLocation,
+ glBindBuffer,
+ glDisableVertexAttribArray,
+ glEnableVertexAttribArray,
+ glVertexAttrib,
+ glVertexAttribDivisor,
+ glVertexAttribPointer
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml
index 0c351893..1ffb1afd 100644
--- a/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml
+++ b/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml
@@ -1,91 +1,90 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glGetVertexAttribPointerv
- 3G
+ glGetVertexAttribPointerv
+ 3G
- glGetVertexAttribPointerv
- return the address of the specified generic vertex attribute pointer
+ glGetVertexAttribPointerv
+ return the address of the specified generic vertex attribute pointer
C Specification
-
-
- void glGetVertexAttribPointerv
- GLuint index
- GLenum pname
- GLvoid **pointer
-
-
+
+
+ void glGetVertexAttribPointerv
+ GLuint index
+ GLenum pname
+ GLvoid **pointer
+
+
Parameters
-
-
- index
-
- Specifies the generic vertex attribute
- parameter to be returned.
-
-
-
- pname
-
- Specifies the symbolic name of the generic
- vertex attribute parameter to be returned. Must be
- GL_VERTEX_ATTRIB_ARRAY_POINTER.
-
-
-
- pointer
-
- Returns the pointer value.
-
-
-
+
+
+ index
+
+ Specifies the generic vertex attribute
+ parameter to be returned.
+
+
+
+ pname
+
+ Specifies the symbolic name of the generic
+ vertex attribute parameter to be returned. Must be
+ GL_VERTEX_ATTRIB_ARRAY_POINTER.
+
+
+
+ pointer
+
+ Returns the pointer value.
+
+
+
Description
- glGetVertexAttribPointerv returns
- pointer information. index is the generic
- vertex attribute to be queried, pname is
- a symbolic constant indicating the pointer to be returned, and
- params is a pointer to a location in
- which to place the returned data.
+ glGetVertexAttribPointerv returns
+ pointer information. index is the generic
+ vertex attribute to be queried, pname is
+ a symbolic constant indicating the pointer to be returned, and
+ params is a pointer to a location in
+ which to place the returned data.
- If a non-zero named buffer object was bound to the GL_ARRAY_BUFFER target
- (see glBindBuffer) when the desired pointer was previously
- specified, the pointer returned is a byte offset into the buffer object's data store.
+ The pointer returned is a byte offset into the data store of the buffer object
+ that was bound to the GL_ARRAY_BUFFER target
+ (see glBindBuffer) when the desired pointer was previously specified.
Notes
- glGetVertexAttribPointerv
- is available only if the GL version is 2.0 or greater.
-
- The pointer returned is client-side state.
-
- The initial value for each pointer is 0.
+ The state returned is retrieved from the currently bound vertex array object.
+ The initial value for each pointer is 0.
Errors
- GL_INVALID_VALUE
- is generated if index
- is greater than or equal to GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_OPERATION is generated if no vertex array object is currently bound.
- GL_INVALID_ENUM
- is generated if pname
- is not an accepted value.
+ GL_INVALID_VALUE
+ is generated if index
+ is greater than or equal to GL_MAX_VERTEX_ATTRIBS.
+
+ GL_INVALID_ENUM
+ is generated if pname
+ is not an accepted value.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS
See Also
- glGetVertexAttrib,
- glVertexAttribPointer
+ glGetVertexAttrib,
+ glVertexAttribPointer
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glHint.xml b/Source/Bind/Specifications/Docs/glHint.xml
index 37049b55..1e509606 100644
--- a/Source/Bind/Specifications/Docs/glHint.xml
+++ b/Source/Bind/Specifications/Docs/glHint.xml
@@ -32,11 +32,7 @@
Specifies a symbolic constant indicating the behavior to be controlled.
- GL_FOG_HINT,
- GL_GENERATE_MIPMAP_HINT,
GL_LINE_SMOOTH_HINT,
- GL_PERSPECTIVE_CORRECTION_HINT,
- GL_POINT_SMOOTH_HINT,
GL_POLYGON_SMOOTH_HINT,
GL_TEXTURE_COMPRESSION_HINT, and
GL_FRAGMENT_SHADER_DERIVATIVE_HINT
@@ -111,20 +107,6 @@
are as follows:
-
- GL_FOG_HINT
-
-
-
-
- Indicates the accuracy of fog calculation.
- If per-pixel fog calculation is not efficiently supported
- by the GL implementation,
- hinting GL_DONT_CARE or GL_FASTEST can result in per-vertex
- calculation of fog effects.
-
-
-
GL_FRAGMENT_SHADER_DERIVATIVE_HINT
@@ -136,16 +118,6 @@
-
- GL_GENERATE_MIPMAP_HINT
-
-
-
-
- Indicates the quality of filtering when generating mipmap images.
-
-
-
GL_LINE_SMOOTH_HINT
@@ -158,32 +130,6 @@
-
- GL_PERSPECTIVE_CORRECTION_HINT
-
-
-
-
- Indicates the quality of color, texture coordinate, and fog coordinate
- interpolation. If perspective-corrected parameter interpolation is not
- efficiently supported by the GL implementation, hinting GL_DONT_CARE
- or GL_FASTEST can result in simple linear interpolation of colors
- and/or texture coordinates.
-
-
-
-
- GL_POINT_SMOOTH_HINT
-
-
-
-
- Indicates the sampling quality of antialiased points.
- If a larger filter function is applied, hinting GL_NICEST can
- result in more pixel fragments being generated during rasterization.
-
-
-
GL_POLYGON_SMOOTH_HINT
@@ -219,29 +165,12 @@
The interpretation of hints depends on the implementation.
Some implementations ignore glHint settings.
-
- GL_TEXTURE_COMPRESSION_HINT is available only if the GL version is 1.3
- or greater.
-
-
- GL_GENERATE_MIPMAP_HINT is available only if the GL version is 1.4
- or greater.
-
-
- GL_FRAGMENT_SHADER_DERIVATIVE_HINT is available only if the GL version is 2.0
- or greater.
-
Errors
GL_INVALID_ENUM is generated if either target or mode is not
an accepted value.
-
- GL_INVALID_OPERATION is generated if glHint
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Copyright
diff --git a/Source/Bind/Specifications/Docs/glIsBuffer.xml b/Source/Bind/Specifications/Docs/glIsBuffer.xml
index 8f489592..29feffd7 100644
--- a/Source/Bind/Specifications/Docs/glIsBuffer.xml
+++ b/Source/Bind/Specifications/Docs/glIsBuffer.xml
@@ -47,18 +47,6 @@
by calling glBindBuffer, is not the name of a buffer object.
- Notes
-
- glIsBuffer is available only if the GL version is 1.5 or greater.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glIsBuffer is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
-
See Also
glBindBuffer,
diff --git a/Source/Bind/Specifications/Docs/glIsEnabled.xml b/Source/Bind/Specifications/Docs/glIsEnabled.xml
index ba88ec4c..c7ddb3b6 100644
--- a/Source/Bind/Specifications/Docs/glIsEnabled.xml
+++ b/Source/Bind/Specifications/Docs/glIsEnabled.xml
@@ -63,22 +63,6 @@
-
-
- GL_ALPHA_TEST
-
-
- glAlphaFunc
-
-
-
-
- GL_AUTO_NORMAL
-
-
- glEvalCoord
-
-
GL_BLEND
@@ -89,18 +73,10 @@
- GL_CLIP_PLANEi
+ GL_CLIP_DISTANCEi
- glClipPlane
-
-
-
-
- GL_COLOR_ARRAY
-
-
- glColorPointer
+ glEnable
@@ -111,46 +87,6 @@
glLogicOp
-
-
- GL_COLOR_MATERIAL
-
-
- glColorMaterial
-
-
-
-
- GL_COLOR_SUM
-
-
- glSecondaryColor
-
-
-
-
- GL_COLOR_TABLE
-
-
- glColorTable
-
-
-
-
- GL_CONVOLUTION_1D
-
-
- glConvolutionFilter1D
-
-
-
-
- GL_CONVOLUTION_2D
-
-
- glConvolutionFilter2D
-
-
GL_CULL_FACE
@@ -159,6 +95,14 @@
glCullFace
+
+
+ GL_DEPTH_CLAMP
+
+
+ glEnable
+
+
GL_DEPTH_TEST
@@ -177,66 +121,10 @@
- GL_EDGE_FLAG_ARRAY
+ GL_FRAMEBUFFER_SRGB
- glEdgeFlagPointer
-
-
-
-
- GL_FOG
-
-
- glFog
-
-
-
-
- GL_FOG_COORD_ARRAY
-
-
- glFogCoordPointer
-
-
-
-
- GL_HISTOGRAM
-
-
- glHistogram
-
-
-
-
- GL_INDEX_ARRAY
-
-
- glIndexPointer
-
-
-
-
- GL_INDEX_LOGIC_OP
-
-
- glLogicOp
-
-
-
-
- GL_LIGHTi
-
-
- glLightModel, glLight
-
-
-
-
- GL_LIGHTING
-
-
- glMaterial, glLightModel, glLight
+ glEnable
@@ -247,150 +135,6 @@
glLineWidth
-
-
- GL_LINE_STIPPLE
-
-
- glLineStipple
-
-
-
-
- GL_MAP1_COLOR_4
-
-
- glMap1
-
-
-
-
- GL_MAP1_INDEX
-
-
- glMap1
-
-
-
-
- GL_MAP1_NORMAL
-
-
- glMap1
-
-
-
-
- GL_MAP1_TEXTURE_COORD_1
-
-
- glMap1
-
-
-
-
- GL_MAP1_TEXTURE_COORD_2
-
-
- glMap1
-
-
-
-
- GL_MAP1_TEXTURE_COORD_3
-
-
- glMap1
-
-
-
-
- GL_MAP1_TEXTURE_COORD_4
-
-
- glMap1
-
-
-
-
- GL_MAP2_COLOR_4
-
-
- glMap2
-
-
-
-
- GL_MAP2_INDEX
-
-
- glMap2
-
-
-
-
- GL_MAP2_NORMAL
-
-
- glMap2
-
-
-
-
- GL_MAP2_TEXTURE_COORD_1
-
-
- glMap2
-
-
-
-
- GL_MAP2_TEXTURE_COORD_2
-
-
- glMap2
-
-
-
-
- GL_MAP2_TEXTURE_COORD_3
-
-
- glMap2
-
-
-
-
- GL_MAP2_TEXTURE_COORD_4
-
-
- glMap2
-
-
-
-
- GL_MAP2_VERTEX_3
-
-
- glMap2
-
-
-
-
- GL_MAP2_VERTEX_4
-
-
- glMap2
-
-
-
-
- GL_MINMAX
-
-
- glMinmax
-
-
GL_MULTISAMPLE
@@ -399,38 +143,6 @@
glSampleCoverage
-
-
- GL_NORMAL_ARRAY
-
-
- glNormalPointer
-
-
-
-
- GL_NORMALIZE
-
-
- glNormal
-
-
-
-
- GL_POINT_SMOOTH
-
-
- glPointSize
-
-
-
-
- GL_POINT_SPRITE
-
-
- glEnable
-
-
GL_POLYGON_SMOOTH
@@ -465,34 +177,18 @@
- GL_POLYGON_STIPPLE
+ GL_PROGRAM_POINT_SIZE
- glPolygonStipple
+ glEnable
- GL_POST_COLOR_MATRIX_COLOR_TABLE
+ GL_PRIMITIVE_RESTART
- glColorTable
-
-
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE
-
-
- glColorTable
-
-
-
-
- GL_RESCALE_NORMAL
-
-
- glNormal
+ glEnable, glPrimitiveRestartIndex
@@ -519,6 +215,14 @@
glSampleCoverage
+
+
+ GL_SAMPLE_MASK
+
+
+ glEnable
+
+
GL_SCISSOR_TEST
@@ -527,22 +231,6 @@
glScissor
-
-
- GL_SECONDARY_COLOR_ARRAY
-
-
- glSecondaryColorPointer
-
-
-
-
- GL_SEPARABLE_2D
-
-
- glSeparableFilter2D
-
-
GL_STENCIL_TEST
@@ -553,95 +241,7 @@
- GL_TEXTURE_1D
-
-
- glTexImage1D
-
-
-
-
- GL_TEXTURE_2D
-
-
- glTexImage2D
-
-
-
-
- GL_TEXTURE_3D
-
-
- glTexImage3D
-
-
-
-
- GL_TEXTURE_COORD_ARRAY
-
-
- glTexCoordPointer
-
-
-
-
- GL_TEXTURE_CUBE_MAP
-
-
- glTexImage2D
-
-
-
-
- GL_TEXTURE_GEN_Q
-
-
- glTexGen
-
-
-
-
- GL_TEXTURE_GEN_R
-
-
- glTexGen
-
-
-
-
- GL_TEXTURE_GEN_S
-
-
- glTexGen
-
-
-
-
- GL_TEXTURE_GEN_T
-
-
- glTexGen
-
-
-
-
- GL_VERTEX_ARRAY
-
-
- glVertexPointer
-
-
-
-
- GL_VERTEX_PROGRAM_POINT_SIZE
-
-
- glEnable
-
-
-
-
- GL_VERTEX_PROGRAM_TWO_SIDE
+ GL_TEXTURE_CUBEMAP_SEAMLESS
glEnable
@@ -656,88 +256,17 @@
Notes
If an error is generated,
- glIsEnabled returns 0.
-
-
- GL_COLOR_LOGIC_OP,
- GL_COLOR_ARRAY,
- GL_EDGE_FLAG_ARRAY,
- GL_INDEX_ARRAY,
- GL_INDEX_LOGIC_OP,
- GL_NORMAL_ARRAY,
- GL_POLYGON_OFFSET_FILL,
- GL_POLYGON_OFFSET_LINE,
- GL_POLYGON_OFFSET_POINT,
- GL_TEXTURE_COORD_ARRAY, and
- GL_VERTEX_ARRAY
- are available only
- if the GL version is 1.1 or greater.
-
-
- GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the GL
- version is 1.2 or greater.
-
-
- GL_MULTISAMPLE,
- GL_SAMPLE_ALPHA_TO_COVERAGE,
- GL_SAMPLE_ALPHA_TO_ONE,
- GL_SAMPLE_COVERAGE,
- GL_TEXTURE_CUBE_MAP
- are available only if the GL version is 1.3 or greater.
-
-
- GL_FOG_COORD_ARRAY and GL_SECONDARY_COLOR_ARRAY
- are available only if the GL version is 1.4 or greater.
-
-
- GL_POINT_SPRITE,
- GL_VERTEX_PROGRAM_POINT_SIZE, and
- GL_VERTEX_PROGRAM_TWO_SIDE
- are available only if the GL version is 2.0 or greater.
-
-
- GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D,
- GL_HISTOGRAM, GL_MINMAX,
- GL_POST_COLOR_MATRIX_COLOR_TABLE,
- GL_POST_CONVOLUTION_COLOR_TABLE, and
- GL_SEPARABLE_2D are available only if ARB_imaging
is
- returned when glGet is called with GL_EXTENSIONS.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, the following
- parameters return the associated value for the active texture unit:
- GL_TEXTURE_1D,
- GL_TEXTURE_2D,
- GL_TEXTURE_3D,
- GL_TEXTURE_CUBE_MAP,
- GL_TEXTURE_GEN_S,
- GL_TEXTURE_GEN_T,
- GL_TEXTURE_GEN_R,
- GL_TEXTURE_GEN_Q,
- GL_TEXTURE_MATRIX, and
- GL_TEXTURE_STACK_DEPTH.
- Likewise, the following parameters return the associated value for the
- active client texture unit:
- GL_TEXTURE_COORD_ARRAY,
- GL_TEXTURE_COORD_ARRAY_SIZE,
- GL_TEXTURE_COORD_ARRAY_STRIDE,
- GL_TEXTURE_COORD_ARRAY_TYPE.
+ glIsEnabled returns GL_FALSE.
Errors
GL_INVALID_ENUM is generated if cap is not an accepted value.
-
- GL_INVALID_OPERATION is generated if glIsEnabled
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
See Also
glEnable,
- glEnableClientState,
glGet
diff --git a/Source/Bind/Specifications/Docs/glIsFramebuffer.xml b/Source/Bind/Specifications/Docs/glIsFramebuffer.xml
new file mode 100644
index 00000000..73e5bed3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsFramebuffer.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsFramebuffer
+ 3G
+
+
+ glIsFramebuffer
+ determine if a name corresponds to a framebuffer object
+
+ C Specification
+
+
+ GLboolean glIsFramebuffer
+ GLuint framebuffer
+
+
+
+ Parameters
+
+
+ framebuffer
+
+
+ Specifies a value that may be the name of a framebuffer object.
+
+
+
+
+
+ Description
+
+ glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebuffer
+ object. If framebuffer is zero, or if framebuffer is not the name of a framebuffer object, or if an error
+ occurs, glIsFramebuffer returns GL_FALSE. If framebuffer is a name returned by
+ glGenFramebuffers, by that has not yet been bound through a call to
+ glBindFramebuffer, then the name is not a framebuffer object and glIsFramebuffer
+ returns GL_FALSE.
+
+
+ See Also
+
+ glGenFramebuffers,
+ glBindFramebuffer,
+ glDeleteFramebuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsProgram.xml b/Source/Bind/Specifications/Docs/glIsProgram.xml
index d2f8f2cd..cc0aca2f 100644
--- a/Source/Bind/Specifications/Docs/glIsProgram.xml
+++ b/Source/Bind/Specifications/Docs/glIsProgram.xml
@@ -1,106 +1,95 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glIsProgram
- 3G
+ glIsProgram
+ 3G
- glIsProgram
- Determines if a name corresponds to a program object
+ glIsProgram
+ Determines if a name corresponds to a program object
C Specification
-
-
- GLboolean glIsProgram
- GLuint program
-
-
+
+
+ GLboolean glIsProgram
+ GLuint program
+
+
Parameters
-
-
- program
-
- Specifies a potential program object.
-
-
-
+
+
+ program
+
+ Specifies a potential program object.
+
+
+
Description
- glIsProgram returns
- GL_TRUE if program
- is the name of a program object previously created with
+ glIsProgram returns
+ GL_TRUE if program
+ is the name of a program object previously created with
glCreateProgram
and not yet deleted with glDeleteProgram.
- If program is zero or a non-zero value that
- is not the name of a program object, or if an error occurs,
+ If program is zero or a non-zero value that
+ is not the name of a program object, or if an error occurs,
glIsProgram returns GL_FALSE.
Notes
- glIsProgram is available only if the
- GL version is 2.0 or greater.
+ No error is generated if program is
+ not a valid program object name.
- No error is generated if program is
- not a valid program object name.
-
- A program object marked for deletion with glDeleteProgram
+ A program object marked for deletion with glDeleteProgram
but still in use as part of current rendering state is still considered
a program object and glIsProgram will return GL_TRUE.
- Errors
- GL_INVALID_OPERATION is generated if
- glIsProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
-
Associated Gets
- glGet
- with the argument GL_CURRENT_PROGRAM
+ glGet
+ with the argument GL_CURRENT_PROGRAM
- glGetActiveAttrib
- with arguments program and the index of
- an active attribute variable
+ glGetActiveAttrib
+ with arguments program and the index of
+ an active attribute variable
- glGetActiveUniform
- with arguments program and the index of
- an active uniform variable
+ glGetActiveUniform
+ with arguments program and the index of
+ an active uniform variable
- glGetAttachedShaders
- with argument program
+ glGetAttachedShaders
+ with argument program
- glGetAttribLocation
- with arguments program and the name of an
- attribute variable
+ glGetAttribLocation
+ with arguments program and the name of an
+ attribute variable
- glGetProgram
- with arguments program and the parameter
- to be queried
+ glGetProgram
+ with arguments program and the parameter
+ to be queried
- glGetProgramInfoLog
- with argument program
+ glGetProgramInfoLog
+ with argument program
- glGetUniform
- with arguments program and the location
- of a uniform variable
+ glGetUniform
+ with arguments program and the location
+ of a uniform variable
- glGetUniformLocation
- with arguments program and the name of a
- uniform variable
+ glGetUniformLocation
+ with arguments program and the name of a
+ uniform variable
See Also
- glAttachShader,
- glBindAttribLocation,
- glCreateProgram,
- glDeleteProgram,
- glDetachShader,
- glLinkProgram,
- glUniform,
- glUseProgram,
- glValidateProgram
+ glAttachShader,
+ glBindAttribLocation,
+ glCreateProgram,
+ glDeleteProgram,
+ glDetachShader,
+ glLinkProgram,
+ glUniform,
+ glUseProgram,
+ glValidateProgram
Copyright
diff --git a/Source/Bind/Specifications/Docs/glIsProgramPipeline.xml b/Source/Bind/Specifications/Docs/glIsProgramPipeline.xml
new file mode 100644
index 00000000..39737da3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsProgramPipeline.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsProgramPipeline
+ 3G
+
+
+ glIsProgramPipeline
+ determine if a name corresponds to a program pipeline object
+
+ C Specification
+
+
+ GLboolean glIsProgramPipeline
+ GLuint pipeline
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies a value that may be the name of a program pipeline object.
+
+
+
+
+
+ Description
+
+ glIsProgramPipeline returns GL_TRUE if
+ pipeline is currently the name of a program pipeline object.
+ If pipeline is zero, or if pipeline is not the
+ name of a program pipeline object, or if an error occurs, glIsProgramPipeline
+ returns GL_FALSE. If pipeline is a name returned by
+ glGenProgramPipelines, but that
+ has not yet been bound through a call to glBindProgramPipeline,
+ then the name is not a program pipeline object and glIsProgramPipeline
+ returns GL_FALSE.
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glBindProgramPipeline,
+ glDeleteProgramPipeline
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsQuery.xml b/Source/Bind/Specifications/Docs/glIsQuery.xml
index 264e4cc1..35ce2210 100644
--- a/Source/Bind/Specifications/Docs/glIsQuery.xml
+++ b/Source/Bind/Specifications/Docs/glIsQuery.xml
@@ -47,18 +47,6 @@
by calling glBeginQuery, is not the name of a query object.
- Notes
-
- glIsQuery is available only if the GL version is 1.5 or greater.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glIsQuery is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
-
See Also
glBeginQuery,
diff --git a/Source/Bind/Specifications/Docs/glIsRenderbuffer.xml b/Source/Bind/Specifications/Docs/glIsRenderbuffer.xml
new file mode 100644
index 00000000..166c9067
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsRenderbuffer.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsRenderbuffer
+ 3G
+
+
+ glIsRenderbuffer
+ determine if a name corresponds to a renderbuffer object
+
+ C Specification
+
+
+ GLboolean glIsRenderbuffer
+ GLuint renderbuffer
+
+
+
+ Parameters
+
+
+ renderbuffer
+
+
+ Specifies a value that may be the name of a renderbuffer object.
+
+
+
+
+
+ Description
+
+ glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer
+ object. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an error
+ occurs, glIsRenderbuffer returns GL_FALSE. If renderbuffer is a name returned by
+ glGenRenderbuffers, by that has not yet been bound through a call to
+ glBindRenderbuffer or glFramebufferRenderbuffer,
+ then the name is not a renderbuffer object and glIsRenderbuffer returns GL_FALSE.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glBindRenderbuffer,
+ glFramebufferRenderbuffer,
+ glDeleteRenderbuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsSampler.xml b/Source/Bind/Specifications/Docs/glIsSampler.xml
new file mode 100644
index 00000000..fe2b0599
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsSampler.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsSampler
+ 3G
+
+
+ glIsSampler
+ determine if a name corresponds to a sampler object
+
+ C Specification
+
+
+ GLboolean glIsSampler
+ GLuint id
+
+
+
+ Parameters
+
+
+ id
+
+
+ Specifies a value that may be the name of a sampler object.
+
+
+
+
+
+ Description
+
+ glIsSampler returns GL_TRUE if id is currently the name of a sampler object.
+ If id is zero, or is a non-zero value that is not currently the
+ name of a sampler object, or if an error occurs, glIsSampler returns GL_FALSE.
+
+
+ A name returned by glGenSamplers, is the name of a sampler object.
+
+
+ Notes
+
+ glIsSampler is available only if the GL version is 3.3 or higher.
+
+
+ See Also
+
+ glGenSamplers,
+ glBindSampler,
+ glDeleteSamplers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsShader.xml b/Source/Bind/Specifications/Docs/glIsShader.xml
index 6ed6ce42..1210149b 100644
--- a/Source/Bind/Specifications/Docs/glIsShader.xml
+++ b/Source/Bind/Specifications/Docs/glIsShader.xml
@@ -1,85 +1,74 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glIsShader
- 3G
+ glIsShader
+ 3G
- glIsShader
- Determines if a name corresponds to a shader object
+ glIsShader
+ Determines if a name corresponds to a shader object
C Specification
-
-
- GLboolean glIsShader
- GLuint shader
-
-
+
+
+ GLboolean glIsShader
+ GLuint shader
+
+
Parameters
-
-
- shader
-
- Specifies a potential shader object.
-
-
-
+
+
+ shader
+
+ Specifies a potential shader object.
+
+
+
Description
- glIsShader returns
- GL_TRUE if shader is
- the name of a shader object previously created with
+ glIsShader returns
+ GL_TRUE if shader is
+ the name of a shader object previously created with
glCreateShader
and not yet deleted with glDeleteShader.
If shader is
- zero or a non-zero value that is not the name of a shader
- object, or if an error occurs, glIsShader returns
- GL_FALSE.
+ zero or a non-zero value that is not the name of a shader
+ object, or if an error occurs, glIsShader returns
+ GL_FALSE.
Notes
- glIsShader is available only if the
- GL version is 2.0 or greater.
+ No error is generated if shader is
+ not a valid shader object name.
- No error is generated if shader is
- not a valid shader object name.
-
- A shader object marked for deletion with glDeleteShader
+ A shader object marked for deletion with glDeleteShader
but still attached to a program object is still considered
a shader object and glIsShader will return GL_TRUE.
- Errors
- GL_INVALID_OPERATION is generated if
- glIsShader is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
-
Associated Gets
- glGetAttachedShaders
- with a valid program object
+ glGetAttachedShaders
+ with a valid program object
- glGetShader
- with arguments shader and a parameter to
- be queried
+ glGetShader
+ with arguments shader and a parameter to
+ be queried
- glGetShaderInfoLog
- with argument object
+ glGetShaderInfoLog
+ with argument object
- glGetShaderSource
- with argument object
+ glGetShaderSource
+ with argument object
See Also
- glAttachShader,
- glCompileShader,
- glCreateShader,
- glDeleteShader,
- glDetachShader,
- glLinkProgram,
- glShaderSource
+ glAttachShader,
+ glCompileShader,
+ glCreateShader,
+ glDeleteShader,
+ glDetachShader,
+ glLinkProgram,
+ glShaderSource
Copyright
diff --git a/Source/Bind/Specifications/Docs/glIsSync.xml b/Source/Bind/Specifications/Docs/glIsSync.xml
new file mode 100644
index 00000000..d9e402f3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsSync.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsSync
+ 3G
+
+
+ glIsSync
+ determine if a name corresponds to a sync object
+
+ C Specification
+
+
+ GLboolean glIsSync
+ GLsync sync
+
+
+
+ Parameters
+
+
+ sync
+
+
+ Specifies a value that may be the name of a sync object.
+
+
+
+
+
+ Description
+
+ glIsSync returns GL_TRUE if sync is currently the name of a sync object.
+ If sync is not the name of a sync object, or if an error occurs, glIsSync returns
+ GL_FALSE. Note that zero is not the name of a sync object.
+
+
+ Notes
+
+ glIsSync is available only if the GL version is 3.2 or greater.
+
+
+ See Also
+
+ glFenceSync,
+ glWaitSync,
+ glClientWaitSync,
+ glDeleteSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsTexture.xml b/Source/Bind/Specifications/Docs/glIsTexture.xml
index d9760fa0..1e31dd5a 100644
--- a/Source/Bind/Specifications/Docs/glIsTexture.xml
+++ b/Source/Bind/Specifications/Docs/glIsTexture.xml
@@ -47,18 +47,6 @@
by calling glBindTexture, is not the name of a texture.
- Notes
-
- glIsTexture is available only if the GL version is 1.1 or greater.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glIsTexture is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
-
See Also
glBindTexture,
diff --git a/Source/Bind/Specifications/Docs/glIsTransformFeedback.xml b/Source/Bind/Specifications/Docs/glIsTransformFeedback.xml
new file mode 100644
index 00000000..5cfe96db
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsTransformFeedback.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsTransformFeedback
+ 3G
+
+
+ glIsTransformFeedback
+ determine if a name corresponds to a transform feedback object
+
+ C Specification
+
+
+ GLboolean glIsTransformFeedback
+ GLuint id
+
+
+
+ Parameters
+
+
+ id
+
+
+ Specifies a value that may be the name of a transform feedback object.
+
+
+
+
+
+ Description
+
+ glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedback
+ object. If id is zero, or if id is not the name of a transform feedback object, or if an error
+ occurs, glIsTransformFeedback returns GL_FALSE. If id is a name returned by
+ glGenTransformFeedbacks, but that has not yet been bound through a call to
+ glBindTransformFeedback, then the name is not a transform feedback object and glIsTransformFeedback
+ returns GL_FALSE.
+
+
+ See Also
+
+ glGenTransformFeedbacks,
+ glBindTransformFeedback,
+ glDeleteTransformFeedbacks
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glIsVertexArray.xml b/Source/Bind/Specifications/Docs/glIsVertexArray.xml
new file mode 100644
index 00000000..f58a63b1
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glIsVertexArray.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glIsVertexArray
+ 3G
+
+
+ glIsVertexArray
+ determine if a name corresponds to a vertex array object
+
+ C Specification
+
+
+ GLboolean glIsVertexArray
+ GLuint array
+
+
+
+ Parameters
+
+
+ array
+
+
+ Specifies a value that may be the name of a vertex array object.
+
+
+
+
+
+ Description
+
+ glIsVertexArray returns GL_TRUE if array is currently the name of a renderbuffer
+ object. If renderbuffer is zero, or if array is not the name of a renderbuffer object, or if an error
+ occurs, glIsVertexArray returns GL_FALSE. If array is a name returned by
+ glGenVertexArrays, by that has not yet been bound through a call to
+ glBindVertexArray, then the name is not a vertex array object and
+ glIsVertexArray returns GL_FALSE.
+
+
+ See Also
+
+ glGenVertexArrays,
+ glBindVertexArray,
+ glDeleteVertexArrays
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glLineWidth.xml b/Source/Bind/Specifications/Docs/glLineWidth.xml
index c303c348..e9dbd2ef 100644
--- a/Source/Bind/Specifications/Docs/glLineWidth.xml
+++ b/Source/Bind/Specifications/Docs/glLineWidth.xml
@@ -120,11 +120,6 @@
GL_INVALID_VALUE is generated if width is less than or equal to 0.
-
- GL_INVALID_OPERATION is generated if glLineWidth
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glLinkProgram.xml b/Source/Bind/Specifications/Docs/glLinkProgram.xml
index bded2968..67330ca2 100644
--- a/Source/Bind/Specifications/Docs/glLinkProgram.xml
+++ b/Source/Bind/Specifications/Docs/glLinkProgram.xml
@@ -1,220 +1,273 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glLinkProgram
- 3G
+ glLinkProgram
+ 3G
- glLinkProgram
- Links a program object
+ glLinkProgram
+ Links a program object
C Specification
-
-
- void glLinkProgram
- GLuint program
-
-
+
+
+ void glLinkProgram
+ GLuint program
+
+
Parameters
-
-
- program
-
- Specifies the handle of the program object to be linked.
+
+
+ program
+
+ Specifies the handle of the program object to be linked.
-
-
-
+
+
+
Description
- glLinkProgram links the program
- object specified by program. If any
- shader objects of type GL_VERTEX_SHADER are
- attached to program, they will be used to
- create an executable that will run on the programmable vertex
- processor. If any shader objects of type
- GL_FRAGMENT_SHADER are attached to
- program, they will be used to create an
- executable that will run on the programmable fragment
- processor.
+ glLinkProgram links the program
+ object specified by program. If any
+ shader objects of type GL_VERTEX_SHADER are
+ attached to program, they will be used to
+ create an executable that will run on the programmable vertex
+ processor. If any shader objects of type GL_GEOMETRY_SHADER
+ are attached to program, they will be used to create
+ an executable that will run on the programmable geometry processor.
+ If any shader objects of type
+ GL_FRAGMENT_SHADER are attached to
+ program, they will be used to create an
+ executable that will run on the programmable fragment
+ processor.
- The status of the link operation will be stored as part of
- the program object's state. This value will be set to
- GL_TRUE if the program object was linked
- without errors and is ready for use, and
- GL_FALSE otherwise. It can be queried by
- calling
- glGetProgram
- with arguments program and
- GL_LINK_STATUS.
+ The status of the link operation will be stored as part of
+ the program object's state. This value will be set to
+ GL_TRUE if the program object was linked
+ without errors and is ready for use, and
+ GL_FALSE otherwise. It can be queried by
+ calling
+ glGetProgram
+ with arguments program and
+ GL_LINK_STATUS.
- As a result of a successful link operation, all active
- user-defined uniform variables belonging to
- program will be initialized to 0, and
- each of the program object's active uniform variables will be
- assigned a location that can be queried by calling
- glGetUniformLocation.
- Also, any active user-defined attribute variables that have not
- been bound to a generic vertex attribute index will be bound to
- one at this time.
+ As a result of a successful link operation, all active
+ user-defined uniform variables belonging to
+ program will be initialized to 0, and
+ each of the program object's active uniform variables will be
+ assigned a location that can be queried by calling
+ glGetUniformLocation.
+ Also, any active user-defined attribute variables that have not
+ been bound to a generic vertex attribute index will be bound to
+ one at this time.
- Linking of a program object can fail for a number of
- reasons as specified in the OpenGL Shading Language
- Specification. The following lists some of the
- conditions that will cause a link error.
+ Linking of a program object can fail for a number of
+ reasons as specified in the OpenGL Shading Language
+ Specification. The following lists some of the
+ conditions that will cause a link error.
-
-
- The number of active attribute variables supported
- by the implementation has been exceeded.
-
-
- The storage limit for uniform variables has been
- exceeded.
-
-
- The number of active uniform variables supported
- by the implementation has been exceeded.
-
-
- The main function is missing
- for the vertex shader or the fragment shader.
-
-
- A varying variable actually used in the fragment
- shader is not declared in the same way (or is not
- declared at all) in the vertex shader.
-
-
- A reference to a function or variable name is
- unresolved.
-
-
- A shared global is declared with two different
- types or two different initial values.
-
-
- One or more of the attached shader objects has not
- been successfully compiled.
-
-
- Binding a generic attribute matrix caused some
- rows of the matrix to fall outside the allowed maximum
- of GL_MAX_VERTEX_ATTRIBS.
-
-
- Not enough contiguous vertex attribute slots could
- be found to bind attribute matrices.
-
-
+
+
+ The number of active attribute variables supported
+ by the implementation has been exceeded.
+
+
+ The storage limit for uniform variables has been
+ exceeded.
+
+
+ The number of active uniform variables supported
+ by the implementation has been exceeded.
+
+
+ The main function is missing
+ for the vertex, geometry or fragment shader.
+
+
+ A varying variable actually used in the fragment
+ shader is not declared in the same way (or is not
+ declared at all) in the vertex shader, or geometry shader shader if present.
+
+
+ A reference to a function or variable name is
+ unresolved.
+
+
+ A shared global is declared with two different
+ types or two different initial values.
+
+
+ One or more of the attached shader objects has not
+ been successfully compiled.
+
+
+ Binding a generic attribute matrix caused some
+ rows of the matrix to fall outside the allowed maximum
+ of GL_MAX_VERTEX_ATTRIBS.
+
+
+ Not enough contiguous vertex attribute slots could
+ be found to bind attribute matrices.
+
+
+ The program object contains objects to form a fragment shader but
+ does not contain objects to form a vertex shader.
+
+
+ The program object contains objects to form a geometry shader
+ but does not contain objects to form a vertex shader.
+
+
+ The program object contains objects to form a geometry shader
+ and the input primitive type, output primitive type, or maximum output
+ vertex count is not specified in any compiled geometry shader
+ object.
+
+
+ The program object contains objects to form a geometry shader
+ and the input primitive type, output primitive type, or maximum output
+ vertex count is specified differently in multiple geometry shader
+ objects.
+
+
+ The number of active outputs in the fragment shader is greater
+ than the value of GL_MAX_DRAW_BUFFERS.
+
+
+ The program has an active output assigned to a location greater
+ than or equal to the value of GL_MAX_DUAL_SOURCE_DRAW_BUFFERS
+ and has an active output assigned an index greater than or equal to one.
+
+
+ More than one varying out variable is bound to the same number and index.
+
+
+ The explicit binding assigments do not leave enough space for the linker
+ to automatically assign a location for a varying out array, which requires
+ multiple contiguous locations.
+
+
+ The count specified by glTransformFeedbackVaryings
+ is non-zero, but the program object has no vertex or geometry shader.
+
+
+ Any variable name specified to glTransformFeedbackVaryings
+ in the varyings array is not declared as an output in the vertex shader (or the geometry shader, if active).
+
+
+ Any two entries in the varyings array given
+ glTransformFeedbackVaryings
+ specify the same varying variable.
+
+
+ The total number of components to capture in any transform feedback varying variable
+ is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
+ and the buffer mode is SEPARATE_ATTRIBS.
+
+
- When a program object has been successfully linked, the
- program object can be made part of current state by calling
- glUseProgram.
- Whether or not the link operation was successful, the program
- object's information log will be overwritten. The information
- log can be retrieved by calling
- glGetProgramInfoLog.
+ When a program object has been successfully linked, the
+ program object can be made part of current state by calling
+ glUseProgram.
+ Whether or not the link operation was successful, the program
+ object's information log will be overwritten. The information
+ log can be retrieved by calling
+ glGetProgramInfoLog.
- glLinkProgram will also install the
- generated executables as part of the current rendering state if
- the link operation was successful and the specified program
- object is already currently in use as a result of a previous
- call to
- glUseProgram.
- If the program object currently in use is relinked
- unsuccessfully, its link status will be set to
- GL_FALSE , but the executables and
- associated state will remain part of the current state until a
- subsequent call to glUseProgram removes it
- from use. After it is removed from use, it cannot be made part
- of current state until it has been successfully relinked.
+ glLinkProgram will also install the
+ generated executables as part of the current rendering state if
+ the link operation was successful and the specified program
+ object is already currently in use as a result of a previous
+ call to
+ glUseProgram.
+ If the program object currently in use is relinked
+ unsuccessfully, its link status will be set to
+ GL_FALSE , but the executables and
+ associated state will remain part of the current state until a
+ subsequent call to glUseProgram removes it
+ from use. After it is removed from use, it cannot be made part
+ of current state until it has been successfully relinked.
- If program contains shader objects
- of type GL_VERTEX_SHADER but does not
- contain shader objects of type
- GL_FRAGMENT_SHADER, the vertex shader will
- be linked against the implicit interface for fixed functionality
- fragment processing. Similarly, if
- program contains shader objects of type
- GL_FRAGMENT_SHADER but it does not contain
- shader objects of type GL_VERTEX_SHADER,
- the fragment shader will be linked against the implicit
- interface for fixed functionality vertex processing.
+ If program contains shader objects
+ of type GL_VERTEX_SHADER, and optionally of type GL_GEOMETRY_SHADER,
+ but does not contain shader objects of type
+ GL_FRAGMENT_SHADER, the vertex shader executable will
+ be installed on the programmable vertex processor, the geometry shader executable, if present,
+ will be installed on the programmable geometry processor, but no executable will
+ be installed on the fragment processor. The results of
+ rasterizing primitives with such a program will be undefined.
- The program object's information log is updated and the
- program is generated at the time of the link operation. After
- the link operation, applications are free to modify attached
- shader objects, compile attached shader objects, detach shader
- objects, delete shader objects, and attach additional shader
- objects. None of these operations affects the information log or
- the program that is part of the program object.
+ The program object's information log is updated and the
+ program is generated at the time of the link operation. After
+ the link operation, applications are free to modify attached
+ shader objects, compile attached shader objects, detach shader
+ objects, delete shader objects, and attach additional shader
+ objects. None of these operations affects the information log or
+ the program that is part of the program object.
Notes
- glLinkProgram
- is available only if the GL version is 2.0 or greater.
- If the link operation is unsuccessful, any information about a previous link operation on program
- is lost (i.e., a failed link does not restore the old state of program
- ). Certain information can still be retrieved from program
- even after an unsuccessful link operation. See for instance glGetActiveAttrib
- and glGetActiveUniform.
+ If the link operation is unsuccessful, any information about a previous link operation on program
+ is lost (i.e., a failed link does not restore the old state of program
+ ). Certain information can still be retrieved from program
+ even after an unsuccessful link operation. See for instance glGetActiveAttrib
+ and glGetActiveUniform.
Errors
- GL_INVALID_VALUE
- is generated if program
- is not a value generated by OpenGL.
- GL_INVALID_OPERATION
- is generated if program
- is not a program object.
- GL_INVALID_OPERATION
- is generated if glLinkProgram
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_VALUE
+ is generated if program
+ is not a value generated by OpenGL.
+ GL_INVALID_OPERATION
+ is generated if program
+ is not a program object.
+ GL_INVALID_OPERATION
+ is generated if program is the currently active program
+ object and transform feedback mode is active.
Associated Gets
- glGet
- with the argument GL_CURRENT_PROGRAM
- glGetActiveAttrib
- with argument program
- and the index of an active attribute variable
- glGetActiveUniform
- with argument program
- and the index of an active uniform variable
- glGetAttachedShaders
- with argument program
- glGetAttribLocation
- with argument program
- and an attribute variable name
- glGetProgram
- with arguments program
- and GL_LINK_STATUS
- glGetProgramInfoLog
- with argument program
- glGetUniform
- with argument program
- and a uniform variable location
- glGetUniformLocation
- with argument program
- and a uniform variable name
- glIsProgram
+ glGet
+ with the argument GL_CURRENT_PROGRAM
+ glGetActiveAttrib
+ with argument program
+ and the index of an active attribute variable
+ glGetActiveUniform
+ with argument program
+ and the index of an active uniform variable
+ glGetAttachedShaders
+ with argument program
+ glGetAttribLocation
+ with argument program
+ and an attribute variable name
+ glGetProgram
+ with arguments program
+ and GL_LINK_STATUS
+ glGetProgramInfoLog
+ with argument program
+ glGetUniform
+ with argument program
+ and a uniform variable location
+ glGetUniformLocation
+ with argument program
+ and a uniform variable name
+ glIsProgram
See Also
- glAttachShader,
- glBindAttribLocation,
- glCompileShader,
- glCreateProgram,
- glDeleteProgram,
- glDetachShader,
- glUniform,
- glUseProgram,
- glValidateProgram
+ glAttachShader,
+ glBindAttribLocation,
+ glCompileShader,
+ glCreateProgram,
+ glDeleteProgram,
+ glDetachShader,
+ glUniform,
+ glUseProgram,
+ glValidateProgram
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glLogicOp.xml b/Source/Bind/Specifications/Docs/glLogicOp.xml
index 389cc5c3..10527549 100644
--- a/Source/Bind/Specifications/Docs/glLogicOp.xml
+++ b/Source/Bind/Specifications/Docs/glLogicOp.xml
@@ -14,7 +14,7 @@
glLogicOp
- specify a logical pixel operation for color index rendering
+ specify a logical pixel operation for rendering
C Specification
@@ -57,14 +57,13 @@
glLogicOp specifies a logical operation that,
when enabled,
- is applied between the incoming color index or RGBA color
- and the color index or RGBA color at the corresponding location in the
+ is applied between the incoming RGBA color
+ and the RGBA color at the corresponding location in the
frame buffer.
To enable or disable the logical operation, call
glEnable and glDisable
- using the symbolic constant GL_COLOR_LOGIC_OP for RGBA mode or
- GL_INDEX_LOGIC_OP for color index mode. The initial value is
- disabled for both operations.
+ using the symbolic constant GL_COLOR_LOGIC_OP. The initial value is
+ disabled.
@@ -217,47 +216,42 @@
opcode is a symbolic constant chosen from the list above.
In the explanation of the logical operations,
- s represents the incoming color index and
- d represents the index in the frame buffer.
+ s represents the incoming color and
+ d represents the color in the frame buffer.
Standard C-language operators are used.
As these bitwise operators suggest,
the logical operation is applied independently to each bit pair of the
- source and destination indices or colors.
+ source and destination colors.
Notes
- Color index logical operations are always supported. RGBA logical
- operations are supported only if the GL version is 1.1 or greater.
-
-
- When more than one RGBA color or index buffer is enabled for drawing,
+ When more than one RGBA color buffer is enabled for drawing,
logical operations are performed separately for each enabled buffer,
using for the destination value the contents of that buffer
(see glDrawBuffer).
+
+ Logic operations have no effect on floating point draw buffers. However, if
+ GL_COLOR_LOGIC_OP is enabled, blending is still disabled
+ in this case.
+
Errors
GL_INVALID_ENUM is generated if opcode is not an accepted value.
-
- GL_INVALID_OPERATION is generated if glLogicOp
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
glGet with argument GL_LOGIC_OP_MODE.
- glIsEnabled with argument GL_COLOR_LOGIC_OP or GL_INDEX_LOGIC_OP.
+ glIsEnabled with argument GL_COLOR_LOGIC_OP.
See Also
- glAlphaFunc,
glBlendFunc,
glDrawBuffer,
glEnable,
diff --git a/Source/Bind/Specifications/Docs/glMapBuffer.xml b/Source/Bind/Specifications/Docs/glMapBuffer.xml
index 15fcb09b..f7951f6e 100644
--- a/Source/Bind/Specifications/Docs/glMapBuffer.xml
+++ b/Source/Bind/Specifications/Docs/glMapBuffer.xml
@@ -34,9 +34,14 @@
Specifies the target buffer object being mapped.
The symbolic constant must be
GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER or
+ GL_UNIFORM_BUFFER.
@@ -70,9 +75,14 @@
Specifies the target buffer object being unmapped.
The symbolic constant must be
GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or
- GL_PIXEL_UNPACK_BUFFER.
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER or
+ GL_UNIFORM_BUFFER.
@@ -114,13 +124,6 @@
If an error is generated, glMapBuffer returns NULL, and
glUnmapBuffer returns GL_FALSE.
-
- glMapBuffer and glUnmapBuffer are available only if the GL version is 1.5 or greater.
-
-
- GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are
- available only if the GL version is 2.1 or greater.
-
Parameter values passed to GL commands may not be sourced from the returned pointer. No error will be generated,
but results will be undefined and will likely vary across GL implementations.
@@ -128,9 +131,16 @@
Errors
- GL_INVALID_ENUM is generated if target is not
- GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
- GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
+ GL_INVALID_ENUM is generated if target is not
+ GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER,
+ GL_COPY_WRITE_BUFFER,
+ GL_ELEMENT_ARRAY_BUFFER,
+ GL_PIXEL_PACK_BUFFER,
+ GL_PIXEL_UNPACK_BUFFER,
+ GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER or
+ GL_UNIFORM_BUFFER.
GL_INVALID_ENUM is generated if access is not
@@ -152,23 +162,20 @@
GL_INVALID_OPERATION is generated if glUnmapBuffer is executed for
a buffer object whose data store is not currently mapped.
-
- GL_INVALID_OPERATION is generated if glMapBuffer or glUnmapBuffer is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetBufferPointerv with argument GL_BUFFER_MAP_POINTER
- glGetBufferParameteriv with argument GL_BUFFER_MAPPED, GL_BUFFER_ACCESS, or GL_BUFFER_USAGE
+ glGetBufferParameter with argument GL_BUFFER_MAPPED, GL_BUFFER_ACCESS, or GL_BUFFER_USAGE
See Also
glBindBuffer,
+ glBindBufferBase,
+ glBindBufferRange,
glBufferData,
glBufferSubData,
glDeleteBuffers
diff --git a/Source/Bind/Specifications/Docs/glMapBufferRange.xml b/Source/Bind/Specifications/Docs/glMapBufferRange.xml
new file mode 100644
index 00000000..64ac1e3d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glMapBufferRange.xml
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glMapBufferRange
+ 3G
+
+
+ glMapBufferRange
+ map a section of a buffer object's data store
+
+ C Specification
+
+
+ void *glMapBufferRange
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+ GLbitfield access
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies a binding to which the target buffer is bound.
+
+
+
+
+ offset
+
+
+ Specifies a the starting offset within the buffer of the range to be mapped.
+
+
+
+
+ length
+
+
+ Specifies a length of the range to be mapped.
+
+
+
+
+ access
+
+
+ Specifies a combination of access flags indicating the desired access to the range.
+
+
+
+
+
+ Description
+
+ glMapBufferRange maps all or part of the data store of a buffer object into the client's address
+ space. target specifies the target to which the buffer is bound and must be one of GL_ARRAY_BUFFER,
+ GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER,
+ GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, GL_TEXTURE_BUFFER,
+ GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_BUFFER. offset and
+ length indicate the range of data in the buffer object htat is to be mapped, in terms of basic machine units.
+ access is a bitfield containing flags which describe the requested mapping. These flags are described below.
+
+
+ If no error occurs, a pointer to the beginning of the mapped range is returned once all pending operations on that buffer have
+ completed, and may be used to modify and/or query the corresponding range of the buffer, according to the following flag bits set
+ in access:
+
+
+
+ GL_MAP_READ_BIT indicates that the returned pointer may be used to read
+ buffer object data. No GL error is generated if the pointer is used to query
+ a mapping which excludes this flag, but the result is undefined and system
+ errors (possibly including program termination) may occur.
+
+
+
+
+ GL_MAP_WRITE_BIT indicates that the returned pointer may be used to modify
+ buffer object data. No GL error is generated if the pointer is used to modify
+ a mapping which excludes this flag, but the result is undefined and system
+ errors (possibly including program termination) may occur.
+
+
+
+
+
+ Furthermore, the following optional flag bits in access may be used to modify the mapping:
+
+
+
+ GL_MAP_INVALIDATE_RANGE_BIT indicates that the previous contents of the
+ specified range may be discarded. Data within this range are undefined with
+ the exception of subsequently written data. No GL error is generated if sub-
+ sequent GL operations access unwritten data, but the result is undefined and
+ system errors (possibly including program termination) may occur. This flag
+ may not be used in combination with GL_MAP_READ_BIT.
+
+
+
+
+ GL_MAP_INVALIDATE_BUFFER_BIT indicates that the previous contents of the
+ entire buffer may be discarded. Data within the entire buffer are undefined
+ with the exception of subsequently written data. No GL error is generated if
+ subsequent GL operations access unwritten data, but the result is undefined
+ and system errors (possibly including program termination) may occur. This
+ flag may not be used in combination with GL_MAP_READ_BIT.
+
+
+
+
+ GL_MAP_FLUSH_EXPLICIT_BIT indicates that one or more discrete subranges
+ of the mapping may be modified. When this flag is set, modifications to
+ each subrange must be explicitly flushed by calling glFlushMappedBufferRange.
+ No GL error is set if a subrange of the mapping is modified and
+ not flushed, but data within the corresponding subrange of the buffer are undefined.
+ This flag may only be used in conjunction with GL_MAP_WRITE_BIT.
+ When this option is selected, flushing is strictly limited to regions that are
+ explicitly indicated with calls to glFlushMappedBufferRange
+ prior to unmap; if this option is not selected glUnmapBuffer
+ will automatically flush the entire mapped range when called.
+
+
+
+
+ GL_MAP_UNSYNCHRONIZED_BIT indicates that the GL should not attempt to
+ synchronize pending operations on the buffer prior to returning from glMapBufferRange.
+ No GL error is generated if pending operations which source or modify the buffer overlap the mapped region,
+ but the result of such previous and any subsequent operations is undefined.
+
+
+
+
+
+ If an error occurs, glMapBufferRange returns a NULL
pointer.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if either of offset or length is negative,
+ or if offset + length is greater than the value of GL_BUFFER_SIZE.
+
+
+ GL_INVALID_VALUE is generated if access has any bits set other than those defined above.
+
+
+ GL_INVALID_OPERATION is generated for any of the following conditions:
+
+
+
+ The buffer is already in a mapped state.
+
+
+
+
+ Neither GL_MAP_READ_BIT or GL_MAP_WRITE_BIT is set.
+
+
+
+
+ GL_MAP_READ_BIT is set and any of GL_MAP_INVALIDATE_RANGE_BIT,
+ GL_MAP_INVALIDATE_BUFFER_BIT, or GL_MAP_UNSYNCHRONIZED_BIT is set.
+
+
+
+
+ GL_MAP_FLUSH_EXPLICIT_BIT is set and GL_MAP_WRITE_BIT is not set.
+
+
+
+
+
+ GL_OUT_OF_MEMORY is generated if glMapBufferRange fails because memory for the
+ mapping could not be obtained.
+
+
+ See Also
+
+ glMapBuffer,
+ glFlushMappedBufferRange,
+ glBindBuffer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml b/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml
index 2077ece4..fd791caf 100644
--- a/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml
+++ b/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml
@@ -21,8 +21,8 @@
void glMultiDrawArrays
GLenum mode
- GLint * first
- GLsizei * count
+ const GLint * first
+ const GLsizei * count
GLsizei primcount
@@ -40,12 +40,14 @@
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
- GL_QUAD_STRIP,
- GL_QUADS,
- and GL_POLYGON are accepted.
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
@@ -94,29 +96,21 @@
enabled array to construct a sequence of geometric primitives,
beginning with element first. mode specifies what kind of
primitives are constructed, and how the array elements
- construct those primitives. If GL_VERTEX_ARRAY is not enabled, no
- geometric primitives are generated.
+ construct those primitives.
Vertex attributes that are modified by glMultiDrawArrays have an
- unspecified value after glMultiDrawArrays returns. For example, if
- GL_COLOR_ARRAY is enabled, the value of the current color is
- undefined after glMultiDrawArrays executes. Attributes that aren't
+ unspecified value after glMultiDrawArrays returns. Attributes that aren't
modified remain well defined.
Notes
- glMultiDrawArrays is available only if the GL version is 1.4 or greater.
-
-
- glMultiDrawArrays is included in display lists. If glMultiDrawArrays is entered into a
- display list,
- the necessary array data (determined by the array pointers and
- enables) is also
- entered into the display list. Because the array pointers and
- enables are client-side state, their values affect display lists
- when the lists are created, not when the lists are executed.
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
Errors
@@ -130,26 +124,11 @@
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
enabled array and the buffer object's data store is currently mapped.
-
- GL_INVALID_OPERATION is generated if glMultiDrawArrays is executed between
- the execution of glBegin and the corresponding glEnd.
-
See Also
- glArrayElement,
- glColorPointer,
glDrawElements,
- glDrawRangeElements,
- glEdgeFlagPointer,
- glFogCoordPointer,
- glGetPointerv,
- glIndexPointer,
- glInterleavedArrays,
- glNormalPointer,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexPointer
+ glDrawRangeElements
Copyright
diff --git a/Source/Bind/Specifications/Docs/glMultiDrawElements.xml b/Source/Bind/Specifications/Docs/glMultiDrawElements.xml
index ca4ba678..37726331 100644
--- a/Source/Bind/Specifications/Docs/glMultiDrawElements.xml
+++ b/Source/Bind/Specifications/Docs/glMultiDrawElements.xml
@@ -41,12 +41,14 @@
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
- GL_QUAD_STRIP,
- GL_QUADS,
- and GL_POLYGON are accepted.
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
@@ -100,24 +102,17 @@
Vertex attributes that are modified by glMultiDrawElements have an
- unspecified value after glMultiDrawElements returns. For example, if
- GL_COLOR_ARRAY is enabled, the value of the current color is
- undefined after glMultiDrawElements executes. Attributes that aren't
+ unspecified value after glMultiDrawElements returns. Attributes that aren't
modified maintain their previous values.
Notes
- glMultiDrawElements is available only if the GL version is 1.4 or greater.
-
-
- glMultiDrawElements is included in display lists. If glMultiDrawElements is entered into a
- display list,
- the necessary array data (determined by the array pointers and
- enables) is also
- entered into the display list. Because the array pointers and
- enables are client-side state, their values affect display lists
- when the lists are created, not when the lists are executed.
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
Errors
@@ -131,26 +126,11 @@
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
enabled array or the element array and the buffer object's data store is currently mapped.
-
- GL_INVALID_OPERATION is generated if glMultiDrawElements is executed between
- the execution of glBegin and the corresponding glEnd.
-
See Also
- glArrayElement,
- glColorPointer,
glDrawArrays,
- glDrawRangeElements,
- glEdgeFlagPointer,
- glFogCoordPointer,
- glGetPointerv,
- glIndexPointer,
- glInterleavedArrays,
- glNormalPointer,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexPointer
+ glDrawRangeElements
Copyright
diff --git a/Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml
new file mode 100644
index 00000000..5de994c2
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glMultiDrawElementsBaseVertex
+ 3G
+
+
+ glMultiDrawElementsBaseVertex
+ render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
+
+ C Specification
+
+
+ void glMultiDrawElementsBaseVertex
+ GLenum mode
+ const GLsizei *count
+ GLenum type
+ const GLvoid **indices
+ GLsizei primcount
+ GLint *basevertex
+
+
+
+
+ Parameters
+
+
+ mode
+
+
+ Specifies what kind of primitives to render.
+ Symbolic constants
+ GL_POINTS,
+ GL_LINE_STRIP,
+ GL_LINE_LOOP,
+ GL_LINES,
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP,
+ GL_TRIANGLE_FAN,
+ GL_TRIANGLES,
+ GL_TRIANGLE_STRIP_ADJACENCY,
+ GL_TRIANGLES_ADJACENCY and GL_PATCHES
+ are accepted.
+
+
+
+
+ count
+
+
+ Points to an array of the elements counts.
+
+
+
+
+ type
+
+
+ Specifies the type of the values in indices. Must be one of
+ GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or
+ GL_UNSIGNED_INT.
+
+
+
+
+ indices
+
+
+ Specifies a pointer to the location where the indices are stored.
+
+
+
+
+ primcount
+
+
+ Specifies the size of the count array.
+
+
+
+
+ basevertex
+
+
+ Specifies a pointer to the location where the base vertices are stored.
+
+
+
+
+
+ Description
+
+ glMultiDrawElementsBaseVertex behaves identically to glDrawElementsBaseVertex,
+ except that primcount separate lists of elements are specifried instead.
+
+
+ It has the same effect as:
+ for (int i = 0; i < primcount; i++)
+ if (count[i] > 0)
+ glDrawElementsBaseVertex(mode,
+ count[i],
+ type,
+ indices[i],
+ basevertex[i]);
+
+
+ Notes
+
+ glMultiDrawElementsBaseVertex is available only if the GL version is 3.1 or greater.
+
+
+ GL_LINE_STRIP_ADJACENCY,
+ GL_LINES_ADJACENCY,
+ GL_TRIANGLE_STRIP_ADJACENCY and
+ GL_TRIANGLES_ADJACENCY
+ are available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if mode is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if primcount is negative.
+
+
+ GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an
+ enabled array or the element array and the buffer object's data store is currently mapped.
+
+
+ See Also
+
+ glMultiDrawElements,
+ glDrawElementsBaseVertex,
+ glDrawArrays,
+ glVertexAttribPointer
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glPatchParameter.xml b/Source/Bind/Specifications/Docs/glPatchParameter.xml
new file mode 100644
index 00000000..740f0448
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glPatchParameter.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glPatchParameter
+ 3G
+
+
+ glPatchParameter
+ specifies the parameters for patch primitives
+
+ C Specification
+
+
+ void glPatchParameteri
+ GLenum pname
+ GLint value
+
+
+
+
+ void glPatchParameterfv
+ GLenum pname
+ const GLfloat *values
+
+
+
+
+ Parameters
+
+
+ pname
+
+
+ Specifies the name of the parameter to set. The symbolc constants GL_PATCH_VERTICES,
+ GL_PATCH_DEFAULT_OUTER_LEVEL, and GL_PATCH_DEFAULT_INNER_LEVEL are accepted.
+
+
+
+
+ value
+
+
+ Specifies the new value for the parameter given by pname.
+
+
+
+
+ values
+
+
+ Specifies the address of an array containing the new values for the parameter given by pname.
+
+
+
+
+
+ Description
+
+ glPatchParameter specifies the parameters that will be used for patch primitives. pname
+ specifies the parameter to modify and must be either GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL
+ or GL_PATCH_DEFAULT_INNER_LEVEL. For glPatchParameteri, value specifies
+ the new value for the parameter specified by pname. For glPatchParameterfv, values
+ specifies the address of an array containing the new values for the parameter specified by pname.
+
+
+ When pname is GL_PATCH_VERTICES, value specifies the number
+ of vertices that will be used to make up a single patch primitive. Patch primitives are consumed by the tessellation control
+ shader (if present) and subsequently used for tessellation. When primitives are specified using
+ glDrawArrays or a similar function, each patch will be made
+ from parameter control points, each represented by a vertex taken from the enabeld vertex arrays.
+ parameter must be greater than zero, and less than or equal to the value of GL_MAX_PATCH_VERTICES.
+
+
+ When pname is GL_PATCH_DEFAULT_OUTER_LEVEL or GL_PATCH_DEFAULT_INNER_LEVEL,
+ values contains the address of an array contiaining the default outer or inner tessellation levels, respectively,
+ to be used when no tessellation control shader is present.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if pname is not an accepted value.
+
+
+ GL_INVALID_VALUE is generated if pname is GL_PATCH_VERTICES
+ and value is less than or equal to zero, or greater than the value of GL_MAX_PATCH_VERTICES.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawArraysInstanced,
+ glDrawElements,
+ glDrawRangeElements,
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml b/Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml
new file mode 100644
index 00000000..f1756280
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glPauseTransformFeedback
+ 3G
+
+
+ glPauseTransformFeedback
+ pause transform feedback operations
+
+ C Specification
+
+
+ void glPauseTransformFeedback
+ void
+
+
+
+ Description
+
+ glPauseTransformFeedback pauses transform feedback operations on the currently active transform feedback
+ object. When transform feedback operations are paused, transform feedback is still considered active and changing most
+ transform feedback state related to the object results in an error. However, a new transform feedback object may be bound
+ while transform feedback is paused.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is paused.
+
+
+ See Also
+
+ glGenTransformFeedbacks,
+ glBindTransformFeedback,
+ glBeginTransformFeedback,
+ glResumeTransformFeedback,
+ glEndTransformFeedback,
+ glDeleteTransformFeedbacks
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glPixelStore.xml b/Source/Bind/Specifications/Docs/glPixelStore.xml
index 3acce3b5..de38ab0b 100644
--- a/Source/Bind/Specifications/Docs/glPixelStore.xml
+++ b/Source/Bind/Specifications/Docs/glPixelStore.xml
@@ -74,17 +74,10 @@
Description
glPixelStore sets pixel storage modes that affect the operation of subsequent
- glDrawPixels and glReadPixels as well as the unpacking of
- polygon stipple patterns (see glPolygonStipple), bitmaps (see
- glBitmap), texture patterns (see glTexImage1D,
+ glReadPixels as well as the unpacking of
+ texture patterns (see glTexImage1D,
glTexImage2D, glTexImage3D, glTexSubImage1D,
glTexSubImage2D, glTexSubImage3D).
- Additionally, if the ARB_imaging
extension is supported, pixel
- storage modes affect convolution filters
- (see glConvolutionFilter1D, glConvolutionFilter2D, and
- glSeparableFilter2D, color table (see glColorTable, and
- glColorSubTable, and unpacking histogram (See glHistogram),
- and minmax (See glMinmax) data.
pname is a symbolic constant indicating the parameter to be set, and
@@ -100,56 +93,55 @@
If true,
byte ordering for multibyte color components,
depth components,
- color indices,
or stencil indices
is reversed.
That is,
if a four-byte component consists of bytes
-
+
b
0
,
-
+
b
1
,
-
+
b
2
,
-
+
b
3
,
it is stored in memory as
-
+
b
3
,
-
+
b
2
,
-
+
b
1
,
-
+
b
0
@@ -175,7 +167,6 @@
bits are ordered within a byte from least significant to most significant;
otherwise,
the first bit in each byte is the most significant one.
- This parameter is significant for bitmap data only.
@@ -192,7 +183,7 @@
-
+
k
=
@@ -271,7 +262,7 @@
is the size, in bytes, of a single component
(if
-
+
a
<
@@ -280,7 +271,7 @@
,
then it is as if
-
+
a
=
@@ -292,7 +283,7 @@
-
+
k
=
@@ -357,7 +348,7 @@
-
+
k
=
@@ -446,7 +437,7 @@
is the size, in bytes, of a single
component (if
-
+
a
<
@@ -455,7 +446,7 @@
,
then it is as if
-
+
a
=
@@ -491,7 +482,7 @@
is equivalent to incrementing
the pointer by
-
+
i
⁢
@@ -507,7 +498,7 @@
is equivalent to incrementing
the pointer by
-
+
j
⁢
@@ -524,7 +515,7 @@
is equivalent to incrementing
the pointer by
-
+
k
⁢
@@ -555,23 +546,15 @@
The other six of the twelve storage parameters affect how pixel data is
read from client memory.
- These values are significant for glDrawPixels,
+ These values are significant for
glTexImage1D,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
- glTexSubImage2D,
- glTexSubImage3D,
- glBitmap, and
- glPolygonStipple.
+ glTexSubImage2D, and
+ glTexSubImage3D
- Additionally, if the ARB_imaging
extension is supported,
- glColorTable,
- glColorSubTable,
- glConvolutionFilter1D,
- glConvolutionFilter2D, and
- glSeparableFilter2D.
They are as follows:
@@ -582,56 +565,55 @@
If true,
byte ordering for multibyte color components,
depth components,
- color indices,
or stencil indices
is reversed.
That is,
if a four-byte component consists of bytes
-
+
b
0
,
-
+
b
1
,
-
+
b
2
,
-
+
b
3
,
it is taken from memory as
-
+
b
3
,
-
+
b
2
,
-
+
b
1
,
-
+
b
0
@@ -657,7 +639,6 @@
bits are ordered within a byte from least significant to most significant;
otherwise,
the first bit in each byte is the most significant one.
- This is relevant only for bitmap data.
@@ -674,7 +655,7 @@
-
+
k
=
@@ -753,7 +734,7 @@
is the size, in bytes, of a single component
(if
-
+
a
<
@@ -762,7 +743,7 @@
,
then it is as if
-
+
a
=
@@ -774,7 +755,7 @@
-
+
k
=
@@ -839,7 +820,7 @@
-
+
k
=
@@ -927,7 +908,7 @@
is the size, in bytes, of a single component
(if
-
+
a
<
@@ -936,7 +917,7 @@
,
then it is as if
-
+
a
=
@@ -967,19 +948,16 @@
These values are provided as a convenience to the programmer;
they provide no functionality that cannot be duplicated by
incrementing the pointer passed to
- glDrawPixels,
glTexImage1D,
glTexImage2D,
- glTexSubImage1D,
- glTexSubImage2D,
- glBitmap, or
- glPolygonStipple.
+ glTexSubImage1D or
+ glTexSubImage2D.
Setting GL_UNPACK_SKIP_PIXELS to
i
is equivalent to incrementing
the pointer by
-
+
i
⁢
@@ -995,7 +973,7 @@
is equivalent to incrementing
the pointer by
-
+
j
⁢
@@ -1095,7 +1073,7 @@
-
+
0
@@ -1115,7 +1093,7 @@
-
+
0
@@ -1135,7 +1113,7 @@
-
+
0
@@ -1155,7 +1133,7 @@
-
+
0
@@ -1175,7 +1153,7 @@
-
+
0
@@ -1237,7 +1215,7 @@
-
+
0
@@ -1257,7 +1235,7 @@
-
+
0
@@ -1277,7 +1255,7 @@
-
+
0
@@ -1297,7 +1275,7 @@
-
+
0
@@ -1317,7 +1295,7 @@
-
+
0
@@ -1357,37 +1335,6 @@
Boolean parameters are set to false if param is 0 and true otherwise.
- Notes
-
- The pixel storage modes in effect when
- glDrawPixels,
- glReadPixels,
- glTexImage1D,
- glTexImage2D,
- glTexImage3D,
- glTexSubImage1D,
- glTexSubImage2D,
- glTexSubImage3D,
- glBitmap,
- or glPolygonStipple is placed in a display list control the interpretation
- of memory data.
- Likewise, if the ARB_imaging
extension is supported, the pixel
- storage modes in effect when
- glColorTable,
- glColorSubTable,
- glConvolutionFilter1D,
- glConvolutionFilter2D, of
- glSeparableFilter2D is placed in a display list control the
- interpretation of memory data.
- The pixel storage modes in effect when a display list is executed are
- not significant.
-
-
- Pixel storage modes are client state and must be pushed and restored
- using
- glPushClientAttrib and glPopClientAttrib.
-
-
Errors
GL_INVALID_ENUM is generated if pname is not an accepted value.
@@ -1398,11 +1345,6 @@
or row skip value is specified,
or if alignment is specified as other than 1, 2, 4, or 8.
-
- GL_INVALID_OPERATION is generated if glPixelStore
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -1456,20 +1398,6 @@
See Also
- glBitmap,
- glColorTable,
- glColorSubTable,
- glConvolutionFilter1D,
- glConvolutionFilter2D,
- glSeparableFilter2D,
- glDrawPixels,
- glHistogram,
- glMinmax,
- glPixelMap,
- glPixelTransfer,
- glPixelZoom,
- glPolygonStipple,
- glPushClientAttrib,
glReadPixels,
glTexImage1D,
glTexImage2D,
diff --git a/Source/Bind/Specifications/Docs/glPointParameter.xml b/Source/Bind/Specifications/Docs/glPointParameter.xml
index f342a4a6..d18d4941 100644
--- a/Source/Bind/Specifications/Docs/glPointParameter.xml
+++ b/Source/Bind/Specifications/Docs/glPointParameter.xml
@@ -41,8 +41,6 @@
Specifies a single-valued point parameter.
- GL_POINT_SIZE_MIN,
- GL_POINT_SIZE_MAX,
GL_POINT_FADE_THRESHOLD_SIZE, and
GL_POINT_SPRITE_COORD_ORIGIN
are accepted.
@@ -83,9 +81,6 @@
Specifies a point parameter.
- GL_POINT_SIZE_MIN,
- GL_POINT_SIZE_MAX,
- GL_POINT_DISTANCE_ATTENUATION,
GL_POINT_FADE_THRESHOLD_SIZE, and
GL_POINT_SPRITE_COORD_ORIGIN
are accepted.
@@ -96,9 +91,7 @@
params
- Specifies the value or values to be assigned to pname.
- GL_POINT_DISTANCE_ATTENUATION requires an array of three values.
- All other parameters accept an array containing only a single value.
+ Specifies the value to be assigned to pname..
@@ -109,26 +102,6 @@
The following values are accepted for pname:
-
- GL_POINT_SIZE_MIN
-
-
-
-
- params is a single floating-point value that specifies the minimum point size. The default value is 0.0.
-
-
-
-
- GL_POINT_SIZE_MAX
-
-
-
-
- params is a single floating-point value that specifies the maximum point size. The default value is 1.0.
-
-
-
GL_POINT_FADE_THRESHOLD_SIZE
@@ -141,26 +114,6 @@
-
- GL_POINT_DISTANCE_ATTENUATION
-
-
-
-
- params is an array of three floating-point values that specify the
- coefficients used for scaling the computed point size. The default values
- are
-
-
-
- 1
- 0
- 0
-
- .
-
-
-
GL_POINT_SPRITE_COORD_ORIGIN
@@ -174,45 +127,20 @@
- Notes
-
- glPointParameter is available only if the GL version is 1.4 or greater.
-
-
- GL_POINT_SPRITE_COORD_ORIGIN is available only if the GL version is 2.0 or greater.
-
-
Errors
- GL_INVALID_VALUE is generated If the value specified for
- GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, or
+ GL_INVALID_VALUE is generated if the value specified for
GL_POINT_FADE_THRESHOLD_SIZE is less than zero.
GL_INVALID_ENUM is generated If the value specified for
GL_POINT_SPRITE_COORD_ORIGIN is not GL_LOWER_LEFT or GL_UPPER_LEFT.
-
- If the value for GL_POINT_SIZE_MIN is greater than
- GL_POINT_SIZE_MAX, the point size after clamping is undefined, but no
- error is generated.
-
-
-
Associated Gets
-
- glGet with argument GL_POINT_SIZE_MIN
-
-
- glGet with argument GL_POINT_SIZE_MAX
-
glGet with argument GL_POINT_FADE_THRESHOLD_SIZE
-
- glGet with argument GL_POINT_DISTANCE_ATTENUATION
-
glGet with argument GL_POINT_SPRITE_COORD_ORIGIN
@@ -225,7 +153,8 @@
Copyright
Copyright 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
+ Silicon Graphics, Inc. Copyright 2010
+ Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
diff --git a/Source/Bind/Specifications/Docs/glPointSize.xml b/Source/Bind/Specifications/Docs/glPointSize.xml
index 42ad2c98..77dcecbf 100644
--- a/Source/Bind/Specifications/Docs/glPointSize.xml
+++ b/Source/Bind/Specifications/Docs/glPointSize.xml
@@ -40,326 +40,29 @@
Description
- glPointSize specifies the rasterized diameter of both aliased and antialiased
- points. Using a point size other than 1 has different effects, depending
- on whether point antialiasing is enabled. To enable and disable point
- antialiasing, call glEnable and glDisable with argument
- GL_POINT_SMOOTH. Point antialiasing is initially disabled.
-
-
- The specified point size is multiplied with a distance attenuation factor
- and clamped to the specified point size range, and further clamped to the
- implementation-dependent point size range to produce the derived point size
- using
-
-
-
-
-
- pointSize
- =
-
- clamp
- ⁢
-
-
- size
- ×
-
-
-
-
- 1
-
-
- a
- +
-
- b
- ×
- d
-
- +
-
- c
- ×
-
- d
- 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- where
- d
- is the eye-coordinate distance from the eye to the vertex, and
- a,
- b,
- and
- c
- are the distance attenuation coefficients (see
- glPointParameter).
-
-
- If multisampling is disabled, the computed point size is used as the
- point's width.
-
-
- If multisampling is enabled, the point may be faded by modifying the point
- alpha value (see glSampleCoverage) instead of allowing the point width
- to go below a given threshold (see glPointParameter). In this case,
- the width is further modified in the following manner:
-
-
-
-
-
- pointWidth
- =
-
-
-
-
- pointSize
-
-
- threshold
-
-
- ⁢
-
-
-
- pointSize
- >=
- threshold
-
-
-
- otherwise
-
-
-
-
-
-
-
-
- The point alpha value is modified by computing:
-
-
-
-
-
- pointAlpha
- =
-
-
-
-
- 1
-
-
-
-
- pointSize
- threshold
-
-
- 2
-
-
-
- ⁢
-
-
-
- pointSize
- >=
- threshold
-
-
-
- otherwise
-
-
-
-
-
-
-
-
- If point antialiasing is disabled, the actual size is determined by
- rounding the supplied size to the nearest integer. (If the rounding
- results in the value 0, it is as if the point size were 1.) If the rounded
- size is odd, then the center point
- (
-
- x
- ,
-
-
- y
- )
- of the pixel fragment
- that represents the point is computed as
-
-
-
-
-
-
-
- x
- w
-
-
- +
- .5
-
-
-
- y
- w
-
-
- +
- .5
-
-
-
-
-
- where
- w
- subscripts indicate window coordinates. All pixels that lie
- within the square grid of the rounded size centered at
- (
-
- x
- ,
-
-
- y
- )
- make
- up the fragment. If the size is even, the center point is
-
-
-
-
-
-
-
- x
- w
-
- +
- .5
-
-
-
-
- y
- w
-
- +
- .5
-
-
-
-
-
-
- and the rasterized fragment's centers are the half-integer window
- coordinates within the square of the rounded size centered at
-
-
-
- x
- y
-
- .
- All pixel fragments produced in rasterizing a nonantialiased point are
- assigned the same associated data, that of the vertex corresponding to the
- point.
-
-
- If antialiasing is enabled, then point rasterization produces a fragment
- for each pixel square that intersects the region lying within the circle
- having diameter equal to the current point size and centered at the point's
-
-
-
- x
- w
-
- y
- w
-
-
- .
- The coverage value for each fragment is the
- window coordinate area of the intersection of the circular region with the
- corresponding pixel square. This value is saved and used in the final
- rasterization step. The data associated with each fragment is the data
- associated with the point being rasterized.
-
-
- Not all sizes are supported when point antialiasing is enabled. If an
- unsupported size is requested, the nearest supported size is used. Only
- size 1 is guaranteed to be supported; others depend on the implementation.
- To query the range of supported sizes and the size difference between
- supported sizes within the range, call glGet with arguments
- GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY.
- For aliased points, query the supported ranges and granularity with
- glGet with arguments GL_ALIASED_POINT_SIZE_RANGE.
+ glPointSize specifies the rasterized diameter of points. If point size mode
+ is disabled (see glEnable with parameter
+ GL_PROGRAM_POINT_SIZE), this value will be used to rasterize points. Otherwise,
+ the value written to the shading language built-in variable gl_PointSize
will be used.
Notes
The point size specified by glPointSize is always returned when
- GL_POINT_SIZE is queried. Clamping and rounding for aliased and
- antialiased points have no effect on the specified value.
-
-
- A non-antialiased point size may be clamped to an implementation-dependent
- maximum. Although this maximum cannot be queried, it must be no less than
- the maximum value for antialiased points, rounded to the nearest integer
- value.
-
-
- GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY are
- deprecated in GL versions 1.2 and greater. Their functionality has been
- replaced by GL_SMOOTH_POINT_SIZE_RANGE and
- GL_SMOOTH_POINT_SIZE_GRANULARITY.
+ GL_POINT_SIZE is queried. Clamping and rounding for points have no effect on the specified value.
Errors
GL_INVALID_VALUE is generated if size is less than or equal to 0.
-
- GL_INVALID_OPERATION is generated if glPointSize
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
- glGet with argument GL_ALIASED_POINT_SIZE_RANGE
+ glGet with argument GL_POINT_SIZE_RANGE
+
+
+ glGet with argument GL_POINT_SIZE_GRANULARITY
glGet with argument GL_POINT_SIZE
@@ -374,16 +77,7 @@
glGet with argument GL_POINT_FADE_THRESHOLD_SIZE
- glGet with argument GL_POINT_DISTANCE_ATTENUATION
-
-
- glGet with argument GL_SMOOTH_POINT_SIZE_RANGE
-
-
- glGet with argument GL_SMOOTH_POINT_SIZE_GRANULARITY
-
-
- glIsEnabled with argument GL_POINT_SMOOTH
+ glIsEnabled with argument GL_PROGRAM_POINT_SIZE
See Also
diff --git a/Source/Bind/Specifications/Docs/glPolygonMode.xml b/Source/Bind/Specifications/Docs/glPolygonMode.xml
index 71613136..0705c41f 100644
--- a/Source/Bind/Specifications/Docs/glPolygonMode.xml
+++ b/Source/Bind/Specifications/Docs/glPolygonMode.xml
@@ -32,10 +32,7 @@
Specifies the polygons that mode applies to.
- Must be
- GL_FRONT for front-facing polygons,
- GL_BACK for back-facing polygons,
- or GL_FRONT_AND_BACK for front- and back-facing polygons.
+ Must be GL_FRONT_AND_BACK for front- and back-facing polygons.
@@ -58,9 +55,7 @@
glPolygonMode controls the interpretation of polygons for rasterization.
face describes which polygons mode applies to:
- front-facing polygons (GL_FRONT),
- back-facing polygons (GL_BACK),
- or both (GL_FRONT_AND_BACK).
+ both front and back-facing polygons (GL_FRONT_AND_BACK).
The polygon mode affects only the final rasterization of polygons.
In particular,
a polygon's vertices are lit and
@@ -89,9 +84,6 @@
Boundary edges of the polygon are drawn as line segments.
- They are treated as connected line segments for line stippling;
- the line stipple counter and pattern are not reset between segments
- (see glLineStipple).
Line attributes such as
GL_LINE_WIDTH and
GL_LINE_SMOOTH control
@@ -105,9 +97,7 @@
The interior of the polygon is filled.
- Polygon attributes such as
- GL_POLYGON_STIPPLE and
- GL_POLYGON_SMOOTH control the rasterization of the polygon.
+ Polygon attributes such as GL_POLYGON_SMOOTH control the rasterization of the polygon.
@@ -115,11 +105,10 @@
Examples
- To draw a surface with filled back-facing polygons
- and outlined front-facing polygons,
+ To draw a surface with outlined polygons,
call
-glPolygonMode(GL_FRONT, GL_LINE);
+glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
@@ -127,7 +116,7 @@ glPolygonMode(GL_FRONT, GL_LINE);
Vertices are marked as boundary or nonboundary with an edge flag.
Edge flags are generated internally by the GL when it decomposes
- polygons; they can be set explicitly using glEdgeFlag.
+ triangle stips and fans.
Errors
@@ -135,11 +124,6 @@ glPolygonMode(GL_FRONT, GL_LINE);
GL_INVALID_ENUM is generated if either face or mode is not
an accepted value.
-
- GL_INVALID_OPERATION is generated if glPolygonMode
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -148,12 +132,8 @@ glPolygonMode(GL_FRONT, GL_LINE);
See Also
- glBegin,
- glEdgeFlag,
- glLineStipple,
glLineWidth,
- glPointSize,
- glPolygonStipple
+ glPointSize
Copyright
diff --git a/Source/Bind/Specifications/Docs/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/glPolygonOffset.xml
index d43edf84..c93623c4 100644
--- a/Source/Bind/Specifications/Docs/glPolygonOffset.xml
+++ b/Source/Bind/Specifications/Docs/glPolygonOffset.xml
@@ -56,7 +56,7 @@
from the depth values of the appropriate vertices.
The value of the offset is
-
+
factor
@@ -73,7 +73,7 @@
,
where
-
+
DZ
is a measurement of the change in depth relative to the screen
@@ -89,25 +89,6 @@
to surfaces, and for rendering solids with highlighted edges.
- Notes
-
- glPolygonOffset is available only if the GL version is 1.1 or greater.
-
-
- glPolygonOffset has no effect on depth coordinates placed in the
- feedback buffer.
-
-
- glPolygonOffset has no effect on selection.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glPolygonOffset is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
-
Associated Gets
glIsEnabled with argument
diff --git a/Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml b/Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml
new file mode 100644
index 00000000..1dd820f9
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glPrimitiveRestartIndex
+ 3G
+
+
+ glPrimitiveRestartIndex
+ specify the primitive restart index
+
+ C Specification
+
+
+ void glPrimitiveRestartIndex
+ GLuint index
+
+
+
+ Parameters
+
+
+ index
+
+
+ Specifies the value to be interpreted as the primitive restart index.
+
+
+
+
+
+ Description
+
+ glPrimitiveRestartIndex specifies a vertex array element that is treated specially when
+ primitive restarting is enabled. This is known as the primitive restart index.
+
+
+ When one of the Draw* commands transfers a set of generic attribute array elements to
+ the GL, if the index within the vertex arrays corresponding to that set is equal to the primitive restart
+ index, then the GL does not process those elements as a vertex. Instead, it is as if the drawing command
+ ended with the immediately preceding transfer, and another drawing command is immediately started with
+ the same parameters, but only transferring the immediately following element through the end of the
+ originally specified elements.
+
+
+ When either glDrawElementsBaseVertex,
+ glDrawElementsInstancedBaseVertex or
+ glMultiDrawElementsBaseVertex is used, the primitive restart
+ comparison occurs before the basevertex offset is added to the array index.
+
+
+ Notes
+
+ glPrimitiveRestartIndex is available only if the GL version is 3.1 or greater.
+
+
+ See Also
+
+ glDrawArrays,
+ glDrawElements,
+ glDrawElementsBaseVertex,
+ glDrawElementsInstancedBaseVertex
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glProgramBinary.xml b/Source/Bind/Specifications/Docs/glProgramBinary.xml
new file mode 100644
index 00000000..c15d32a4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glProgramBinary.xml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glProgramBinary
+ 3G
+
+
+ glProgramBinary
+ load a program object with a program binary
+
+ C Specification
+
+
+ void glProgramBinary
+ GLuint program
+ GLenum binaryFormat
+ const void *binary
+ GLsizei length
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program object into which to load a program binary.
+
+
+
+
+ binaryFormat
+
+
+ Specifies the format of the binary data in binary.
+
+
+
+
+ binary
+
+
+ Specifies the address an array containing the binary to be loaded into program.
+
+
+
+
+ length
+
+
+ Specifies the number of bytes contained in binary.
+
+
+
+
+
+ Description
+
+ glProgramBinary loads a program object with a program binary previously
+ returned from glGetProgramBinary.
+ binaryFormat and binary must be those returned
+ by a previous call to glGetProgramBinary,
+ and length must be the length returned by
+ glGetProgramBinary, or by
+ glGetProgram when called with
+ pname set to GL_PROGRAM_BINARY_LENGTH.
+ If these conditions are not met, loading the program binary will fail and program's
+ GL_LINK_STATUS will be set to GL_FALSE.
+
+
+ A program object's program binary is replaced by calls to
+ glLinkProgram or
+ glProgramBinary. When linking success or failure is concerned, glProgramBinary
+ can be considered to perform an implicit linking operation.
+ glLinkProgram and glProgramBinary
+ both set the program object's GL_LINK_STATUS to GL_TRUE
+ or GL_FALSE.
+
+
+ A successful call to glProgramBinary will reset all uniform variables to their
+ initial values. The initial value is either the value of the variable's initializer as specified in the
+ original shader source, or zero if no initializer was present. Additionally, all vertex shader input
+ and fragment shader output assignments that were in effect when the program was linked before saving are
+ restored with glProgramBinary is called.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the
+ name of an existing program object.
+
+
+ GL_INVALID_ENUM is generated if binaryFormat is not a
+ value recognized by the implementation.
+
+
+ Notes
+
+ A program binary may fail to load if the implementation determines that there has been a
+ change in hardware or software configuration from when the program binary was produced such
+ as having been compiled with an incompatible or outdated version of the compiler.
+
+
+ Associated Gets
+
+ glGetProgram with argument GL_PROGRAM_BINARY_LENGTH
+
+
+ glGet with argument GL_NUM_PROGRAM_BINARY_FORMATS
+
+
+ glGet with argument GL_PROGRAM_BINARY_FORMATS
+
+
+ See Also
+
+ glGetProgram,
+ glGetProgramBinary
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glProgramParameter.xml b/Source/Bind/Specifications/Docs/glProgramParameter.xml
new file mode 100644
index 00000000..2e6ee7d6
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glProgramParameter.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glProgramParameter
+ 3G
+
+
+ glProgramParameter
+ specify a parameter for a program object
+
+ C Specification
+
+
+ void glProgramParameteri
+ GLuint program
+ GLenum pname
+ GLint value
+
+
+
+ Parameters
+
+
+ program
+
+
+ Specifies the name of a program object whose parameter to modify.
+
+
+
+
+ pname
+
+
+ Specifies the name of the parameter to modify.
+
+
+
+
+ value
+
+
+ Specifies the new value of the parameter specified by pname for program.
+
+
+
+
+
+ Description
+
+ glProgramParameter specifies a new value for the parameter nameed by
+ pname for the program object program.
+
+
+ If pname is GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+ value should be GL_FALSE or GL_TRUE
+ to indicate to the implementation the intention of the application to retrieve the program's
+ binary representation with glGetProgramBinary.
+ The implementation may use this information to store information that may be useful for a future
+ query of the program's binary. It is recommended to set GL_PROGRAM_BINARY_RETRIEVABLE_HINT
+ for the program to GL_TRUE before calling
+ glLinkProgram, and
+ using the program at run-time if the binary is to be retrieved later.
+
+
+ If pname is GL_PROGRAM_SEPARABLE, value
+ must be GL_TRUE or GL_FALSE and indicates whether
+ program can be bound to individual pipeline stages via
+ glUseProgramStages. A program's
+ GL_PROGRAM_SEPARABLE parameter must be set to GL_TRUE
+ before glLinkProgram
+ is called in order for it to be usable with a program pipeline object. The initial state of
+ GL_PROGRAM_SEPARABLE is GL_FALSE.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if program is not the
+ name of an existing program object.
+
+
+ GL_INVALID_ENUM is generated if pname is not one
+ of the accepted values.
+
+
+ GL_INVALID_VALUE is generated if value is not a valid
+ value for the parameter named by pname.
+
+
+ Associated Gets
+
+ glGetProgram.
+
+
+ See Also
+
+ glGetProgram,
+ glGetProgramBinary,
+ glProgramBinary
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glProgramUniform.xml b/Source/Bind/Specifications/Docs/glProgramUniform.xml
new file mode 100644
index 00000000..48cf8479
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glProgramUniform.xml
@@ -0,0 +1,611 @@
+
+
+
+
+ glProgramUniform
+ 3G
+
+
+ glProgramUniform
+ glProgramUniform1f
+ glProgramUniform2f
+ glProgramUniform3f
+ glProgramUniform4f
+ glProgramUniform1i
+ glProgramUniform2i
+ glProgramUniform3i
+ glProgramUniform4i
+ glProgramUniform1ui
+ glProgramUniform2ui
+ glProgramUniform3ui
+ glProgramUniform4ui
+ glProgramUniform1fv
+ glProgramUniform2fv
+ glProgramUniform3fv
+ glProgramUniform4fv
+ glProgramUniform1iv
+ glProgramUniform2iv
+ glProgramUniform3iv
+ glProgramUniform4iv
+ glProgramUniform1uiv
+ glProgramUniform2uiv
+ glProgramUniform3uiv
+ glProgramUniform4uiv
+ glProgramUniformMatrix2fv
+ glProgramUniformMatrix3fv
+ glProgramUniformMatrix4fv
+ glProgramUniformMatrix2x3fv
+ glProgramUniformMatrix3x2fv
+ glProgramUniformMatrix2x4fv
+ glProgramUniformMatrix4x2fv
+ glProgramUniformMatrix3x4fv
+ glProgramUniformMatrix4x3fv
+ Specify the value of a uniform variable for a specified program object
+
+ C Specification
+
+
+ void glProgramUniform1f
+ GLuint program
+ GLint location
+ GLfloat v0
+
+
+ void glProgramUniform2f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+ void glProgramUniform3f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+ void glProgramUniform4f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+ void glProgramUniform1i
+ GLuint program
+ GLint location
+ GLint v0
+
+
+ void glProgramUniform2i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+
+
+ void glProgramUniform3i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+ void glProgramUniform4i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+ void glProgramUniform1ui
+ GLuint program
+ GLint location
+ GLuint v0
+
+
+ void glProgramUniform2ui
+ GLuint program
+ GLint location
+ GLint v0
+ GLuint v1
+
+
+ void glProgramUniform3ui
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLuint v2
+
+
+ void glProgramUniform4ui
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLuint v3
+
+
+
+ Parameters
+
+
+ program
+
+ Specifies the handle of the program containing the uniform
+ variable to be modified.
+
+
+
+ location
+
+ Specifies the location of the uniform variable
+ to be modified.
+
+
+
+
+ v0,
+ v1,
+ v2,
+ v3
+
+
+ Specifies the new values to be used for the
+ specified uniform variable.
+
+
+
+
+ C Specification
+
+
+ void glProgramUniform1fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform1iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform2iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform3iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform4iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform1uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform2uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform3uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform4uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ Parameters
+
+
+ program
+
+ Specifies the handle of the program containing the uniform
+ variable to be modified.
+
+
+
+ location
+
+ Specifies the location of the uniform value to
+ be modified.
+
+
+
+ count
+
+ Specifies the number of elements that are to
+ be modified. This should be 1 if the targeted
+ uniform variable is not an array, and 1 or more if it is
+ an array.
+
+
+
+ value
+
+ Specifies a pointer to an array of
+ count values that will be
+ used to update the specified uniform
+ variable.
+
+
+
+
+ C Specification
+
+
+ void glProgramUniformMatrix2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix2x3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3x2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix2x4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4x2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3x4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4x3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ Parameters
+
+
+ program
+
+ Specifies the handle of the program containing the uniform
+ variable to be modified.
+
+
+
+ location
+
+ Specifies the location of the uniform value to
+ be modified.
+
+
+
+ count
+
+ Specifies the number of matrices that are to
+ be modified. This should be 1 if the targeted
+ uniform variable is not an array of matrices, and 1 or more if it is
+ an array of matrices.
+
+
+
+ transpose
+
+ Specifies whether to transpose the matrix as
+ the values are loaded into the uniform
+ variable.
+
+
+
+ value
+
+ Specifies a pointer to an array of
+ count values that will be
+ used to update the specified uniform
+ variable.
+
+
+
+
+ Description
+ glProgramUniform modifies the value of a
+ uniform variable or a uniform variable array. The location of
+ the uniform variable to be modified is specified by
+ location, which should be a value
+ returned by
+ glGetUniformLocation.
+ glProgramUniform operates on the program object
+ specified by program.
+
+ The commands glProgramUniform{1|2|3|4}{f|i|ui}
+ are used to change the value of the uniform variable specified
+ by location using the values passed as
+ arguments. The number specified in the command should match the
+ number of components in the data type of the specified uniform
+ variable (e.g., 1 for float
, int
, unsigned int
, bool
;
+ 2 for vec2
, ivec2
, uvec2
, bvec2
, etc.). The suffix
+ f indicates that floating-point values are
+ being passed; the suffix i indicates that
+ integer values are being passed; the suffix ui indicates that
+ unsigned integer values are being passed, and this type should also match
+ the data type of the specified uniform variable. The
+ i variants of this function should be used
+ to provide values for uniform variables defined as int
, ivec2
,
+ ivec3
, ivec4
, or arrays of these. The
+ ui variants of this function should be used
+ to provide values for uniform variables defined as unsigned int
, uvec2
,
+ uvec3
, uvec4
, or arrays of these. The f
+ variants should be used to provide values for uniform variables
+ of type float
, vec2
, vec3
, vec4
, or arrays of these. Either the
+ i, ui or f variants
+ may be used to provide values for uniform variables of type
+ bool
, bvec2
, bvec3
, bvec4
, or arrays of these. The uniform
+ variable will be set to false
if the input value is 0 or 0.0f,
+ and it will be set to true
otherwise.
+
+ All active uniform variables defined in a program object
+ are initialized to 0 when the program object is linked
+ successfully. They retain the values assigned to them by a call
+ to glProgramUniform until the next successful
+ link operation occurs on the program object, when they are once
+ again initialized to 0.
+
+ The commands glProgramUniform{1|2|3|4}{f|i|ui}v
+ can be used to modify a single uniform variable or a uniform
+ variable array. These commands pass a count and a pointer to the
+ values to be loaded into a uniform variable or a uniform
+ variable array. A count of 1 should be used if modifying the
+ value of a single uniform variable, and a count of 1 or greater
+ can be used to modify an entire array or part of an array. When
+ loading n elements starting at an arbitrary
+ position m in a uniform variable array,
+ elements m + n - 1 in
+ the array will be replaced with the new values. If
+ m + n - 1 is
+ larger than the size of the uniform variable array, values for
+ all array elements beyond the end of the array will be ignored.
+ The number specified in the name of the command indicates the
+ number of components for each element in
+ value, and it should match the number of
+ components in the data type of the specified uniform variable
+ (e.g., 1 for float
, int
, bool
;
+ 2 for vec2
, ivec2
, bvec2
, etc.). The data
+ type specified in the name of the command must match the data
+ type for the specified uniform variable as described previously
+ for glProgramUniform{1|2|3|4}{f|i|ui}.
+
+ For uniform variable arrays, each element of the array is
+ considered to be of the type indicated in the name of the
+ command (e.g., glProgramUniform3f or
+ glProgramUniform3fv can be used to load a uniform
+ variable array of type vec3). The number of elements of the
+ uniform variable array to be modified is specified by
+ count
+
+ The commands
+ glProgramUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv
+ are used to modify a matrix or an array of matrices. The numbers in the
+ command name are interpreted as the dimensionality of the matrix.
+ The number 2 indicates a 2 × 2 matrix
+ (i.e., 4 values), the number 3 indicates a
+ 3 × 3 matrix (i.e., 9 values), and the number
+ 4 indicates a 4 × 4 matrix (i.e., 16
+ values). Non-square matrix dimensionality is explicit, with the first
+ number representing the number of columns and the second number
+ representing the number of rows. For example,
+ 2x4 indicates a 2 × 4 matrix with 2 columns
+ and 4 rows (i.e., 8 values).
+ If transpose is
+ GL_FALSE, each matrix is assumed to be
+ supplied in column major order. If
+ transpose is
+ GL_TRUE, each matrix is assumed to be
+ supplied in row major order. The count
+ argument indicates the number of matrices to be passed. A count
+ of 1 should be used if modifying the value of a single matrix,
+ and a count greater than 1 can be used to modify an array of
+ matrices.
+
+ Notes
+ glProgramUniform1i and
+ glProgramUniform1iv are the only two functions
+ that may be used to load uniform variables defined as sampler
+ types. Loading samplers with any other function will result in a
+ GL_INVALID_OPERATION error.
+
+ If count is greater than 1 and the
+ indicated uniform variable is not an array, a
+ GL_INVALID_OPERATION error is generated and the
+ specified uniform variable will remain unchanged.
+
+ Other than the preceding exceptions, if the type and size
+ of the uniform variable as defined in the shader do not match
+ the type and size specified in the name of the command used to
+ load its value, a GL_INVALID_OPERATION error will
+ be generated and the specified uniform variable will remain
+ unchanged.
+
+ If location is a value other than
+ -1 and it does not represent a valid uniform variable location
+ in within program, an error will be generated, and
+ no changes will be made to the uniform variable storage of
+ program. If location is
+ equal to -1, the data passed in will be silently ignored and the
+ specified uniform variable will not be changed.
+
+ Errors
+ GL_INVALID_OPERATION is generated if
+ program does not refer to a program object owned
+ by the GL.
+
+ GL_INVALID_OPERATION is generated if the
+ size of the uniform variable declared in the shader does not
+ match the size indicated by the glProgramUniform
+ command.
+
+ GL_INVALID_OPERATION is generated if one of
+ the signed or unsigned integer variants of this function is used to load a uniform
+ variable of type float
, vec2
, vec3
, vec4
, or an array of these,
+ or if one of the floating-point variants of this function is
+ used to load a uniform variable of type int
, ivec2
, ivec3
,
+ ivec4
, unsigned int
, uvec2
, uvec3
,
+ uvec4
, or an array of these.
+
+ GL_INVALID_OPERATION is generated if one of
+ the signed integer variants of this function is used to load a uniform
+ variable of type unsigned int
, uvec2
, uvec3
,
+ uvec4
, or an array of these.
+
+ GL_INVALID_OPERATION is generated if one of
+ the unsigned integer variants of this function is used to load a uniform
+ variable of type int
, ivec2
, ivec3
,
+ ivec4
, or an array of these.
+
+ GL_INVALID_OPERATION is generated if
+ location is an invalid uniform location
+ for program and
+ location is not equal to -1.
+
+ GL_INVALID_VALUE is generated if
+ count is less than 0.
+
+ GL_INVALID_OPERATION is generated if
+ count is greater than 1 and the indicated
+ uniform variable is not an array variable.
+
+ GL_INVALID_OPERATION is generated if a
+ sampler is loaded using a command other than
+ glProgramUniform1i and
+ glProgramUniform1iv.
+
+
+ Associated Gets
+ glGetActiveUniform
+ with the handle of a program object and the index of an active uniform variable
+
+ glGetUniform
+ with the handle of a program object and the location of a
+ uniform variable
+
+ glGetUniformLocation
+ with the handle of a program object and the name of a uniform
+ variable
+
+ See Also
+ glLinkProgram,
+ glUseProgram
+
+ Copyright
+
+ Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glProvokingVertex.xml b/Source/Bind/Specifications/Docs/glProvokingVertex.xml
new file mode 100644
index 00000000..c93c6afc
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glProvokingVertex.xml
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glProvokingVertex
+ 3G
+
+
+ glProvokingVertex
+ specifiy the vertex to be used as the source of data for flat shaded varyings
+
+ C Specification
+
+
+ void glProvokingVertex
+ GLenum provokeMode
+
+
+
+
+ Parameters
+
+
+ provokeMode
+
+
+ Specifies the vertex to be used as the source of data for flat shaded varyings.
+
+
+
+
+
+ Description
+
+ Flatshading a vertex shader varying output means to assign all vetices of the primitive the same value
+ for that output. The vertex from which these values is derived is known as the provoking vertex and
+ glProvokingVertex specifies which vertex is to be used as the source of data for flat shaded varyings.
+
+
+ provokeMode must be either GL_FIRST_VERTEX_CONVENTION or
+ GL_LAST_VERTEX_CONVENTION, and controls the selection of the vertex whose values are assigned to flatshaded
+ varying outputs. The interpretation of these values for the supported primitive types is:
+
+
+
+
+
+
+
+
+ Primitive Type of Polygon i
+
+
+ First Vertex Convention
+
+
+ Last Vertex Convention
+
+
+
+
+ point
+
+
+ i
+
+
+ i
+
+
+
+
+ independent line
+
+
+ 2i - 1
+
+
+ 2i
+
+
+
+
+ line loop
+
+
+ i
+
+
+
+ i + 1, if i < n
+
+
+ 1, if i = n
+
+
+
+
+
+ line strip
+
+
+ i
+
+
+ i + 1
+
+
+
+
+ independent triangle
+
+
+ 3i - 2
+
+
+ 3i
+
+
+
+
+ triangle strip
+
+
+ i
+
+
+ i + 2
+
+
+
+
+ triangle fan
+
+
+ i + 1
+
+
+ i + 2
+
+
+
+
+ line adjacency
+
+
+ 4i - 2
+
+
+ 4i - 1
+
+
+
+
+ line strip adjacency
+
+
+ i + 1
+
+
+ i + 2
+
+
+
+
+ triangle adjacency
+
+
+ 6i - 5
+
+
+ 6i - 1
+
+
+
+
+ triangle strip adjacency
+
+
+ 2i - 1
+
+
+ 2i + 3
+
+
+
+
+
+
+
+ If a vertex or geometry shader is active, user-defined varying outputs may be flatshaded by using the
+ flat
qualifier when declaring the output.
+
+
+ Notes
+
+ glProvokingVertex is available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if provokeMode is not an accepted value.
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glQueryCounter.xml b/Source/Bind/Specifications/Docs/glQueryCounter.xml
new file mode 100644
index 00000000..a8341394
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glQueryCounter.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glQueryCounter
+ 3G
+
+
+ glQueryCounter
+ record the GL time into a query object after all previous commands have reached the GL server but have not yet necessarily executed.
+
+ C Specification
+
+
+ void glQueryCounter
+ GLuint id
+ GLenum target
+
+
+
+ Parameters
+
+
+ id
+
+
+ Specify the name of a query object into which to record the GL time.
+
+
+
+
+ target
+
+
+ Specify the counter to query. target must be GL_TIMESTAMP.
+
+
+
+
+
+ Description
+
+ glQueryCounter causes the GL to record the current time into the query object named id.
+ target must be GL_TIMESTAMP. The time is recorded after all previous commands on the
+ GL client and server state and the framebuffer have been fully realized. When the time is recorded, the query result for that object
+ is marked available. glQueryCounter timer queries can be used within a glBeginQuery /
+ glEndQuery block where the target is GL_TIME_ELAPSED and it does
+ not affect the result of that query object.
+
+
+ Notes
+
+ glQueryCounter is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if id is the name
+ of a query object that is already in use within a glBeginQuery /
+ glEndQuery block.
+
+
+ GL_INVALID_VALUE is generated if id is not the name of a query object returned
+ from a previous call to glGenQueries.
+
+
+ GL_INVALID_ENUM is generated if target is not GL_TIMESTAMP.
+
+
+ See Also
+
+ glGenQueries,
+ glBeginQuery,
+ glEndQuery,
+ glDeleteQueries,
+ glGetQueryObject,
+ glGetQueryiv,
+ glGet
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glReadBuffer.xml b/Source/Bind/Specifications/Docs/glReadBuffer.xml
index c867bef2..e433adb5 100644
--- a/Source/Bind/Specifications/Docs/glReadBuffer.xml
+++ b/Source/Bind/Specifications/Docs/glReadBuffer.xml
@@ -38,10 +38,8 @@
GL_BACK_RIGHT,
GL_FRONT,
GL_BACK,
- GL_LEFT,
- GL_RIGHT, and
- GL_AUXi,
- where i is between 0 and the value of GL_AUX_BUFFERS minus 1.
+ GL_LEFT, and
+ GL_RIGHT.
@@ -51,11 +49,9 @@
glReadBuffer specifies a color buffer as the source for subsequent
glReadPixels, glCopyTexImage1D, glCopyTexImage2D,
- glCopyTexSubImage1D, glCopyTexSubImage2D,
- glCopyTexSubImage3D, and
- glCopyPixels commands.
+ glCopyTexSubImage1D, glCopyTexSubImage2D, and
+ glCopyTexSubImage3D commands.
mode accepts one of twelve or more predefined values.
- (GL_AUX0 through GL_AUX3 are always defined.)
In a fully configured system,
GL_FRONT,
GL_LEFT, and
@@ -86,11 +82,6 @@
GL_INVALID_OPERATION is generated if mode specifies a buffer
that does not exist.
-
- GL_INVALID_OPERATION is generated if glReadBuffer
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -99,7 +90,6 @@
See Also
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glReadPixels.xml b/Source/Bind/Specifications/Docs/glReadPixels.xml
index 296244f2..798a87e0 100644
--- a/Source/Bind/Specifications/Docs/glReadPixels.xml
+++ b/Source/Bind/Specifications/Docs/glReadPixels.xml
@@ -60,19 +60,16 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_STENCIL_INDEX,
GL_DEPTH_COMPONENT,
+ GL_DEPTH_STENCIL,
GL_RED,
GL_GREEN,
GL_BLUE,
- GL_ALPHA,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -84,11 +81,11 @@
Must be one of
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
GL_INT,
+ GL_HALF_FLOAT,
GL_FLOAT,
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
@@ -100,8 +97,12 @@
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, or
- GL_UNSIGNED_INT_2_10_10_10_REV.
+ GL_UNSIGNED_INT_10_10_10_2,
+ GL_UNSIGNED_INT_2_10_10_10_REV,
+ GL_UNSIGNED_INT_24_8,
+ GL_UNSIGNED_INT_10F_11F_11F_REV,
+ GL_UNSIGNED_INT_5_9_9_9_REV, or
+ GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
@@ -123,10 +124,7 @@
into client memory starting at location data.
Several parameters control the processing of the pixel data before
it is placed into client memory.
- These parameters are set with three commands:
- glPixelStore,
- glPixelTransfer, and
- glPixelMap.
+ These parameters are set with glPixelStore.
This reference page describes the effects on glReadPixels of most,
but not all of the parameters specified by these three commands.
@@ -136,16 +134,10 @@
requested, data is treated as a byte offset into the buffer object's data store
rather than a pointer to client memory.
-
- When the ARB_imaging
extension is supported, the pixel data may
- be processed by additional operations including color table lookup,
- color matrix transformations, convolutions, histograms, and minimum and
- maximum pixel value computations.
-
glReadPixels returns values from each pixel with lower left corner at
-
+
x
@@ -161,7 +153,7 @@
for
-
+
0
<=
@@ -172,7 +164,7 @@
and
-
+
0
<=
@@ -194,20 +186,6 @@
accepted values are:
-
- GL_COLOR_INDEX
-
-
- Color indices are read from the color buffer
- selected by glReadBuffer.
- Each index is converted to fixed point,
- shifted left or right depending on the value and sign of GL_INDEX_SHIFT,
- and added to GL_INDEX_OFFSET.
- If GL_MAP_COLOR is GL_TRUE,
- indices are replaced by their mappings in the table GL_PIXEL_MAP_I_TO_I.
-
-
-
GL_STENCIL_INDEX
@@ -232,7 +210,7 @@
added to GL_DEPTH_BIAS,
and finally clamped to the range
-
+
0
1
@@ -241,6 +219,15 @@
+
+ GL_DEPTH_STENCIL
+
+
+ Values are taken from both the depth and stencil buffers. The type parameter
+ must be GL_UNSIGNED_INT_24_8 or GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
+
+
+
GL_RED
@@ -256,11 +243,6 @@
-
- GL_ALPHA
-
-
-
GL_RGB
@@ -281,120 +263,12 @@
-
- GL_LUMINANCE
-
-
-
-
- GL_LUMINANCE_ALPHA
-
-
- Processing differs depending on whether color buffers store color indices
- or RGBA color components.
- If color indices are stored,
- they are read from the color buffer selected by glReadBuffer.
- Each index is converted to fixed point,
- shifted left or right depending on the value and sign of GL_INDEX_SHIFT,
- and added to GL_INDEX_OFFSET.
- Indices are then replaced by the red,
- green,
- blue,
- and alpha values obtained by indexing the tables
- GL_PIXEL_MAP_I_TO_R,
- GL_PIXEL_MAP_I_TO_G,
- GL_PIXEL_MAP_I_TO_B, and
- GL_PIXEL_MAP_I_TO_A.
- Each table must be of size
-
-
- 2
- n
-
- ,
- but
- n
- may be different for
- different tables.
- Before an index is used to look up a value in a table of
- size
-
-
- 2
- n
-
- ,
- it must be masked against
-
-
-
- 2
- n
-
- -
- 1
-
- .
-
-
- If RGBA color components are stored in the color buffers,
- they are read from the color buffer selected by glReadBuffer.
- Each color component is converted to floating point such that zero intensity
- maps to 0.0 and full intensity maps to 1.0.
- Each component is then multiplied by GL_c_SCALE and
- added to GL_c_BIAS,
- where c is RED, GREEN, BLUE, or ALPHA.
- Finally,
- if GL_MAP_COLOR is GL_TRUE,
- each component is clamped to the range
-
-
-
- 0
- 1
-
- ,
- scaled to the size of its corresponding table, and is then
- replaced by its mapping in the table
- GL_PIXEL_MAP_c_TO_c,
- where c is R, G, B, or A.
-
-
- Unneeded data is then discarded.
- For example,
- GL_RED discards the green, blue, and alpha components,
- while GL_RGB discards only the alpha component.
- GL_LUMINANCE computes a single-component value as the sum of
- the red,
- green,
- and blue components,
- and GL_LUMINANCE_ALPHA does the same,
- while keeping alpha as a second value.
- The final values are clamped to the range
-
-
-
- 0
- 1
-
- .
-
-
-
-
- The shift,
- scale,
- bias,
- and lookup factors just described are all specified by
- glPixelTransfer.
- The lookup table contents themselves are specified by glPixelMap.
-
Finally, the indices or components
are converted to the proper format,
as specified by type.
- If format is GL_COLOR_INDEX or GL_STENCIL_INDEX
+ If format is GL_STENCIL_INDEX
and type is not GL_FLOAT,
each index is masked with the mask value given in the following table.
If type is GL_FLOAT, then each integer index is converted to
@@ -405,13 +279,10 @@
GL_RED,
GL_GREEN,
GL_BLUE,
- GL_ALPHA,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, or
- GL_LUMINANCE_ALPHA and type is not GL_FLOAT,
+ GL_RGBA, or
+ GL_BGRA and type is not GL_FLOAT,
each component is multiplied by the multiplier shown in the following table.
If type is GL_FLOAT, then each component is passed as is
(or converted to the client's single-precision floating-point format if
@@ -444,7 +315,7 @@
-
+
2
8
@@ -456,7 +327,7 @@
-
+
@@ -479,7 +350,7 @@
-
+
2
7
@@ -491,7 +362,7 @@
-
+
@@ -515,30 +386,13 @@
-
-
- GL_BITMAP
-
-
-
-
- 1
-
-
-
-
-
- 1
-
-
-
GL_UNSIGNED_SHORT
-
+
2
16
@@ -550,7 +404,7 @@
-
+
@@ -573,7 +427,7 @@
-
+
2
15
@@ -585,7 +439,7 @@
-
+
@@ -615,7 +469,7 @@
-
+
2
32
@@ -627,7 +481,7 @@
-
+
@@ -650,7 +504,7 @@
-
+
2
31
@@ -662,7 +516,7 @@
-
+
@@ -686,6 +540,17 @@
+
+
+ GL_HALF_FLOAT
+
+
+ none
+
+
+ c
+
+
GL_FLOAT
@@ -697,20 +562,505 @@
c
+
+
+ GL_UNSIGNED_BYTE_3_3_2
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_BYTE_2_3_3_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_5_6_5
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_5_6_5_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_4_4_4_4
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_4_4_4_4_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_5_5_5_1
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_SHORT_1_5_5_5_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_8_8_8_8
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_8_8_8_8_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_10_10_10_2
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_2_10_10_10_REV
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_24_8
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+
+
+
+
+
+
+
+ 2
+ N
+
+ -
+ 1
+
+
+ ⁢
+ c
+
+
+
+
+
+
+ GL_UNSIGNED_INT_10F_11F_11F_REV
+
+
+ --
+
+
+ Special
+
+
+
+
+ GL_UNSIGNED_INT_5_9_9_9_REV
+
+
+ --
+
+
+ Special
+
+
+
+
+ GL_FLOAT_32_UNSIGNED_INT_24_8_REV
+
+
+ none
+
+
+ c (Depth Only)
+
+
Return values are placed in memory as follows.
If format is
- GL_COLOR_INDEX,
GL_STENCIL_INDEX,
GL_DEPTH_COMPONENT,
GL_RED,
- GL_GREEN,
+ GL_GREEN, or
GL_BLUE,
- GL_ALPHA, or
- GL_LUMINANCE,
a single value is returned and the data for the
ith
pixel in the
@@ -718,7 +1068,7 @@
row
is placed in location
-
+
j
@@ -730,8 +1080,7 @@
.
GL_RGB and GL_BGR return three values,
- GL_RGBA and GL_BGRA return four values,
- and GL_LUMINANCE_ALPHA returns two values for each pixel,
+ GL_RGBA and GL_BGRA return four values for each pixel,
with all values corresponding to a single pixel occupying contiguous space
in data.
Storage parameters set by glPixelStore,
@@ -755,17 +1104,9 @@
GL_INVALID_ENUM is generated if format or type is not an
accepted value.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and format is
- not GL_COLOR_INDEX or GL_STENCIL_INDEX.
-
GL_INVALID_VALUE is generated if either width or height is negative.
-
- GL_INVALID_OPERATION is generated if format is GL_COLOR_INDEX
- and the color buffers store RGBA color components.
-
GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX
and there is no stencil buffer.
@@ -774,6 +1115,14 @@
GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT
and there is no depth buffer.
+
+ GL_INVALID_OPERATION is generated if format is GL_DEPTH_STENCIL
+ and there is no depth buffer or if there is no stencil buffer.
+
+
+ GL_INVALID_ENUM is generated if format is GL_DEPTH_STENCIL
+ and type is not GL_UNSIGNED_INT_24_8 or GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
+
GL_INVALID_OPERATION is generated if type is one of
GL_UNSIGNED_BYTE_3_3_2,
@@ -794,22 +1143,6 @@
GL_UNSIGNED_INT_2_10_10_10_REV
and format is neither GL_RGBA nor GL_BGRA.
-
- The formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the
GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped.
@@ -825,9 +1158,9 @@
into the number of bytes needed to store in memory a datum indicated by type.
- GL_INVALID_OPERATION is generated if glReadPixels
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_OPERATION is generated if GL_READ_FRAMEBUFFER_BINDING
+ is non-zero, the read framebuffer is complete, and the value of GL_SAMPLE_BUFFERS
+ for the read framebuffer is greater than zero.
Associated Gets
@@ -840,11 +1173,7 @@
See Also
- glCopyPixels,
- glDrawPixels,
- glPixelMap,
glPixelStore,
- glPixelTransfer,
glReadBuffer
diff --git a/Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml b/Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml
new file mode 100644
index 00000000..34caab48
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glReleaseShaderCompiler
+ 3G
+
+
+ glReleaseShaderCompiler
+ release resources consumed by the implementation's shader compiler
+
+ C Specification
+
+
+ void glReleaseShaderCompiler
+ void
+
+
+
+ Description
+
+ glReleaseShaderCompiler provides a hint to the implementation that it
+ may free internal resources associated with its shader compiler. glCompileShader
+ may subsequently be called and the implementation may at that time reallocate resources
+ previously freed by the call to glReleaseShaderCompiler.
+
+
+ See Also
+
+ glCompileShader,
+ glLinkProgram
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glRenderbufferStorage.xml b/Source/Bind/Specifications/Docs/glRenderbufferStorage.xml
new file mode 100644
index 00000000..392b1c12
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glRenderbufferStorage.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glRenderbufferStorage
+ 3G
+
+
+ glRenderbufferStorage
+ establish data storage, format and dimensions of a renderbuffer object's image
+
+ C Specification
+
+
+ void glRenderbufferStorage
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER.
+
+
+
+
+ internalformat
+
+
+ Specifies the internal format to use for the renderbuffer object's image.
+
+
+
+
+ width
+
+
+ Specifies the width of the renderbuffer, in pixels.
+
+
+
+
+ height
+
+
+ Specifies the height of the renderbuffer, in pixels.
+
+
+
+
+
+ Description
+
+ glRenderbufferStorage is equivalent to calling
+ glRenderbufferStorageMultisample with the
+ samples set to zero.
+
+
+ The target of the operation, specified by target must be GL_RENDERBUFFER.
+ internalformat specifies the internal format to be used for the renderbuffer object's storage and
+ must be a color-renderable, depth-renderable, or stencil-renderable format.
+ width and height are the dimensions, in pixels, of the renderbuffer.
+ Both width and height must be less than or equal to the value of
+ GL_MAX_RENDERBUFFER_SIZE.
+
+
+ Upon success, glRenderbufferStorage deletes any existing data store for the renderbuffer
+ image and the contents of the data store after calling glRenderbufferStorage are undefined.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER.
+
+
+ GL_INVALID_VALUE is generated if either of width or height is negative,
+ or greater than the value of GL_MAX_RENDERBUFFER_SIZE.
+
+
+ GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable,
+ or stencil-renderable format.
+
+
+ GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glBindRenderbuffer,
+ glRenderbufferStorageMultisample,
+ glFramebufferRenderbuffer,
+ glDeleteRenderbuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml b/Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml
new file mode 100644
index 00000000..4a01c0bb
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glRenderbufferStorageMultisample
+ 3G
+
+
+ glRenderbufferStorageMultisample
+ establish data storage, format, dimensions and sample count of a renderbuffer object's image
+
+ C Specification
+
+
+ void glRenderbufferStorageMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER.
+
+
+
+
+ samples
+
+
+ Specifies the number of samples to be used for the renderbuffer object's storage.
+
+
+
+
+ internalformat
+
+
+ Specifies the internal format to use for the renderbuffer object's image.
+
+
+
+
+ width
+
+
+ Specifies the width of the renderbuffer, in pixels.
+
+
+
+
+ height
+
+
+ Specifies the height of the renderbuffer, in pixels.
+
+
+
+
+
+ Description
+
+ glRenderbufferStorageMultisample establishes the data storage, format, dimensions and number of
+ samples of a renderbuffer object's image.
+
+
+ The target of the operation, specified by target must be GL_RENDERBUFFER.
+ internalformat specifies the internal format to be used for the renderbuffer object's storage and
+ must be a color-renderable, depth-renderable, or stencil-renderable format.
+ width and height are the dimensions, in pixels, of the renderbuffer.
+ Both width and height must be less than or equal to the value of
+ GL_MAX_RENDERBUFFER_SIZE. samples specifies the number of samples to be used
+ for the renderbuffer object's image, and must be less than or equal to the value of GL_MAX_SAMPLES.
+ If internalformat is a signed or unsigned integer format then samples must be
+ less than or equal to the value of GL_MAX_INTEGER_SAMPLES.
+
+
+ Upon success, glRenderbufferStorageMultisample deletes any existing data store for the renderbuffer
+ image and the contents of the data store after calling glRenderbufferStorageMultisample are undefined.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER.
+
+
+ GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES.
+
+
+ GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable,
+ or stencil-renderable format.
+
+
+ GL_INVALID_OPERATION is generated if internalformat is a signed or unsigned integer format
+ and samples is greater than the value of GL_MAX_INTEGER_SAMPLES
+
+
+ GL_INVALID_VALUE is generated if either of width or height is negative,
+ or greater than the value of GL_MAX_RENDERBUFFER_SIZE.
+
+
+ GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glBindRenderbuffer,
+ glRenderbufferStorage,
+ glFramebufferRenderbuffer,
+ glDeleteRenderbuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml b/Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml
new file mode 100644
index 00000000..7a577b4f
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glResumeTransformFeedback
+ 3G
+
+
+ glResumeTransformFeedback
+ resume transform feedback operations
+
+ C Specification
+
+
+ void glResumeTransformFeedback
+ void
+
+
+
+ Description
+
+ glResumeTransformFeedback resumes transform feedback operations on the currently active transform feedback
+ object. When transform feedback operations are paused, transform feedback is still considered active and changing most
+ transform feedback state related to the object results in an error. However, a new transform feedback object may be bound
+ while transform feedback is paused.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is not paused.
+
+
+ See Also
+
+ glGenTransformFeedbacks,
+ glBindTransformFeedback,
+ glBeginTransformFeedback,
+ glPauseTransformFeedback,
+ glEndTransformFeedback,
+ glDeleteTransformFeedbacks
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/glSampleCoverage.xml
index f79e44b1..2e17cf1e 100644
--- a/Source/Bind/Specifications/Docs/glSampleCoverage.xml
+++ b/Source/Bind/Specifications/Docs/glSampleCoverage.xml
@@ -35,7 +35,7 @@
Specify a single floating-point sample coverage value. The value is
clamped to the range
-
+
0
1
@@ -62,7 +62,7 @@
Multisampling samples a pixel multiple times at various
implementation-dependent subpixel locations to generate antialiasing
effects. Multisampling transparently antialiases points, lines, polygons,
- bitmaps, and images if it is enabled.
+ and images if it is enabled.
value is used in constructing a temporary mask used in determining which
@@ -83,17 +83,6 @@
information, allowing those operations to be performed on each sample.
- Notes
-
- glSampleCoverage is available only if the GL version is 1.3 or greater.
-
-
- Errors
-
- GL_INVALID_OPERATION is generated if glSampleCoverage is executed between the
- execution of glBegin and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument GL_SAMPLE_COVERAGE_VALUE
@@ -116,8 +105,7 @@
See Also
- glEnable,
- glPushAttrib
+ glEnable
Copyright
diff --git a/Source/Bind/Specifications/Docs/glSampleMaski.xml b/Source/Bind/Specifications/Docs/glSampleMaski.xml
new file mode 100644
index 00000000..f1f3f702
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glSampleMaski.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glSampleMaski
+ 3G
+
+
+ glSampleMaski
+ set the value of a sub-word of the sample mask
+
+ C Specification
+
+
+ void glSampleMaski
+ GLuint maskNumber
+ GLbitfield mask
+
+
+
+ Parameters
+
+
+ maskNumber
+
+
+ Specifies which 32-bit sub-word of the sample mask to update.
+
+
+
+
+ mask
+
+
+ Specifies the new value of the mask sub-word.
+
+
+
+
+
+ Description
+
+ glSampleMaski sets one 32-bit sub-word of the multi-word sample mask, GL_SAMPLE_MASK_VALUE.
+
+
+ maskIndex specifies which 32-bit sub-word of the sample mask to update, and mask specifies
+ the new value to use for that sub-word. maskIndex must be less than the value of
+ GL_MAX_SAMPLE_MASK_WORDS. Bit B of mask word M corresponds to sample
+ 32 x M + B.
+
+
+ Notes
+
+ glSampleMaski is available only if the GL version is 3.2 or greater, or if the ARB_texture_multisample
+ extension is supported.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if maskIndex is greater than or equal to the value
+ of GL_MAX_SAMPLE_MASK_WORDS.
+
+
+ See Also
+
+ glGenRenderbuffers,
+ glBindRenderbuffer,
+ glRenderbufferStorageMultisample,
+ glFramebufferRenderbuffer,
+ glDeleteRenderbuffers
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glSamplerParameter.xml b/Source/Bind/Specifications/Docs/glSamplerParameter.xml
new file mode 100644
index 00000000..0028efb9
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glSamplerParameter.xml
@@ -0,0 +1,1128 @@
+
+
+
+
+
+
+ 2010
+ KhronosGroup
+
+
+ glSamplerParameter
+ 3G
+
+
+ glSamplerParameter
+ set sampler parameters
+
+ C Specification
+
+
+ void glSamplerParameterf
+ GLuint sampler
+ GLenum pname
+ GLfloat param
+
+
+
+
+ void glSamplerParameteri
+ GLuint sampler
+ GLenum pname
+ GLint param
+
+
+
+
+ Parameters
+
+
+ sampler
+
+
+ Specifies the sampler object whose parameter to modify.
+
+
+
+
+ pname
+
+
+ Specifies the symbolic name of a single-valued sampler parameter.
+ pname can be one of the following:
+ GL_TEXTURE_WRAP_S,
+ GL_TEXTURE_WRAP_T,
+ GL_TEXTURE_WRAP_R,
+ GL_TEXTURE_MIN_FILTER,
+ GL_TEXTURE_MAG_FILTER,
+ GL_TEXTURE_MIN_LOD,
+ GL_TEXTURE_MAX_LOD,
+ GL_TEXTURE_LOD_BIAS
+ GL_TEXTURE_COMPARE_MODE, or
+ GL_TEXTURE_COMPARE_FUNC.
+
+
+
+
+ param
+
+
+ Specifies the value of pname.
+
+
+
+
+
+ C Specification
+
+
+ void glSamplerParameterfv
+ GLuint sampler
+ GLenum pname
+ const GLfloat * params
+
+
+
+
+ void glSamplerParameteriv
+ GLuint sampler
+ GLenum pname
+ const GLint * params
+
+
+
+ Parameters
+
+
+ sampler
+
+
+ Specifies the sampler object whose parameter to modify.
+
+
+
+
+ pname
+
+
+ Specifies the symbolic name of a sampler parameter.
+ pname can be one of the following:
+ GL_TEXTURE_WRAP_S,
+ GL_TEXTURE_WRAP_T,
+ GL_TEXTURE_WRAP_R,
+ GL_TEXTURE_MIN_FILTER,
+ GL_TEXTURE_MAG_FILTER,
+ GL_TEXTURE_BORDER_COLOR,
+ GL_TEXTURE_MIN_LOD,
+ GL_TEXTURE_MAX_LOD,
+ GL_TEXTURE_LOD_BIAS
+ GL_TEXTURE_COMPARE_MODE, or
+ GL_TEXTURE_COMPARE_FUNC.
+
+
+
+
+ params
+
+
+ Specifies a pointer to an array where the value or values of pname
+ are stored.
+
+
+
+
+
+ Description
+
+ glSamplerParameter assigns the value or values in params to the sampler parameter
+ specified as pname.
+ sampler specifies the sampler object to be modified, and must be the name of a sampler object previously
+ returned from a call to glGenSamplers.
+ The following symbols are accepted in pname:
+
+
+
+ GL_TEXTURE_MIN_FILTER
+
+
+ The texture minifying function is used whenever the pixel being textured
+ maps to an area greater than one texture element.
+ There are six defined minifying functions.
+ Two of them use the nearest one or nearest four texture elements
+ to compute the texture value.
+ The other four use mipmaps.
+
+
+ A mipmap is an ordered set of arrays representing the same image
+ at progressively lower resolutions.
+ If the texture has dimensions
+
+
+
+ 2
+ n
+
+ ×
+ 2
+ m
+
+
+ ,
+ there are
+
+
+
+
+ max
+ ⁡
+
+ n
+ m
+
+
+ +
+ 1
+
+
+ mipmaps.
+ The first mipmap is the original texture,
+ with dimensions
+
+
+
+ 2
+ n
+
+ ×
+ 2
+ m
+
+
+ .
+ Each subsequent mipmap has dimensions
+
+
+
+ 2
+
+
+ k
+ -
+ 1
+
+
+
+ ×
+ 2
+
+
+ l
+ -
+ 1
+
+
+
+
+ ,
+ where
+
+
+
+ 2
+ k
+
+ ×
+ 2
+ l
+
+
+
+ are the dimensions of the previous mipmap,
+ until either
+
+
+
+ k
+ =
+ 0
+
+
+ or
+
+
+
+ l
+ =
+ 0
+
+ .
+ At that point,
+ subsequent mipmaps have dimension
+
+
+
+ 1
+ ×
+ 2
+
+
+ l
+ -
+ 1
+
+
+
+
+
+ or
+
+
+
+ 2
+
+
+ k
+ -
+ 1
+
+
+
+ ×
+ 1
+
+
+ until the final mipmap,
+ which has dimension
+
+
+
+ 1
+ ×
+ 1
+
+ .
+ To define the mipmaps, call glTexImage1D, glTexImage2D,
+ glTexImage3D,
+ glCopyTexImage1D, or glCopyTexImage2D
+ with the level argument indicating the order of the mipmaps.
+ Level 0 is the original texture;
+ level
+
+
+
+ max
+ ⁡
+
+ n
+ m
+
+
+
+ is the final
+
+
+
+ 1
+ ×
+ 1
+
+
+ mipmap.
+
+
+ params supplies a function for minifying the texture as one of the
+ following:
+
+
+ GL_NEAREST
+
+
+ Returns the value of the texture element that is nearest
+ (in Manhattan distance)
+ to the center of the pixel being textured.
+
+
+
+
+ GL_LINEAR
+
+
+ Returns the weighted average of the four texture elements
+ that are closest to the center of the pixel being textured.
+ These can include border texture elements,
+ depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
+ and on the exact mapping.
+
+
+
+
+ GL_NEAREST_MIPMAP_NEAREST
+
+
+ Chooses the mipmap that most closely matches the size of the pixel
+ being textured and uses the GL_NEAREST criterion
+ (the texture element nearest to the center of the pixel)
+ to produce a texture value.
+
+
+
+
+ GL_LINEAR_MIPMAP_NEAREST
+
+
+ Chooses the mipmap that most closely matches the size of the pixel
+ being textured and uses the GL_LINEAR criterion
+ (a weighted average of the four texture elements that are closest
+ to the center of the pixel)
+ to produce a texture value.
+
+
+
+
+ GL_NEAREST_MIPMAP_LINEAR
+
+
+ Chooses the two mipmaps that most closely match the size of the pixel
+ being textured and uses the GL_NEAREST criterion
+ (the texture element nearest to the center of the pixel)
+ to produce a texture value from each mipmap.
+ The final texture value is a weighted average of those two values.
+
+
+
+
+ GL_LINEAR_MIPMAP_LINEAR
+
+
+ Chooses the two mipmaps that most closely match the size of the pixel
+ being textured and uses the GL_LINEAR criterion
+ (a weighted average of the four texture elements that are closest
+ to the center of the pixel)
+ to produce a texture value from each mipmap.
+ The final texture value is a weighted average of those two values.
+
+
+
+
+
+
+ As more texture elements are sampled in the minification process,
+ fewer aliasing artifacts will be apparent.
+ While the GL_NEAREST and GL_LINEAR minification functions can be
+ faster than the other four,
+ they sample only one or four texture elements to determine the texture value
+ of the pixel being rendered and can produce moire patterns
+ or ragged transitions.
+ The initial value of GL_TEXTURE_MIN_FILTER is
+ GL_NEAREST_MIPMAP_LINEAR.
+
+
+
+
+ GL_TEXTURE_MAG_FILTER
+
+
+ The texture magnification function is used when the pixel being textured
+ maps to an area less than or equal to one texture element.
+ It sets the texture magnification function to either GL_NEAREST
+ or GL_LINEAR (see below). GL_NEAREST is generally faster
+ than GL_LINEAR,
+ but it can produce textured images with sharper edges
+ because the transition between texture elements is not as smooth.
+ The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR.
+
+
+ GL_NEAREST
+
+
+ Returns the value of the texture element that is nearest
+ (in Manhattan distance)
+ to the center of the pixel being textured.
+
+
+
+
+ GL_LINEAR
+
+
+ Returns the weighted average of the four texture elements
+ that are closest to the center of the pixel being textured.
+ These can include border texture elements,
+ depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
+ and on the exact mapping.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MIN_LOD
+
+
+ Sets the minimum level-of-detail parameter. This floating-point value
+ limits the selection of highest resolution mipmap (lowest mipmap
+ level). The initial value is -1000.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MAX_LOD
+
+
+ Sets the maximum level-of-detail parameter. This floating-point value
+ limits the selection of the lowest resolution mipmap (highest mipmap
+ level). The initial value is 1000.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_WRAP_S
+
+
+ Sets the wrap parameter for texture coordinate
+ s
+ to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
+ GL_REPEAT. GL_CLAMP_TO_BORDER causes the
+ s
+ coordinate to be clamped to the range
+
+
+
+
+
+
+ -1
+ 2N
+
+
+
+
+ 1
+ +
+
+
+
+ 1
+ 2N
+
+
+
+
+
+ ,
+ where
+ N
+ is the size of the texture in the direction of
+ clamping.GL_CLAMP_TO_EDGE causes
+ s
+ coordinates to be clamped to the
+ range
+
+
+
+
+
+
+ 1
+ 2N
+
+
+
+
+ 1
+ -
+
+
+
+ 1
+ 2N
+
+
+
+
+
+ ,
+ where
+ N
+ is the size
+ of the texture in the direction of clamping. GL_REPEAT causes the
+ integer part of the
+ s
+ coordinate to be ignored; the GL uses only the
+ fractional part, thereby creating a repeating pattern.
+ GL_MIRRORED_REPEAT causes the
+ s
+ coordinate to be set to the
+ fractional part of the texture coordinate if the integer part of
+ s
+ is
+ even; if the integer part of
+ s
+ is odd, then the
+ s
+ texture coordinate is
+ set to
+
+
+
+ 1
+ -
+
+ frac
+ ⁡
+
+ s
+
+
+
+ ,
+ where
+
+
+
+ frac
+ ⁡
+
+ s
+
+
+
+ represents the fractional part of
+ s.
+ Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_WRAP_T
+
+
+ Sets the wrap parameter for texture coordinate
+ t
+ to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
+ GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
+ Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT.
+
+
+
+
+ GL_TEXTURE_WRAP_R
+
+
+ Sets the wrap parameter for texture coordinate
+ r
+ to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
+ GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
+ Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT.
+
+
+
+
+ GL_TEXTURE_BORDER_COLOR
+
+
+ The data in params specifies four values that define the border values that
+ should be used for border texels. If a texel is sampled from the border of the texture, the
+ values of GL_TEXTURE_BORDER_COLOR are interpreted as an RGBA color to match the
+ texture's internal format and substituted for the non-existent texel data. If the texture contains depth
+ components, the first component of GL_TEXTURE_BORDER_COLOR is interpreted as a depth value.
+ The initial value is
+
+
+
+
+ 0.0, 0.0, 0.0, 0.0
+
+
+
+ .
+
+
+
+
+ GL_TEXTURE_COMPARE_MODE
+
+
+ Specifies the texture comparison mode for currently bound textures.
+ That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see
+ glTexImage2D)
+ Permissible values are:
+
+
+ GL_COMPARE_REF_TO_TEXTURE
+
+
+ Specifies that the interpolated and clamped
+ r
+ texture coordinate should
+ be compared to the value in the currently bound texture. See the
+ discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison
+ is evaluated. The result of the comparison is assigned to the red channel.
+
+
+
+
+ GL_NONE
+
+
+ Specifies that the red channel should be assigned the
+ appropriate value from the currently bound texture.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_COMPARE_FUNC
+
+
+ Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is
+ set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are:
+
+
+
+
+
+
+
+ Texture Comparison Function
+
+
+ Computed result
+
+
+
+
+
+
+ GL_LEQUAL
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ <=
+
+ D
+ t
+
+
+
+
+
+
+ r
+ >
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GEQUAL
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ >=
+
+ D
+ t
+
+
+
+
+
+
+ r
+ <
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_LESS
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ <
+
+ D
+ t
+
+
+
+
+
+
+ r
+ >=
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GREATER
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ >
+
+ D
+ t
+
+
+
+
+
+
+ r
+ <=
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_EQUAL
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ =
+
+ D
+ t
+
+
+
+
+
+
+ r
+ ≠
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_NOTEQUAL
+
+
+
+
+
+ result
+ =
+
+
+
+
+ 1.0
+
+
+ 0.0
+
+
+ ⁢
+
+
+
+ r
+ ≠
+
+ D
+ t
+
+
+
+
+
+
+ r
+ =
+
+ D
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_ALWAYS
+
+
+
+
+
+ result
+ =
+ 1.0
+
+
+
+
+
+
+
+ GL_NEVER
+
+
+
+
+
+ result
+ =
+ 0.0
+
+
+
+
+
+
+
+
+ where r
+ is the current interpolated texture coordinate, and
+
+
+ D
+ t
+
+
+ is the texture value sampled from the currently bound texture.
+ result
+ is assigned to
+
+
+ R
+ t
+
+ .
+
+
+
+
+
+ Notes
+
+ glSamplerParameter is available only if the GL version is 3.3 or higher.
+
+
+ If a sampler object is bound to a texture unit and that unit is used to sample from a texture, the parameters in the sampler
+ are used to sample from the texture, rather than the equivalent parameters in the texture object bound to that unit. This
+ introduces the possibility of sampling from the same texture object with different sets of sampler state, which may lead to
+ a condition where a texture is incomplete with respect to one sampler object and not with respect to
+ another. Thus, completeness can be considered a function of a sampler object and a texture object bound to a single
+ texture unit, rather than a property of the texture object itself.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if sampler is not the name of a sampler object previously
+ returned from a call to glGenSamplers.
+
+
+ GL_INVALID_ENUM is generated if params should have a defined
+ constant value (based on the value of pname) and does not.
+
+
+ Associated Gets
+
+ glGetSamplerParameter
+
+
+ See Also
+
+ glGenSamplers,
+ glBindSampler,
+ glDeleteSamplers,
+ glIsSampler,
+ glBindTexture,
+ glTexParameter
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glScissor.xml b/Source/Bind/Specifications/Docs/glScissor.xml
index ee4d5280..eb881638 100644
--- a/Source/Bind/Specifications/Docs/glScissor.xml
+++ b/Source/Bind/Specifications/Docs/glScissor.xml
@@ -83,11 +83,6 @@
GL_INVALID_VALUE is generated if either width or height is negative.
-
- GL_INVALID_OPERATION is generated if glScissor
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glScissorArray.xml b/Source/Bind/Specifications/Docs/glScissorArray.xml
new file mode 100644
index 00000000..b23dca01
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glScissorArray.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glScissorArray
+ 3G
+
+
+ glScissorArray
+ define the scissor box for multiple viewports
+
+ C Specification
+
+
+ void glScissorArrayv
+ GLuint first
+ GLsizei count
+ const GLint *v
+
+
+
+ Parameters
+
+
+ first
+
+
+ Specifies the index of the first viewport whose scissor box to modify.
+
+
+
+
+ count
+
+
+ Specifies the number of scissor boxes to modify.
+
+
+
+
+ v
+
+
+ Specifies the address of an array containing the left, bottom, width and height of each
+ scissor box, in that order.
+
+
+
+
+
+ Description
+
+ glScissorArrayv defines rectangles, called scissor boxes,
+ in window coordinates for each viewport.
+ first specifies the index of the first scissor box to modify and
+ count specifies the number of scissor boxes to modify. first
+ must be less than the value of GL_MAX_VIEWPORTS, and first +
+ count must be less than or equal to the value of GL_MAX_VIEWPORTS.
+ v specifies the address of an array containing integers specifying the
+ lower left corner of the scissor boxes, and the width and height of the scissor boxes, in that order.
+
+
+ To enable and disable the scissor test, call
+ glEnable and glDisable with argument
+ GL_SCISSOR_TEST. The test is initially disabled for all viewports.
+ While the test is enabled, only pixels that lie within the scissor box
+ can be modified by drawing commands.
+ Window coordinates have integer values at the shared corners of
+ frame buffer pixels.
+ glScissor(0,0,1,1)
allows modification of only the lower left
+ pixel in the window, and glScissor(0,0,0,0)
doesn't allow
+ modification of any pixels in the window.
+
+
+ When the scissor test is disabled,
+ it is as though the scissor box includes the entire window.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if first is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if first + count
+ is greater than or equal to the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if any width or height specified in the array v is negative.
+
+
+ Associated Gets
+
+ glGet with argument GL_SCISSOR_BOX
+
+
+ glIsEnabled with argument GL_SCISSOR_TEST
+
+
+ See Also
+
+ glEnable,
+ glViewport,
+ glViewportIndexed,
+ glViewportArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glScissorIndexed.xml b/Source/Bind/Specifications/Docs/glScissorIndexed.xml
new file mode 100644
index 00000000..463968e0
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glScissorIndexed.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glScissorArray
+ 3G
+
+
+ glScissorIndexed
+ define the scissor box for a specific viewport
+
+ C Specification
+
+
+ void glScissorIndexed
+ GLuint index
+ GLint left
+ GLint bottom
+ GLsizei width
+ GLsizei height
+
+
+ void glScissorIndexedv
+ GLuint index
+ const GLint *v
+=
+
+
+ Parameters
+
+
+ index
+
+
+ Specifies the index of the viewport whose scissor box to modify.
+
+
+
+
+ left
+ bottom
+
+
+ Specify the coordinate of the bottom left corner of the scissor box, in pixels.
+
+
+
+
+ width
+ height
+
+
+ Specify ths dimensions of the scissor box, in pixels.
+
+
+
+
+ v
+
+
+ For glScissorIndexedv, specifies the address of an array containing the left, bottom, width and height of each
+ scissor box, in that order.
+
+
+
+
+
+ Description
+
+ glScissorIndexed defines the scissor box for a specified viewport.
+ index specifies the index of scissor box to modify.
+ index must be less than the value of GL_MAX_VIEWPORTS.
+ For glScissorIndexed, left, bottom,
+ width and height specify the left, bottom, width
+ and height of the scissor box, in pixels, respectively.
+ For glScissorIndexedv, v specifies the address of an
+ array containing integers specifying the lower left corner of the scissor box, and the width and
+ height of the scissor box, in that order.
+
+
+ To enable and disable the scissor test, call
+ glEnable and glDisable with argument
+ GL_SCISSOR_TEST. The test is initially disabled for all viewports.
+ While the test is enabled, only pixels that lie within the scissor box
+ can be modified by drawing commands.
+ Window coordinates have integer values at the shared corners of
+ frame buffer pixels.
+ glScissor(0,0,1,1)
allows modification of only the lower left
+ pixel in the window, and glScissor(0,0,0,0)
doesn't allow
+ modification of any pixels in the window.
+
+
+ When the scissor test is disabled,
+ it is as though the scissor box includes the entire window.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if any width or height specified in the array v is negative.
+
+
+ Associated Gets
+
+ glGet with argument GL_SCISSOR_BOX
+
+
+ glIsEnabled with argument GL_SCISSOR_TEST
+
+
+ See Also
+
+ glEnable,
+ glScissor,
+ glScissorArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glShaderBinary.xml b/Source/Bind/Specifications/Docs/glShaderBinary.xml
new file mode 100644
index 00000000..c5b82d3f
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glShaderBinary.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glShaderBinary
+ 3G
+
+
+ glShaderBinary
+ load pre-compiled shader binaries
+
+ C Specification
+
+
+ void glShaderBinary
+ GLsizei count
+ const GLuint *shaders
+ GLenum binaryFormat
+ const void *binary
+ GLsizei length
+
+
+
+ Parameters
+
+
+ count
+
+
+ Specifies the number of shader object handles contained in shaders.
+
+
+
+
+ shaders
+
+
+ Specifies the address of an array of shader handles into which to load pre-compiled shader binaries.
+
+
+
+
+ binaryFormat
+
+
+ Specifies the format of the shader binaries contained in binary.
+
+
+
+
+ binary
+
+
+ Specifies the address of an array of bytes containing pre-compiled binary shader code.
+
+
+
+
+ length
+
+
+ Specifies the length of the array whose address is given in binary.
+
+
+
+
+
+ Description
+
+ glShaderBinary loads pre-compiled shader binary code into the count
+ shader objects whose handles are given in shaders. binary
+ points to length bytes of binary shader code stored in client memory.
+ binaryFormat specifies the format of the pre-compiled code.
+
+
+ The binary image contained in binary will be decoded according to the extension
+ specification defining the specified binaryFormat token. OpenGL
+ does not define any specific binary formats, but it does provide a mechanism to obtain token
+ vaues for such formats provided by such extensions.
+
+
+ Depending on the types of the shader objects in shaders, glShaderBinary
+ will individually load binary vertex or fragment shaders, or load an executable binary that contains an optimized
+ pair of vertex and fragment shaders stored in the same binary.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if more than one of the handles in
+ shaders refers to the same shader object.
+
+
+ GL_INVALID_ENUM is generated if binaryFormat is not an
+ accepted value.
+
+
+ GL_INVALID_VALUE is generated if the data pointed to by binary
+ does not match the format specified by binaryFormat.
+
+
+ Associated Gets
+
+ glGet with parameter GL_NUM_SHADER_BINARY_FORMATS.
+
+
+ glGet with parameter GL_SHADER_BINARY_FORMATS.
+
+
+ See Also
+
+ glGetProgram,
+ glGetProgramBinary,
+ glProgramBinary
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glShaderSource.xml b/Source/Bind/Specifications/Docs/glShaderSource.xml
index 740d3c9b..2d64a1ef 100644
--- a/Source/Bind/Specifications/Docs/glShaderSource.xml
+++ b/Source/Bind/Specifications/Docs/glShaderSource.xml
@@ -75,9 +75,6 @@
the specified shader object.
Notes
- glShaderSource is available only if
- the GL version is 2.0 or greater.
-
OpenGL copies the shader source code strings when
glShaderSource is called, so an application
may free its copy of the source code strings immediately after
@@ -94,12 +91,6 @@
GL_INVALID_VALUE is generated if
count is less than 0.
- GL_INVALID_OPERATION is generated if
- glShaderSource is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetShader
diff --git a/Source/Bind/Specifications/Docs/glStencilFunc.xml b/Source/Bind/Specifications/Docs/glStencilFunc.xml
index 467b6f2f..3da7c332 100644
--- a/Source/Bind/Specifications/Docs/glStencilFunc.xml
+++ b/Source/Bind/Specifications/Docs/glStencilFunc.xml
@@ -256,11 +256,6 @@
GL_INVALID_ENUM is generated if func is not one of the eight
accepted values.
-
- GL_INVALID_OPERATION is generated if glStencilFunc
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -276,7 +271,6 @@
See Also
- glAlphaFunc,
glBlendFunc,
glDepthFunc,
glEnable,
diff --git a/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml
index 8a9c0fd0..4a689ca4 100644
--- a/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml
+++ b/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml
@@ -253,10 +253,6 @@
Notes
-
- glStencilFuncSeparate is available only if
- the GL version is 2.0 or greater.
-
Initially, the stencil test is disabled.
If there is no stencil buffer,
@@ -269,11 +265,6 @@
GL_INVALID_ENUM is generated if func is not one of the eight
accepted values.
-
- GL_INVALID_OPERATION is generated if glStencilFuncSeparate
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -289,7 +280,6 @@
See Also
- glAlphaFunc,
glBlendFunc,
glDepthFunc,
glEnable,
diff --git a/Source/Bind/Specifications/Docs/glStencilMask.xml b/Source/Bind/Specifications/Docs/glStencilMask.xml
index 744631bd..65b13dbf 100644
--- a/Source/Bind/Specifications/Docs/glStencilMask.xml
+++ b/Source/Bind/Specifications/Docs/glStencilMask.xml
@@ -70,13 +70,6 @@
with face set to GL_FRONT_AND_BACK.
- Errors
-
- GL_INVALID_OPERATION is generated if glStencilMask
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
-
Associated Gets
glGet with argument
@@ -88,7 +81,6 @@
glColorMask,
glDepthMask,
- glIndexMask,
glStencilFunc,
glStencilFuncSeparate,
glStencilMaskSeparate,
diff --git a/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml
index 4616a766..f54f87ef 100644
--- a/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml
+++ b/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml
@@ -77,17 +77,9 @@
with face set to GL_FRONT_AND_BACK.
- Notes
-
- glStencilMaskSeparate is available only if
- the GL version is 2.0 or greater.
-
-
Errors
- GL_INVALID_OPERATION is generated if glStencilMaskSeparate
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_ENUM is generated if face is not one of the accepted tokens.
Associated Gets
@@ -101,7 +93,6 @@
glColorMask,
glDepthMask,
- glIndexMask,
glStencilFunc,
glStencilFuncSeparate,
glStencilMask,
diff --git a/Source/Bind/Specifications/Docs/glStencilOp.xml b/Source/Bind/Specifications/Docs/glStencilOp.xml
index d9e4f1eb..1b6752e9 100644
--- a/Source/Bind/Specifications/Docs/glStencilOp.xml
+++ b/Source/Bind/Specifications/Docs/glStencilOp.xml
@@ -188,7 +188,7 @@
When incremented and decremented,
values are clamped to 0 and
-
+
2
n
@@ -215,10 +215,6 @@
Notes
-
- GL_DECR_WRAP and GL_INCR_WRAP are available only if the GL
- version is 1.4 or greater.
-
Initially the stencil test is disabled.
If there is no stencil buffer,
@@ -235,12 +231,7 @@
Errors
GL_INVALID_ENUM is generated if sfail,
- dpfail, or dppass is any value other than the eight defined constant values.
-
-
- GL_INVALID_OPERATION is generated if glStencilOp
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ dpfail, or dppass is any value other than the defined constant values.
Associated Gets
@@ -257,7 +248,6 @@
See Also
- glAlphaFunc,
glBlendFunc,
glDepthFunc,
glEnable,
diff --git a/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml
index 4be10590..409cee1f 100644
--- a/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml
+++ b/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml
@@ -229,10 +229,6 @@
Notes
-
- glStencilOpSeparate is available only if
- the GL version is 2.0 or greater.
-
Initially the stencil test is disabled.
If there is no stencil buffer,
@@ -249,11 +245,6 @@
GL_INVALID_ENUM is generated if sfail,
dpfail, or dppass is any value other than the eight defined constant values.
-
- GL_INVALID_OPERATION is generated if glStencilOpSeparate
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
@@ -269,7 +260,6 @@
See Also
- glAlphaFunc,
glBlendFunc,
glDepthFunc,
glEnable,
diff --git a/Source/Bind/Specifications/Docs/glTexBuffer.xml b/Source/Bind/Specifications/Docs/glTexBuffer.xml
new file mode 100644
index 00000000..82a74c31
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glTexBuffer.xml
@@ -0,0 +1,498 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glTexBuffer
+ 3G
+
+
+ glTexBuffer
+ attach the storage for a buffer object to the active buffer texture
+
+ C Specification
+
+
+ void glTexBuffer
+ GLenum target
+ GLenum internalFormat
+ Gluintbuffer
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the operation and must be GL_TEXTURE_BUFFER.
+
+
+
+
+ internalFormat
+
+
+ Specifies the internal format of the data in the store belonging to buffer.
+
+
+
+
+ buffer
+
+
+ Specifies the name of the buffer object whose storage to attach to the active buffer texture.
+
+
+
+
+
+ Description
+
+ glTexBuffer attaches the storage for the buffer object named buffer to the active
+ buffer texture, and specifies the internal format for the texel array found in the attached buffer object. If buffer
+ is zero, any buffer object attached to the buffer texture is detached and no new buffer object is attached. If buffer
+ is non-zero, it must be the name of an existing buffer object. target must be GL_TEXTURE_BUFFER.
+ internalformat specifies the storage format, and must be one of the following sized internal formats:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+
+
+
+ Sized Internal Format
+ Base Type
+ Components
+ Norm
+ 0
+ 1
+ 2
+ 3
+
+
+ GL_R8
+ ubyte
+ 1
+ YES
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R16
+ ushort
+ 1
+ YES
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R16F
+ half
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R32F
+ float
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R8I
+ byte
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R16I
+ short
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R32I
+ int
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R8UI
+ ubyte
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R16UI
+ ushort
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_R32UI
+ uint
+ 1
+ NO
+ R
+ 0
+ 0
+ 1
+
+
+ GL_RG8
+ ubyte
+ 2
+ YES
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG16
+ ushort
+ 2
+ YES
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG16F
+ half
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG32F
+ float
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG8I
+ byte
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG16I
+ short
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG32I
+ int
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG8UI
+ ubyte
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG16UI
+ ushort
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RG32UI
+ uint
+ 2
+ NO
+ R
+ G
+ 0
+ 1
+
+
+ GL_RGB32F
+ float
+ 3
+ NO
+ R
+ G
+ B
+ 1
+
+
+ GL_RGB32I
+ int
+ 3
+ NO
+ R
+ G
+ B
+ 1
+
+
+ GL_RGB32UI
+ uint
+ 3
+ NO
+ R
+ G
+ B
+ 1
+
+
+ GL_RGBA8
+ uint
+ 4
+ YES
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA16
+ short
+ 4
+ YES
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA16F
+ half
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA32F
+ float
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA8I
+ byte
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA16I
+ short
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA32I
+ int
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA8UI
+ ubyte
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA16UI
+ ushort
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+ GL_RGBA32UI
+ uint
+ 4
+ NO
+ R
+ G
+ B
+ A
+
+
+
+
+
+ When a buffer object is attached to a buffer texture, the buffer object's data store
+ is taken as the texture's texel array. The number of texels in the buffer texture's
+ texel array is given by
+
+
+
+
+
+ buffer_size
+
+
+ components × sizeof(base_type)
+
+
+
+
+
+ where buffer_size is the size of the buffer object, in basic machine units and
+ components and base type are the element count and base data type for elements, as specified in the table above.
+ The number of texels in the texel array is then clamped to the implementation-dependent limit GL_MAX_TEXTURE_BUFFER_SIZE.
+ When a buffer texture is accessed in a shader, the results of a texel fetch are undefined if the specified texel coordinate is negative, or
+ greater than or equal to the clamped number of texels in the texel array.
+
+
+ Errors
+
+ GL_INVALID_ENUM is generated if target is not GL_TEXTURE_BUFFER.
+
+
+ GL_INVALID_ENUM is generated if internalFormat is not one of the accepted tokens.
+
+
+ GL_INVALID_OPERATION is generated if buffer is not zero or the name of an existing buffer object.
+
+
+ Notes
+
+ glTexBuffer is available only if the GL version is 3.1 or greater.
+
+
+ Associated Gets
+ glGet
+ with argument GL_MAX_TEXTURE_BUFFER_SIZE
+ glGet
+ with argument GL_TEXTURE_BINDING_BUFFER
+ glGetTexLevelParameter
+ with argument GL_TEXTURE_BUFFER_DATA_STORE_BINDING
+
+ See Also
+
+ glGenBuffers,
+ glBindBuffer,
+ glBufferData,
+ glDeleteBuffers,
+ glGenTextures,
+ glBindTexture,
+ glDeleteTextures
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glTexImage1D.xml b/Source/Bind/Specifications/Docs/glTexImage1D.xml
index 14378ef5..b83ec764 100644
--- a/Source/Bind/Specifications/Docs/glTexImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glTexImage1D.xml
@@ -1,4 +1,4 @@
-
+
@@ -60,40 +60,20 @@
Specifies the number of color components in the texture.
- Must be 1, 2, 3, or 4, or one of the following symbolic constants:
- GL_ALPHA,
- GL_ALPHA4,
- GL_ALPHA8,
- GL_ALPHA12,
- GL_ALPHA16,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
+ Must be one of the following symbolic constants:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
GL_COMPRESSED_RGB,
GL_COMPRESSED_RGBA,
+ GL_COMPRESSED_SRGB,
+ GL_COMPRESSED_SRGB_ALPHA,
GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16,
GL_DEPTH_COMPONENT24,
GL_DEPTH_COMPONENT32,
- GL_LUMINANCE,
- GL_LUMINANCE4,
- GL_LUMINANCE8,
- GL_LUMINANCE12,
- GL_LUMINANCE16,
- GL_LUMINANCE_ALPHA,
- GL_LUMINANCE4_ALPHA4,
- GL_LUMINANCE6_ALPHA2,
- GL_LUMINANCE8_ALPHA8,
- GL_LUMINANCE12_ALPHA4,
- GL_LUMINANCE12_ALPHA12,
- GL_LUMINANCE16_ALPHA16,
- GL_INTENSITY,
- GL_INTENSITY4,
- GL_INTENSITY8,
- GL_INTENSITY12,
- GL_INTENSITY16,
GL_R3_G3_B2,
+ GL_RED,
+ GL_RG,
GL_RGB,
GL_RGB4,
GL_RGB5,
@@ -109,10 +89,6 @@
GL_RGB10_A2,
GL_RGBA12,
GL_RGBA16,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA,
- GL_SLUMINANCE8_ALPHA8,
GL_SRGB,
GL_SRGB8,
GL_SRGB_ALPHA, or
@@ -124,27 +100,8 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support texture images that are at least 64 texels
+ Specifies the width of the texture image.
+ All implementations support texture images that are at least 1024 texels
wide. The height of the 1D texture image is 1.
@@ -152,10 +109,9 @@
border
-
- Specifies the width of the border.
- Must be either 0 or 1.
-
+
+ This value must be 0.
+
@@ -164,17 +120,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -186,7 +137,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -233,8 +183,7 @@
(see glTexParameter),
and the internal resolution and format used to store the image.
The last three arguments describe how the image is represented in
- memory; they are identical to the pixel formats used for
- glDrawPixels.
+ memory.
If target is GL_PROXY_TEXTURE_1D, no data is read from data, but
@@ -259,9 +208,6 @@
or four values,
depending on format,
to form elements.
- If type is GL_BITMAP,
- the data is considered as a string of unsigned bytes
- (and format must be GL_COLOR_INDEX).
Each data byte is treated as eight 1-bit elements,
with bit ordering determined by GL_UNPACK_LSB_FIRST
(see glPixelStore).
@@ -282,27 +228,6 @@
It can assume one of these symbolic values:
-
- GL_COLOR_INDEX
-
-
- Each element is a single value,
- a color index.
- The GL converts it to fixed point
- (with an unspecified number of zero bits to the right of the binary point),
- shifted left or right depending on the value and sign of GL_INDEX_SHIFT,
- and added to GL_INDEX_OFFSET
- (see glPixelTransfer).
- The resulting index is converted to a set of color components
- using the
- GL_PIXEL_MAP_I_TO_R,
- GL_PIXEL_MAP_I_TO_G,
- GL_PIXEL_MAP_I_TO_B, and
- GL_PIXEL_MAP_I_TO_A tables,
- and clamped to the range [0,1].
-
-
-
GL_RED
@@ -312,65 +237,20 @@
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
- GL_GREEN
+ GL_RG
- Each element is a single green component.
+ Each element is a single red/green double
The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and blue, and 1 for alpha.
+ by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_BLUE
-
-
- Each element is a single blue component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and green, and 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_ALPHA
-
-
- Each element is a single alpha component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_INTENSITY
-
-
- Each element is a single intensity value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the intensity value
- three times for red, green, blue, and alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -388,8 +268,7 @@
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -405,37 +284,7 @@
Each element contains all four components.
Each component is multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE
-
-
- Each element is a single luminance value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue and attaching 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE_ALPHA
-
-
- Each element is a luminance/alpha pair.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1] (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -446,32 +295,23 @@
Each element is a single depth value.
The GL converts it to floating point, multiplies by the signed scale factor
GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS,
- and clamps to the range [0,1] (see glPixelTransfer).
+ and clamps to the range [0,1].
-
- Refer to the glDrawPixels reference page for a description of
- the acceptable values for the type parameter.
-
If an application wants to store the texture at a certain
resolution or in a certain format, it can request the resolution
and format with internalFormat. The GL will choose an internal
representation that closely approximates that requested by internalFormat, but
it may not match exactly.
- (The representations specified by GL_LUMINANCE,
- GL_LUMINANCE_ALPHA, GL_RGB,
- and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4
- may also be used to specify the above representations.)
+ (The representations specified by GL_RED, GL_RG,
+ GL_RGB and GL_RGBA must match exactly.)
If the internalFormat parameter is one of the generic compressed formats,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
+ GL_COMPRESSED_RED, GL_COMPRESSED_RG,
GL_COMPRESSED_RGB, or
GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format.
@@ -479,12 +319,8 @@
If the internalFormat parameter is
GL_SRGB,
GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, or
- GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
+ GL_SRGB_ALPHAor
+ GL_SRGB8_ALPHA8, the texture is treated as if the red, green, or blue components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
c
s
@@ -599,127 +435,14 @@
A four-component image uses all of the RGBA components.
- Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison.
+ Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison.
Notes
- Texturing has no effect in color index mode.
+ glPixelStore modes affect texture images.
- If the ARB_imaging
extension is supported, RGBA elements may
- also be processed by the imaging pipeline. The following stages may be
- applied to an RGBA color before color component clamping to the range
-
-
-
- 0
- 1
-
- :
-
-
-
- 1. Color component replacement by the color table specified for
-
-
- GL_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 2. One-dimensional convolution filtering, if enabled. See
-
-
- glConvolutionFilter1D.
-
-
- If a convolution filter changes the width of the texture (by
- processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for
- example), the width must
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
- ,
- for some
- integer
- n,
- after filtering.
-
-
-
-
- 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE,
-
-
- and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See
- glPixelTransfer.
-
-
-
-
- 4. Color component replacement by the color table specified for
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 5. Transformation by the color matrix.
-
-
- See glMatrixMode.
-
-
-
-
- 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE,
-
-
- and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See
- glPixelTransfer.
-
-
-
-
- 7. Color component replacement by the color table specified for
-
-
- GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
-
- The texture image can be represented by the same data formats
- as the pixels in a glDrawPixels command,
- except that GL_STENCIL_INDEX
- cannot be used.
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- GL_PROXY_TEXTURE_1D may be used only if the GL version is 1.1 or greater.
-
-
- Internal formats other than 1, 2, 3, or 4 may be
- used only if the GL version is 1.1 or greater.
-
-
- In GL version 1.1 or greater,
data may be a null pointer. In this case texture memory is
allocated to accommodate a texture of width width.
You can then download subtextures to initialize the
@@ -727,46 +450,9 @@
an uninitialized portion of the texture image to a primitive.
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- When the ARB_multitexture
extension is supported, or the GL version is 1.3 or greater, glTexImage1D
- specifies the one-dimensional texture for the current texture unit,
+ glTexImage1D specifies the one-dimensional texture for the current texture unit,
specified with glActiveTexture.
-
- GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only
- if the GL version is 1.4 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
- The
- GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, and
- GL_SLUMINANCE8_ALPHA8
- internal formats are only available if the GL version is 2.1 or greater.
-
Errors
@@ -781,17 +467,13 @@
GL_INVALID_ENUM is generated if type is not a type constant.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
-
GL_INVALID_VALUE is generated if level is less than 0.
GL_INVALID_VALUE may be generated if level is greater than
-
+
log
2
@@ -805,17 +487,17 @@
where max is the returned value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or
+ GL_INVALID_VALUE is generated if internalFormat is not
one of the accepted resolution and format symbolic constants.
GL_INVALID_VALUE is generated if width is less than 0
- or greater than 2 + GL_MAX_TEXTURE_SIZE.
+ or greater than GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as
-
+
2
n
@@ -881,19 +563,11 @@
GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glTexImage1D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_1D
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -901,20 +575,12 @@
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexSubImage1D,
- glConvolutionFilter1D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexSubImage1D,
- glDrawPixels,
glGetCompressedTexImage,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glTexImage2D.xml b/Source/Bind/Specifications/Docs/glTexImage2D.xml
index b10abc5b..56a5912d 100644
--- a/Source/Bind/Specifications/Docs/glTexImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glTexImage2D.xml
@@ -1,4 +1,4 @@
-
+
@@ -43,6 +43,8 @@
Specifies the target texture.
Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D,
+ GL_TEXTURE_1D_ARRAY, GL_PROXY_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_RECTANGLE, GL_PROXY_TEXTURE_RECTANGLE,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
@@ -60,6 +62,8 @@
Specifies the level-of-detail number.
Level 0 is the base image level.
Level n is the nth mipmap reduction image.
+ If target is GL_TEXTURE_RECTANGLE or
+ GL_PROXY_TEXTURE_RECTANGLE, level must be 0.
@@ -68,40 +72,20 @@
Specifies the number of color components in the texture.
- Must be 1, 2, 3, or 4, or one of the following symbolic constants:
- GL_ALPHA,
- GL_ALPHA4,
- GL_ALPHA8,
- GL_ALPHA12,
- GL_ALPHA16,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
+ Must be one of the following symbolic constants:
+ GL_COMPRESSED_RED,
+ GL_COMPRESSED_RG,
GL_COMPRESSED_RGB,
GL_COMPRESSED_RGBA,
+ GL_COMPRESSED_SRGB,
+ GL_COMPRESSED_SRGB_ALPHA,
GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16,
GL_DEPTH_COMPONENT24,
GL_DEPTH_COMPONENT32,
- GL_LUMINANCE,
- GL_LUMINANCE4,
- GL_LUMINANCE8,
- GL_LUMINANCE12,
- GL_LUMINANCE16,
- GL_LUMINANCE_ALPHA,
- GL_LUMINANCE4_ALPHA4,
- GL_LUMINANCE6_ALPHA2,
- GL_LUMINANCE8_ALPHA8,
- GL_LUMINANCE12_ALPHA4,
- GL_LUMINANCE12_ALPHA12,
- GL_LUMINANCE16_ALPHA16,
- GL_INTENSITY,
- GL_INTENSITY4,
- GL_INTENSITY8,
- GL_INTENSITY12,
- GL_INTENSITY16,
GL_R3_G3_B2,
+ GL_RED,
+ GL_RG,
GL_RGB,
GL_RGB4,
GL_RGB5,
@@ -117,10 +101,6 @@
GL_RGB10_A2,
GL_RGBA12,
GL_RGBA16,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA,
- GL_SLUMINANCE8_ALPHA8,
GL_SRGB,
GL_SRGB8,
GL_SRGB_ALPHA, or
@@ -132,27 +112,8 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support texture images that are at least 64 texels
+ Specifies the width of the texture image.
+ All implementations support texture images that are at least 1024 texels
wide.
@@ -161,28 +122,11 @@
height
- Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- m
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- m.
- All
- implementations support texture images that are at least 64 texels
- high.
+ Specifies the height of the texture image, or the number of layers in a texture
+ array, in the case of the GL_TEXTURE_1D_ARRAY and
+ GL_PROXY_TEXTURE_1D_ARRAY targets.
+ All implementations support 2D texture images that are at least 1024 texels
+ high, and texture arrays that are at least 256 layers deep.
@@ -190,8 +134,7 @@
border
- Specifies the width of the border.
- Must be either 0 or 1.
+ This value must be 0.
@@ -201,17 +144,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -223,7 +161,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -256,51 +193,50 @@
Description
- Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. To enable and disable texturing using cube-mapped texture, call glEnable and glDisable with argument GL_TEXTURE_CUBE_MAP.
+ Texturing allows elements of an image array to be read by shaders.
To define texture images, call glTexImage2D.
The arguments describe the parameters of the texture image,
- such as height,
- width,
- width of the border,
- level-of-detail number
+ such as height, width, width of the border, level-of-detail number
(see glTexParameter),
and number of color components provided.
- The last three arguments describe how the image is represented in memory;
- they are identical to the pixel formats used for glDrawPixels.
+ The last three arguments describe how the image is represented in memory.
- If target is GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP, no data is read from data, but
+ If target is GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_1D_ARRAY,
+ GL_PROXY_TEXTURE_CUBE_MAP, or GL_PROXY_TEXTURE_RECTANGLE,
+ no data is read from data, but
all of the texture image state is recalculated, checked for
consistency, and checked
against the implementation's capabilities. If the implementation cannot
handle a texture of the requested texture size, it sets
all of the image state to 0,
but does not generate an error (see glGetError). To query for an
- entire mipmap array, use an image array level greater than or equal to
- 1.
+ entire mipmap array, use an image array level greater than or equal to 1.
- If target is GL_TEXTURE_2D, or one of the GL_TEXTURE_CUBE_MAP
+ If target is GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE
+ or one of the GL_TEXTURE_CUBE_MAP
targets, data is read from data as a sequence of signed or unsigned
bytes, shorts, or longs, or single-precision floating-point values,
depending on type. These values are grouped into sets of one, two,
- three, or four values, depending on format, to form elements. If type
- is GL_BITMAP, the data is considered as a string of unsigned bytes
- (and format must be GL_COLOR_INDEX).
+ three, or four values, depending on format, to form elements.
Each data byte is treated as eight 1-bit elements,
with bit ordering determined by GL_UNPACK_LSB_FIRST
(see glPixelStore).
+
+ If target is GL_TEXTURE_1D_ARRAY, data is interpreted
+ as an array of one-dimensional images.
+
If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target
(see glBindBuffer) while a texture image is
specified, data is treated as a byte offset into the buffer object's data store.
- The first element corresponds to the lower left corner of the texture
- image.
+ The first element corresponds to the lower left corner of the texture image.
Subsequent elements progress left-to-right through the remaining texels
in the lowest row of the texture image, and then in successively higher
rows of the texture image.
@@ -312,27 +248,6 @@
It can assume one of these symbolic values:
-
- GL_COLOR_INDEX
-
-
- Each element is a single value,
- a color index.
- The GL converts it to fixed point
- (with an unspecified number of zero bits to the right of the binary point),
- shifted left or right depending on the value and sign of GL_INDEX_SHIFT,
- and added to GL_INDEX_OFFSET
- (see glPixelTransfer).
- The resulting index is converted to a set of color components
- using the
- GL_PIXEL_MAP_I_TO_R,
- GL_PIXEL_MAP_I_TO_G,
- GL_PIXEL_MAP_I_TO_B, and
- GL_PIXEL_MAP_I_TO_A tables,
- and clamped to the range [0,1].
-
-
-
GL_RED
@@ -342,65 +257,20 @@
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
- GL_GREEN
+ GL_RG
- Each element is a single green component.
+ Each element is a red/green double.
The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and blue, and 1 for alpha.
+ by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_BLUE
-
-
- Each element is a single blue component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and green, and 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_ALPHA
-
-
- Each element is a single alpha component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_INTENSITY
-
-
- Each element is a single intensity value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the intensity value
- three times for red, green, blue, and alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -418,8 +288,7 @@
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -435,37 +304,7 @@
Each element contains all four components.
Each component is multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE
-
-
- Each element is a single luminance value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue and attaching 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE_ALPHA
-
-
- Each element is a luminance/alpha pair.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1] (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -476,146 +315,145 @@
Each element is a single depth value.
The GL converts it to floating point, multiplies by the signed scale factor
GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS,
- and clamps to the range [0,1] (see glPixelTransfer).
+ and clamps to the range [0,1].
+
+ GL_DEPTH_STENCIL
+
+
+ Each element is a pair of depth and stencil values. The depth component of
+ the pair is interpreted as in GL_DEPTH_COMPONENT. The stencil
+ component is interpreted based on specified the depth + stencil internal format.
+
+
+
-
- Refer to the glDrawPixels reference page for a description of
- the acceptable values for the type parameter.
-
If an application wants to store the texture at a certain
resolution or in a certain format, it can request the resolution
and format with internalFormat. The GL will choose an internal
representation that closely approximates that requested by internalFormat, but
it may not match exactly.
- (The representations specified by GL_LUMINANCE,
- GL_LUMINANCE_ALPHA, GL_RGB,
- and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4
- may also be used to specify the above representations.)
+ (The representations specified by GL_RED,
+ GL_RG, GL_RGB,
+ and GL_RGBA must match exactly.)
- If the internalFormat parameter is one of the generic compressed formats,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_RGB, or
- GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format.
+ If the internalFormat parameter is one of the generic compressed formats,
+ GL_COMPRESSED_RED, GL_COMPRESSED_RG,
+ GL_COMPRESSED_RGB, or
+ GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format.
- If the internalFormat parameter is
+ If the internalFormat parameter is
GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, or
- GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
-
+ GL_SRGB8,
+ GL_SRGB_ALPHA, or
+ GL_SRGB8_ALPHA8, the texture is treated as if the red, green, or blue components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
+
c
s
- to a linear component
-
+ to a linear component
+
c
l
is:
-
-
-
-
-
- c
- l
-
- =
-
- {
-
-
-
-
-
-
- c
- s
-
- 12.92
-
-
-
-
-
- if
-
-
-
- c
- s
-
- ≤
- 0.04045
-
-
-
-
-
-
- (
-
-
-
- c
- s
-
- +
- 0.055
-
- 1.055
-
- )
-
- 2.4
-
-
-
-
-
- if
-
-
-
- c
- s
-
- >
- 0.04045
-
-
-
-
-
-
-
-
-
- Assume
-
- c
- s
-
-
- is the sRGB component in the range [0,1].
+
+
+
+
+
+ c
+ l
+
+ =
+
+ {
+
+
+
+
+
+
+ c
+ s
+
+ 12.92
+
+
+
+
+
+ if
+
+
+
+ c
+ s
+
+ ≤
+ 0.04045
+
+
+
+
+
+
+ (
+
+
+
+ c
+ s
+
+ +
+ 0.055
+
+ 1.055
+
+ )
+
+ 2.4
+
+
+
+
+
+ if
+
+
+
+ c
+ s
+
+ >
+ 0.04045
+
+
+
+
+
+
+
+
+
+ Assume
+
+ c
+ s
+
+
+ is the sRGB component in the range [0,1].
- Use the GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP target to try out a resolution and
+ Use the GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_1D_ARRAY,
+ GL_PROXY_TEXTURE_RECTANGLE, or GL_PROXY_TEXTURE_CUBE_MAP target to try out a resolution and
format. The implementation will
update and recompute its best match for the requested storage resolution
and format. To then query this state, call glGetTexLevelParameter.
@@ -624,153 +462,22 @@
A one-component texture image uses only the red component of the RGBA
color extracted from data.
- A two-component image uses the R and A values.
+ A two-component image uses the R and G values.
A three-component image uses the R, G, and B values.
A four-component image uses all of the RGBA components.
- Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison.
+ Image-based shadowing can be enabled by comparing texture r coordinates to
+ depth texture values to generate a boolean result.
+ See glTexParameter for details on texture comparison.
Notes
- Texturing has no effect in color index mode.
+ The glPixelStore mode affects texture images.
- If the ARB_imaging
extension is supported, RGBA elements may
- also be processed by the imaging pipeline. The following stages may be
- applied to an RGBA color before color component clamping to the range
-
-
-
- 0
- 1
-
- :
-
-
-
- 1. Color component replacement by the color table specified for
-
-
- GL_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 2. Two-dimensional Convolution filtering, if enabled.
-
-
- See glConvolutionFilter1D.
-
-
- If a convolution filter changes the width of the texture (by
- processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for
- example), and the GL does not support non-power-of-two textures, the width must
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
- ,
- for some
- integer
- n,
- and height must be
-
-
-
- 2
- m
-
- +
-
- 2
- ⁡
-
- border
-
-
-
- ,
- for some
- integer
- m,
- after filtering.
-
-
-
-
- 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE,
-
-
- and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See
- glPixelTransfer.
-
-
-
-
- 4. Color component replacement by the color table specified for
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 5. Transformation by the color matrix.
-
-
- See glMatrixMode.
-
-
-
-
- 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE,
-
-
- and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See
- glPixelTransfer.
-
-
-
-
- 7. Color component replacement by the color table specified for
-
-
- GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
-
- The texture image can be represented by the same data formats
- as the pixels in a glDrawPixels command,
- except that GL_STENCIL_INDEX
- cannot be used.
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- glTexImage2D and GL_PROXY_TEXTURE_2D are available only if the GL
- version is 1.1 or greater.
-
-
- Internal formats other than 1, 2, 3, or 4 may be used only if the GL
- version is 1.1 or greater.
-
-
- In GL version 1.1 or greater, data may be a null pointer.
+ data may be a null pointer.
In this case, texture memory is
allocated to accommodate a texture of width width and height height.
You can then download subtextures to initialize this
@@ -779,76 +486,44 @@
an uninitialized portion of the texture image to a primitive.
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- When the ARB_multitexture
extension is supported or the GL version is 1.3 or greater, glTexImage2D
- specifies the two-dimensional texture for the current texture unit,
+ glTexImage2D specifies the two-dimensional texture for the current texture unit,
specified with glActiveTexture.
-
- GL_TEXTURE_CUBE_MAP and GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL
- version is 1.3 or greater.
-
-
- GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only
- if the GL version is 1.4 or greater.
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
- The
- GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, and
- GL_SLUMINANCE8_ALPHA8
- internal formats are only available if the GL version is 2.1 or greater.
-
Errors
- GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D,
+ GL_INVALID_ENUM is generated if target is not
+ GL_TEXTURE_2D,
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_RECTANGLE,
GL_PROXY_TEXTURE_2D,
+ GL_PROXY_TEXTURE_1D_ARRAY,
+ GL_PROXY_TEXTURE_RECTANGLE,
GL_PROXY_TEXTURE_CUBE_MAP,
- GL_TEXTURE_CUBE_MAP_POSITIVE_X,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
+ GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
- GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal.
+ GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal.
GL_INVALID_ENUM is generated if type is not a type constant.
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
+ GL_INVALID_VALUE is generated if width is less than 0
+ or greater than GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if width or height is less than 0
- or greater than 2 + GL_MAX_TEXTURE_SIZE.
+ GL_INVALID_VALUE is generated if target is not GL_TEXTURE_1D_ARRAY or
+ GL_PROXY_TEXTURE_1D_ARRAY and height is less than 0 or greater than GL_MAX_TEXTURE_SIZE.
+
+
+ GL_INVALID_VALUE is generated if target is GL_TEXTURE_1D_ARRAY or
+ GL_PROXY_TEXTURE_1D_ARRAY and height is less than 0 or greater than GL_MAX_ARRAY_TEXTURE_LAYERS.
GL_INVALID_VALUE is generated if level is less than 0.
@@ -856,7 +531,7 @@
GL_INVALID_VALUE may be generated if level is greater than
-
+
log
2
@@ -870,17 +545,17 @@
where max is the returned value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the
+ GL_INVALID_VALUE is generated if internalFormat is not one of the
accepted resolution and format symbolic constants.
GL_INVALID_VALUE is generated if width or height is less than 0
- or greater than 2 + GL_MAX_TEXTURE_SIZE.
+ or greater than GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or height cannot be represented as
-
+
2
k
@@ -899,14 +574,15 @@
integer value of k.
- GL_INVALID_VALUE is generated if border is not 0 or 1.
+ GL_INVALID_VALUE is generated if border is not 0.
GL_INVALID_OPERATION is generated if type is one of
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5, or
- GL_UNSIGNED_SHORT_5_6_5_REV
+ GL_UNSIGNED_SHORT_5_6_5,
+ GL_UNSIGNED_SHORT_5_6_5_REV, or
+ GL_UNSIGNED_INT_10F_11F_11F_REV,
and format is not GL_RGB.
@@ -917,26 +593,29 @@
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, or
- GL_UNSIGNED_INT_2_10_10_10_REV
+ GL_UNSIGNED_INT_10_10_10_2,
+ GL_UNSIGNED_INT_2_10_10_10_REV, or
+ GL_UNSIGNED_INT_5_9_9_9_REV,
and format is neither GL_RGBA nor GL_BGRA.
GL_INVALID_OPERATION is generated if target is not
- GL_TEXTURE_2D or GL_PROXY_TEXTURE_2D and internalFormat is
+ GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D,
+ GL_TEXTURE_RECTANGLE, or GL_PROXY_TEXTURE_RECTANGLE,
+ and internalFormat is
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32.
+ GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32F.
GL_INVALID_OPERATION is generated if format is
GL_DEPTH_COMPONENT and internalFormat is not
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32.
+ GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32F.
GL_INVALID_OPERATION is generated if internalFormat is
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16,
- GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32, and format is
+ GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32F, and format is
not GL_DEPTH_COMPONENT.
@@ -954,18 +633,14 @@
into the number of bytes needed to store in memory a datum indicated by type.
- GL_INVALID_OPERATION is generated if glTexImage2D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
+ GL_INVALID_VALUE is generated if target is GL_TEXTURE_RECTANGLE
+ or GL_PROXY_TEXTURE_RECTANGLE and level is not 0.
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -973,21 +648,12 @@
See Also
glActiveTexture,
- glColorTable,
- glConvolutionFilter2D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glSeparableFilter2D,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage3D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml b/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml
new file mode 100644
index 00000000..3f6b7a29
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glTexImage2DMultisample
+ 3G
+
+
+ glTexImage2DMultisample
+ establish the data storage, format, dimensions, and number of samples of a multisample texture's image
+
+ C Specification
+
+
+ void glTexImage2DMultisample
+ GLenum target
+ GLsizei samples
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedsamplelocations
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the operation. target must be GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE.
+
+
+
+
+ samples
+
+
+ The number of samples in the multisample texture's image.
+
+
+
+
+ internalformat
+
+
+ The internal format to be used to store the multisample texture's image. internalformat must specify a color-renderable, depth-renderable, or stencil-renderable format.
+
+
+
+
+ width
+
+
+ The width of the multisample texture's image, in texels.
+
+
+
+
+ height
+
+
+ The height of the multisample texture's image, in texels.
+
+
+
+
+ fixedsamplelocations
+
+
+ Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
+ depend on the internal format or size of the image.
+
+
+
+
+
+ Description
+
+ glTexImage2DMultisample establishes the data storage, format, dimensions and number of samples of a multisample texture's image.
+
+
+ target must be GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE.
+ width and height are the dimensions in texels of the texture, and must be in the range zero
+ to GL_MAX_TEXTURE_SIZE - 1. samples specifies the number of samples in the image and must be
+ in the range zero to GL_MAX_SAMPLES - 1.
+
+
+ internalformat must be a color-renderable, depth-renderable, or stencil-renderable format.
+
+
+ If fixedsamplelocations is GL_TRUE, the image will use identical sample locations and the same
+ number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
+
+
+ When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer
+ corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the
+ multisample texture targets.
+
+
+ Notes
+
+ glTexImage2DMultisample is available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if internalformat is a depth- or stencil-renderable format and samples
+ is greater than the value of GL_MAX_DEPTH_TEXTURE_SAMPLES.
+
+
+ GL_INVALID_OPERATION is generated if internalformat is a color-renderable format and samples is
+ greater than the value of GL_MAX_COLOR_TEXTURE_SAMPLES.
+
+
+ GL_INVALID_OPERATION is generated if internalformat is a signed or unsigned integer format and samples
+ is greater than the value of GL_MAX_INTEGER_SAMPLES.
+
+
+ GL_INVALID_VALUE is generated if either width or height negative or is greater than GL_MAX_TEXTURE_SIZE.
+
+
+ GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES.
+
+
+ See Also
+
+ glTexImage3D,
+ glTexImage2DMultisample
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glTexImage3D.xml b/Source/Bind/Specifications/Docs/glTexImage3D.xml
index c70f9497..7a9ac092 100644
--- a/Source/Bind/Specifications/Docs/glTexImage3D.xml
+++ b/Source/Bind/Specifications/Docs/glTexImage3D.xml
@@ -43,7 +43,8 @@
Specifies the target texture.
- Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
+ Must be one of GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D,
+ GL_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_2D_ARRAY.
@@ -57,7 +58,7 @@
n
is the
-
+
n
th
@@ -71,59 +72,68 @@
Specifies the number of color components in the texture.
- Must be 1, 2, 3, or 4, or one of the following symbolic constants:
- GL_ALPHA,
- GL_ALPHA4,
- GL_ALPHA8,
- GL_ALPHA12,
- GL_ALPHA16,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_RGB,
- GL_COMPRESSED_RGBA,
- GL_LUMINANCE,
- GL_LUMINANCE4,
- GL_LUMINANCE8,
- GL_LUMINANCE12,
- GL_LUMINANCE16,
- GL_LUMINANCE_ALPHA,
- GL_LUMINANCE4_ALPHA4,
- GL_LUMINANCE6_ALPHA2,
- GL_LUMINANCE8_ALPHA8,
- GL_LUMINANCE12_ALPHA4,
- GL_LUMINANCE12_ALPHA12,
- GL_LUMINANCE16_ALPHA16,
- GL_INTENSITY,
- GL_INTENSITY4,
- GL_INTENSITY8,
- GL_INTENSITY12,
- GL_INTENSITY16,
- GL_R3_G3_B2,
- GL_RGB,
- GL_RGB4,
- GL_RGB5,
- GL_RGB8,
- GL_RGB10,
- GL_RGB12,
- GL_RGB16,
- GL_RGBA,
- GL_RGBA2,
- GL_RGBA4,
- GL_RGB5_A1,
- GL_RGBA8,
- GL_RGB10_A2,
- GL_RGBA12,
+ Must be one of the following symbolic constants:
+ GL_RGBA32F,
+ GL_RGBA32I,
+ GL_RGBA32UI,
GL_RGBA16,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA,
- GL_SLUMINANCE8_ALPHA8,
- GL_SRGB,
+ GL_RGBA16F,
+ GL_RGBA16I,
+ GL_RGBA16UI,
+ GL_RGBA8,
+ GL_RGBA8UI,
+ GL_SRGB8_ALPHA8,
+ GL_RGB10_A2,
+ GL_RGBA10_A2UI,
+ GL_R11_G11_B10F,
+ GL_RG32F,
+ GL_RG32I,
+ GL_RG32UI,
+ GL_RG16,
+ GL_RG16F,
+ GL_RGB16I,
+ GL_RGB16UI,
+ GL_RG8,
+ GL_RG8I,
+ GL_RG8UI,
+ GL_R23F,
+ GL_R32I,
+ GL_R32UI,
+ GL_R16F,
+ GL_R16I,
+ GL_R16UI,
+ GL_R8,
+ GL_R8I,
+ GL_R8UI,
+ GL_RGBA16_UNORM,
+ GL_RGBA8_SNORM,
+ GL_RGB32F,
+ GL_RGB32I,
+ GL_RGB32UI,
+ GL_RGB16_SNORM,
+ GL_RGB16F,
+ GL_RGB16I,
+ GL_RGB16UI,
+ GL_RGB16,
+ GL_RGB8_SNORM,
+ GL_RGB8,
+ GL_RGB8I,
+ GL_RGB8UI,
GL_SRGB8,
- GL_SRGB_ALPHA, or
- GL_SRGB8_ALPHA8.
+ GL_RGB9_E5,
+ GL_RG16_SNORM,
+ GL_RG8_SNORM,
+ GL_COMPRESSED_RG_RGTC2,
+ GL_COMPRESSED_SIGNED_RG_RGTC2,
+ GL_R16_SNORM,
+ GL_R8_SNORM,
+ GL_COMPRESSED_RED_RGTC1,
+ GL_COMPRESSED_SIGNED_RED_RGTC1,
+ GL_DEPTH_COMPONENT32F,
+ GL_DEPTH_COMPONENT24,
+ GL_DEPTH_COMPONENT16,
+ GL_DEPTH32F_STENCIL8,
+ GL_DEPTH24_STENCIL8.
@@ -131,27 +141,8 @@
width
- Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- n
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- n.
- All
- implementations support 3D texture images that are at least 16 texels
+ Specifies the width of the texture image.
+ All implementations support 3D texture images that are at least 16 texels
wide.
@@ -160,27 +151,8 @@
height
- Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- m
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- m.
- All
- implementations support 3D texture images that are at least 16 texels
+ Specifies the height of the texture image.
+ All implementations support 3D texture images that are at least 256 texels
high.
@@ -189,28 +161,9 @@
depth
- Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
-
-
-
- 2
- k
-
- +
-
- 2
- ⁡
-
- border
-
-
-
-
- for some integer
- k.
- All
- implementations support 3D texture images that are at least 16 texels
- deep.
+ Specifies the depth of the texture image, or the number of layers in a texture array.
+ All implementations support 3D texture images that are at least 256 texels
+ deep, and texture arrays that are at least 256 layers deep.
@@ -218,8 +171,7 @@
border
- Specifies the width of the border.
- Must be either 0 or 1.
+ This value must be 0.
@@ -229,17 +181,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -251,7 +198,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -298,8 +244,7 @@
level-of-detail number
(see glTexParameter),
and number of color components provided.
- The last three arguments describe how the image is represented in memory;
- they are identical to the pixel formats used for glDrawPixels.
+ The last three arguments describe how the image is represented in memory.
If target is GL_PROXY_TEXTURE_3D, no data is read from data, but
@@ -325,9 +270,6 @@
or four values,
depending on format,
to form elements.
- If type is GL_BITMAP,
- the data is considered as a string of unsigned bytes (and
- format must be GL_COLOR_INDEX).
Each data byte is treated as eight 1-bit elements,
with bit ordering determined by GL_UNPACK_LSB_FIRST
(see glPixelStore).
@@ -351,27 +293,6 @@
It can assume one of these symbolic values:
-
- GL_COLOR_INDEX
-
-
- Each element is a single value,
- a color index.
- The GL converts it to fixed point
- (with an unspecified number of zero bits to the right of the binary point),
- shifted left or right depending on the value and sign of GL_INDEX_SHIFT,
- and added to GL_INDEX_OFFSET
- (see glPixelTransfer).
- The resulting index is converted to a set of color components
- using the
- GL_PIXEL_MAP_I_TO_R,
- GL_PIXEL_MAP_I_TO_G,
- GL_PIXEL_MAP_I_TO_B, and
- GL_PIXEL_MAP_I_TO_A tables,
- and clamped to the range [0,1].
-
-
-
GL_RED
@@ -381,65 +302,20 @@
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
- GL_GREEN
+ GL_RG
- Each element is a single green component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and blue, and 1 for alpha.
+ Each element is a red and green pair.
+ The GL converts each to floating point and assembles it into an RGBA element
+ by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_BLUE
-
-
- Each element is a single blue component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red and green, and 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_ALPHA
-
-
- Each element is a single alpha component.
- The GL converts it to floating point and assembles it into an RGBA element
- by attaching 0 for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_INTENSITY
-
-
- Each element is a single intensity value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the intensity value
- three times for red, green, blue, and alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -457,8 +333,7 @@
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
+ and clamped to the range [0,1].
@@ -474,75 +349,32 @@
Each element contains all four components.
Each component is multiplied by the signed scale factor GL_c_SCALE,
added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE
-
-
- Each element is a single luminance value.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue and attaching 1 for alpha.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1]
- (see glPixelTransfer).
-
-
-
-
- GL_LUMINANCE_ALPHA
-
-
- Each element is a luminance/alpha pair.
- The GL converts it to floating point,
- then assembles it into an RGBA element by replicating the luminance value
- three times for red, green, and blue.
- Each component is then multiplied by the signed scale factor GL_c_SCALE,
- added to the signed bias GL_c_BIAS,
- and clamped to the range [0,1] (see glPixelTransfer).
+ and clamped to the range [0,1].
-
- Refer to the glDrawPixels reference page for a description of
- the acceptable values for the type parameter.
-
If an application wants to store the texture at a certain
resolution or in a certain format, it can request the resolution
and format with internalFormat. The GL will choose an internal
representation that closely approximates that requested by internalFormat, but
it may not match exactly.
- (The representations specified by GL_LUMINANCE,
- GL_LUMINANCE_ALPHA, GL_RGB,
- and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4
- may also be used to specify the above representations.)
+ (The representations specified by GL_RED, GL_RG, GL_RGB,
+ and GL_RGBA must match exactly.)
If the internalFormat parameter is one of the generic compressed formats,
- GL_COMPRESSED_ALPHA,
- GL_COMPRESSED_INTENSITY,
- GL_COMPRESSED_LUMINANCE,
- GL_COMPRESSED_LUMINANCE_ALPHA,
+ GL_COMPRESSED_RED, GL_COMPRESSED_RG,
GL_COMPRESSED_RGB, or
GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format.
If the internalFormat parameter is
GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, or
- GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
+ GL_SRGB8,
+ GL_SRGB_ALPHA, or
+ GL_SRGB8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
c
s
@@ -659,22 +491,7 @@
Notes
- Texturing has no effect in color index mode.
-
-
- The texture image can be represented by the same data formats
- as the pixels in a glDrawPixels command,
- except that GL_STENCIL_INDEX and GL_DEPTH_COMPONENT
- cannot be used.
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- glTexImage3D is available only if the GL version is 1.2 or greater.
-
-
- Internal formats other than 1, 2, 3, or 4 may be used only if the GL
- version is 1.1 or greater.
+ The glPixelStore mode affects texture images.
data may be a null pointer.
@@ -687,94 +504,9 @@
an uninitialized portion of the texture image to a primitive.
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glTexImage3D
- specifies the three-dimensional texture for the current texture unit,
+ glTexImage3D specifies the three-dimensional texture for the current texture unit,
specified with glActiveTexture.
-
- If the ARB_imaging
extension is supported, RGBA elements may
- also be processed by the imaging pipeline. The following stages may be
- applied to an RGBA color before color component clamping to the range
-
-
-
- 0
- 1
-
- :
-
-
-
- 1. Color component replacement by the color table specified for
-
-
- GL_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 2. Color component replacement by the color table specified for
-
-
- GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable.
-
-
-
-
- 3. Transformation by the color matrix. See glMatrixMode.
-
-
-
-
- 4. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE,
-
-
- and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See
- glPixelTransfer.
-
-
-
-
- 5. Color component replacement by the color table specified for
-
-
- GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See
- glColorTable.
-
-
-
-
-
- Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension.
-
-
- The
- GL_SRGB,
- GL_SRGB8,
- GL_SRGB_ALPHA,
- GL_SRGB8_ALPHA8,
- GL_SLUMINANCE,
- GL_SLUMINANCE8,
- GL_SLUMINANCE_ALPHA, and
- GL_SLUMINANCE8_ALPHA8
- internal formats are only available if the GL version is 2.1 or greater.
-
Errors
@@ -789,17 +521,13 @@
GL_INVALID_ENUM is generated if type is not a type constant.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
-
GL_INVALID_VALUE is generated if level is less than 0.
GL_INVALID_VALUE may be generated if level is greater than
-
+
log
2
@@ -813,16 +541,16 @@
where max is the returned value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the
+ GL_INVALID_VALUE is generated if internalFormat is not one of the
accepted resolution and format symbolic constants.
- GL_INVALID_VALUE is generated if width, height, or depth is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE.
+ GL_INVALID_VALUE is generated if width, height, or depth is less than 0 or greater than GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width, height, or depth cannot be represented as
-
+
2
k
@@ -882,19 +610,11 @@
GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glTexImage3D
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_3D
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -902,26 +622,19 @@
See Also
glActiveTexture,
- glColorTable,
glCompressedTexImage1D,
glCompressedTexImage2D,
glCompressedTexImage3D,
glCompressedTexSubImage1D,
glCompressedTexSubImage2D,
glCompressedTexSubImage3D,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
glGetCompressedTexImage,
- glMatrixMode,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
diff --git a/Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml b/Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml
new file mode 100644
index 00000000..9028bfc3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glTexImage3DMultisample
+ 3G
+
+
+ glTexImage3DMultisample
+ establish the data storage, format, dimensions, and number of samples of a multisample texture's image
+
+ C Specification
+
+
+ void glTexImage3DMultisample
+ GLenum target
+ GLsizei samples
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+
+ Parameters
+
+
+ target
+
+
+ Specifies the target of the operation. target must be GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
+
+
+
+
+ samples
+
+
+ The number of samples in the multisample texture's image.
+
+
+
+
+ internalformat
+
+
+ The internal format to be used to store the multisample texture's image. internalformat must specify a color-renderable, depth-renderable, or stencil-renderable format.
+
+
+
+
+ width
+
+
+ The width of the multisample texture's image, in texels.
+
+
+
+
+ height
+
+
+ The height of the multisample texture's image, in texels.
+
+
+
+
+ fixedsamplelocations
+
+
+ Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
+ depend on the internal format or size of the image.
+
+
+
+
+
+ Description
+
+ glTexImage3DMultisample establishes the data storage, format, dimensions and number of samples of a multisample texture's image.
+
+
+ target must be GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
+ width and heightare the dimensions in texels of the texture, and must
+ be in the range zero to GL_MAX_TEXTURE_SIZE - 1. depth is the number of array slices in the array texture's image.
+ samples specifies the number of samples in the image and must be in the range zero to GL_MAX_SAMPLES - 1.
+
+
+ internalformat must be a color-renderable, depth-renderable, or stencil-renderable format.
+
+
+ If fixedsamplelocations is GL_TRUE, the image will use identical sample locations and the same
+ number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
+
+
+ When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer
+ corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the
+ multisample texture targets.
+
+
+ Notes
+
+ glTexImage2DMultisample is available only if the GL version is 3.2 or greater.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if internalformat is a depth- or stencil-renderable format and samples
+ is greater than the value of GL_MAX_DEPTH_TEXTURE_SAMPLES.
+
+
+ GL_INVALID_OPERATION is generated if internalformat is a color-renderable format and samples is
+ greater than the value of GL_MAX_COLOR_TEXTURE_SAMPLES.
+
+
+ GL_INVALID_OPERATION is generated if internalformat is a signed or unsigned integer format and samples
+ is greater than the value of GL_MAX_INTEGER_SAMPLES.
+
+
+ GL_INVALID_VALUE is generated if either width or height negative or is greater than GL_MAX_TEXTURE_SIZE.
+
+
+ GL_INVALID_VALUE is generated if depth is negative or is greater than GL_MAX_ARRAY_TEXTURE_LAYERS.
+
+
+ GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES.
+
+
+ See Also
+
+ glTexImage3D,
+ glTexImage2DMultisample
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glTexParameter.xml b/Source/Bind/Specifications/Docs/glTexParameter.xml
index d7e857ef..5340d3d8 100644
--- a/Source/Bind/Specifications/Docs/glTexParameter.xml
+++ b/Source/Bind/Specifications/Docs/glTexParameter.xml
@@ -43,7 +43,9 @@
Specifies the target texture,
which must be either GL_TEXTURE_1D, GL_TEXTURE_2D,
- GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
+ GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE,
+ or GL_TEXTURE_CUBE_MAP.
@@ -53,20 +55,22 @@
Specifies the symbolic name of a single-valued texture parameter.
pname can be one of the following:
+ GL_TEXTURE_BASE_LEVEL,
+ GL_TEXTURE_COMPARE_FUNC,
+ GL_TEXTURE_COMPARE_MODE,
+ GL_TEXTURE_LOD_BIAS,
GL_TEXTURE_MIN_FILTER,
GL_TEXTURE_MAG_FILTER,
GL_TEXTURE_MIN_LOD,
GL_TEXTURE_MAX_LOD,
- GL_TEXTURE_BASE_LEVEL,
GL_TEXTURE_MAX_LEVEL,
+ GL_TEXTURE_SWIZZLE_R,
+ GL_TEXTURE_SWIZZLE_G,
+ GL_TEXTURE_SWIZZLE_B,
+ GL_TEXTURE_SWIZZLE_A,
GL_TEXTURE_WRAP_S,
- GL_TEXTURE_WRAP_T,
- GL_TEXTURE_WRAP_R,
- GL_TEXTURE_PRIORITY,
- GL_TEXTURE_COMPARE_MODE,
- GL_TEXTURE_COMPARE_FUNC,
- GL_DEPTH_TEXTURE_MODE, or
- GL_GENERATE_MIPMAP.
+ GL_TEXTURE_WRAP_T, or
+ GL_TEXTURE_WRAP_R.
@@ -97,6 +101,22 @@
const GLint * params
+
+
+ void glTexParameterIiv
+ GLenum target
+ GLenum pname
+ const GLint * params
+
+
+
+
+ void glTexParameterIuiv
+ GLenum target
+ GLenum pname
+ const GLuint * params
+
+
Parameters
@@ -105,8 +125,10 @@
Specifies the target texture,
- which must be either GL_TEXTURE_1D, GL_TEXTURE_2D or
- GL_TEXTURE_3D.
+ which must be either GL_TEXTURE_1D, GL_TEXTURE_2D,
+ GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE,
+ or GL_TEXTURE_CUBE_MAP.
@@ -116,21 +138,24 @@
Specifies the symbolic name of a texture parameter.
pname can be one of the following:
+ GL_TEXTURE_BASE_LEVEL,
+ GL_TEXTURE_BORDER_COLOR,
+ GL_TEXTURE_COMPARE_FUNC,
+ GL_TEXTURE_COMPARE_MODE,
+ GL_TEXTURE_LOD_BIAS,
GL_TEXTURE_MIN_FILTER,
GL_TEXTURE_MAG_FILTER,
GL_TEXTURE_MIN_LOD,
GL_TEXTURE_MAX_LOD,
- GL_TEXTURE_BASE_LEVEL,
GL_TEXTURE_MAX_LEVEL,
+ GL_TEXTURE_SWIZZLE_R,
+ GL_TEXTURE_SWIZZLE_G,
+ GL_TEXTURE_SWIZZLE_B,
+ GL_TEXTURE_SWIZZLE_A,
+ GL_TEXTURE_SWIZZLE_RGBA,
GL_TEXTURE_WRAP_S,
- GL_TEXTURE_WRAP_T,
- GL_TEXTURE_WRAP_R,
- GL_TEXTURE_BORDER_COLOR,
- GL_TEXTURE_PRIORITY,
- GL_TEXTURE_COMPARE_MODE,
- GL_TEXTURE_COMPARE_FUNC,
- GL_DEPTH_TEXTURE_MODE, or
- GL_GENERATE_MIPMAP.
+ GL_TEXTURE_WRAP_T, or
+ GL_TEXTURE_WRAP_R.
@@ -146,374 +171,14 @@
Description
-
- Texture mapping is a technique that applies an image onto an object's surface
- as if the image were a decal or cellophane shrink-wrap.
- The image is created in texture space,
- with an
- (s,
- t)
- coordinate system.
- A texture is a one- or two-dimensional image and a set of parameters
- that determine how samples are derived from the image.
-
glTexParameter assigns the value or values in params to the texture parameter
specified as pname.
target defines the target texture,
- either GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D.
+ either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE, or GL_TEXTURE_3D.
The following symbols are accepted in pname:
-
-
- GL_TEXTURE_MIN_FILTER
-
-
- The texture minifying function is used whenever the pixel being textured
- maps to an area greater than one texture element.
- There are six defined minifying functions.
- Two of them use the nearest one or nearest four texture elements
- to compute the texture value.
- The other four use mipmaps.
-
-
- A mipmap is an ordered set of arrays representing the same image
- at progressively lower resolutions.
- If the texture has dimensions
-
-
-
- 2
- n
-
- ×
- 2
- m
-
-
- ,
- there are
-
-
-
-
- max
- ⁡
-
- n
- m
-
-
- +
- 1
-
-
- mipmaps.
- The first mipmap is the original texture,
- with dimensions
-
-
-
- 2
- n
-
- ×
- 2
- m
-
-
- .
- Each subsequent mipmap has dimensions
-
-
-
- 2
-
-
- k
- -
- 1
-
-
-
- ×
- 2
-
-
- l
- -
- 1
-
-
-
-
- ,
- where
-
-
-
- 2
- k
-
- ×
- 2
- l
-
-
-
- are the dimensions of the previous mipmap,
- until either
-
-
-
- k
- =
- 0
-
-
- or
-
-
-
- l
- =
- 0
-
- .
- At that point,
- subsequent mipmaps have dimension
-
-
-
- 1
- ×
- 2
-
-
- l
- -
- 1
-
-
-
-
-
- or
-
-
-
- 2
-
-
- k
- -
- 1
-
-
-
- ×
- 1
-
-
- until the final mipmap,
- which has dimension
-
-
-
- 1
- ×
- 1
-
- .
- To define the mipmaps, call glTexImage1D, glTexImage2D,
- glTexImage3D,
- glCopyTexImage1D, or glCopyTexImage2D
- with the level argument indicating the order of the mipmaps.
- Level 0 is the original texture;
- level
-
-
-
- max
- ⁡
-
- n
- m
-
-
-
- is the final
-
-
-
- 1
- ×
- 1
-
-
- mipmap.
-
-
- params supplies a function for minifying the texture as one of the
- following:
-
-
- GL_NEAREST
-
-
- Returns the value of the texture element that is nearest
- (in Manhattan distance)
- to the center of the pixel being textured.
-
-
-
-
- GL_LINEAR
-
-
- Returns the weighted average of the four texture elements
- that are closest to the center of the pixel being textured.
- These can include border texture elements,
- depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
- and on the exact mapping.
-
-
-
-
- GL_NEAREST_MIPMAP_NEAREST
-
-
- Chooses the mipmap that most closely matches the size of the pixel
- being textured and uses the GL_NEAREST criterion
- (the texture element nearest to the center of the pixel)
- to produce a texture value.
-
-
-
-
- GL_LINEAR_MIPMAP_NEAREST
-
-
- Chooses the mipmap that most closely matches the size of the pixel
- being textured and uses the GL_LINEAR criterion
- (a weighted average of the four texture elements that are closest
- to the center of the pixel)
- to produce a texture value.
-
-
-
-
- GL_NEAREST_MIPMAP_LINEAR
-
-
- Chooses the two mipmaps that most closely match the size of the pixel
- being textured and uses the GL_NEAREST criterion
- (the texture element nearest to the center of the pixel)
- to produce a texture value from each mipmap.
- The final texture value is a weighted average of those two values.
-
-
-
-
- GL_LINEAR_MIPMAP_LINEAR
-
-
- Chooses the two mipmaps that most closely match the size of the pixel
- being textured and uses the GL_LINEAR criterion
- (a weighted average of the four texture elements that are closest
- to the center of the pixel)
- to produce a texture value from each mipmap.
- The final texture value is a weighted average of those two values.
-
-
-
-
-
-
- As more texture elements are sampled in the minification process,
- fewer aliasing artifacts will be apparent.
- While the GL_NEAREST and GL_LINEAR minification functions can be
- faster than the other four,
- they sample only one or four texture elements to determine the texture value
- of the pixel being rendered and can produce moire patterns
- or ragged transitions.
- The initial value of GL_TEXTURE_MIN_FILTER is
- GL_NEAREST_MIPMAP_LINEAR.
-
-
-
-
- GL_TEXTURE_MAG_FILTER
-
-
- The texture magnification function is used when the pixel being textured
- maps to an area less than or equal to one texture element.
- It sets the texture magnification function to either GL_NEAREST
- or GL_LINEAR (see below). GL_NEAREST is generally faster
- than GL_LINEAR,
- but it can produce textured images with sharper edges
- because the transition between texture elements is not as smooth.
- The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR.
-
-
- GL_NEAREST
-
-
- Returns the value of the texture element that is nearest
- (in Manhattan distance)
- to the center of the pixel being textured.
-
-
-
-
- GL_LINEAR
-
-
- Returns the weighted average of the four texture elements
- that are closest to the center of the pixel being textured.
- These can include border texture elements,
- depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
- and on the exact mapping.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GL_TEXTURE_MIN_LOD
-
-
- Sets the minimum level-of-detail parameter. This floating-point value
- limits the selection of highest resolution mipmap (lowest mipmap
- level). The initial value is -1000.
-
-
-
-
-
-
-
-
- GL_TEXTURE_MAX_LOD
-
-
- Sets the maximum level-of-detail parameter. This floating-point value
- limits the selection of the lowest resolution mipmap (highest mipmap
- level). The initial value is 1000.
-
-
-
-
-
-
GL_TEXTURE_BASE_LEVEL
@@ -528,237 +193,54 @@
-
- GL_TEXTURE_MAX_LEVEL
-
-
- Sets the index of the highest defined mipmap level. This is an integer
- value. The initial value is 1000.
-
-
-
-
-
-
-
-
- GL_TEXTURE_WRAP_S
-
-
- Sets the wrap parameter for texture coordinate
- s
- to either GL_CLAMP,
- GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
- GL_REPEAT. GL_CLAMP causes
- s
- coordinates to be clamped to the
- range [0,1] and is useful for preventing wrapping artifacts when mapping a
- single image onto an object. GL_CLAMP_TO_BORDER causes the
- s
- coordinate to be clamped to the range
-
-
-
-
-
-
- -1
- 2N
-
-
-
-
- 1
- +
-
-
-
- 1
- 2N
-
-
-
-
-
- ,
- where
- N
- is the size of the texture in the direction of
- clamping.GL_CLAMP_TO_EDGE causes
- s
- coordinates to be clamped to the
- range
-
-
-
-
-
-
- 1
- 2N
-
-
-
-
- 1
- -
-
-
-
- 1
- 2N
-
-
-
-
-
- ,
- where
- N
- is the size
- of the texture in the direction of clamping. GL_REPEAT causes the
- integer part of the
- s
- coordinate to be ignored; the GL uses only the
- fractional part, thereby creating a repeating pattern.
- GL_MIRRORED_REPEAT causes the
- s
- coordinate to be set to the
- fractional part of the texture coordinate if the integer part of
- s
- is
- even; if the integer part of
- s
- is odd, then the
- s
- texture coordinate is
- set to
-
-
-
- 1
- -
-
- frac
- ⁡
-
- s
-
-
-
- ,
- where
-
-
-
- frac
- ⁡
-
- s
-
-
-
- represents the fractional part of
- s.
- Border texture
- elements are accessed only if wrapping is set to GL_CLAMP or GL_CLAMP_TO_BORDER. Initially,
- GL_TEXTURE_WRAP_S is set to GL_REPEAT.
-
-
-
-
-
-
-
-
- GL_TEXTURE_WRAP_T
-
-
- Sets the wrap parameter for texture coordinate
- t
- to either GL_CLAMP,
- GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
- GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
- Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT.
-
-
-
-
- GL_TEXTURE_WRAP_R
-
-
- Sets the wrap parameter for texture coordinate
- r
- to either GL_CLAMP,
- GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or
- GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
- Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT.
-
-
-
GL_TEXTURE_BORDER_COLOR
- Sets a border color. params contains four values that comprise the RGBA
- color of the texture border. Integer color components are interpreted
- linearly such that the most positive integer maps to 1.0, and the most
- negative integer maps to -1.0. The values are clamped to the range [0,1]
- when they are specified. Initially, the border color is (0, 0, 0, 0).
-
-
-
-
- GL_TEXTURE_PRIORITY
-
-
- Specifies the texture residence priority of the currently bound texture.
- Permissible values are in the range
+ The data in params specifies four values that define the border values that
+ should be used for border texels. If a texel is sampled from the border of the texture, the
+ values of GL_TEXTURE_BORDER_COLOR are interpreted as an RGBA color to match the
+ texture's internal format and substituted for the non-existent texel data. If the texture contains depth
+ components, the first component of GL_TEXTURE_BORDER_COLOR is interpreted as a depth value.
+ The initial value is
-
-
- 0
- 1
-
+
+
+
+ 0.0, 0.0, 0.0, 0.0
+
+
+
.
- See glPrioritizeTextures and glBindTexture for more information.
-
-
-
- GL_TEXTURE_COMPARE_MODE
-
- Specifies the texture comparison mode for currently bound depth textures.
- That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see
- glTexImage2D)
- Permissible values are:
-
-
- GL_COMPARE_R_TO_TEXTURE
-
-
- Specifies that the interpolated and clamped
- r
- texture coordinate should
- be compared to the value in the currently bound depth texture. See the
- discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison
- is evaluated. The result of the comparison is assigned to luminance,
- intensity, or alpha (as specified by GL_DEPTH_TEXTURE_MODE).
-
-
-
-
- GL_NONE
-
-
- Specifies that the luminance, intensity, or alpha (as specified by
- GL_DEPTH_TEXTURE_MODE) should be assigned the
- appropriate value from the currently bound depth texture.
-
-
-
-
+ If the values for GL_TEXTURE_BORDER_COLOR are specified with glTexParameterIiv
+ or glTexParameterIuiv, the values are stored unmodified with an internal data type of
+ integer. If specified with glTexParameteriv, they are converted to floating point with the following
+ equation:
+
+
+ f
+ =
+
+
+ 2
+ c
+
+ +
+ 1
+
+
+ 2
+ b
+
+ -
+ 1
+
+
+
+ .
+ If specified with glTexParameterfv, they are stored unmodified as floating-point values.
@@ -767,7 +249,7 @@
Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is
- set to GL_COMPARE_R_TO_TEXTURE. Permissible values are:
+ set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are:
@@ -789,7 +271,7 @@
-
+
result
=
@@ -840,7 +322,7 @@
-
+
result
=
@@ -891,7 +373,7 @@
-
+
result
=
@@ -942,7 +424,7 @@
-
+
result
=
@@ -993,7 +475,7 @@
-
+
result
=
@@ -1044,7 +526,7 @@
-
+
result
=
@@ -1127,36 +609,682 @@
where r
is the current interpolated texture coordinate, and
-
+
D
t
is the depth texture value sampled from the currently bound depth texture.
result
- is assigned to the either the luminance, intensity, or alpha (as
- specified by GL_DEPTH_TEXTURE_MODE.)
+ is assigned to the the red channel.
- GL_DEPTH_TEXTURE_MODE
+ GL_TEXTURE_COMPARE_MODE
- Specifies a single symbolic constant indicating how depth values should be
- treated during filtering and texture application. Accepted values are
- GL_LUMINANCE, GL_INTENSITY, and GL_ALPHA. The initial value
- is GL_LUMINANCE.
+ Specifies the texture comparison mode for currently bound depth textures.
+ That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see
+ glTexImage2D)
+ Permissible values are:
+
+
+ GL_COMPARE_REF_TO_TEXTURE
+
+
+ Specifies that the interpolated and clamped
+ r
+ texture coordinate should
+ be compared to the value in the currently bound depth texture. See the
+ discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison
+ is evaluated. The result of the comparison is assigned to the red channel.
+
+
+
+
+ GL_NONE
+
+
+ Specifies that the red channel should be assigned the
+ appropriate value from the currently bound depth texture.
+
+
+
+
- GL_GENERATE_MIPMAP
+ GL_TEXTURE_LOD_BIAS
- Specifies a boolean value that indicates if all levels of a mipmap array
- should be automatically updated when any modification to the base level
- mipmap is done. The initial value is GL_FALSE.
+ params specifies a fixed bias value that is to be added to the level-of-detail
+ parameter for the texture before texture sampling. The specified value is added to the shader-supplied
+ bias value (if any) and subsequently clamped into the implementation-defined range
+
+
+
+
+ -
+ bias
+ max
+
+
+
+
+
+
+ bias
+ max
+
+
+
+
+
+ ,
+ where
+
+
+ bias
+ max
+
+
+
+ is the value of the implementation defined constant GL_MAX_TEXTURE_LOD_BIAS. The initial value is 0.0.
+
+
+
+
+ GL_TEXTURE_MIN_FILTER
+
+
+ The texture minifying function is used whenever the level-of-detail function
+ used when sampling from the texture determines that the texture should be minified.
+ There are six defined minifying functions.
+ Two of them use either the nearest texture elements or a weighted average of multiple texture elements
+ to compute the texture value.
+ The other four use mipmaps.
+
+
+ A mipmap is an ordered set of arrays representing the same image
+ at progressively lower resolutions.
+ If the texture has dimensions
+
+
+
+ 2
+ n
+
+ ×
+ 2
+ m
+
+
+ ,
+ there are
+
+
+
+
+ max
+ ⁡
+
+ n
+ m
+
+
+ +
+ 1
+
+
+ mipmaps.
+ The first mipmap is the original texture,
+ with dimensions
+
+
+
+ 2
+ n
+
+ ×
+ 2
+ m
+
+
+ .
+ Each subsequent mipmap has dimensions
+
+
+
+ 2
+
+
+ k
+ -
+ 1
+
+
+
+ ×
+ 2
+
+
+ l
+ -
+ 1
+
+
+
+
+ ,
+ where
+
+
+
+ 2
+ k
+
+ ×
+ 2
+ l
+
+
+
+ are the dimensions of the previous mipmap,
+ until either
+
+
+
+ k
+ =
+ 0
+
+
+ or
+
+
+
+ l
+ =
+ 0
+
+ .
+ At that point,
+ subsequent mipmaps have dimension
+
+
+
+ 1
+ ×
+ 2
+
+
+ l
+ -
+ 1
+
+
+
+
+
+ or
+
+
+
+ 2
+
+
+ k
+ -
+ 1
+
+
+
+ ×
+ 1
+
+
+ until the final mipmap,
+ which has dimension
+
+
+
+ 1
+ ×
+ 1
+
+ .
+ To define the mipmaps, call glTexImage1D, glTexImage2D,
+ glTexImage3D,
+ glCopyTexImage1D, or glCopyTexImage2D
+ with the level argument indicating the order of the mipmaps.
+ Level 0 is the original texture;
+ level
+
+
+
+ max
+ ⁡
+
+ n
+ m
+
+
+
+ is the final
+
+
+
+ 1
+ ×
+ 1
+
+
+ mipmap.
+
+
+ params supplies a function for minifying the texture as one of the
+ following:
+
+
+ GL_NEAREST
+
+
+ Returns the value of the texture element that is nearest
+ (in Manhattan distance)
+ to the specified texture coordinates.
+
+
+
+
+ GL_LINEAR
+
+
+ Returns the weighted average of the four texture elements
+ that are closest to the specified texture coordinates.
+ These can include items wrapped or repeated from other parts of a texture,
+ depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
+ and on the exact mapping.
+
+
+
+
+ GL_NEAREST_MIPMAP_NEAREST
+
+
+ Chooses the mipmap that most closely matches the size of the pixel
+ being textured and uses the GL_NEAREST criterion
+ (the texture element closest to the specified texture coordinates)
+ to produce a texture value.
+
+
+
+
+ GL_LINEAR_MIPMAP_NEAREST
+
+
+ Chooses the mipmap that most closely matches the size of the pixel
+ being textured and uses the GL_LINEAR criterion
+ (a weighted average of the four texture elements that are closest to the specified texture coordinates)
+ to produce a texture value.
+
+
+
+
+ GL_NEAREST_MIPMAP_LINEAR
+
+
+ Chooses the two mipmaps that most closely match the size of the pixel
+ being textured and uses the GL_NEAREST criterion
+ (the texture element closest to the specified texture coordinates )
+ to produce a texture value from each mipmap.
+ The final texture value is a weighted average of those two values.
+
+
+
+
+ GL_LINEAR_MIPMAP_LINEAR
+
+
+ Chooses the two mipmaps that most closely match the size of the pixel
+ being textured and uses the GL_LINEAR criterion
+ (a weighted average of the texture elements that are closest to the specified texture coordinates)
+ to produce a texture value from each mipmap.
+ The final texture value is a weighted average of those two values.
+
+
+
+
+
+
+ As more texture elements are sampled in the minification process,
+ fewer aliasing artifacts will be apparent.
+ While the GL_NEAREST and GL_LINEAR minification functions can be
+ faster than the other four,
+ they sample only one or multiple texture elements to determine the texture value
+ of the pixel being rendered and can produce moire patterns
+ or ragged transitions.
+ The initial value of GL_TEXTURE_MIN_FILTER is
+ GL_NEAREST_MIPMAP_LINEAR.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MAG_FILTER
+
+
+ The texture magnification function is used whenever the level-of-detail function
+ used when sampling from the texture determines that the texture should be magified.
+ It sets the texture magnification function to either GL_NEAREST
+ or GL_LINEAR (see below). GL_NEAREST is generally faster
+ than GL_LINEAR,
+ but it can produce textured images with sharper edges
+ because the transition between texture elements is not as smooth.
+ The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR.
+
+
+ GL_NEAREST
+
+
+ Returns the value of the texture element that is nearest
+ (in Manhattan distance)
+ to the specified texture coordinates.
+
+
+
+
+ GL_LINEAR
+
+
+ Returns the weighted average of the texture elements
+ that are closest to the specified texture coordinates.
+ These can include items wrapped or repeated from other parts of a texture,
+ depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,
+ and on the exact mapping.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MIN_LOD
+
+
+ Sets the minimum level-of-detail parameter. This floating-point value
+ limits the selection of highest resolution mipmap (lowest mipmap
+ level). The initial value is -1000.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MAX_LOD
+
+
+ Sets the maximum level-of-detail parameter. This floating-point value
+ limits the selection of the lowest resolution mipmap (highest mipmap
+ level). The initial value is 1000.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_MAX_LEVEL
+
+
+ Sets the index of the highest defined mipmap level. This is an integer
+ value. The initial value is 1000.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_SWIZZLE_R
+
+
+ Sets the swizzle that will be applied to the r
+ component of a texel before it is returned to the shader. Valid values for param are GL_RED,
+ GL_GREEN, GL_BLUE, GL_ALPHA, GL_ZERO and
+ GL_ONE.
+ If GL_TEXTURE_SWIZZLE_R is GL_RED, the value for
+ r will be taken from the first
+ channel of the fetched texel.
+ If GL_TEXTURE_SWIZZLE_R is GL_GREEN, the value for
+ r will be taken from the second
+ channel of the fetched texel.
+ If GL_TEXTURE_SWIZZLE_R is GL_BLUE, the value for
+ r will be taken from the third
+ channel of the fetched texel.
+ If GL_TEXTURE_SWIZZLE_R is GL_ALPHA, the value for
+ r will be taken from the fourth
+ channel of the fetched texel.
+ If GL_TEXTURE_SWIZZLE_R is GL_ZERO, the value for
+ r will be subtituted with
+ 0.0.
+ If GL_TEXTURE_SWIZZLE_R is GL_ONE, the value for
+ r will be subtituted with
+ 1.0.
+ The initial value is GL_RED.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_SWIZZLE_G
+
+
+ Sets the swizzle that will be applied to the g
+ component of a texel before it is returned to the shader. Valid values for param and their effects are similar to
+ those of GL_TEXTURE_SWIZZLE_R.
+ The initial value is GL_GREEN.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_SWIZZLE_B
+
+
+ Sets the swizzle that will be applied to the b
+ component of a texel before it is returned to the shader. Valid values for param and their effects are similar to
+ those of GL_TEXTURE_SWIZZLE_R.
+ The initial value is GL_BLUE.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_SWIZZLE_A
+
+
+ Sets the swizzle that will be applied to the a
+ component of a texel before it is returned to the shader. Valid values for param and their effects are similar to
+ those of GL_TEXTURE_SWIZZLE_R.
+ The initial value is GL_ALPHA.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_SWIZZLE_RGBA
+
+
+ Sets the swizzles that will be applied to the
+ r,
+ g,
+ b, and
+ a
+ components of a texel before they are returned to the shader. Valid values for params and their effects are similar to
+ those of GL_TEXTURE_SWIZZLE_R, except that all channels are specified simultaneously.
+ Setting the value of GL_TEXTURE_SWIZZLE_RGBA is equivalent (assuming no errors are generated) to
+ setting the parameters of each of GL_TEXTURE_SWIZZLE_R,
+ GL_TEXTURE_SWIZZLE_G,
+ GL_TEXTURE_SWIZZLE_B, and
+ GL_TEXTURE_SWIZZLE_A successively.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_WRAP_S
+
+
+ Sets the wrap parameter for texture coordinate
+ s
+ to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER,
+ GL_MIRRORED_REPEAT, or
+ GL_REPEAT. GL_CLAMP_TO_EDGE causes
+ s
+ coordinates to be clamped to the
+ range
+
+
+
+
+
+
+ 1
+ 2N
+
+
+
+
+ 1
+ -
+
+
+
+ 1
+ 2N
+
+
+
+
+
+ ,
+ where
+ N
+ is the size
+ of the texture in the direction of clamping.
+ GL_CLAMP_TO_BORDER evaluates s coordinates in a similar manner to GL_CLAMP_TO_EDGE.
+ However, in cases where clamping would have occurred in GL_CLAMP_TO_EDGE mode, the fetched texel data
+ is substituted with the values specified by GL_TEXTURE_BORDER_COLOR.
+ GL_REPEAT causes the
+ integer part of the
+ s
+ coordinate to be ignored; the GL uses only the
+ fractional part, thereby creating a repeating pattern.
+ GL_MIRRORED_REPEAT causes the
+ s
+ coordinate to be set to the
+ fractional part of the texture coordinate if the integer part of
+ s
+ is
+ even; if the integer part of
+ s
+ is odd, then the
+ s
+ texture coordinate is
+ set to
+
+
+
+ 1
+ -
+
+ frac
+ ⁡
+
+ s
+
+
+
+ ,
+ where
+
+
+
+ frac
+ ⁡
+
+ s
+
+
+
+ represents the fractional part of
+ s.
+ Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_WRAP_T
+
+
+ Sets the wrap parameter for texture coordinate
+ t
+ to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER,
+ GL_MIRRORED_REPEAT, or
+ GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
+ Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT.
+
+
+
+
+
+
+
+
+ GL_TEXTURE_WRAP_R
+
+
+ Sets the wrap parameter for texture coordinate
+ r
+ to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER,
+ GL_MIRRORED_REPEAT, or
+ GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S.
+ Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT.
@@ -1164,46 +1292,23 @@
Notes
- GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD,
- GL_CLAMP_TO_EDGE, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL are
- available only if the GL version is 1.2 or greater.
-
-
- GL_CLAMP_TO_BORDER is available only if the GL version is 1.3 or greater.
-
-
- GL_MIRRORED_REPEAT, GL_TEXTURE_COMPARE_MODE,
- GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and
- GL_GENERATE_MIPMAP are available only if the GL version is 1.4 or
- greater.
-
-
- GL_TEXTURE_COMPARE_FUNC allows the following additional comparison modes only
- if the GL version is 1.5 or greater:
- GL_LESS, GL_GREATER,
- GL_EQUAL, GL_NOTEQUAL,
- GL_ALWAYS, and GL_NEVER.
-
-
- Suppose that a program has enabled texturing (by calling glEnable with
- argument GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D) and
+ Suppose that a program attempts to sample from a texture and
has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a
mipmap. If either the dimensions of the texture images currently defined
(with previous calls to glTexImage1D, glTexImage2D,
glTexImage3D, glCopyTexImage1D, or glCopyTexImage2D) do not
follow the proper sequence for mipmaps (described above), or there are
fewer texture images defined than are needed, or the set of texture images
- have differing numbers of texture components, then it is as if texture
- mapping were disabled.
+ have differing numbers of texture components, then the texture is considered incomplete.
Linear filtering accesses the four nearest texture elements only in 2D
textures. In 1D textures, linear filtering accesses the two nearest
+ texture elements. In 3D textures, linear filtering accesses the eight nearest
texture elements.
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glTexParameter
- specifies the texture parameters for the active texture unit, specified
+ glTexParameter specifies the texture parameters for the active texture unit, specified
by calling glActiveTexture.
@@ -1216,10 +1321,6 @@
GL_INVALID_ENUM is generated if params should have a defined
constant value (based on the value of pname) and does not.
-
- GL_INVALID_OPERATION is generated if glTexParameter is executed between the
- execution of glBegin and the corresponding execution of glEnd.
-
Associated Gets
@@ -1233,18 +1334,13 @@
glActiveTexture,
glBindTexture,
- glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
glPixelStore,
- glPixelTransfer,
- glPrioritizeTextures,
- glTexEnv,
- glTexGen,
+ glSamplerParameter,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glTexSubImage1D.xml b/Source/Bind/Specifications/Docs/glTexSubImage1D.xml
index d83fe0da..3d8e0822 100644
--- a/Source/Bind/Specifications/Docs/glTexSubImage1D.xml
+++ b/Source/Bind/Specifications/Docs/glTexSubImage1D.xml
@@ -76,17 +76,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -98,7 +93,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -142,7 +136,7 @@
The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -165,41 +159,12 @@
Notes
- glTexSubImage1D is available only if the GL version is 1.1 or greater.
+ glPixelStore modes affect texture images.
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glTexSubImage1D
- specifies a one-dimensional subtexture for the current texture unit,
+ glTexSubImage1D specifies a one-dimensional subtexture for the current texture unit,
specified with glActiveTexture.
-
- When the ARB_imaging
extension is supported, the RGBA components
- specified in data may be processed by the imaging pipeline. See
- glTexImage1D for specific details.
-
Errors
@@ -213,10 +178,6 @@
GL_INVALID_ENUM is generated if type is not a type constant.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
-
GL_INVALID_VALUE is generated if level is less than 0.
@@ -224,7 +185,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -235,7 +196,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -247,7 +208,7 @@
,
or if
-
+
@@ -318,19 +279,11 @@
GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glTexSubImage1D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_1D
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -343,11 +296,7 @@
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/glTexSubImage2D.xml
index 09c0ccbd..d1f87cdb 100644
--- a/Source/Bind/Specifications/Docs/glTexSubImage2D.xml
+++ b/Source/Bind/Specifications/Docs/glTexSubImage2D.xml
@@ -100,17 +100,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -122,7 +117,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -166,7 +160,7 @@
The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -178,7 +172,7 @@
inclusive,
and y indices yoffset and
-
+
yoffset
+
@@ -201,41 +195,12 @@
Notes
- glTexSubImage2D is available only if the GL version is 1.1 or greater.
+ glPixelStore modes affect texture images.
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glTexSubImage2D
- specifies a two-dimensional subtexture for the current texture unit,
+ glTexSubImage2D specifies a two-dimensional subtexture for the current texture unit,
specified with glActiveTexture.
-
- When the ARB_imaging
extension is supported, the RGBA components
- specified in data may be processed by the imaging pipeline. See
- glTexImage1D for specific details.
-
Errors
@@ -254,10 +219,6 @@
GL_INVALID_ENUM is generated if type is not a type constant.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
-
GL_INVALID_VALUE is generated if level is less than 0.
@@ -265,7 +226,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -276,7 +237,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -287,7 +248,7 @@
,
-
+
@@ -307,7 +268,7 @@
,
-
+
yoffset
<
@@ -319,7 +280,7 @@
,
or
-
+
@@ -393,19 +354,11 @@
GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glTexSubImage2D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_2D
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -418,11 +371,7 @@
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glTexSubImage3D.xml b/Source/Bind/Specifications/Docs/glTexSubImage3D.xml
index aef91bdb..7f101341 100644
--- a/Source/Bind/Specifications/Docs/glTexSubImage3D.xml
+++ b/Source/Bind/Specifications/Docs/glTexSubImage3D.xml
@@ -112,17 +112,12 @@
Specifies the format of the pixel data.
The following symbolic values are accepted:
- GL_COLOR_INDEX,
GL_RED,
- GL_GREEN,
- GL_BLUE,
- GL_ALPHA,
+ GL_RG,
GL_RGB,
GL_BGR,
- GL_RGBA,
- GL_BGRA,
- GL_LUMINANCE, and
- GL_LUMINANCE_ALPHA.
+ GL_RGBA, and
+ GL_BGRA.
@@ -134,7 +129,6 @@
The following symbolic values are accepted:
GL_UNSIGNED_BYTE,
GL_BYTE,
- GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
@@ -178,7 +172,7 @@
The texels referenced by data replace the portion of the
existing texture array with x indices xoffset and
-
+
xoffset
+
@@ -190,7 +184,7 @@
inclusive,
y indices yoffset and
-
+
yoffset
+
@@ -202,7 +196,7 @@
inclusive,
and z indices zoffset and
-
+
zoffset
+
@@ -225,41 +219,12 @@
Notes
- glTexSubImage3D is available only if the GL version is 1.2 or greater.
+ The glPixelStore modes affect texture images.
- Texturing has no effect in color index mode.
-
-
- glPixelStore and glPixelTransfer modes affect texture images
- in exactly the way they affect glDrawPixels.
-
-
- Formats GL_BGR, and GL_BGRA and types
- GL_UNSIGNED_BYTE_3_3_2,
- GL_UNSIGNED_BYTE_2_3_3_REV,
- GL_UNSIGNED_SHORT_5_6_5,
- GL_UNSIGNED_SHORT_5_6_5_REV,
- GL_UNSIGNED_SHORT_4_4_4_4,
- GL_UNSIGNED_SHORT_4_4_4_4_REV,
- GL_UNSIGNED_SHORT_5_5_5_1,
- GL_UNSIGNED_SHORT_1_5_5_5_REV,
- GL_UNSIGNED_INT_8_8_8_8,
- GL_UNSIGNED_INT_8_8_8_8_REV,
- GL_UNSIGNED_INT_10_10_10_2, and
- GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version
- is 1.2 or greater.
-
-
- For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glTexSubImage3D
- specifies a three-dimensional subtexture for the current texture unit,
+ glTexSubImage3D specifies a three-dimensional subtexture for the current texture unit,
specified with glActiveTexture.
-
- When the ARB_imaging
extension is supported, the RGBA components
- specified in data may be processed by the imaging pipeline. See
- glTexImage3D for specific details.
-
Errors
@@ -272,10 +237,6 @@
GL_INVALID_ENUM is generated if type is not a type constant.
-
- GL_INVALID_ENUM is generated if type is GL_BITMAP and
- format is not GL_COLOR_INDEX.
-
GL_INVALID_VALUE is generated if level is less than 0.
@@ -283,7 +244,7 @@
GL_INVALID_VALUE may be generated if level is greater
than
-
+
log
2
@@ -294,7 +255,7 @@
GL_INVALID_VALUE is generated if
-
+
xoffset
<
@@ -305,7 +266,7 @@
,
-
+
@@ -325,7 +286,7 @@
,
-
+
yoffset
<
@@ -337,7 +298,7 @@
,
or
-
+
@@ -358,7 +319,7 @@
,
or
-
+
zoffset
<
@@ -370,7 +331,7 @@
,
or
-
+
@@ -448,19 +409,11 @@
GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type.
-
- GL_INVALID_OPERATION is generated if glTexSubImage3D is executed
- between the execution of glBegin and the corresponding
- execution of glEnd.
-
Associated Gets
glGetTexImage
-
- glIsEnabled with argument GL_TEXTURE_3D
-
glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING
@@ -473,11 +426,7 @@
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
- glDrawPixels,
glPixelStore,
- glPixelTransfer,
- glTexEnv,
- glTexGen,
glTexImage1D,
glTexImage2D,
glTexImage3D,
diff --git a/Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml b/Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml
new file mode 100644
index 00000000..362fa5a4
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glTransformFeedbackVaryings
+ 3G
+
+
+ glTransformFeedbackVaryings
+ specify values to record in transform feedback buffers
+
+ C Specification
+
+
+ void glTransformFeedbackVaryings
+ GLuintprogram
+ GLsizeicount
+ const char **varyings
+ GLenumbufferMode
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of the target program object.
+
+
+
+
+ count
+
+
+ The number of varying variables used for transform feedback.
+
+
+
+
+ varyings
+
+
+ An array of count zero-terminated strings specifying the
+ names of the varying variables to use for transform feedback.
+
+
+
+
+ bufferMode
+
+
+ Identifies the mode used to capture the varying variables when transform feedback is active.
+ bufferMode must be GL_INTERLEAVED_ATTRIBS or GL_SEPARATE_ATTRIBS.
+
+
+
+
+
+ Description
+
+ The names of the vertex or geometry shader outputs to be recorded in transform feedback mode
+ are specified using glTransformFeedbackVaryings. When a geometry shader
+ is active, transform feedback records the values of selected geometry shader output variables
+ from the emitted vertices. Otherwise, the values of the selected vertex shader outputs are
+ recorded.
+
+
+ The state set by glTranformFeedbackVaryings is stored and takes effect
+ next time glLinkProgram is called
+ on program. When glLinkProgram
+ is called, program is linked so that the values of the specified varying variables
+ for the vertices of each primitive generated by the GL are written to a single buffer
+ object if bufferMode is GL_INTERLEAVED_ATTRIBS or multiple
+ buffer objects if bufferMode is GL_SEPARATE_ATTRIBS.
+
+
+ In addition to the errors generated by glTransformFeedbackVaryings, the
+ program program will fail to link if:
+
+
+
+ The count specified by glTransformFeedbackVaryings is non-zero, but the
+ program object has no vertex or geometry shader.
+
+
+
+
+ Any variable name specified in the varyings array is not declared as an output
+ in the vertex shader (or the geometry shader, if active).
+
+
+
+
+ Any two entries in the varyings array specify the same varying variable.
+
+
+
+
+ The total number of components to capture in any varying variable in varyings
+ is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
+ and the buffer mode is GL_SEPARATE_ATTRIBS.
+
+
+
+
+ The total number of components to capture is greater than the constant
+ GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS and the buffer
+ mode is GL_INTERLEAVED_ATTRIBS.
+
+
+
+
+
+ Notes
+
+ glGetTransformFeedbackVarying is available only if the GL version is 3.0 or greater.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if program is not
+ the name of a program object.
+
+
+ GL_INVALID_VALUE is generated if bufferMode is GL_SEPARATE_ATTRIBS
+ and count is greater than the implementation-dependent limit GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS.
+
+
+ Associated Gets
+
+ glGetTransformFeedbackVarying
+
+
+ See Also
+
+ glBeginTransformFeedback,
+ glEndTransformFeedback,
+ glGetTransformFeedbackVarying
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glUniform.xml b/Source/Bind/Specifications/Docs/glUniform.xml
index 837e3a7a..b31c0a9c 100644
--- a/Source/Bind/Specifications/Docs/glUniform.xml
+++ b/Source/Bind/Specifications/Docs/glUniform.xml
@@ -1,495 +1,557 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glUniform
- 3G
+ glUniform
+ 3G
- glUniform
- glUniform1f
- glUniform2f
- glUniform3f
- glUniform4f
- glUniform1i
- glUniform2i
- glUniform3i
- glUniform4i
- glUniform1fv
- glUniform2fv
- glUniform3fv
- glUniform4fv
- glUniform1iv
- glUniform2iv
- glUniform3iv
- glUniform4iv
- glUniformMatrix2fv
- glUniformMatrix3fv
- glUniformMatrix4fv
- glUniformMatrix2x3fv
- glUniformMatrix3x2fv
- glUniformMatrix2x4fv
- glUniformMatrix4x2fv
- glUniformMatrix3x4fv
- glUniformMatrix4x3fv
- Specify the value of a uniform variable for the current program object
+ glUniform
+ glUniform1f
+ glUniform2f
+ glUniform3f
+ glUniform4f
+ glUniform1i
+ glUniform2i
+ glUniform3i
+ glUniform4i
+ glUniform1ui
+ glUniform2ui
+ glUniform3ui
+ glUniform4ui
+ glUniform1fv
+ glUniform2fv
+ glUniform3fv
+ glUniform4fv
+ glUniform1iv
+ glUniform2iv
+ glUniform3iv
+ glUniform4iv
+ glUniform1uiv
+ glUniform2uiv
+ glUniform3uiv
+ glUniform4uiv
+ glUniformMatrix2fv
+ glUniformMatrix3fv
+ glUniformMatrix4fv
+ glUniformMatrix2x3fv
+ glUniformMatrix3x2fv
+ glUniformMatrix2x4fv
+ glUniformMatrix4x2fv
+ glUniformMatrix3x4fv
+ glUniformMatrix4x3fv
+ Specify the value of a uniform variable for the current program object
C Specification
-
-
- void glUniform1f
- GLint location
- GLfloat v0
-
-
- void glUniform2f
- GLint location
- GLfloat v0
- GLfloat v1
-
-
- void glUniform3f
- GLint location
- GLfloat v0
- GLfloat v1
- GLfloat v2
-
-
- void glUniform4f
- GLint location
- GLfloat v0
- GLfloat v1
- GLfloat v2
- GLfloat v3
-
-
- void glUniform1i
- GLint location
- GLint v0
-
-
- void glUniform2i
- GLint location
- GLint v0
- GLint v1
-
-
- void glUniform3i
- GLint location
- GLint v0
- GLint v1
- GLint v2
-
-
- void glUniform4i
- GLint location
- GLint v0
- GLint v1
- GLint v2
- GLint v3
-
-
+
+
+ void glUniform1f
+ GLint location
+ GLfloat v0
+
+
+ void glUniform2f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+ void glUniform3f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+ void glUniform4f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+ void glUniform1i
+ GLint location
+ GLint v0
+
+
+ void glUniform2i
+ GLint location
+ GLint v0
+ GLint v1
+
+
+ void glUniform3i
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+ void glUniform4i
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+ void glUniform1ui
+ GLint location
+ GLuint v0
+
+
+ void glUniform2ui
+ GLint location
+ GLint v0
+ GLuint v1
+
+
+ void glUniform3ui
+ GLint location
+ GLint v0
+ GLint v1
+ GLuint v2
+
+
+ void glUniform4ui
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLuint v3
+
+
Parameters
-
-
- location
-
- Specifies the location of the uniform variable
- to be modified.
-
-
-
-
- v0,
- v1,
- v2,
- v3
-
-
- Specifies the new values to be used for the
- specified uniform variable.
-
-
-
+
+
+ location
+
+ Specifies the location of the uniform variable
+ to be modified.
+
+
+
+
+ v0,
+ v1,
+ v2,
+ v3
+
+
+ Specifies the new values to be used for the
+ specified uniform variable.
+
+
+
C Specification
-
-
- void glUniform1fv
- GLint location
- GLsizei count
- const GLfloat *value
-
-
- void glUniform2fv
- GLint location
- GLsizei count
- const GLfloat *value
-
-
- void glUniform3fv
- GLint location
- GLsizei count
- const GLfloat *value
-
-
- void glUniform4fv
- GLint location
- GLsizei count
- const GLfloat *value
-
-
- void glUniform1iv
- GLint location
- GLsizei count
- const GLint *value
-
-
- void glUniform2iv
- GLint location
- GLsizei count
- const GLint *value
-
-
- void glUniform3iv
- GLint location
- GLsizei count
- const GLint *value
-
-
- void glUniform4iv
- GLint location
- GLsizei count
- const GLint *value
-
-
+
+
+ void glUniform1fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform2fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform3fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform4fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform1iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform2iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform3iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform4iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform1uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform2uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform3uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform4uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
Parameters
-
-
- location
-
- Specifies the location of the uniform value to
- be modified.
-
-
-
- count
-
- Specifies the number of elements that are to
- be modified. This should be 1 if the targeted
- uniform variable is not an array, and 1 or more if it is
- an array.
-
-
-
- value
-
- Specifies a pointer to an array of
- count values that will be
- used to update the specified uniform
- variable.
-
-
-
+
+
+ location
+
+ Specifies the location of the uniform value to
+ be modified.
+
+
+
+ count
+
+ Specifies the number of elements that are to
+ be modified. This should be 1 if the targeted
+ uniform variable is not an array, and 1 or more if it is
+ an array.
+
+
+
+ value
+
+ Specifies a pointer to an array of
+ count values that will be
+ used to update the specified uniform
+ variable.
+
+
+
C Specification
-
-
- void glUniformMatrix2fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix3fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix4fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix2x3fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix3x2fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix2x4fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix4x2fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix3x4fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
- void glUniformMatrix4x3fv
- GLint location
- GLsizei count
- GLboolean transpose
- const GLfloat *value
-
-
+
+
+ void glUniformMatrix2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix2x3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix3x2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix2x4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix4x2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix3x4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix4x3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
Parameters
-
-
- location
-
- Specifies the location of the uniform value to
- be modified.
-
-
-
- count
-
- Specifies the number of matrices that are to
- be modified. This should be 1 if the targeted
- uniform variable is not an array of matrices, and 1 or more if it is
- an array of matrices.
-
-
-
- transpose
-
- Specifies whether to transpose the matrix as
- the values are loaded into the uniform
- variable.
-
-
-
- value
-
- Specifies a pointer to an array of
- count values that will be
- used to update the specified uniform
- variable.
-
-
-
+
+
+ location
+
+ Specifies the location of the uniform value to
+ be modified.
+
+
+
+ count
+
+ Specifies the number of matrices that are to
+ be modified. This should be 1 if the targeted
+ uniform variable is not an array of matrices, and 1 or more if it is
+ an array of matrices.
+
+
+
+ transpose
+
+ Specifies whether to transpose the matrix as
+ the values are loaded into the uniform
+ variable.
+
+
+
+ value
+
+ Specifies a pointer to an array of
+ count values that will be
+ used to update the specified uniform
+ variable.
+
+
+
Description
- glUniform modifies the value of a
- uniform variable or a uniform variable array. The location of
- the uniform variable to be modified is specified by
- location, which should be a value
- returned by
- glGetUniformLocation.
- glUniform operates on the program object
- that was made part of current state by calling
- glUseProgram.
+ glUniform modifies the value of a
+ uniform variable or a uniform variable array. The location of
+ the uniform variable to be modified is specified by
+ location, which should be a value
+ returned by
+ glGetUniformLocation.
+ glUniform operates on the program object
+ that was made part of current state by calling
+ glUseProgram.
- The commands glUniform{1|2|3|4}{f|i}
- are used to change the value of the uniform variable specified
- by location using the values passed as
- arguments. The number specified in the command should match the
- number of components in the data type of the specified uniform
- variable (e.g., 1 for float, int, bool;
- 2 for vec2, ivec2, bvec2, etc.). The suffix
- f indicates that floating-point values are
- being passed; the suffix i indicates that
- integer values are being passed, and this type should also match
- the data type of the specified uniform variable. The
- i variants of this function should be used
- to provide values for uniform variables defined as int, ivec2,
- ivec3, ivec4, or arrays of these. The f
- variants should be used to provide values for uniform variables
- of type float, vec2, vec3, vec4, or arrays of these. Either the
- i or the f variants
- may be used to provide values for uniform variables of type
- bool, bvec2, bvec3, bvec4, or arrays of these. The uniform
- variable will be set to false if the input value is 0 or 0.0f,
- and it will be set to true otherwise.
+ The commands glUniform{1|2|3|4}{f|i|ui}
+ are used to change the value of the uniform variable specified
+ by location using the values passed as
+ arguments. The number specified in the command should match the
+ number of components in the data type of the specified uniform
+ variable (e.g., 1 for float
, int
, unsigned int
, bool
;
+ 2 for vec2
, ivec2
, uvec2
, bvec2
, etc.). The suffix
+ f indicates that floating-point values are
+ being passed; the suffix i indicates that
+ integer values are being passed; the suffix ui indicates that
+ unsigned integer values are being passed, and this type should also match
+ the data type of the specified uniform variable. The
+ i variants of this function should be used
+ to provide values for uniform variables defined as int
, ivec2
,
+ ivec3
, ivec4
, or arrays of these. The
+ ui variants of this function should be used
+ to provide values for uniform variables defined as unsigned int
, uvec2
,
+ uvec3
, uvec4
, or arrays of these. The f
+ variants should be used to provide values for uniform variables
+ of type float
, vec2
, vec3
, vec4
, or arrays of these. Either the
+ i, ui or f variants
+ may be used to provide values for uniform variables of type
+ bool
, bvec2
, bvec3
, bvec4
, or arrays of these. The uniform
+ variable will be set to false
if the input value is 0 or 0.0f,
+ and it will be set to true
otherwise.
- All active uniform variables defined in a program object
- are initialized to 0 when the program object is linked
- successfully. They retain the values assigned to them by a call
- to glUniform until the next successful
- link operation occurs on the program object, when they are once
- again initialized to 0.
+ All active uniform variables defined in a program object
+ are initialized to 0 when the program object is linked
+ successfully. They retain the values assigned to them by a call
+ to glUniform until the next successful
+ link operation occurs on the program object, when they are once
+ again initialized to 0.
- The commands glUniform{1|2|3|4}{f|i}v
- can be used to modify a single uniform variable or a uniform
- variable array. These commands pass a count and a pointer to the
- values to be loaded into a uniform variable or a uniform
- variable array. A count of 1 should be used if modifying the
- value of a single uniform variable, and a count of 1 or greater
- can be used to modify an entire array or part of an array. When
- loading n elements starting at an arbitrary
- position m in a uniform variable array,
- elements m + n - 1 in
- the array will be replaced with the new values. If
- m + n - 1 is
- larger than the size of the uniform variable array, values for
- all array elements beyond the end of the array will be ignored.
- The number specified in the name of the command indicates the
- number of components for each element in
- value, and it should match the number of
- components in the data type of the specified uniform variable
- (e.g., 1 for float, int, bool;
- 2 for vec2, ivec2, bvec2, etc.). The data
- type specified in the name of the command must match the data
- type for the specified uniform variable as described previously
- for glUniform{1|2|3|4}{f|i}.
+ The commands glUniform{1|2|3|4}{f|i|ui}v
+ can be used to modify a single uniform variable or a uniform
+ variable array. These commands pass a count and a pointer to the
+ values to be loaded into a uniform variable or a uniform
+ variable array. A count of 1 should be used if modifying the
+ value of a single uniform variable, and a count of 1 or greater
+ can be used to modify an entire array or part of an array. When
+ loading n elements starting at an arbitrary
+ position m in a uniform variable array,
+ elements m + n - 1 in
+ the array will be replaced with the new values. If
+ m + n - 1 is
+ larger than the size of the uniform variable array, values for
+ all array elements beyond the end of the array will be ignored.
+ The number specified in the name of the command indicates the
+ number of components for each element in
+ value, and it should match the number of
+ components in the data type of the specified uniform variable
+ (e.g., 1 for float, int, bool;
+ 2 for vec2, ivec2, bvec2, etc.). The data
+ type specified in the name of the command must match the data
+ type for the specified uniform variable as described previously
+ for glUniform{1|2|3|4}{f|i|ui}.
- For uniform variable arrays, each element of the array is
- considered to be of the type indicated in the name of the
- command (e.g., glUniform3f or
- glUniform3fv can be used to load a uniform
- variable array of type vec3). The number of elements of the
- uniform variable array to be modified is specified by
- count
+ For uniform variable arrays, each element of the array is
+ considered to be of the type indicated in the name of the
+ command (e.g., glUniform3f or
+ glUniform3fv can be used to load a uniform
+ variable array of type vec3). The number of elements of the
+ uniform variable array to be modified is specified by
+ count
- The commands
- glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv
+ The commands
+ glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv
are used to modify a matrix or an array of matrices. The numbers in the
- command name are interpreted as the dimensionality of the matrix.
- The number 2 indicates a 2 × 2 matrix
- (i.e., 4 values), the number 3 indicates a
- 3 × 3 matrix (i.e., 9 values), and the number
- 4 indicates a 4 × 4 matrix (i.e., 16
- values). Non-square matrix dimensionality is explicit, with the first
+ command name are interpreted as the dimensionality of the matrix.
+ The number 2 indicates a 2 × 2 matrix
+ (i.e., 4 values), the number 3 indicates a
+ 3 × 3 matrix (i.e., 9 values), and the number
+ 4 indicates a 4 × 4 matrix (i.e., 16
+ values). Non-square matrix dimensionality is explicit, with the first
number representing the number of columns and the second number
representing the number of rows. For example,
2x4 indicates a 2 × 4 matrix with 2 columns
and 4 rows (i.e., 8 values).
If transpose is
- GL_FALSE, each matrix is assumed to be
- supplied in column major order. If
- transpose is
- GL_TRUE, each matrix is assumed to be
- supplied in row major order. The count
- argument indicates the number of matrices to be passed. A count
- of 1 should be used if modifying the value of a single matrix,
- and a count greater than 1 can be used to modify an array of
- matrices.
+ GL_FALSE, each matrix is assumed to be
+ supplied in column major order. If
+ transpose is
+ GL_TRUE, each matrix is assumed to be
+ supplied in row major order. The count
+ argument indicates the number of matrices to be passed. A count
+ of 1 should be used if modifying the value of a single matrix,
+ and a count greater than 1 can be used to modify an array of
+ matrices.
Notes
- glUniform is available only if the GL
- version is 2.0 or greater.
+ glUniform1i and
+ glUniform1iv are the only two functions
+ that may be used to load uniform variables defined as sampler
+ types. Loading samplers with any other function will result in a
+ GL_INVALID_OPERATION error.
- glUniformMatrix{2x3|3x2|2x4|4x2|3x4|4x3}fv
- is available only if the GL version is 2.1 or greater.
+ If count is greater than 1 and the
+ indicated uniform variable is not an array, a
+ GL_INVALID_OPERATION error is generated and the
+ specified uniform variable will remain unchanged.
- glUniform1i and
- glUniform1iv are the only two functions
- that may be used to load uniform variables defined as sampler
- types. Loading samplers with any other function will result in a
- GL_INVALID_OPERATION error.
+ Other than the preceding exceptions, if the type and size
+ of the uniform variable as defined in the shader do not match
+ the type and size specified in the name of the command used to
+ load its value, a GL_INVALID_OPERATION error will
+ be generated and the specified uniform variable will remain
+ unchanged.
- If count is greater than 1 and the
- indicated uniform variable is not an array, a
- GL_INVALID_OPERATION error is generated and the
- specified uniform variable will remain unchanged.
-
- Other than the preceding exceptions, if the type and size
- of the uniform variable as defined in the shader do not match
- the type and size specified in the name of the command used to
- load its value, a GL_INVALID_OPERATION error will
- be generated and the specified uniform variable will remain
- unchanged.
-
- If location is a value other than
- -1 and it does not represent a valid uniform variable location
- in the current program object, an error will be generated, and
- no changes will be made to the uniform variable storage of the
- current program object. If location is
- equal to -1, the data passed in will be silently ignored and the
- specified uniform variable will not be changed.
+ If location is a value other than
+ -1 and it does not represent a valid uniform variable location
+ in the current program object, an error will be generated, and
+ no changes will be made to the uniform variable storage of the
+ current program object. If location is
+ equal to -1, the data passed in will be silently ignored and the
+ specified uniform variable will not be changed.
Errors
- GL_INVALID_OPERATION is generated if there
- is no current program object.
+ GL_INVALID_OPERATION is generated if there
+ is no current program object.
- GL_INVALID_OPERATION is generated if the
- size of the uniform variable declared in the shader does not
- match the size indicated by the glUniform
- command.
+ GL_INVALID_OPERATION is generated if the
+ size of the uniform variable declared in the shader does not
+ match the size indicated by the glUniform
+ command.
- GL_INVALID_OPERATION is generated if one of
- the integer variants of this function is used to load a uniform
- variable of type float, vec2, vec3, vec4, or an array of these,
- or if one of the floating-point variants of this function is
- used to load a uniform variable of type int, ivec2, ivec3, or
- ivec4, or an array of these.
+ GL_INVALID_OPERATION is generated if one of
+ the signed or unsigned integer variants of this function is used to load a uniform
+ variable of type float
, vec2
, vec3
, vec4
, or an array of these,
+ or if one of the floating-point variants of this function is
+ used to load a uniform variable of type int
, ivec2
, ivec3
,
+ ivec4
, unsigned int
, uvec2
, uvec3
,
+ uvec4
, or an array of these.
- GL_INVALID_OPERATION is generated if
- location is an invalid uniform location
- for the current program object and
- location is not equal to -1.
+ GL_INVALID_OPERATION is generated if one of
+ the signed integer variants of this function is used to load a uniform
+ variable of type unsigned int
, uvec2
, uvec3
,
+ uvec4
, or an array of these.
- GL_INVALID_VALUE is generated if
- count is less than 0.
+ GL_INVALID_OPERATION is generated if one of
+ the unsigned integer variants of this function is used to load a uniform
+ variable of type int
, ivec2
, ivec3
,
+ ivec4
, or an array of these.
- GL_INVALID_OPERATION is generated if
- count is greater than 1 and the indicated
- uniform variable is not an array variable.
+ GL_INVALID_OPERATION is generated if
+ location is an invalid uniform location
+ for the current program object and
+ location is not equal to -1.
- GL_INVALID_OPERATION is generated if a
- sampler is loaded using a command other than
- glUniform1i and
- glUniform1iv.
+ GL_INVALID_VALUE is generated if
+ count is less than 0.
+
+ GL_INVALID_OPERATION is generated if
+ count is greater than 1 and the indicated
+ uniform variable is not an array variable.
+
+ GL_INVALID_OPERATION is generated if a
+ sampler is loaded using a command other than
+ glUniform1i and
+ glUniform1iv.
- GL_INVALID_OPERATION is generated if
- glUniform is executed between the execution
- of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
- glGet
- with the argument GL_CURRENT_PROGRAM
+ glGet
+ with the argument GL_CURRENT_PROGRAM
- glGetActiveUniform
- with the handle of a program object and the index of an active uniform variable
+ glGetActiveUniform
+ with the handle of a program object and the index of an active uniform variable
- glGetUniform
- with the handle of a program object and the location of a
- uniform variable
+ glGetUniform
+ with the handle of a program object and the location of a
+ uniform variable
- glGetUniformLocation
- with the handle of a program object and the name of a uniform
- variable
+ glGetUniformLocation
+ with the handle of a program object and the name of a uniform
+ variable
See Also
- glLinkProgram,
- glUseProgram
+ glLinkProgram,
+ glUseProgram
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glUniformBlockBinding.xml b/Source/Bind/Specifications/Docs/glUniformBlockBinding.xml
new file mode 100644
index 00000000..2971516b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glUniformBlockBinding.xml
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glUniformBlockBinding
+ 3G
+
+
+ glUniformBlockBinding
+ assign a binding point to an active uniform block
+
+ C Specification
+
+
+ void glUniformBlockBinding
+ GLuint program
+ GLuint uniformBlockIndex
+ GLuint uniformBlockBinding
+
+
+
+ Parameters
+
+
+ program
+
+
+ The name of a program object containing the active uniform block whose binding to assign.
+
+
+
+
+ uniformBlockIndex
+
+
+ The index of the active uniform block within program whose binding to assign.
+
+
+
+
+ uniformBlockBinding
+
+
+ Specifies the binding point to which to bind the uniform block with index uniformBlockIndex within program.
+
+
+
+
+
+ Description
+
+ Binding points for active uniform blocks are assigned using glUniformBlockBinding. Each of a program's active uniform
+ blocks has a corresponding uniform buffer binding point. program is the name of a program object for which the command
+ glLinkProgram has been issued in the past.
+
+
+ If successful, glUniformBlockBinding specifies that program will use the data store of the
+ buffer object bound to the binding point uniformBlockBinding to extract the values of the uniforms in the
+ uniform block identified by uniformBlockIndex.
+
+
+ When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if uniformBlockIndex is not an active uniform block index of program.
+
+
+ GL_INVALID_VALUE is generated if uniformBlockBinding is greater than or equal to the value of GL_MAX_UNIFORM_BUFFER_BINDINGS.
+
+
+ GL_INVALID_VALUE is generated program is not the name of a program object generated by the GL.
+
+
+ Notes
+
+ glUniformBlockBinding is available only if the GL version is 3.1 or greater.
+
+
+ Associated Gets
+
+ glGetActiveUniformBlock with argument GL_UNIFORM_BLOCK_BINDING
+
+
+ See Also
+
+ glLinkProgram,
+ glBindBufferBase,
+ glBindBufferRange,
+ glGetActiveUniformBlock
+
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glUniformSubroutines.xml b/Source/Bind/Specifications/Docs/glUniformSubroutines.xml
new file mode 100644
index 00000000..64898bce
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glUniformSubroutines.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group.
+
+
+ glUniformSubroutines
+ 3G
+
+
+ glUniformSubroutines
+ load active subroutine uniforms
+
+ C Specification
+
+
+ void glUniformSubroutinesuiv
+ GLenum shadertype
+ GLsizei count
+ const GLuint *indices
+
+
+
+
+ Parameters
+
+
+ shadertype
+
+
+ Specifies the shader stage from which to query for subroutine uniform index.
+ shadertype
+ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER,
+ GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
+ GL_FRAGMENT_SHADER.
+
+
+
+
+ count
+
+
+ Specifies the number of uniform indices stored in indices.
+
+
+
+
+ indices
+
+
+ Specifies the address of an array holding the indices to load into the shader subroutine variables.
+
+
+
+
+
+ Description
+
+ glUniformSubroutines loads all active subroutine uniforms for shader stage
+ shadertype of the current program with subroutine indices from indices,
+ storing indices[i] into the uniform at location i.
+ count must be equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
+ for the program currently in use at shader stage shadertype. Furthermore, all values in
+ indices must be less than the value of GL_ACTIVE_SUBROUTINES
+ for the shader stage.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if no program object is current.
+
+
+ GL_INVALID_VALUE is generated if count is not equal to the value
+ of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader stage shadertype
+ of the current program.
+
+
+ GL_INVALID_VALUE is generated if any value in indices is geater
+ than or equal to the value of GL_ACTIVE_SUBROUTINES for the shader stage shadertype
+ of the current program.
+
+
+ GL_INVALID_ENUM is generated if shadertype is not one of the accepted values.
+
+
+ Associated Gets
+
+ glGetProgramStage with argument GL_ACTIVE_SUBROUTINES
+
+
+ glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
+
+
+ See Also
+
+ glGetProgram,
+ glGetActiveSubroutineUniform,
+ glGetActiveSubroutineUniformName,
+ glGetProgramStage
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glUseProgram.xml b/Source/Bind/Specifications/Docs/glUseProgram.xml
index 761be18e..698e0798 100644
--- a/Source/Bind/Specifications/Docs/glUseProgram.xml
+++ b/Source/Bind/Specifications/Docs/glUseProgram.xml
@@ -46,89 +46,15 @@
A program object will contain an executable that will run
on the vertex processor if it contains one or more shader
objects of type GL_VERTEX_SHADER that have
- been successfully compiled and linked. Similarly, a program
- object will contain an executable that will run on the fragment
- processor if it contains one or more shader objects of type
+ been successfully compiled and linked. A program object will contain an
+ executable that will run on the geometry processor if it contains one or
+ more shader objects of type GL_GEOMETRY_SHADER that
+ have been successfully compiled and linked.
+ Similarly, a program object will contain an executable that will run on the
+ fragment processor if it contains one or more shader objects of type
GL_FRAGMENT_SHADER that have been
successfully compiled and linked.
- Successfully installing an executable on a programmable
- processor will cause the corresponding fixed functionality of
- OpenGL to be disabled. Specifically, if an executable is
- installed on the vertex processor, the OpenGL fixed
- functionality will be disabled as follows.
-
-
-
- The modelview matrix is not applied to vertex
- coordinates.
-
-
- The projection matrix is not applied to vertex
- coordinates.
-
-
- The texture matrices are not applied to texture
- coordinates.
-
-
- Normals are not transformed to eye
- coordinates.
-
-
- Normals are not rescaled or normalized.
-
-
- Normalization of
- GL_AUTO_NORMAL evaluated normals is
- not performed.
-
-
- Texture coordinates are not generated
- automatically.
-
-
- Per-vertex lighting is not performed.
-
-
- Color material computations are not
- performed.
-
-
- Color index lighting is not performed.
-
-
- This list also applies when setting the current
- raster position.
-
-
-
- The executable that is installed on the vertex processor
- is expected to implement any or all of the desired functionality
- from the preceding list. Similarly, if an executable is
- installed on the fragment processor, the OpenGL fixed
- functionality will be disabled as follows.
-
-
-
- Texture environment and texture functions are not
- applied.
-
-
- Texture application is not applied.
-
-
- Color sum is not applied.
-
-
- Fog is not applied.
-
-
-
- Again, the fragment shader that is installed is expected
- to implement any or all of the desired functionality from the
- preceding list.
-
While a program object is in use, applications are free to
modify attached shader objects, compile attached shader objects,
attach additional shader objects, and detach or delete shader
@@ -146,30 +72,17 @@
from use. After it is removed from use, it cannot be made part
of current state until it has been successfully relinked.
- If program contains shader objects
- of type GL_VERTEX_SHADER but it does not
- contain shader objects of type
- GL_FRAGMENT_SHADER, an executable will be
- installed on the vertex processor, but fixed functionality will
- be used for fragment processing. Similarly, if
- program contains shader objects of type
- GL_FRAGMENT_SHADER but it does not contain
- shader objects of type GL_VERTEX_SHADER, an
- executable will be installed on the fragment processor, but
- fixed functionality will be used for vertex processing. If
- program is 0, the programmable processors
- will be disabled, and fixed functionality will be used for both
- vertex and fragment processing.
+ If program is zero, then the current rendering
+ state refers to an invalid program object and the
+ results of shader execution are undefined. However, this is not an error.
+
+ If program does not
+ contain shader objects of type GL_FRAGMENT_SHADER, an
+ executable will be installed on the vertex, and possibly geometry processors,
+ but the results of fragment shader execution will be undefined.
Notes
- glUseProgram is available only if the
- GL version is 2.0 or greater.
-
- While a program object is in use, the state that controls
- the disabled fixed functionality may also be updated using the
- normal OpenGL calls.
-
- Like display lists and texture objects, the name space for
+ Like buffer and texture objects, the name space for
program objects may be shared across a set of contexts, as long
as the server sides of the contexts share the same address
space. If the name space is shared across contexts, any attached
@@ -192,13 +105,10 @@
GL_INVALID_OPERATION is generated if
program could not be made part of current
state.
-
+
GL_INVALID_OPERATION is generated if
- glUseProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
+ transform feedback mode is active.
+
Associated Gets
glGet
@@ -236,7 +146,7 @@
glIsProgram
See Also
- gllAttachShader,
+ glAttachShader,
glBindAttribLocation,
glCompileShader,
glCreateProgram,
diff --git a/Source/Bind/Specifications/Docs/glUseProgramStages.xml b/Source/Bind/Specifications/Docs/glUseProgramStages.xml
new file mode 100644
index 00000000..23d4372d
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glUseProgramStages.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glUseProgramStages
+ 3G
+
+
+ glUseProgramStages
+ bind stages of a program object to a program pipeline
+
+ C Specification
+
+
+ void glUseProgramStages
+ GLuint pipeline
+ GLbitfield stages
+ GLuint program
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the program pipeline object to which to bind stages from program.
+
+
+
+
+ stages
+
+
+ Specifies a set of program stages to bind to the program pipeline object.
+
+
+
+
+ program
+
+
+ Specifies the program object containing the shader executables to use in pipeline.
+
+
+
+
+
+ Description
+
+ glUseProgramStages binds executables from a program object
+ associated with a specified set of shader stages to the program pipeline object given
+ by pipeline.
+ pipeline specifies the program pipeline object to which to bind
+ the executables. stages contains a logical combination of bits
+ indicating the shader stages to use within program with the program
+ pipeline object pipeline. stages must be
+ a logical combination of GL_VERTEX_SHADER_BIT,
+ GL_TESS_CONTROL_SHADER_BIT, GL_TESS_EVALUATION_SHADER_BIT,
+ GL_GEOMETRY_SHADER_BIT, and GL_FRAGMENT_SHADER_BIT.
+ Additionally, the special value GL_ALL_SHADER_BITS may be specified to
+ indicate that all executables contained in program should be
+ installed in pipeline.
+
+
+ If program refers to a program object with a valid shader attached for
+ an indicated shader stage, glUseProgramStages installs the executable
+ code for that stage in the indicated program pipeline object pipeline.
+ If program is zero, or refers to a program object with no valid shader
+ executable for a given stage, it is as if the pipeline object has no programmable stage configured
+ for the indicated shader stages. If stages contains bits other than those
+ listed above, and is not equal to GL_ALL_SHADER_BITS, an error is generated.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if shaders contains
+ set bits that are not recognized, and is not the reserved value GL_ALL_SHADER_BITS.
+
+
+ GL_INVALID_OPERATION is generated if program refers
+ to a program object that was not linked with its GL_PROGRAM_SEPARABLE status set.
+
+
+ GL_INVALID_OPERATION is generated if program refers
+ to a program object that has not been successfully linked.
+
+
+ GL_INVALID_OPERATION is generated if pipeline is not
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glDeleteProgramPipelines,
+ glIsProgramPipeline
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glValidateProgram.xml b/Source/Bind/Specifications/Docs/glValidateProgram.xml
index 6ef6e60f..6e02901b 100644
--- a/Source/Bind/Specifications/Docs/glValidateProgram.xml
+++ b/Source/Bind/Specifications/Docs/glValidateProgram.xml
@@ -62,18 +62,11 @@
to produce identical information strings.
Notes
- glValidateProgram is available only
- if the GL version is 2.0 or greater.
-
This function mimics the validation operation that OpenGL
implementations must perform when rendering commands are issued
while programmable shaders are part of current state. The error
GL_INVALID_OPERATION will be generated by
- glBegin,
- glRasterPos,
- or any command that performs an implicit call to
- glBegin
- if:
+ any command that triggers the rendering of geometry if:
@@ -82,17 +75,8 @@
texture image unit,
- any active sampler in the current program object
- refers to a texture image unit where fixed-function
- fragment processing accesses a texture target that does
- not match the sampler type, or
-
-
- the sum of the number of active samplers in the
- program and the number of texture image units enabled
- for fixed-function fragment processing exceeds the
- combined limit on the total number of texture image
- units allowed.
+ the number of active samplers in the program exceeds the maximum
+ number of texture image units allowed.
@@ -109,13 +93,6 @@
GL_INVALID_OPERATION is generated if
program is not a program object.
-
- GL_INVALID_OPERATION is generated if
- glValidateProgram is executed between the
- execution of
- glBegin
- and the corresponding execution of
- glEnd.
Associated Gets
glGetProgram
diff --git a/Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml b/Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml
new file mode 100644
index 00000000..8fa06910
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glValidateProgramPipeline
+ 3G
+
+
+ glValidateProgramPipeline
+ validate a program pipeline object against current GL state
+
+ C Specification
+
+
+ void glValidateProgramPipeline
+ GLuint pipeline
+
+
+
+ Parameters
+
+
+ pipeline
+
+
+ Specifies the name of a program pipeline object to validate.
+
+
+
+
+
+ Description
+
+ glValidateProgramPipeline instructs the implementation to validate the
+ shader executables contained in pipeline against the current GL state.
+ The implementation may use this as an opportunity to perform any internal shader modifications
+ that may be required to ensure correct operation of the installed shaders given the
+ current GL state.
+
+
+ After a program pipeline has been validated, its validation status is set to GL_TRUE.
+ The validation status of a program pipeline object may be queried by calling
+ glGetProgramPipeline with
+ parameter GL_VALIDATE_STATUS.
+
+
+ If pipeline is a name previously returned from a call to
+ glGenProgramPipelines but
+ that has not yet been bound by a call to glBindProgramPipeline,
+ a new program pipeline object is created with name pipeline and
+ the default state vector.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if pipeline is not
+ a name previously returned from a call to glGenProgramPipelines
+ or if such a name has been deleted by a call to
+ glDeleteProgramPipelines.
+
+
+ Associated Gets
+
+ glGetProgramPipeline
+ with parameter GL_VALIDATE_STATUS.
+
+
+
+ See Also
+
+ glGenProgramPipelines,
+ glBindProgramPipeline,
+ glDeleteProgramPipelines
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/glVertexAttrib.xml
index c9f161b8..d8b5cbac 100644
--- a/Source/Bind/Specifications/Docs/glVertexAttrib.xml
+++ b/Source/Bind/Specifications/Docs/glVertexAttrib.xml
@@ -1,419 +1,657 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glVertexAttrib
- 3G
+ glVertexAttrib
+ 3G
- glVertexAttrib
- Specifies the value of a generic vertex attribute
+ glVertexAttrib
+ Specifies the value of a generic vertex attribute
C Specification
-
-
- void glVertexAttrib1f
- GLuint index
- GLfloat v0
-
-
- void glVertexAttrib1s
- GLuint index
- GLshort v0
-
-
- void glVertexAttrib1d
- GLuint index
- GLdouble v0
-
-
- void glVertexAttrib2f
- GLuint index
- GLfloat v0
- GLfloat v1
-
-
- void glVertexAttrib2s
- GLuint index
- GLshort v0
- GLshort v1
-
-
- void glVertexAttrib2d
- GLuint index
- GLdouble v0
- GLdouble v1
-
-
- void glVertexAttrib3f
- GLuint index
- GLfloat v0
- GLfloat v1
- GLfloat v2
-
-
- void glVertexAttrib3s
- GLuint index
- GLshort v0
- GLshort v1
- GLshort v2
-
-
- void glVertexAttrib3d
- GLuint index
- GLdouble v0
- GLdouble v1
- GLdouble v2
-
-
- void glVertexAttrib4f
- GLuint index
- GLfloat v0
- GLfloat v1
- GLfloat v2
- GLfloat v3
-
-
- void glVertexAttrib4s
- GLuint index
- GLshort v0
- GLshort v1
- GLshort v2
- GLshort v3
-
-
- void glVertexAttrib4d
- GLuint index
- GLdouble v0
- GLdouble v1
- GLdouble v2
- GLdouble v3
-
-
- void glVertexAttrib4Nub
- GLuint index
- GLubyte v0
- GLubyte v1
- GLubyte v2
- GLubyte v3
-
-
+
+
+ void glVertexAttrib1f
+ GLuint index
+ GLfloat v0
+
+
+ void glVertexAttrib1s
+ GLuint index
+ GLshort v0
+
+
+ void glVertexAttrib1d
+ GLuint index
+ GLdouble v0
+
+
+ void glVertexAttribI1i
+ GLuint index
+ GLint v0
+
+
+ void glVertexAttribI1ui
+ GLuint index
+ GLuint v0
+
+
+ void glVertexAttrib2f
+ GLuint index
+ GLfloat v0
+ GLfloat v1
+
+
+ void glVertexAttrib2s
+ GLuint index
+ GLshort v0
+ GLshort v1
+
+
+ void glVertexAttrib2d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+
+
+ void glVertexAttribI2i
+ GLuint index
+ GLint v0
+ GLint v1
+
+
+ void glVertexAttribI2ui
+ GLuint index
+ GLuint v0
+ GLuint v1
+
+
+ void glVertexAttrib3f
+ GLuint index
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+ void glVertexAttrib3s
+ GLuint index
+ GLshort v0
+ GLshort v1
+ GLshort v2
+
+
+ void glVertexAttrib3d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+
+
+ void glVertexAttribI3i
+ GLuint index
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+ void glVertexAttribI3ui
+ GLuint index
+ GLoint v0
+ GLoint v1
+ GLoint v2
+
+
+ void glVertexAttrib4f
+ GLuint index
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+ void glVertexAttrib4s
+ GLuint index
+ GLshort v0
+ GLshort v1
+ GLshort v2
+ GLshort v3
+
+
+ void glVertexAttrib4d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+ GLdouble v3
+
+
+ void glVertexAttrib4Nub
+ GLuint index
+ GLubyte v0
+ GLubyte v1
+ GLubyte v2
+ GLubyte v3
+
+
+ void glVertexAttribI4i
+ GLuint index
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+ void glVertexAttribI4ui
+ GLuint index
+ GLuint v0
+ GLuint v1
+ GLuint v2
+ GLuint v3
+
+
+ void glVertexAttribL1d
+ GLuint index
+ GLdouble v0
+
+
+ void glVertexAttribL2d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+
+
+ void glVertexAttribL3d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+
+
+ void glVertexAttribL4d
+ GLuint index
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+ GLdouble v3
+
+
Parameters
-
-
- index
-
- Specifies the index of the generic vertex
- attribute to be modified.
-
-
-
-
- v0,
- v1,
- v2,
- v3
-
-
- Specifies the new values to be used for the
- specified vertex attribute.
-
-
-
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be modified.
+
+
+
+
+ v0,
+ v1,
+ v2,
+ v3
+
+
+ Specifies the new values to be used for the
+ specified vertex attribute.
+
+
+
C Specification
-
-
- void glVertexAttrib1fv
- GLuint index
- const GLfloat *v
-
-
- void glVertexAttrib1sv
- GLuint index
- const GLshort *v
-
-
- void glVertexAttrib1dv
- GLuint index
- const GLdouble *v
-
-
- void glVertexAttrib2fv
- GLuint index
- const GLfloat *v
-
-
- void glVertexAttrib2sv
- GLuint index
- const GLshort *v
-
-
- void glVertexAttrib2dv
- GLuint index
- const GLdouble *v
-
-
- void glVertexAttrib3fv
- GLuint index
- const GLfloat *v
-
-
- void glVertexAttrib3sv
- GLuint index
- const GLshort *v
-
-
- void glVertexAttrib3dv
- GLuint index
- const GLdouble *v
-
-
- void glVertexAttrib4fv
- GLuint index
- const GLfloat *v
-
-
- void glVertexAttrib4sv
- GLuint index
- const GLshort *v
-
-
- void glVertexAttrib4dv
- GLuint index
- const GLdouble *v
-
-
- void glVertexAttrib4iv
- GLuint index
- const GLint *v
-
-
- void glVertexAttrib4bv
- GLuint index
- const GLbyte *v
-
-
- void glVertexAttrib4ubv
- GLuint index
- const GLubyte *v
-
-
- void glVertexAttrib4usv
- GLuint index
- const GLushort *v
-
-
- void glVertexAttrib4uiv
- GLuint index
- const GLuint *v
-
-
- void glVertexAttrib4Nbv
- GLuint index
- const GLbyte *v
-
-
- void glVertexAttrib4Nsv
- GLuint index
- const GLshort *v
-
-
- void glVertexAttrib4Niv
- GLuint index
- const GLint *v
-
-
- void glVertexAttrib4Nubv
- GLuint index
- const GLubyte *v
-
-
- void glVertexAttrib4Nusv
- GLuint index
- const GLushort *v
-
-
- void glVertexAttrib4Nuiv
- GLuint index
- const GLuint *v
-
-
+
+
+ void glVertexAttrib1fv
+ GLuint index
+ const GLfloat *v
+
+
+ void glVertexAttrib1sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib1dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribI1iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI1uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib2fv
+ GLuint index
+ const GLfloat *v
+
+
+ void glVertexAttrib2sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib2dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribI2iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI2uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib3fv
+ GLuint index
+ const GLfloat *v
+
+
+ void glVertexAttrib3sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib3dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribI3iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI3uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib4fv
+ GLuint index
+ const GLfloat *v
+
+
+ void glVertexAttrib4sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib4dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttrib4iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttrib4bv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttrib4ubv
+ GLuint index
+ const GLubyte *v
+
+
+ void glVertexAttrib4usv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttrib4uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib4Nbv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttrib4Nsv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib4Niv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttrib4Nubv
+ GLuint index
+ const GLubyte *v
+
+
+ void glVertexAttrib4Nusv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttrib4Nuiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribI4bv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttribI4ubv
+ GLuint index
+ const GLubyte *v
+
+
+ void glVertexAttribI4sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttribI4usv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttribI4iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI4uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribL1dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL2dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL3dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL4dv
+ GLuint index
+ const GLdouble *v
+
+
Parameters
-
-
- index
-
- Specifies the index of the generic vertex
- attribute to be modified.
-
-
-
- v
-
- Specifies a pointer to an array of values to
- be used for the generic vertex attribute.
-
-
-
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be modified.
+
+
+
+ v
+
+ Specifies a pointer to an array of values to
+ be used for the generic vertex attribute.
+
+
+
+
+ C Specification
+
+
+ void glVertexAttribP1ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP2ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP3ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP4ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+
+ Parameters
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be modified.
+
+
+
+ type
+
+ Type of packing used on the data. This parameter must be
+ GL_INT_10_10_10_2 or GL_UNSIGNED_INT_10_10_10_2
+ to specify signed or unsigned data, respectively.
+
+
+
+ normalized
+
+ If GL_TRUE, then the values are to be
+ converted to floating point values by normalizing. Otherwise,
+ they are converted directly to floating point values.
+
+
+
+
+ value
+
+
+ Specifies the new packed value to be used for the
+ specified vertex attribute.
+
+
+
Description
- OpenGL defines a number of standard vertex attributes that
- applications can modify with standard API entry points (color,
- normal, texture coordinates, etc.). The
- glVertexAttrib family of entry points
- allows an application to pass generic vertex attributes in
- numbered locations.
+ The glVertexAttrib family of entry points
+ allows an application to pass generic vertex attributes in
+ numbered locations.
- Generic attributes are defined as four-component values
- that are organized into an array. The first entry of this array
- is numbered 0, and the size of the array is specified by the
- implementation-dependent constant
- GL_MAX_VERTEX_ATTRIBS. Individual elements
- of this array can be modified with a
- glVertexAttrib call that specifies the
- index of the element to be modified and a value for that
- element.
+ Generic attributes are defined as four-component values
+ that are organized into an array. The first entry of this array
+ is numbered 0, and the size of the array is specified by the
+ implementation-dependent constant
+ GL_MAX_VERTEX_ATTRIBS. Individual elements
+ of this array can be modified with a
+ glVertexAttrib call that specifies the
+ index of the element to be modified and a value for that
+ element.
- These commands can be used to specify one, two, three, or
- all four components of the generic vertex attribute specified by
- index. A 1 in the
- name of the command indicates that only one value is passed, and
- it will be used to modify the first component of the generic
- vertex attribute. The second and third components will be set to
- 0, and the fourth component will be set to 1. Similarly, a
- 2 in the name of the command indicates that
- values are provided for the first two components, the third
- component will be set to 0, and the fourth component will be set
- to 1. A 3 in the name of the command
- indicates that values are provided for the first three
- components and the fourth component will be set to 1, whereas a
- 4 in the name indicates that values are
- provided for all four components.
+ These commands can be used to specify one, two, three, or
+ all four components of the generic vertex attribute specified by
+ index. A 1 in the
+ name of the command indicates that only one value is passed, and
+ it will be used to modify the first component of the generic
+ vertex attribute. The second and third components will be set to
+ 0, and the fourth component will be set to 1. Similarly, a
+ 2 in the name of the command indicates that
+ values are provided for the first two components, the third
+ component will be set to 0, and the fourth component will be set
+ to 1. A 3 in the name of the command
+ indicates that values are provided for the first three
+ components and the fourth component will be set to 1, whereas a
+ 4 in the name indicates that values are
+ provided for all four components.
- The letters s,
- f, i,
- d, ub,
- us, and ui indicate
- whether the arguments are of type short, float, int, double,
- unsigned byte, unsigned short, or unsigned int. When
- v is appended to the name, the commands can
- take a pointer to an array of such values. The commands
- containing N indicate that the arguments
- will be passed as fixed-point values that are scaled to a
- normalized range according to the component conversion rules
- defined by the OpenGL specification. Signed values are
- understood to represent fixed-point values in the range [-1,1],
- and unsigned values are understood to represent fixed-point
- values in the range [0,1].
+ The letters s,
+ f, i,
+ d, ub,
+ us, and ui indicate
+ whether the arguments are of type short, float, int, double,
+ unsigned byte, unsigned short, or unsigned int. When
+ v is appended to the name, the commands can
+ take a pointer to an array of such values.
- OpenGL Shading Language attribute variables are allowed to
- be of type mat2, mat3, or mat4. Attributes of these types may be
- loaded using the glVertexAttrib entry
- points. Matrices must be loaded into successive generic
- attribute slots in column major order, with one column of the
- matrix in each generic attribute slot.
+ Additional capitalized letters can indicate further alterations
+ to the default behavior of the glVertexAttrib function:
- A user-defined attribute variable declared in a vertex
- shader can be bound to a generic attribute index by calling
- glBindAttribLocation.
- This allows an application to use more descriptive variable
- names in a vertex shader. A subsequent change to the specified
- generic vertex attribute will be immediately reflected as a
- change to the corresponding attribute variable in the vertex
- shader.
+
+ The commands containing N indicate that
+ the arguments will be passed as fixed-point values that are
+ scaled to a normalized range according to the component
+ conversion rules defined by the OpenGL specification. Signed
+ values are understood to represent fixed-point values in the
+ range [-1,1], and unsigned values are understood to represent
+ fixed-point values in the range [0,1].
+
- The binding between a generic vertex attribute index and a
- user-defined attribute variable in a vertex shader is part of
- the state of a program object, but the current value of the
- generic vertex attribute is not. The value of each generic
- vertex attribute is part of current state, just like standard
- vertex attributes, and it is maintained even if a different
- program object is used.
+
+ The commands containing I indicate that
+ the arguments are extended to full signed or unsigned integers.
+
- An application may freely modify generic vertex attributes
- that are not bound to a named vertex shader attribute variable.
- These values are simply maintained as part of current state and
- will not be accessed by the vertex shader. If a generic vertex
- attribute bound to an attribute variable in a vertex shader is
- not updated while the vertex shader is executing, the vertex
- shader will repeatedly use the current value for the generic
- vertex attribute.
+
+ The commands containing P indicate that
+ the arguments are stored as packed components within a larger
+ natural type.
+
- The generic vertex attribute with index 0 is the same as
- the vertex position attribute previously defined by OpenGL. A
- glVertex2,
- glVertex3,
- or
- glVertex4
- command is completely equivalent to the corresponding
- glVertexAttrib command with an index
- argument of 0. A vertex shader can access generic vertex
- attribute 0 by using the built-in attribute variable
- gl_Vertex. There are no current values
- for generic vertex attribute 0. This is the only generic vertex
- attribute with this property; calls to set other standard vertex
- attributes can be freely mixed with calls to set any of the
- other generic vertex attributes.
+
+ The commands containing L indicate that
+ the arguments are full 64-bit quantities and should be passed directly
+ to shader inputs declared as 64-bit double precision types.
+
+
+ OpenGL Shading Language attribute variables are allowed to
+ be of type mat2, mat3, or mat4. Attributes of these types may be
+ loaded using the glVertexAttrib entry
+ points. Matrices must be loaded into successive generic
+ attribute slots in column major order, with one column of the
+ matrix in each generic attribute slot.
+
+ A user-defined attribute variable declared in a vertex
+ shader can be bound to a generic attribute index by calling
+ glBindAttribLocation.
+ This allows an application to use more descriptive variable
+ names in a vertex shader. A subsequent change to the specified
+ generic vertex attribute will be immediately reflected as a
+ change to the corresponding attribute variable in the vertex
+ shader.
+
+ The binding between a generic vertex attribute index and a
+ user-defined attribute variable in a vertex shader is part of
+ the state of a program object, but the current value of the
+ generic vertex attribute is not. The value of each generic
+ vertex attribute is part of current state, just like standard
+ vertex attributes, and it is maintained even if a different
+ program object is used.
+
+ An application may freely modify generic vertex attributes
+ that are not bound to a named vertex shader attribute variable.
+ These values are simply maintained as part of current state and
+ will not be accessed by the vertex shader. If a generic vertex
+ attribute bound to an attribute variable in a vertex shader is
+ not updated while the vertex shader is executing, the vertex
+ shader will repeatedly use the current value for the generic
+ vertex attribute.
Notes
- glVertexAttrib is available only if
- the GL version is 2.0 or greater.
+ Generic vertex attributes can be updated at any time.
- Generic vertex attributes can be updated at any time. In
- particular, glVertexAttrib can be called
- between a call to
- glBegin
- and the corresponding call to
- glEnd.
+ It is possible for an application to bind more than one
+ attribute name to the same generic vertex attribute index. This
+ is referred to as aliasing, and it is allowed only if just one
+ of the aliased attribute variables is active in the vertex
+ shader, or if no path through the vertex shader consumes more
+ than one of the attributes aliased to the same location. OpenGL
+ implementations are not required to do error checking to detect
+ aliasing, they are allowed to assume that aliasing will not
+ occur, and they are allowed to employ optimizations that work
+ only in the absence of aliasing.
- It is possible for an application to bind more than one
- attribute name to the same generic vertex attribute index. This
- is referred to as aliasing, and it is allowed only if just one
- of the aliased attribute variables is active in the vertex
- shader, or if no path through the vertex shader consumes more
- than one of the attributes aliased to the same location. OpenGL
- implementations are not required to do error checking to detect
- aliasing, they are allowed to assume that aliasing will not
- occur, and they are allowed to employ optimizations that work
- only in the absence of aliasing.
+ There is no provision for binding standard vertex
+ attributes; therefore, it is not possible to alias generic
+ attributes with standard attributes.
- There is no provision for binding standard vertex
- attributes; therefore, it is not possible to alias generic
- attributes with standard attributes.
+
+ glVertexAttribL versions are available only if the GL version is 4.1 or higher.
+
Errors
- GL_INVALID_VALUE is generated if
- index is greater than or equal to
- GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to
+ GL_MAX_VERTEX_ATTRIBS.
+
+ GL_INVALID_ENUM is generated if
+ glVertexAttribP is used with a
+ type other than
+ GL_INT_10_10_10_2 or
+ GL_UNSIGNED_INT_10_10_10_2.
+
+ GL_INVALID_ENUM is generated if
+ glVertexAttribL is used with a
+ type other than
+ GL_DOUBLE.
+
Associated Gets
- glGet
- with the argument GL_CURRENT_PROGRAM
+ glGet
+ with the argument GL_CURRENT_PROGRAM
- glGetActiveAttrib
- with argument program and the index of an active
- attribute variable
+ glGetActiveAttrib
+ with argument program and the index of an active
+ attribute variable
- glGetAttribLocation
- with argument program and an attribute
- variable name
+ glGetAttribLocation
+ with argument program and an attribute
+ variable name
- glGetVertexAttrib
- with arguments GL_CURRENT_VERTEX_ATTRIB and
- index
+ glGetVertexAttrib
+ with arguments GL_CURRENT_VERTEX_ATTRIB and
+ index
See Also
- glBindAttribLocation,
- glVertex,
- glVertexAttribPointer
+ glBindAttribLocation,
+ glVertexAttribPointer
Copyright
Copyright 2003-2005 3Dlabs Inc. Ltd.
+ Copyright 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml b/Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml
new file mode 100644
index 00000000..6a4f8a65
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glVertexAttribDivisor
+ 3G
+
+
+ glVertexAttribDivisor
+ modify the rate at which generic vertex attributes advance during instanced rendering
+
+ C Specification
+
+
+ void glVertexAttribDivisor
+ GLuint index
+ GLuint divisor
+
+
+
+ Parameters
+
+
+ index
+
+
+ Specify the index of the generic vertex attribute.
+
+
+
+
+ divisor
+
+
+ Specify the number of instances that will pass between updates of the generic attribute at slot index.
+
+
+
+
+
+ Description
+
+ glVertexAttribDivisor modifies the rate at which generic vertex attributes advance when rendering
+ multiple instances of primitives in a single draw call. If divisor is zero, the attribute at slot
+ index advances once per vertex. If divisor is non-zero, the attribute advances
+ once per divisor instances of the set(s) of vertices being rendered. An attribute
+ is referred to as instanced if its GL_VERTEX_ATTRIB_ARRAY_DIVISOR value is non-zero.
+
+
+ index must be less than the value of GL_MAX_VERTEX_ATTRIBUTES.
+
+
+ Notes
+
+ glVertexAttribDivisor is available only if the GL version is 3.3 or higher.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if index is greater
+ than or equal to the value of GL_MAX_VERTEX_ATTRIBUTES.
+
+
+ See Also
+
+ glVertexAttribPointer,
+ glEnableVertexAttribArray,
+ glDisableVertexAttribArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml
index 7f9949b9..17302ead 100644
--- a/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml
+++ b/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml
@@ -1,234 +1,247 @@
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
- glVertexAttribPointer
- 3G
+ glVertexAttribPointer
+ 3G
- glVertexAttribPointer
- define an array of generic vertex attribute data
+ glVertexAttribPointer
+ define an array of generic vertex attribute data
C Specification
-
-
- void glVertexAttribPointer
- GLuint index
- GLint size
- GLenum type
- GLboolean normalized
- GLsizei stride
- const GLvoid * pointer
-
-
+
+
+ void glVertexAttribPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+ const GLvoid * pointer
+
+
+ void glVertexAttribIPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const GLvoid * pointer
+
+
+ void glVertexAttribLPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const GLvoid * pointer
+
+
Parameters
-
-
- index
-
- Specifies the index of the generic vertex
- attribute to be modified.
-
-
-
- size
-
- Specifies the number of components per
- generic vertex attribute. Must
- be 1, 2, 3, or 4. The initial value is 4.
-
-
-
- type
-
- Specifies the data type of each component in
- the array. Symbolic constants
- GL_BYTE,
- GL_UNSIGNED_BYTE,
- GL_SHORT,
- GL_UNSIGNED_SHORT,
- GL_INT,
- GL_UNSIGNED_INT,
- GL_FLOAT, or
- GL_DOUBLE are
- accepted. The initial value is GL_FLOAT.
-
-
-
- normalized
-
- Specifies whether fixed-point data values
- should be normalized (GL_TRUE)
- or converted directly as fixed-point values
- (GL_FALSE) when they are
- accessed.
-
-
-
- stride
-
- Specifies the byte offset between consecutive
- generic vertex attributes. If stride
- is 0, the generic vertex attributes are
- understood to be tightly packed in the
- array. The initial value is 0.
-
-
-
- pointer
-
- Specifies a pointer to the first component of
- the first generic vertex attribute in the array. The initial value is 0.
-
-
-
+
+
+ index
+
+ Specifies the index of the generic vertex
+ attribute to be modified.
+
+
+
+ size
+
+ Specifies the number of components per
+ generic vertex attribute. Must
+ be 1, 2, 3, 4. Additionally, the symbolic constant GL_BGRA
+ is accepted by glVertexAttribPointer. The initial value is 4.
+
+
+
+ type
+
+ Specifies the data type of each component in
+ the array. The symbolic constants
+ GL_BYTE,
+ GL_UNSIGNED_BYTE,
+ GL_SHORT,
+ GL_UNSIGNED_SHORT,
+ GL_INT, and
+ GL_UNSIGNED_INT are accepted by both functions. Additionally
+ GL_HALF_FLOAT,
+ GL_FLOAT,
+ GL_DOUBLE,
+ GL_FIXED,
+ GL_INT_2_10_10_10_REV, and
+ GL_UNSIGNED_INT_2_10_10_10_REV are accepted by glVertexAttribPointer.
+ The initial value is GL_FLOAT.
+
+
+
+ normalized
+
+ For glVertexAttribPointer, specifies whether fixed-point data values
+ should be normalized (GL_TRUE)
+ or converted directly as fixed-point values
+ (GL_FALSE) when they are
+ accessed.
+
+
+
+ stride
+
+ Specifies the byte offset between consecutive
+ generic vertex attributes. If stride
+ is 0, the generic vertex attributes are
+ understood to be tightly packed in the
+ array. The initial value is 0.
+
+
+
+ pointer
+
+ Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of the
+ buffer currently bound to the GL_ARRAY_BUFFER target. The initial value is 0.
+
+
+
Description
- glVertexAttribPointer specifies the
- location and data format of the array of generic vertex attributes at index index
- to use when rendering. size
- specifies the number of components per attribute and must be 1,
- 2, 3, or 4. type specifies the data type
- of each component, and stride specifies
- the byte stride from one attribute to the next, allowing vertices and
- attributes to be packed into a single array or
- stored in separate arrays.
- If set to GL_TRUE,
- normalized indicates that values stored
- in an integer format are to be mapped to the range [-1,1] (for
- signed values) or [0,1] (for unsigned values) when they are
- accessed and converted to floating point. Otherwise, values will
- be converted to floats directly without normalization.
+
+ glVertexAttribPointer, glVertexAttribIPointer and glVertexAttribLPointer
+ specify the
+ location and data format of the array of generic vertex attributes at index index
+ to use when rendering. size specifies the number of components per attribute and
+ must be 1, 2, 3, 4, or GL_BGRA. type specifies the data type
+ of each component, and stride specifies the byte stride from one attribute to the next,
+ allowing vertices and attributes to be packed into a single array or stored in separate arrays.
+
+
+ For glVertexAttribPointer, if normalized is set to GL_TRUE,
+ it indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for
+ unsigned values) when they are accessed and converted to floating point. Otherwise, values will
+ be converted to floats directly without normalization.
+
+
+ For glVertexAttribIPointer, only the integer types GL_BYTE,
+ GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT,
+ GL_INT, GL_UNSIGNED_INT are accepted. Values are always left as integer values.
+
+
+ glVertexAttribLPointer specifies state for a generic vertex attribute array associated
+ with a shader attribute variable declared with 64-bit double precision components. type
+ must be GL_DOUBLE. index, size, and
+ stride behave as described for glVertexAttribPointer and
+ glVertexAttribIPointer.
+
+
+ If pointer is not NULL
, a non-zero named buffer object must be bound to the
+ GL_ARRAY_BUFFER target (see glBindBuffer),
+ otherwise an error is generated. pointer is treated as a byte offset into the buffer object's data store.
+ The buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array
+ state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index.
+
+
+ When a generic vertex attribute array is specified,
+ size, type,
+ normalized,
+ stride, and
+ pointer are saved as vertex array
+ state, in addition to the current vertex array buffer object binding.
+
- If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target
- (see glBindBuffer) while a generic vertex attribute array is
- specified, pointer is treated as a byte offset into the buffer object's data store.
- Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array
- client-side state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index.
-
- When a generic vertex attribute array is specified,
- size, type,
- normalized,
- stride, and
- pointer are saved as client-side
- state, in addition to the current vertex array buffer object binding.
-
- To enable and disable a generic vertex attribute array,
- call
- glEnableVertexAttribArray
- and
- glDisableVertexAttribArray
- with index. If enabled, the generic
- vertex attribute array is used when
- glArrayElement,
- glDrawArrays,
- glMultiDrawArrays,
- glDrawElements,
- glMultiDrawElements, or
- glDrawRangeElements
- is called.
+
+ To enable and disable a generic vertex attribute array, call
+ glEnableVertexAttribArray and
+ glDisableVertexAttribArray with index.
+ If enabled, the generic vertex attribute array is used when glDrawArrays,
+ glMultiDrawArrays, glDrawElements,
+ glMultiDrawElements, or glDrawRangeElements
+ is called.
+
Notes
- glVertexAttribPointer is available
- only if the GL version is 2.0 or greater.
+
+ Each generic vertex attribute array is initially disabled and isn't accessed when
+ glDrawElements, glDrawRangeElements,
+ glDrawArrays, glMultiDrawArrays, or glMultiDrawElements
+ is called.
+
- Each generic vertex attribute array is initially disabled
- and isn't accessed when
- glArrayElement, glDrawElements, glDrawRangeElements,
- glDrawArrays, glMultiDrawArrays, or glMultiDrawElements
- is called.
-
- Execution of glVertexAttribPointer is
- not allowed between the execution of
- glBegin
- and the corresponding execution of
- glEnd,
- but an error may or may not be generated. If no error is
- generated, the operation is undefined.
-
- glVertexAttribPointer is typically
- implemented on the client side.
-
- Generic vertex attribute array parameters are client-side
- state and are therefore not saved or restored by
- glPushAttrib
- and
- glPopAttrib.
- Use
- glPushClientAttrib
- and
- glPopClientAttrib
- instead.
Errors
- GL_INVALID_VALUE is generated if
- index is greater than or equal to
- GL_MAX_VERTEX_ATTRIBS.
+ GL_INVALID_VALUE is generated if
+ index is greater than or equal to
+ GL_MAX_VERTEX_ATTRIBS.
- GL_INVALID_VALUE is generated if
- size is not 1, 2, 3, or 4.
+ GL_INVALID_VALUE is generated if
+ size is not 1, 2, 3, 4 or (for glVertexAttribPointer),
+ GL_BGRA.
- GL_INVALID_ENUM is generated if
- type is not an accepted value.
+ GL_INVALID_ENUM is generated if
+ type is not an accepted value.
- GL_INVALID_VALUE is generated if
- stride is negative.
+ GL_INVALID_VALUE is generated if
+ stride is negative.
+
+ GL_INVALID_OPERATION is generated if size
+ is GL_BGRA and type is not
+ GL_INT_2_10_10_10_REV or GL_UNSIGNED_INT_2_10_10_10_REV.
+
+ GL_INVALID_OPERATION is generated if type
+ is GL_INT_2_10_10_10_REV or GL_UNSIGNED_INT_2_10_10_10_REV
+ and size is not 4 or GL_BGRA.
+
+ GL_INVALID_OPERATION is generated by glVertexAttribPointer
+ if size is GL_BGRA and noramlized
+ is GL_FALSE.
+
+ GL_INVALID_OPERATION is generated if zero is bound to the
+ GL_ARRAY_BUFFER buffer object binding point and the
+ pointer argument is not NULL.
Associated Gets
- glGet
- with argument GL_MAX_VERTEX_ATTRIBS
+ glGet
+ with argument GL_MAX_VERTEX_ATTRIBS
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE
- glGetVertexAttrib
- with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
+ glGetVertexAttrib
+ with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
glGet with argument
GL_ARRAY_BUFFER_BINDING
- glGetVertexAttribPointerv
- with arguments index and
- GL_VERTEX_ATTRIB_ARRAY_POINTER
+ glGetVertexAttribPointerv
+ with arguments index and
+ GL_VERTEX_ATTRIB_ARRAY_POINTER
See Also
- glArrayElement,
- glBindAttribLocation,
+
+ glBindAttribLocation,
glBindBuffer,
- glColorPointer,
- glDisableVertexAttribArray,
- glDrawArrays,
- glDrawElements,
- glDrawRangeElements,
- glEnableVertexAttribArray,
- glEdgeFlagPointer,
- glFogCoordPointer,
- glIndexPointer,
- glInterleavedArrays,
+ glDisableVertexAttribArray,
+ glDrawArrays,
+ glDrawElements,
+ glDrawRangeElements,
+ glEnableVertexAttribArray,
glMultiDrawArrays,
glMultiDrawElements,
- glNormalPointer,
- glPopClientAttrib,
- glPushClientAttrib,
- glSecondaryColorPointer,
- glTexCoordPointer,
- glVertexAttrib,
- glVertexPointer
-
+ glVertexAttrib
+
Copyright
diff --git a/Source/Bind/Specifications/Docs/glViewport.xml b/Source/Bind/Specifications/Docs/glViewport.xml
index 225dbe10..935b9f18 100644
--- a/Source/Bind/Specifications/Docs/glViewport.xml
+++ b/Source/Bind/Specifications/Docs/glViewport.xml
@@ -163,11 +163,6 @@
GL_INVALID_VALUE is generated if either width or height is negative.
-
- GL_INVALID_OPERATION is generated if glViewport
- is executed between the execution of glBegin
- and the corresponding execution of glEnd.
-
Associated Gets
diff --git a/Source/Bind/Specifications/Docs/glViewportArray.xml b/Source/Bind/Specifications/Docs/glViewportArray.xml
new file mode 100644
index 00000000..4eb6ad27
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glViewportArray.xml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glViewportArray
+ 3G
+
+
+ glViewportArray
+ set multiple viewports
+
+ C Specification
+
+
+ void glViewportArrayv
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+
+
+ Parameters
+
+
+ first
+
+
+ Specify the first viewport to set.
+
+
+
+
+ count
+
+
+ Specify the number of viewports to set.
+
+
+
+
+ v
+
+
+ Specify the address of an array containing the viewport parameters.
+
+
+
+
+
+ Description
+
+ glViewportArrayv specifies the parameters for multiple viewports
+ simulataneously. first specifies the index of the first viewport
+ to modify and count specifies the number of viewports to modify.
+ first must be less than the value of GL_MAX_VIEWPORTS,
+ and first + count must be less than or equal to
+ the value of GL_MAX_VIEWPORTS. Viewports whose indices lie outside
+ the range [first, first + count)
+ are not modified. v contains the address of an array of floating
+ point values specifying the
+ left (x),
+ bottom (y),
+ width (w),
+ and height (h)
+ of each viewport, in that order. x
+ and y give
+ the location of the viewport's lower left corner, and
+ w
+ and h
+ give the width and height of the viewport, respectively.
+ The viewport specifies the affine transformation of
+ x
+ and
+ y
+ from
+ normalized device coordinates to window coordinates.
+ Let
+
+
+
+ x
+ nd
+
+ y
+ nd
+
+
+
+ be normalized device coordinates.
+ Then the window coordinates
+
+
+
+ x
+ w
+
+ y
+ w
+
+
+
+ are computed as follows:
+
+
+
+
+
+ x
+ w
+
+ =
+
+
+
+ x
+ nd
+
+ +
+ 1
+
+
+ ⁢
+
+
+ width
+ 2
+
+
+ +
+ x
+
+
+
+
+
+
+
+
+ y
+ w
+
+ =
+
+
+
+ y
+ nd
+
+ +
+ 1
+
+
+ ⁢
+
+
+ height
+ 2
+
+
+ +
+ y
+
+
+
+
+
+ The location of the viewport's bottom left corner, given by
+ (x, y)
+ is clamped to be within the implementaiton-dependent viewport bounds range.
+ The viewport bounds range [min, max]
+ can be determined by calling glGet with argument
+ GL_VIEWPORT_BOUNDS_RANGE.
+ Viewport width and height are silently clamped
+ to a range that depends on the implementation.
+ To query this range, call glGet with argument
+ GL_MAX_VIEWPORT_DIMS.
+
+
+ The precision with which the GL interprets the floating point viewport bounds is implementation-dependent
+ and may be determined by querying the impementation-defined constant GL_VIEWPORT_SUBPIXEL_BITS.
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if first is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if first + count
+ is greater than or equal to the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if either width or height is negative.
+
+
+ Associated Gets
+
+ glGet with argument GL_VIEWPORT
+
+
+ glGet with argument GL_MAX_VIEWPORT_DIMS
+
+
+ glGet with argument GL_VIEWPORT_BOUNDS_RANGE
+
+
+ glGet with argument GL_VIEWPORT_SUBPIXEL_BITS
+
+
+ See Also
+
+ glDepthRange,
+ glViewport,
+ glViewportIndexed
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glViewportIndexed.xml b/Source/Bind/Specifications/Docs/glViewportIndexed.xml
new file mode 100644
index 00000000..cee4400b
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glViewportIndexed.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glViewportIndexed
+ 3G
+
+
+ glViewportIndexed
+ set a specified viewport
+
+ C Specification
+
+
+ void glViewportIndexedf
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat w
+ GLfloat h
+
+
+
+
+ void glViewportIndexedfv
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ Parameters
+
+
+ index
+
+
+ Specify the first viewport to set.
+
+
+
+
+ x
+ y
+
+
+ For glViewportIndexedf, specifies the lower left corner of
+ the viewport rectangle, in pixels. The initial value is (0,0).
+
+
+
+
+ width
+ height
+
+
+ For glViewportIndexedf, specifies the width and height
+ of the viewport.
+ When a GL context is first attached to a window,
+ width and height are set to the dimensions of that
+ window.
+
+
+
+
+ v
+
+
+ For glViewportIndexedfv, specifies the address of an array containing the viewport parameters.
+
+
+
+
+
+ Description
+
+ glViewportIndexedf and glViewportIndexedfv
+ specify the parameters for a single viewport.
+ index specifies the index of the viewport
+ to modify.
+ index must be less than the value of GL_MAX_VIEWPORTS.
+ For glViewportIndexedf, x, y,
+ w, and h specify the left, bottom, width and height
+ of the viewport in pixels, respectively.
+ For glViewportIndexedfv, v contains the address of an array of floating
+ point values specifying the
+ left (x),
+ bottom (y),
+ width (w),
+ and height (h)
+ of each viewport, in that order. x
+ and y give
+ the location of the viewport's lower left corner, and
+ w
+ and h
+ give the width and height of the viewport, respectively.
+ The viewport specifies the affine transformation of
+ x
+ and
+ y
+ from
+ normalized device coordinates to window coordinates.
+ Let
+
+
+
+ x
+ nd
+
+ y
+ nd
+
+
+
+ be normalized device coordinates.
+ Then the window coordinates
+
+
+
+ x
+ w
+
+ y
+ w
+
+
+
+ are computed as follows:
+
+
+
+
+
+ x
+ w
+
+ =
+
+
+
+ x
+ nd
+
+ +
+ 1
+
+
+ ⁢
+
+
+ width
+ 2
+
+
+ +
+ x
+
+
+
+
+
+
+
+
+ y
+ w
+
+ =
+
+
+
+ y
+ nd
+
+ +
+ 1
+
+
+ ⁢
+
+
+ height
+ 2
+
+
+ +
+ y
+
+
+
+
+
+ The location of the viewport's bottom left corner, given by
+ (x, y)
+ is clamped to be within the implementaiton-dependent viewport bounds range.
+ The viewport bounds range [min, max]
+ can be determined by calling glGet with argument
+ GL_VIEWPORT_BOUNDS_RANGE.
+ Viewport width and height are silently clamped
+ to a range that depends on the implementation.
+ To query this range, call glGet with argument
+ GL_MAX_VIEWPORT_DIMS.
+
+
+ The precision with which the GL interprets the floating point viewport bounds is implementation-dependent
+ and may be determined by querying the impementation-defined constant GL_VIEWPORT_SUBPIXEL_BITS.
+
+
+ Calling glViewportIndexedfv is equivalent to calling glViewportArray
+ with first set to index, count set to
+ 1 and v passsed directly. glViewportIndexedf is equivalent
+ to:
+
+
+
+ Errors
+
+ GL_INVALID_VALUE is generated if index is greater than or equal to
+ the value of GL_MAX_VIEWPORTS.
+
+
+ GL_INVALID_VALUE is generated if either width or height is negative.
+
+
+ Associated Gets
+
+ glGet with argument GL_VIEWPORT
+
+
+ glGet with argument GL_MAX_VIEWPORT_DIMS
+
+
+ glGet with argument GL_VIEWPORT_BOUNDS_RANGE
+
+
+ glGet with argument GL_VIEWPORT_SUBPIXEL_BITS
+
+
+ See Also
+
+ glDepthRange,
+ glViewport,
+ glViewportArray
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+
diff --git a/Source/Bind/Specifications/Docs/glWaitSync.xml b/Source/Bind/Specifications/Docs/glWaitSync.xml
new file mode 100644
index 00000000..6f54eda3
--- /dev/null
+++ b/Source/Bind/Specifications/Docs/glWaitSync.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+ 2010
+ Khronos Group
+
+
+ glWaitSync
+ 3G
+
+
+ glWaitSync
+ instruct the GL server to block until the specified sync object becomes signaled
+
+ C Specification
+
+
+ void glWaitSync
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+
+ Parameters
+
+
+ sync
+
+
+ Specifies the sync object whose status to wait on.
+
+
+
+
+ flags
+
+
+ A bitfield controlling the command flushing behavior. flags may be zero.
+
+
+
+
+ timeout
+
+
+ Specifies the timeout that the server should wait before continuing. timeout must be GL_TIMEOUT_IGNORED.
+
+
+
+
+
+ Description
+
+ glWaitSync causes the GL server to block and wait until sync becomes signaled. sync
+ is the name of an existing sync object upon which to wait. flags and timeout are currently not used and
+ must be set to zero and the special value GL_TIMEOUT_IGNORED, respectivelyflags and
+ timeout are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in
+ order that existing code calling glWaitSync operate properly in the presence of such extensions.. glWaitSync will always wait no longer than an implementation-dependent timeout. The
+ duration of this timeout in nanoseconds may be queried by calling glGet with the
+ parameter GL_MAX_SERVER_WAIT_TIMEOUT. There is currently no way to determine whether glWaitSync unblocked
+ because the timeout expired or because the sync object being waited on was signaled.
+
+
+ If an error occurs, glWaitSync does not cause the GL server to block.
+
+
+ Notes
+
+ glWaitSync is available only if the GL version is 3.2 or higher.
+
+
+ Errors
+
+ GL_INVALID_OPERATION is generated if sync is not the name of a sync object.
+
+
+ GL_INVALID_VALUE is generated if flags is not zero.
+
+
+ GL_INVALID_VALUE is generated if timeout is not GL_TIMEOUT_IGNORED.
+
+
+ See Also
+
+ glFenceSync,
+ glClientWaitSync
+
+
+ Copyright
+
+ Copyright 2010 Khronos Group.
+ This material may be distributed subject to the terms and conditions set forth in
+ the Open Publication License, v 1.0, 8 June 1999.
+ http://opencontent.org/openpub/.
+
+
+