mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-03-07 00:59:54 +00:00
Added and updated documentation for OpenGL 4.x.
This commit is contained in:
parent
dddae1ac27
commit
a15ba71d77
85
Source/Bind/Specifications/Docs/glActiveShaderProgram.xml
Normal file
85
Source/Bind/Specifications/Docs/glActiveShaderProgram.xml
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glActiveShaderProgram">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glActiveShaderProgram</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glActiveShaderProgram</refname>
|
||||
<refpurpose>set the active program object for a program pipeline object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glActiveShaderProgram</function></funcdef>
|
||||
<paramdef>GLuint <parameter>pipeline</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>pipeline</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the program pipeline object to set the active program object for.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the program object to set as the active program pipeline object <parameter>pipeline</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glActiveShaderProgram</function> sets the linked program named by <parameter>program</parameter>
|
||||
to be the active program for the program pipeline object <parameter>pipeline</parameter>. The active
|
||||
program in the active program pipeline object is the target of calls to <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>
|
||||
when no program has been made current through a call to <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pipeline</parameter> is not
|
||||
a name previously returned from a call to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>
|
||||
or if such a name has been deleted by a call to
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>program</parameter> refers
|
||||
to a program object that has not been successfully linked.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -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. <parameter>texture</parameter> must be one of
|
||||
<constant>GL_TEXTURE</constant><inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>,
|
||||
<constant>GL_TEXTURE<emphasis>i</emphasis></constant>,
|
||||
where
|
||||
i ranges from 0 to the larger of (<constant>GL_MAX_TEXTURE_COORDS</constant> - 1)
|
||||
and (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||
<emphasis>i</emphasis> ranges from 0 (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||
The initial value is <constant>GL_TEXTURE0</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -48,38 +47,47 @@
|
|||
<para>
|
||||
<function>glActiveTexture</function> 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.
|
||||
</para>
|
||||
<para>
|
||||
Vertex arrays are client-side GL resources, which are selected by the
|
||||
<citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry> routine.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glActiveTexture</function> is only supported if the GL version is 1.3 or greater, or if
|
||||
<code>ARB_multitexture</code> is included in the string returned by
|
||||
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry> when called with the argument <constant>GL_EXTENSIONS</constant>.
|
||||
implementation dependent, but must be at least 48.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>texture</parameter> is not one of
|
||||
<constant>GL_TEXTURE</constant><inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>,
|
||||
where i ranges from 0 to the larger of (<constant>GL_MAX_TEXTURE_COORDS</constant> - 1)
|
||||
and (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||
<constant>GL_TEXTURE<emphasis>i</emphasis></constant>,
|
||||
where <emphasis>i</emphasis> ranges from 0 to (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ACTIVE_TEXTURE</constant>, <constant>GL_MAX_TEXTURE_COORDS</constant>, or <constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ACTIVE_TEXTURE</constant>, or <constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiTexCoord</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteTextures</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glIsTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2DMultisample</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3DMultisample</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>,
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>In order to create an executable, there must be a way to
|
||||
<para>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.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glAttachShader</function>
|
||||
is available only if the GL version is 2.0 or greater.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
||||
<parameter>program</parameter> or <parameter>shader</parameter>
|
||||
|
@ -83,26 +79,34 @@
|
|||
<parameter>shader</parameter> is already attached to
|
||||
<parameter>program</parameter>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glAttachShader</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the handle of a valid program object</para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the handle of a valid program object
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetShaderSource</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
123
Source/Bind/Specifications/Docs/glBeginConditionalRender.xml
Normal file
123
Source/Bind/Specifications/Docs/glBeginConditionalRender.xml
Normal file
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBeginConditionalRender">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBeginConditionalRender</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBeginConditionalRender</refname>
|
||||
<refpurpose>start conditional rendering</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBeginConditionalRender</function></funcdef>
|
||||
<paramdef>GLuint <parameter>id</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>id</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of an occlusion query object whose results are used to determine if the rendering commands are discarded.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies how <function>glBeginConditionalRender</function> interprets the results of the occlusion query.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glEndConditionalRender</function></funcdef>
|
||||
<paramdef><parameter>void</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
Conditional rendering is started using <function>glBeginConditionalRender</function> and ended using <function>glEndConditionalRender</function>.
|
||||
During conditional rendering, all vertex array commands, as well as <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry> and
|
||||
<citerefentry><refentrytitle>glClearBuffer</refentrytitle></citerefentry> have no effect if the (<constant>GL_SAMPLES_PASSED</constant>) result
|
||||
of the query object <parameter>id</parameter> is zero, or if the (<constant>GL_ANY_SAMPLES_PASSED</constant>) result is <constant>GL_FALSE</constant>.
|
||||
The results of commands setting the current vertex state, such as <citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry> are
|
||||
undefined. If the (<constant>GL_SAMPLES_PASSED</constant>) result is non-zero or if the (<constant>GL_ANY_SAMPLES_PASSED</constant>) result is
|
||||
<constant>GL_TRUE</constant>, such commands are not discarded. The <parameter>id</parameter> parameter to <function>glBeginConditionalRender</function>
|
||||
must be the name of a query object previously returned from a call to <citerefentry><refentrytitle>glGenQueries</refentrytitle></citerefentry>.
|
||||
<parameter>mode</parameter> specifies how the results of the query object are to be interpreted. If <parameter>mode</parameter> is
|
||||
<constant>GL_QUERY_WAIT</constant>, 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 <parameter>mode</parameter> is <constant>GL_QUERY_NO_WAIT</constant>, the GL may choose to unconditionally
|
||||
execute the subsequent rendering commands without waiting for the query to complete.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>mode</parameter> is <constant>GL_QUERY_BY_REGION_WAIT</constant>, 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 <parameter>mode</parameter> is <constant>GL_QUERY_BY_REGION_NO_WAIT</constant>,
|
||||
the GL operates as in <constant>GL_QUERY_BY_REGION_WAIT</constant>, but may choose to unconditionally execute the subsequent rendering commands
|
||||
without waiting for the query to complete.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBeginConditionalRender</function> and <function>glEndConditionalRender</function> are available only if the GL version is 3.0 or greater.
|
||||
</para>
|
||||
<para>
|
||||
The <constant>GL_ANY_SAMPLES_PASSED</constant> query result is available only if the GL version is 3.3 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>id</parameter> is not the name of an existing query object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginConditionalRender</function> is called while conditional rendering is active,
|
||||
or if <function>glEndConditionalRender</function> is called while conditional rendering is inactive.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of a query object with a target other than
|
||||
<constant>GL_SAMPLES_PASSED</constant> or <constant>GL_ANY_SAMPLES_PASSED</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of a query currently in progress.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenQueries</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteQueries</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -34,7 +34,9 @@
|
|||
<para>
|
||||
Specifies the target type of query object established between
|
||||
<function>glBeginQuery</function> and the subsequent <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
|
||||
The symbolic constant must be <constant>GL_SAMPLES_PASSED</constant>.
|
||||
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
|
||||
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
|
||||
<constant>GL_TIME_ELAPSED</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -64,7 +66,9 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies the target type of query object to be concluded.
|
||||
The symbolic constant must be <constant>GL_SAMPLES_PASSED</constant>.
|
||||
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
|
||||
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
|
||||
<constant>GL_TIME_ELAPSED</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -73,15 +77,62 @@
|
|||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBeginQuery</function> and <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry> delimit the
|
||||
boundaries of a query object. If a query object with name <parameter>id</parameter> does not yet exist it is created.
|
||||
boundaries of a query object. <parameter>query</parameter> must be a name previously returned from a call to
|
||||
<citerefentry><refentrytitle>glGenQueries</refentrytitle></citerefentry>. If a query object with name <parameter>id</parameter>
|
||||
does not yet exist it is created with the type determined by <parameter>target</parameter>. <parameter>target</parameter> must
|
||||
be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>, <constant>GL_PRIMITIVES_GENERATED</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or <constant>GL_TIME_ELAPSED</constant>. The behavior of the query
|
||||
object depends on its type and is as follows.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
|
||||
or the name of an existing occlusion query object.
|
||||
When <function>glBeginQuery</function> 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 <function>glEndQuery</function>
|
||||
rendering will increment the counter for every sample that passes the depth test. If the value of <constant>GL_SAMPLE_BUFFERS</constant>
|
||||
is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of <constant>GL_SAMPLE_BUFFERS</constant>
|
||||
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 <constant>GL_SAMPLES</constant> if any sample in the fragment
|
||||
is covered. When <function>glEndQuery</function>
|
||||
is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by
|
||||
calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
|
||||
or the name of an existing boolean occlusion query object.
|
||||
When <function>glBeginQuery</function> is executed, the query object's samples-passed flag is reset to <constant>GL_FALSE</constant>.
|
||||
Subsequent rendering causes the flag to be set to <constant>GL_TRUE</constant> if any sample passes the depth test. When
|
||||
<function>glEndQuery</function> is executed, the samples-passed flag is assigned to the query object's result value. This value can
|
||||
be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>target</parameter> must be an unused
|
||||
name, or the name of an existing primitive query object previously bound to the <constant>GL_PRIMITIVES_GENERATED</constant> query binding.
|
||||
When <function>glBeginQuery</function> 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 <function>glEndQuery</function> is executed, the primitives-generated counter is assigned to
|
||||
the query object's result value. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>target</parameter> must be
|
||||
an unused name, or the name of an existing primitive query object previously bound to the <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>
|
||||
query binding. When <function>glBeginQuery</function> 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 <function>glBeginQuery</function> and <function>glEndQuery</function>, the counter will not be
|
||||
incremented. When <function>glEndQuery</function> is executed, the primitives-written counter is assigned to
|
||||
the query object's result value. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>target</parameter> must be
|
||||
an unused name, or the name of an existing timer query object previously bound to the <constant>GL_TIME_ELAPSED</constant>
|
||||
query binding. When <function>glBeginQuery</function> is executed, the query object's time counter is reset to 0. When <function>glEndQuery</function>
|
||||
is executed, the elapsed server time that has passed since the call to <function>glBeginQuery</function> is written into the query object's
|
||||
time counter. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
</para>
|
||||
<para>
|
||||
Querying the <constant>GL_QUERY_RESULT</constant> implicitly flushes the GL pipeline until the rendering delimited by the
|
||||
query object has completed and the result is available. <constant>GL_QUERY_RESULT_AVAILABLE</constant> can be queried to
|
||||
|
@ -90,28 +141,29 @@
|
|||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by
|
||||
<citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
If the query target's count exceeds the maximum value representable in the number of available bits, as reported by
|
||||
<citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry> with <parameter>target</parameter> set to the
|
||||
appropriate query target and <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_COUNTER_BITS</constant>, the count becomes undefined.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
When <constant>GL_SAMPLE_BUFFERS</constant> is 0, the samples-passed counter will increment once for each fragment that passes
|
||||
the depth test. When <constant>GL_SAMPLE_BUFFERS</constant> 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 <constant>GL_SAMPLE_BUFFERS</constant> is 0, the samples-passed counter of an occlusion query will increment once for each
|
||||
fragment that passes the depth test. When <constant>GL_SAMPLE_BUFFERS</constant> 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.
|
||||
</para>
|
||||
<para>
|
||||
<function>glBeginQuery</function> and <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>
|
||||
are available only if the GL version is 1.5 or greater.
|
||||
The query targets <constant>GL_ANY_SAMPLES_PASSED</constant>, and <constant>GL_TIME_ELAPSED</constant> are availale only if
|
||||
the GL version is 3.3 or higher.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_SAMPLES_PASSED</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginQuery</function> is executed while
|
||||
|
@ -128,10 +180,8 @@
|
|||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of an already active query object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginQuery</function> or
|
||||
<citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry> is executed between the execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> refers to an existing query object whose type
|
||||
does not does not match <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
|
|
244
Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml
Normal file
244
Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml
Normal file
|
@ -0,0 +1,244 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBeginQueryIndexed">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBeginQueryIndexed, glEndQueryIndexed</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBeginQueryIndexed, glEndQueryIndexed</refname>
|
||||
<refpurpose>delimit the boundaries of a query object on an indexed target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBeginQueryIndexed</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>id</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target type of query object established between
|
||||
<function>glBeginQueryIndexed</function> and the subsequent <citerefentry><refentrytitle>glEndQueryIndexed</refentrytitle></citerefentry>.
|
||||
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
|
||||
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
|
||||
<constant>GL_TIME_ELAPSED</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the query target upon which to begin the query.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>id</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of a query object.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glEndQueryIndexed</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters2"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target type of query object to be concluded.
|
||||
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
|
||||
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
|
||||
<constant>GL_TIME_ELAPSED</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the query target upon which to end the query.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBeginQueryIndexed</function> and <citerefentry><refentrytitle>glEndQueryIndexed</refentrytitle></citerefentry> delimit the
|
||||
boundaries of a query object. <parameter>query</parameter> must be a name previously returned from a call to
|
||||
<citerefentry><refentrytitle>glGenQueries</refentrytitle></citerefentry>. If a query object with name <parameter>id</parameter>
|
||||
does not yet exist it is created with the type determined by <parameter>target</parameter>. <parameter>target</parameter> must
|
||||
be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>, <constant>GL_PRIMITIVES_GENERATED</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or <constant>GL_TIME_ELAPSED</constant>. The behavior of the query
|
||||
object depends on its type and is as follows.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>index</parameter> specifies the index of the query target and must be between a <parameter>target</parameter>-specific
|
||||
maximum.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
|
||||
or the name of an existing occlusion query object.
|
||||
When <function>glBeginQueryIndexed</function> 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 <constant>GL_SAMPLE_BUFFERS</constant>
|
||||
is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of <constant>GL_SAMPLE_BUFFERS</constant>
|
||||
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 <constant>GL_SAMPLES</constant> if any sample in the fragment
|
||||
is covered. When <function>glEndQueryIndexed</function>
|
||||
is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by
|
||||
calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
When <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>index</parameter> must be zero.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
|
||||
or the name of an existing boolean occlusion query object.
|
||||
When <function>glBeginQueryIndexed</function> is executed, the query object's samples-passed flag is reset to <constant>GL_FALSE</constant>.
|
||||
Subsequent rendering causes the flag to be set to <constant>GL_TRUE</constant> if any sample passes the depth test. When
|
||||
<function>glEndQueryIndexed</function> is executed, the samples-passed flag is assigned to the query object's result value. This value can
|
||||
be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
When <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>index</parameter> must be zero.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>target</parameter> must be an unused
|
||||
name, or the name of an existing primitive query object previously bound to the <constant>GL_PRIMITIVES_GENERATED</constant> query binding.
|
||||
When <function>glBeginQueryIndexed</function> 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 <parameter>index</parameter>,
|
||||
or from the vertex shader if <parameter>index</parameter> is zero and no geometry shader is present.
|
||||
When <function>glEndQueryIndexed</function> is executed, the primitives-generated counter for stream <parameter>index</parameter> is assigned to
|
||||
the query object's result value. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>
|
||||
with <parameter>pname</parameter> <constant>GL_QUERY_RESULT</constant>.
|
||||
When <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>index</parameter> must be
|
||||
less than the value of <constant>GL_MAX_VERTEX_STREAMS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>target</parameter> must be
|
||||
an unused name, or the name of an existing primitive query object previously bound to the <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>
|
||||
query binding. When <function>glBeginQueryIndexed</function> is executed, the query object's primitives-written counter for the stream specified by
|
||||
<parameter>index</parameter> 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 <parameter>index</parameter>. If transform feedback
|
||||
mode is not activated between the call to <function>glBeginQueryIndexed</function> and <function>glEndQueryIndexed</function>, the counter will not be
|
||||
incremented. When <function>glEndQueryIndexed</function> is executed, the primitives-written counter for stream <parameter>index</parameter> is assigned to
|
||||
the query object's result value. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
When <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>index</parameter> must be
|
||||
less than the value of <constant>GL_MAX_VERTEX_STREAMS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>target</parameter> must be
|
||||
an unused name, or the name of an existing timer query object previously bound to the <constant>GL_TIME_ELAPSED</constant>
|
||||
query binding. When <function>glBeginQueryIndexed</function> is executed, the query object's time counter is reset to 0. When <function>glEndQueryIndexed</function>
|
||||
is executed, the elapsed server time that has passed since the call to <function>glBeginQueryIndexed</function> is written into the query object's
|
||||
time counter. This value can be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_RESULT</constant>.
|
||||
When <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>index</parameter> must be zero.
|
||||
</para>
|
||||
<para>
|
||||
Querying the <constant>GL_QUERY_RESULT</constant> implicitly flushes the GL pipeline until the rendering delimited by the
|
||||
query object has completed and the result is available. <constant>GL_QUERY_RESULT_AVAILABLE</constant> can be queried to
|
||||
determine if the result is immediately available or if the rendering is not yet complete.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
If the query target's count exceeds the maximum value representable in the number of available bits, as reported by
|
||||
<citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry> with <parameter>target</parameter> set to the
|
||||
appropriate query target and <parameter>pname</parameter>
|
||||
<constant>GL_QUERY_COUNTER_BITS</constant>, the count becomes undefined.
|
||||
</para>
|
||||
<para>
|
||||
An implementation may support 0 bits in its counter, in which case query results are always undefined
|
||||
and essentially useless.
|
||||
</para>
|
||||
<para>
|
||||
When <constant>GL_SAMPLE_BUFFERS</constant> is 0, the samples-passed counter of an occlusion query will increment once for each
|
||||
fragment that passes the depth test. When <constant>GL_SAMPLE_BUFFERS</constant> 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.
|
||||
</para>
|
||||
<para>
|
||||
Calling <citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry> or
|
||||
<citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry> is equivalent to
|
||||
calling <citerefentry><refentrytitle>glBeginQueryIndexed</refentrytitle></citerefentry> or
|
||||
<citerefentry><refentrytitle>glEndQueryIndexed</refentrytitle></citerefentry> with
|
||||
<parameter>index</parameter> set to zero, respectively.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater than the
|
||||
query target-specific maximum.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginQueryIndexed</function> is executed while
|
||||
a query object of the same <parameter>target</parameter> is already active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <citerefentry><refentrytitle>glEndQueryIndexed</refentrytitle></citerefentry>
|
||||
is executed when a query object of the same <parameter>target</parameter> is not active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is 0.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of an already active query object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> refers to an existing query object whose type
|
||||
does not does not match <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDeleteQueries</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenQueries</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsQuery</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
194
Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml
Normal file
194
Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml
Normal file
|
@ -0,0 +1,194 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBeginTransformFeedback">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBeginTransformFeedback</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBeginTransformFeedback</refname>
|
||||
<refpurpose>start transform feedback operation</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBeginTransformFeedback</function></funcdef>
|
||||
<paramdef>GLenum <parameter>primitiveMode</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>primitiveMode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the output type of the primitives that will be recorded into the
|
||||
buffer objects that are bound for transform feedback.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glEndTransformFeedback</function></funcdef>
|
||||
<paramdef><parameter>void</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <function>glBeginTransformFeedback</function>
|
||||
until a subsequent call to <citerefentry><refentrytitle>glEndTransformFeedback</refentrytitle></citerefentry>.
|
||||
Transform feedback commands must be paired.
|
||||
</para>
|
||||
<para>
|
||||
If no geometry shader is present, while transform feedback is active the <parameter>mode</parameter> parameter to
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> must match those specified
|
||||
in the following table:
|
||||
</para>
|
||||
<informaltable frame="topbot">
|
||||
<tgroup cols="2" align="left">
|
||||
<colspec colwidth="1.1*" />
|
||||
<colspec colwidth="1*" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||
Transform Feedback <parameter>primitiveMode</parameter>
|
||||
</emphasis></entry>
|
||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||
Allowed Render Primitive <parameter>modes</parameter>
|
||||
</emphasis></entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_POINTS</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>GL_POINTS</constant>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_LINES</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>GL_LINES</constant>, <constant>GL_LINE_LOOP</constant>, <constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>, <constant>GL_LINE_STRIP_ADJACENCY</constant>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_TRIANGLES</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>GL_TRIANGLES</constant>, <constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
If a geometry shader is present, the output primitive type from the geometry shader must match those
|
||||
provided in the following table:
|
||||
<informaltable frame="topbot">
|
||||
<tgroup cols="2" align="left">
|
||||
<colspec colwidth="1.1*" />
|
||||
<colspec colwidth="1*" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||
Transform Feedback <parameter>primitiveMode</parameter>
|
||||
</emphasis></entry>
|
||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||
Allowed Geometry Shader Output Primitive Type
|
||||
</emphasis></entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_POINTS</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>points</constant>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_LINES</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>line_strip</constant>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_TRIANGLES</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<constant>triangle_strip</constant>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
Geometry shaders, and the <constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant> and <constant>GL_LINE_STRIP_ADJACENCY</constant> primtive modes are available
|
||||
only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginTransformFeedback</function> is executed
|
||||
while transform feedback is active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glEndTransformFeedback</function> is executed
|
||||
while transform feedback is not active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated by <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>
|
||||
if no geometry shader is present, transform feedback is active and <parameter>mode</parameter> is not one of the allowed modes.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated by <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>
|
||||
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 <parameter>primitiveMode</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated by <function>glEndTransformFeedback</function> if any binding
|
||||
point used in transform feedback mode does not have a buffer object bound.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated by <function>glEndTransformFeedback</function> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -1,189 +1,179 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindAttribLocation">
|
||||
<refmeta>
|
||||
<refentrytitle>glBindAttribLocation</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glBindAttribLocation</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindAttribLocation</refname>
|
||||
<refpurpose>Associates a generic vertex attribute index with a named attribute variable</refpurpose>
|
||||
<refname>glBindAttribLocation</refname>
|
||||
<refpurpose>Associates a generic vertex attribute index with a named attribute variable</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindAttribLocation</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
<paramdef>const GLchar *<parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindAttribLocation</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
<paramdef>const GLchar *<parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the handle of the program object in
|
||||
which the association is to be made.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the index of the generic vertex
|
||||
attribute to be bound.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>name</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies a null terminated string containing
|
||||
the name of the vertex shader attribute variable to
|
||||
which <parameter>index</parameter> is to be
|
||||
bound.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the handle of the program object in
|
||||
which the association is to be made.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the index of the generic vertex
|
||||
attribute to be bound.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>name</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies a null terminated string containing
|
||||
the name of the vertex shader attribute variable to
|
||||
which <parameter>index</parameter> is to be
|
||||
bound.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glBindAttribLocation</function> is used to
|
||||
associate a user-defined attribute variable in the program
|
||||
object specified by <parameter>program</parameter> with a
|
||||
generic vertex attribute index. The name of the user-defined
|
||||
attribute variable is passed as a null terminated string in
|
||||
<parameter>name</parameter>. The generic vertex attribute index
|
||||
to be bound to this variable is specified by
|
||||
<parameter>index</parameter>. When
|
||||
<parameter>program</parameter> is made part of current state,
|
||||
values provided via the generic vertex attribute
|
||||
<parameter>index</parameter> will modify the value of the
|
||||
user-defined attribute variable specified by
|
||||
<parameter>name</parameter>.</para>
|
||||
<para><function>glBindAttribLocation</function> is used to
|
||||
associate a user-defined attribute variable in the program
|
||||
object specified by <parameter>program</parameter> with a
|
||||
generic vertex attribute index. The name of the user-defined
|
||||
attribute variable is passed as a null terminated string in
|
||||
<parameter>name</parameter>. The generic vertex attribute index
|
||||
to be bound to this variable is specified by
|
||||
<parameter>index</parameter>. When
|
||||
<parameter>program</parameter> is made part of current state,
|
||||
values provided via the generic vertex attribute
|
||||
<parameter>index</parameter> will modify the value of the
|
||||
user-defined attribute variable specified by
|
||||
<parameter>name</parameter>.</para>
|
||||
|
||||
<para>If <parameter>name</parameter> refers to a matrix
|
||||
attribute variable, <parameter>index</parameter> refers to the
|
||||
first column of the matrix. Other matrix columns are then
|
||||
automatically bound to locations <parameter>index+1</parameter>
|
||||
for a matrix of type mat2; <parameter>index+1</parameter> and
|
||||
<parameter>index+2</parameter> for a matrix of type mat3; and
|
||||
<parameter>index+1</parameter>, <parameter>index+2</parameter>,
|
||||
and <parameter>index+3</parameter> for a matrix of type
|
||||
mat4.</para>
|
||||
<para>If <parameter>name</parameter> refers to a matrix
|
||||
attribute variable, <parameter>index</parameter> refers to the
|
||||
first column of the matrix. Other matrix columns are then
|
||||
automatically bound to locations <parameter>index+1</parameter>
|
||||
for a matrix of type <function>mat2</function>; <parameter>index+1</parameter> and
|
||||
<parameter>index+2</parameter> for a matrix of type <function>mat3</function>; and
|
||||
<parameter>index+1</parameter>, <parameter>index+2</parameter>,
|
||||
and <parameter>index+3</parameter> for a matrix of type
|
||||
<function>mat4</function>.</para>
|
||||
|
||||
<para>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
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant> -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
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
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
|
||||
<parameter>index</parameter>.</para> <para>Attribute variable
|
||||
name-to-generic attribute index bindings for a program object
|
||||
can be explicitly assigned at any time by calling
|
||||
<function>glBindAttribLocation</function>. Attribute bindings do
|
||||
not go into effect until
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
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.</para>
|
||||
<para>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
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant> -1. The values sent
|
||||
to each generic attribute index are part of current state.
|
||||
If a different program object is made current by calling
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
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
|
||||
<parameter>index</parameter>.</para> <para>Attribute variable
|
||||
name-to-generic attribute index bindings for a program object
|
||||
can be explicitly assigned at any time by calling
|
||||
<function>glBindAttribLocation</function>. Attribute bindings do
|
||||
not go into effect until
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
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.</para>
|
||||
|
||||
<para>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.</para>
|
||||
<para>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.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glBindAttribLocation</function> is available
|
||||
only if the GL version is 2.0 or greater.</para>
|
||||
<para><function>glBindAttribLocation</function> 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.</para>
|
||||
|
||||
<para><function>glBindAttribLocation</function> 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.</para>
|
||||
<para>If <parameter>name</parameter> 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.</para>
|
||||
|
||||
<para>If <parameter>name</parameter> 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.</para>
|
||||
<para>Applications are allowed to bind more than one
|
||||
user-defined attribute variable to the same generic vertex
|
||||
attribute index. This is called <emphasis>aliasing</emphasis>,
|
||||
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.</para>
|
||||
|
||||
<para>Applications are allowed to bind more than one
|
||||
user-defined attribute variable to the same generic vertex
|
||||
attribute index. This is called <emphasis>aliasing</emphasis>,
|
||||
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).</para>
|
||||
<para>Active attributes that are not explicitly bound will be
|
||||
bound by the linker when
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
is called. The locations assigned can be queried by calling
|
||||
<citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.</para>
|
||||
|
||||
<para>Active attributes that are not explicitly bound will be
|
||||
bound by the linker when
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
is called. The locations assigned can be queried by calling
|
||||
<citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.</para>
|
||||
<para>OpenGL copies the <parameter>name</parameter> string when
|
||||
<function>glBindAttribLocation</function> is called, so an
|
||||
application may free its copy of the <parameter>name</parameter>
|
||||
string immediately after the function returns.</para>
|
||||
|
||||
<para>OpenGL copies the <parameter>name</parameter> string when
|
||||
<function>glBindAttribLocation</function> is called, so an
|
||||
application may free its copy of the <parameter>name</parameter>
|
||||
string immediately after the function returns.</para>
|
||||
<para>Generic attribute locations may be specified in the shader source
|
||||
text using a <function>location</function> layout qualifier. In this case,
|
||||
the location of the attribute specified in the shader's source takes precedence
|
||||
and may be queried by calling <citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>index</parameter> is greater than or equal to
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>index</parameter> is greater than or equal to
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>name</parameter> starts with the reserved prefix
|
||||
"gl_".</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>name</parameter> starts with the reserved prefix
|
||||
"gl_".</para>
|
||||
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>program</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>program</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>program</parameter> is not a program object.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>program</parameter> is not a program object.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glBindAttribLocation</function> is executed between
|
||||
the execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetActiveAttrib</refentrytitle></citerefentry>
|
||||
with argument <parameter>program</parameter></para>
|
||||
<para><citerefentry><refentrytitle>glGetActiveAttrib</refentrytitle></citerefentry>
|
||||
with argument <parameter>program</parameter></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<parameter>name</parameter></para>
|
||||
<para><citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<parameter>name</parameter></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glDisableVertexAttribArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEnableVertexAttribArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glDisableVertexAttribArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEnableVertexAttribArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
|
@ -34,9 +34,14 @@
|
|||
Specifies the target to which the buffer object is bound.
|
||||
The symbolic constant must be
|
||||
<constant>GL_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_COPY_READ_BUFFER</constant>,
|
||||
<constant>GL_COPY_WRITE_BUFFER</constant>,
|
||||
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
|
||||
<constant>GL_TEXTURE_BUFFER</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
|
||||
<constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -52,26 +57,24 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindBuffer</function> lets you create or use a named buffer object. Calling <function>glBindBuffer</function> with
|
||||
<parameter>target</parameter> set to
|
||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>, <constant>GL_PIXEL_PACK_BUFFER</constant> or
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> and <parameter>buffer</parameter> 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
|
||||
<function>glBindBuffer</function> binds a buffer object to the specified buffer binding point. Calling <function>glBindBuffer</function> with
|
||||
<parameter>target</parameter> set to one of the accepted symbolic constants and <parameter>buffer</parameter> set to the name
|
||||
of a buffer object binds that buffer object name to the target. If no buffer object with name <parameter>buffer</parameter>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Buffer object names are unsigned integers. The value zero is reserved, but
|
||||
there is no default buffer object for each buffer object target. Instead, <parameter>buffer</parameter> 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 <citerefentry><refentrytitle>glXCreateContext</refentrytitle></citerefentry>) 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.
|
||||
</para>
|
||||
<para>
|
||||
You may use <citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry> to generate a set of new buffer object names.
|
||||
<citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry> must be used to generate a set of unused buffer object names.
|
||||
</para>
|
||||
<para>
|
||||
The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with
|
||||
|
@ -85,62 +88,63 @@
|
|||
<constant>GL_INVALID_OPERATION</constant> error.
|
||||
</para>
|
||||
<para>
|
||||
When vertex array pointer state is changed, for example by a call to
|
||||
<citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
|
||||
the current buffer object binding (<constant>GL_ARRAY_BUFFER_BINDING</constant>) is copied into the
|
||||
corresponding client state for the vertex array type being changed, for example
|
||||
<constant>GL_NORMAL_ARRAY_BUFFER_BINDING</constant>. While a non-zero buffer object is bound to the
|
||||
<constant>GL_ARRAY_BUFFER</constant> 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 <constant>GL_ARRAY_BUFFER</constant> target,
|
||||
the vertex array pointer parameter is interpreted as an offset within the
|
||||
buffer object measured in basic machine units.
|
||||
</para>
|
||||
<para>
|
||||
While a non-zero buffer object is bound to the <constant>GL_ELEMENT_ARRAY_BUFFER</constant> target,
|
||||
the indices parameter of <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>, or
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> 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.
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>, or
|
||||
<citerefentry><refentrytitle>glMultiDrawElementsBaseVertex</refentrytitle></citerefentry> is interpreted as an
|
||||
offset within the buffer object measured in basic machine units.
|
||||
</para>
|
||||
<para>
|
||||
While a non-zero buffer object is bound to the <constant>GL_PIXEL_PACK_BUFFER</constant> target,
|
||||
the following commands are affected: <citerefentry><refentrytitle>glGetCompressedTexImage</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetConvolutionFilter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetHistogram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetMinmax</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetPixelMap</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetPolygonStipple</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetSeparableFilter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>, and
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>. The pointer parameter that is
|
||||
traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>. The pointer parameter is
|
||||
interpreted as an offset within the buffer object measured in basic machine units.
|
||||
</para>
|
||||
<para>
|
||||
While a non-zero buffer object is bound to the <constant>GL_PIXEL_UNPACK_BUFFER</constant> target,
|
||||
the following commands are affected: <citerefentry><refentrytitle>glBitmap</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorSubTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
the following commands are affected:
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelMap</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPolygonStipple</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glSeparableFilter2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>, and
|
||||
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>. 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.
|
||||
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>. The pointer parameter is
|
||||
interpreted as an offset within the buffer object measured in basic machine units.
|
||||
</para>
|
||||
<para>
|
||||
The buffer targets <constant>GL_COPY_READ_BUFFER</constant> and <constant>GL_COPY_WRITE_BUFFER</constant>
|
||||
are provided to allow <citerefentry><refentrytitle>glCopyBufferSubData</refentrytitle></citerefentry>
|
||||
to be used without disturbing the state of other bindings. However, <citerefentry><refentrytitle>glCopyBufferSubData</refentrytitle></citerefentry>
|
||||
may be used with any pair of buffer binding points.
|
||||
</para>
|
||||
<para>
|
||||
The <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> buffer binding point may be passed to <function>glBindBuffer</function>,
|
||||
but will not directly affect transform feedback state. Instead, the indexed <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>
|
||||
bindings must be used through a call to <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>
|
||||
or <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>. This will affect the generic
|
||||
<constant>GL_TRANSFORM_FEEDABCK_BUFFER</constant> binding.
|
||||
</para>
|
||||
<para>
|
||||
Likewise, the <constant>GL_UNIFORM_BUFFER</constant> buffer binding point may be used, but does not directly affect
|
||||
uniform buffer state. <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>
|
||||
or <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry> must be used to bind a buffer to
|
||||
an indexed uniform buffer binding point.
|
||||
</para>
|
||||
<para>
|
||||
A buffer object binding created with <function>glBindBuffer</function> remains active until a different
|
||||
|
@ -155,11 +159,8 @@
|
|||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBindBuffer</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant> and <constant>GL_PIXEL_UNPACK_BUFFER</constant> are
|
||||
available only if the GL version is 2.1 or greater.
|
||||
The <constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> and
|
||||
<constant>GL_TEXTURE_BUFFER</constant> targets are available only if the GL version is 3.1 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -168,15 +169,20 @@
|
|||
values.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBindBuffer</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>buffer</parameter> is not a name previously returned
|
||||
from a call to <citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ARRAY_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COPY_READ_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COPY_WRITE_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ELEMENT_ARRAY_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
|
@ -186,11 +192,21 @@
|
|||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TRANSFORM_FEEDBACK_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_UNIFORM_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDeleteBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUnmapBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsBuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
|
|
107
Source/Bind/Specifications/Docs/glBindBufferBase.xml
Normal file
107
Source/Bind/Specifications/Docs/glBindBufferBase.xml
Normal file
|
@ -0,0 +1,107 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindBufferBase">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindBufferBase</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindBufferBase</refname>
|
||||
<refpurpose>bind a buffer object to an indexed buffer target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindBufferBase</function></funcdef>
|
||||
<paramdef>GLenum<parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint<parameter>index</parameter></paramdef>
|
||||
<paramdef>GLuint<parameter>buffer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the target of the bind operation. <parameter>target</parameter> must be
|
||||
either <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the index of the binding point within the array specified by <parameter>target</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>buffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of a buffer object to bind to the specified binding point.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindBufferBase</function> binds the buffer object <parameter>buffer</parameter>
|
||||
to the binding point at index <parameter>index</parameter> of the array of targets specified
|
||||
by <parameter>target</parameter>. Each <parameter>target</parameter> 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 <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>
|
||||
or <citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>. In addition to binding
|
||||
<parameter>buffer</parameter> to the indexed buffer binding target, <function>glBindBufferBase</function>
|
||||
also binds <parameter>buffer</parameter> to the generic buffer binding point specified by <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBindBufferBase</function> is available only if the GL version is 3.0 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Calling <function>glBindBufferBase</function> is equivalent to calling
|
||||
<citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry> with <parameter>offset</parameter>
|
||||
zero and <parameter>size</parameter> equal to the size of the buffer.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater
|
||||
than or equal to the number of <parameter>target</parameter>-specific indexed binding points.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUnmapBuffer</refentrytitle></citerefentry>,
|
||||
</para>
|
||||
</refsect1> <refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
131
Source/Bind/Specifications/Docs/glBindBufferRange.xml
Normal file
131
Source/Bind/Specifications/Docs/glBindBufferRange.xml
Normal file
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindBufferRange">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindBufferRange</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindBufferRange</refname>
|
||||
<refpurpose>bind a range within a buffer object to an indexed buffer target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindBufferRange</function></funcdef>
|
||||
<paramdef>GLenum<parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint<parameter>index</parameter></paramdef>
|
||||
<paramdef>GLuint<parameter>buffer</parameter></paramdef>
|
||||
<paramdef>GLintptr<parameter>offset</parameter></paramdef>
|
||||
<paramdef>GLsizeiptr<parameter>size</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the target of the bind operation. <parameter>target</parameter> must be
|
||||
either <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the index of the binding point within the array specified by <parameter>target</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>buffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of a buffer object to bind to the specified binding point.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>offset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The starting offset in basic machine units into the buffer object <parameter>buffer</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>size</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The amount of data in machine units that can be read from the buffet object while used as an indexed target.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindBufferRange</function> binds a range the buffer object <parameter>buffer</parameter>
|
||||
represented by <parameter>offset</parameter> and <parameter>size</parameter> to the
|
||||
binding point at index <parameter>index</parameter> of the array of targets specified by <parameter>target</parameter>.
|
||||
Each <parameter>target</parameter> 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
|
||||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry> or
|
||||
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>. In addition to binding
|
||||
a range of <parameter>buffer</parameter> to the indexed buffer binding target, <function>glBindBufferBase</function>
|
||||
also binds the range to the generic buffer binding point specified by <parameter>target</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>offset</parameter> specifies the offset in basic machine units into the buffer object
|
||||
<parameter>buffer</parameter> and <parameter>size</parameter> specifies the amount of data that
|
||||
can be read from the buffer object while used as an indexed target.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater
|
||||
than or equal to the number of <parameter>target</parameter>-specific indexed binding points.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>size</parameter> is less than
|
||||
or equal to zero, or if <parameter>offset</parameter> + <parameter>size</parameter> is greater
|
||||
than the value of <constant>GL_BUFFER_SIZE</constant>.
|
||||
</para>
|
||||
<para>
|
||||
Additional errors may be generated if <parameter>offset</parameter> violates any
|
||||
<parameter>target</parameter>-specific alignmemt restrictions.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUnmapBuffer</refentrytitle></citerefentry>,
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
127
Source/Bind/Specifications/Docs/glBindFragDataLocation.xml
Normal file
127
Source/Bind/Specifications/Docs/glBindFragDataLocation.xml
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindFragDataLocation">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindFragDataLocation</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindFragDataLocation</refname>
|
||||
<refpurpose>bind a user-defined varying out variable to a fragment shader color number</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindFragDataLocation</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>colorNumber</parameter></paramdef>
|
||||
<paramdef>const char * <parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the program containing varying out variable whose binding to modify
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>colorNumber</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The color number to bind the user-defined varying out variable to
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>name</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the user-defined varying out variable whose binding to modify
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindFragDataLocation</function> explicitly specifies the binding of the user-defined varying out variable
|
||||
<parameter>name</parameter> to fragment shader color number <parameter>colorNumber</parameter> for program
|
||||
<parameter>program</parameter>. If <parameter>name</parameter> was bound previously, its assigned binding is replaced
|
||||
with <parameter>colorNumber</parameter>. <parameter>name</parameter> must be a null-terminated string. <parameter>colorNumber</parameter>
|
||||
must be less than <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
The bindings specified by <function>glBindFragDataLocation</function> have no effect until <parameter>program</parameter>
|
||||
is next linked. Bindings may be specified at any time after <parameter>program</parameter> has been created. Specifically,
|
||||
they may be specified before shader objects are attached to the program. Therefore, any name may be specified in <parameter>name</parameter>,
|
||||
including a name that is never used as a varying out variable in any fragment shader object. Names beginning with <constant>gl_</constant> are
|
||||
reserved by the GL.
|
||||
</para>
|
||||
<para>
|
||||
In addition to the errors generated by <function>glBindFragDataLocation</function>, the
|
||||
program <parameter>program</parameter> will fail to link if:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The number of active outputs is greater than the value <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
More than one varying out variable is bound to the same color number.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
Varying out varyings may have indexed locations assigned explicitly in the shader text using a <code>location</code>
|
||||
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 <function>glBindFragDataLocation</function> is ignored.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>name</parameter> starts with the reserved <constant>gl_</constant> prefix.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>program</function> is not the name of a program object.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetFragDataLocation</refentrytitle></citerefentry> with a valid program object
|
||||
and the the name of a user-defined varying out variable
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetFragDataLocation</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -0,0 +1,155 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindFragDataLocationIndexed">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindFragDataLocationIndexed</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindFragDataLocationIndexed</refname>
|
||||
<refpurpose>bind a user-defined varying out variable to a fragment shader color number and index</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindFragDataLocationIndexed</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>colorNumber</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
<paramdef>const char *<parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the program containing varying out variable whose binding to modify
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>colorNumber</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The color number to bind the user-defined varying out variable to
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The index of the color input to bind the user-defined varying out variable to
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>name</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the user-defined varying out variable whose binding to modify
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindFragDataLocationIndexed</function> specifies that the varying out variable <parameter>name</parameter> in
|
||||
<parameter>program</parameter> should be bound to fragment color <parameter>colorNumber</parameter> when the program is next
|
||||
linked. <parameter>index</parameter> 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.
|
||||
</para>
|
||||
<para>
|
||||
The bindings specified by <function>glBindFragDataLocationIndexed</function> have no effect until <parameter>program</parameter>
|
||||
is next linked. Bindings may be specified at any time after <parameter>program</parameter> has been created. Specifically,
|
||||
they may be specified before shader objects are attached to the program. Therefore, any name may be specified in <parameter>name</parameter>,
|
||||
including a name that is never used as a varying out variable in any fragment shader object. Names beginning with <constant>gl_</constant> are
|
||||
reserved by the GL.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>name</parameter> was bound previously, its assigned binding is replaced with <parameter>colorNumber</parameter> and
|
||||
<parameter>index</parameter>. <parameter>name</parameter> must be a null-terminated string. <parameter>index</parameter> must be less than or equal to one,
|
||||
and <parameter>colorNumber</parameter> must be less than the value of <constant>GL_MAX_DRAW_BUFFERS</constant> if <parameter>index</parameter>
|
||||
is zero, and less than the value of <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant> if index is greater than or equal to one.
|
||||
</para>
|
||||
<para>
|
||||
In addition to the errors generated by <function>glBindFragDataLocationIndexed</function>, the
|
||||
program <parameter>program</parameter> will fail to link if:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The number of active outputs is greater than the value <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
More than one varying out variable is bound to the same color number.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
Varying out varyings may have locations assigned explicitly in the shader text using a <code>location</code>
|
||||
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 <function>glBindFragDataLocation</function> is ignored.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFERS</constant>
|
||||
and <parameter>index</parameter> is greater than or equal to one.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater than one.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>name</parameter> starts with the reserved <constant>gl_</constant> prefix.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>program</function> is not the name of a program object.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetFragDataLocation</refentrytitle></citerefentry> with a valid program object
|
||||
and the the name of a user-defined varying out variable
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetFragDataIndex</refentrytitle></citerefentry> with a valid program object
|
||||
and the the name of a user-defined varying out variable
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glGetFragDataLocation</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetFragDataIndex</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glBindFragDataLocation</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
93
Source/Bind/Specifications/Docs/glBindFramebuffer.xml
Normal file
93
Source/Bind/Specifications/Docs/glBindFramebuffer.xml
Normal file
|
@ -0,0 +1,93 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindFramebuffer">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindFramebuffer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindFramebuffer</refname>
|
||||
<refpurpose>bind a framebuffer to a framebuffer target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindFramebuffer</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>framebuffer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the framebuffer target of the binding operation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>framebuffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of the framebuffer object to bind.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindFramebuffer</function> binds the framebuffer object with name <parameter>framebuffer</parameter> to the framebuffer target specified
|
||||
by <parameter>target</parameter>. <parameter>target</parameter> must be either <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant> or <constant>GL_FRAMEBUFFER</constant>. If a framebuffer object is bound to
|
||||
<constant>GL_DRAW_FRAMEBUFFER</constant> or <constant>GL_READ_FRAMEBUFFER</constant>, 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 <function>glBindFramebuffer</function> with <parameter>target</parameter> set to <constant>GL_FRAMEBUFFER</constant> binds
|
||||
<parameter>framebuffer</parameter> to both the read and draw framebuffer targets. <parameter>framebuffer</parameter> is the name of a framebuffer
|
||||
object previously returned from a call to <citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>, or zero to break the existing
|
||||
binding of a framebuffer object to <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant> or <constant>GL_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>framebuffer</parameter> is not zero or the name of a framebuffer
|
||||
previously returned from a call to <citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTextureFace</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTextureLayer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsFramebuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
85
Source/Bind/Specifications/Docs/glBindProgramPipeline.xml
Normal file
85
Source/Bind/Specifications/Docs/glBindProgramPipeline.xml
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindProgramPipeline">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindProgramPipeline</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindProgramPipeline</refname>
|
||||
<refpurpose>bind a program pipeline to the current context</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindProgramPipeline</function></funcdef>
|
||||
<paramdef>GLuint <parameter>pipeline</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>pipeline</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of the pipeline object to bind to the context.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindProgramPipeline</function> binds a program pipeline object to the current
|
||||
context. <parameter>pipeline</parameter> must be a name previously returned from a call
|
||||
to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>. If
|
||||
no program pipeline exists with name <parameter>pipeline</parameter> then a new pipeline object
|
||||
is created with that name and initialized to the default state vector.
|
||||
</para>
|
||||
<para>
|
||||
When a program pipeline object is bound using <function>glBindProgramPipeline</function>, any previous
|
||||
binding is broken and is replaced with a binding to the specified pipeline object. If <parameter>pipeline</parameter>
|
||||
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 <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
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 <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pipeline</parameter> is not zero or
|
||||
a name previously returned from a call to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>
|
||||
or if such a name has been deleted by a call to
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
82
Source/Bind/Specifications/Docs/glBindRenderbuffer.xml
Normal file
82
Source/Bind/Specifications/Docs/glBindRenderbuffer.xml
Normal file
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindRenderbuffer">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindRenderbuffer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindRenderbuffer</refname>
|
||||
<refpurpose>bind a renderbuffer to a renderbuffer target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindRenderbuffer</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>renderbuffer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the renderbuffer target of the binding operation. <parameter>target</parameter> must be <constant>GL_RENDERBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>renderbuffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of the renderbuffer object to bind.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindRenderbuffer</function> binds the renderbuffer object with name <parameter>renderbuffer</parameter> to the renderbuffer target specified
|
||||
by <parameter>target</parameter>. <parameter>target</parameter> must be <constant>GL_RENDERBUFFER</constant>. <parameter>renderbuffer</parameter>
|
||||
is the name of a renderbuffer object previously returned from a call to <citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
or zero to break the existing binding of a renderbuffer object to <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_RENDERBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>renderbuffer</parameter> is not zero or the name of a renderbuffer
|
||||
previously returned from a call to <citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glRenderbufferStorage</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glRenderbufferStorageMultisample</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsRenderbuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
103
Source/Bind/Specifications/Docs/glBindSampler.xml
Normal file
103
Source/Bind/Specifications/Docs/glBindSampler.xml
Normal file
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindSampler">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindSampler</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindSampler</refname>
|
||||
<refpurpose>bind a named sampler to a texturing target</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindSampler</function></funcdef>
|
||||
<paramdef>GLuint <parameter>unit</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>sampler</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>unit</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the texture unit to which the sampler is bound.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>sampler</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of a sampler.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindSampler</function> binds <parameter>sampler</parameter> to the texture unit at index <parameter>unit</parameter>.
|
||||
<parameter>sampler</parameter> must be zero or the name of a sampler object previously returned from a call to
|
||||
<citerefentry><refentrytitle>glGenSamplers</refentrytitle></citerefentry>. <parameter>unit</parameter> must be less than the value
|
||||
of <constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBindSampler</function> is available only if the GL version is 3.3 or higher.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>unit</parameter> is greater than or equal to the value of
|
||||
<constant>GL_MAX_COMBIED_TEXTURE_IMAGE_UNITS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>sampler</parameter> is not zero or a name previously
|
||||
returned from a call to <citerefentry><refentrytitle>glGenSamplers</refentrytitle></citerefentry>, or if such a name has
|
||||
been deleted by a call to <citerefentry><refentrytitle>glDeleteSamplers</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_SAMPLER_BINDING</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenSamplers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteSamplers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glSamplerParameter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetSamplerParameter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteTextures</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -36,7 +36,12 @@
|
|||
<constant>GL_TEXTURE_1D</constant>,
|
||||
<constant>GL_TEXTURE_2D</constant>,
|
||||
<constant>GL_TEXTURE_3D</constant>, or
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant>.
|
||||
<constant>GL_TEXTURE_1D_ARRAY</constant>,
|
||||
<constant>GL_TEXTURE_2D_ARRAY</constant>,
|
||||
<constant>GL_TEXTURE_RECTANGLE</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant>,
|
||||
<constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or
|
||||
<constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -54,40 +59,41 @@
|
|||
<para>
|
||||
<function>glBindTexture</function> lets you create or use a named texture. Calling <function>glBindTexture</function> with
|
||||
<parameter>target</parameter> set to
|
||||
<constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant> or
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant> and <parameter>texture</parameter> 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.
|
||||
<constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant>, or
|
||||
<constant>GL_TEXTURE_1D_ARRAY</constant>, <constant>GL_TEXTURE_2D_ARRAY</constant>, <constant>GL_TEXTURE_RECTANGLE</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant>, <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>
|
||||
and <parameter>texture</parameter> 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.
|
||||
</para>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glXCreateContext</refentrytitle></citerefentry>) 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.
|
||||
</para>
|
||||
<para>
|
||||
You may use <citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry> to generate a set of new texture names.
|
||||
You must use <citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry> to generate a set of new texture names.
|
||||
</para>
|
||||
<para>
|
||||
When a texture is first bound, it assumes the specified target:
|
||||
A texture first bound to <constant>GL_TEXTURE_1D</constant> becomes one-dimensional texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_2D</constant> becomes two-dimensional texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_3D</constant> becomes three-dimensional texture, and a
|
||||
texture first bound to <constant>GL_TEXTURE_CUBE_MAP</constant>
|
||||
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 <constant>GL_TEXTURE_1D</constant> at GL initialization, and similarly for two-
|
||||
and three-dimensional textures and cube-mapped textures.
|
||||
texture first bound to <constant>GL_TEXTURE_3D</constant> becomes three-dimensional texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_1D_ARRAY</constant> becomes one-dimensional array texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_2D_ARRAY</constant> becomes two-dimensional arary texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_RECTANGLE</constant> becomes rectangle texture, a,
|
||||
texture first bound to <constant>GL_TEXTURE_CUBE_MAP</constant> becomes a cube-mapped texture, a
|
||||
texture first bound to <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> becomes a two-dimensional multisampled texture, and a
|
||||
texture first bound to <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant> 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 <constant>GL_TEXTURE_1D</constant> at GL initialization, and similarly for the other texture types.
|
||||
</para>
|
||||
<para>
|
||||
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 <function>glBindTexture</function> to bind an existing named
|
||||
texture to one of the texture targets than it is to reload the texture image
|
||||
using <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>, or <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
|
||||
For additional control over performance, use
|
||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<function>glBindTexture</function> is included in display lists.
|
||||
using <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry> or another similar function.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBindTexture</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant> is available only if the GL version is 1.3 or greater.
|
||||
The <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> and <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant> targets are available
|
||||
only if the GL version is 3.2 or higher.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -123,37 +123,34 @@
|
|||
values.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> was previously created with a target
|
||||
that doesn't match that of <parameter>target</parameter>.
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>target</parameter> is not a name returned from
|
||||
a previous call to <citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBindTexture</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> was previously created with a target
|
||||
that doesn't match that of <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_1D</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_2D</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_3D</constant>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_1D</constant>,
|
||||
<constant>GL_TEXTURE_BINDING_2D</constant>, <constant>GL_TEXTURE_BINDING_3D</constant>, <constant>GL_TEXTURE_BINDING_1D_ARRAY</constant>,
|
||||
<constant>GL_TEXTURE_BINDING_2D_ARRAY</constant>, <constant>GL_TEXTURE_BINDING_RECTANGLE</constant>, <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant>,
|
||||
or <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glAreTexturesResident</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2DMultisample</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3DMultisample</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
|
112
Source/Bind/Specifications/Docs/glBindTransformFeedback.xml
Normal file
112
Source/Bind/Specifications/Docs/glBindTransformFeedback.xml
Normal file
|
@ -0,0 +1,112 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindTransformFeedback">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindTransformFeedback</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindTransformFeedback</refname>
|
||||
<refpurpose>bind a transform feedback object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindTransformFeedback</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>id</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target to which to bind the transform feedback object <parameter>id</parameter>. <parameter>target</parameter>
|
||||
must be <constant>GL_TRANSFORM_FEEDBACK</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>id</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of a transform feedback object reserved by <citerefentry><refentrytitle>glGenTransformFeedbacks</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindTransformFeedback</function> binds the transform feedback object with name <parameter>id</parameter> to the current
|
||||
GL state. <parameter>id</parameter> must be a name previously returned from a call to
|
||||
<citerefentry><refentrytitle>glGenTransformFeedbacks</refentrytitle></citerefentry>. If <parameter>id</parameter> has not
|
||||
previously been bound, a new transform feedback object with name <parameter>id</parameter> and initialized with with the
|
||||
default transform state vector is created.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_TRANSFORM_FEEDBACK</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if the transform feedback operation is
|
||||
active on the currently bound transform feedback object, and that operation is not paused.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is not
|
||||
zero or the name of a transform feedback object returned from a previous call to
|
||||
<citerefentry><refentrytitle>glGenTransformFeedbacks</refentrytitle></citerefentry>, or
|
||||
if such a name has been deleted by <citerefentry><refentrytitle>glDeleteTransformFeedbacks</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TRANSFORM_FEEDBACK_BINDING</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenTransformFeedbacks</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteTransformFeedbacks</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBeginTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPauseTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glResumeTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEndTransformFeedback</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
72
Source/Bind/Specifications/Docs/glBindVertexArray.xml
Normal file
72
Source/Bind/Specifications/Docs/glBindVertexArray.xml
Normal file
|
@ -0,0 +1,72 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindVertexArray">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBindVertexArray</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBindVertexArray</refname>
|
||||
<refpurpose>bind a vertex array object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBindVertexArray</function></funcdef>
|
||||
<paramdef>GLuint <parameter>array</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>array</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of the vertex array to bind.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBindVertexArray</function> binds the vertex array object with name <parameter>array</parameter>. <parameter>array</parameter>
|
||||
is the name of a vertex array object previously returned from a call to <citerefentry><refentrytitle>glGenVertexArrays</refentrytitle></citerefentry>,
|
||||
or zero to break the existing vertex array object binding.
|
||||
</para>
|
||||
<para>
|
||||
If no vertex array object with name <parameter>array</parameter> exists, one is created when <parameter>array</parameter> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>array</parameter> is not zero or the name of a vertex array object
|
||||
previously returned from a call to <citerefentry><refentrytitle>glGenVertexArrays</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenVertexArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteVertexArrays</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glEnableVertexAttribArray</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -48,7 +48,7 @@
|
|||
The <constant>GL_BLEND_COLOR</constant> may be used to calculate the source and destination
|
||||
blending factors. The color components are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -59,22 +59,6 @@
|
|||
Initially the <constant>GL_BLEND_COLOR</constant> is set to (0, 0, 0, 0).
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBlendColor</function> is part of the <code>ARB_imaging</code> subset. <function>glBlendColor</function> is present only
|
||||
if <code>ARB_imaging</code> is returned when <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry> is called with
|
||||
<constant>GL_EXTENSIONS</constant> as its argument.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendColor</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_COLOR</constant>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
In the equations that follow, source and destination
|
||||
color components are referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s, G sub s, B sub s, A sub s ):-->
|
||||
<!-- eqn: ( R sub s, G sub s, B sub s, A sub s ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
|
@ -75,7 +75,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub d, G sub d, B sub d, A sub d ):-->
|
||||
<!-- eqn: ( R sub d, G sub d, B sub d, A sub d ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -94,7 +94,7 @@
|
|||
respectively.
|
||||
The result color is referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub r, G sub r, B sub r, A sub r ):-->
|
||||
<!-- eqn: ( R sub r, G sub r, B sub r, A sub r ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">r</mml:mi>
|
||||
|
@ -112,7 +112,7 @@
|
|||
</mml:math></inlineequation>.
|
||||
The source and destination blend factors are denoted
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( s sub R, s sub G, s sub B, s sub A ):-->
|
||||
<!-- eqn: ( s sub R, s sub G, s sub B, s sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -130,7 +130,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( d sub R, d sub G, d sub B, d sub A ):-->
|
||||
<!-- eqn: ( d sub R, d sub G, d sub B, d sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -150,7 +150,7 @@
|
|||
For these equations all color components are understood to have values
|
||||
in the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -182,100 +182,100 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Rr = R sub s s sub R + R sub d d sub R :-->
|
||||
<!-- eqn: Rr = R sub s s sub R + R sub d d sub R : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Gr = G sub s s sub G + G sub d d sub G :-->
|
||||
<!-- eqn: Gr = G sub s s sub G + G sub d d sub G : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Br = B sub s s sub B + B sub d d sub B :-->
|
||||
<!-- eqn: Br = B sub s s sub B + B sub d d sub B : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Ar = A sub s s sub A + A sub d d sub A :-->
|
||||
<!-- eqn: Ar = A sub s s sub A + A sub d d sub A : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
|
@ -287,100 +287,100 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Rr = R sub s s sub R - R sub d d sub R :-->
|
||||
<!-- eqn: Rr = R sub s s sub R - R sub d d sub R : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Gr = G sub s s sub G - G sub d d sub G :-->
|
||||
<!-- eqn: Gr = G sub s s sub G - G sub d d sub G : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Br = B sub s s sub B - B sub d d sub B :-->
|
||||
<!-- eqn: Br = B sub s s sub B - B sub d d sub B : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Ar = A sub s s sub A - A sub d d sub A :-->
|
||||
<!-- eqn: Ar = A sub s s sub A - A sub d d sub A : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
|
@ -392,100 +392,100 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Rr = R sub d d sub R - R sub s s sub R :-->
|
||||
<!-- eqn: Rr = R sub d d sub R - R sub s s sub R : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Gr = G sub d d sub G - G sub s s sub G :-->
|
||||
<!-- eqn: Gr = G sub d d sub G - G sub s s sub G : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Br = B sub d d sub B - B sub s s sub B :-->
|
||||
<!-- eqn: Br = B sub d d sub B - B sub s s sub B : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Ar = A sub d d sub A - A sub s s sub A :-->
|
||||
<!-- eqn: Ar = A sub d d sub A - A sub s s sub A : -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:mo>⁢</mml:mo>
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
|
@ -497,7 +497,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Rr = min ( R sub s, R sub d):-->
|
||||
<!-- eqn: Rr = min ( R sub s, R sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -520,7 +520,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Gr = min ( G sub s, G sub d):-->
|
||||
<!-- eqn: Gr = min ( G sub s, G sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -543,7 +543,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Br = min ( B sub s, B sub d):-->
|
||||
<!-- eqn: Br = min ( B sub s, B sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -568,7 +568,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Ar = min ( A sub s, A sub d):-->
|
||||
<!-- eqn: Ar = min ( A sub s, A sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -598,7 +598,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Rr = max ( R sub s, R sub d):-->
|
||||
<!-- eqn: Rr = max ( R sub s, R sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -621,7 +621,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Gr = max ( G sub s, G sub d):-->
|
||||
<!-- eqn: Gr = max ( G sub s, G sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -644,7 +644,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></informalequation>
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Br = max ( B sub s, B sub d):-->
|
||||
<!-- eqn: Br = max ( B sub s, B sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -669,7 +669,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<informalequation><mml:math>
|
||||
<!-- eqn: Ar = max ( A sub s, A sub d):-->
|
||||
<!-- eqn: Ar = max ( A sub s, A sub d): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -700,7 +700,7 @@
|
|||
<para>
|
||||
The results of these equations are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -732,11 +732,6 @@
|
|||
<constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
|
||||
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendEquation</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
@ -748,7 +743,6 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
|
||||
|
|
|
@ -732,9 +732,6 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBlendEquationSeparate</function> is available only if the GL version is 2.0 or greater.
|
||||
</para>
|
||||
<para>
|
||||
The <constant>GL_MIN</constant>, and <constant>GL_MAX</constant> equations do not use
|
||||
the source or destination factors, only the source and destination colors.
|
||||
|
@ -746,11 +743,6 @@
|
|||
<constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
|
||||
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendEquationSeparate</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
|
@ -34,22 +34,6 @@
|
|||
<para>
|
||||
Specifies how the red, green, blue,
|
||||
and alpha source blending factors are computed.
|
||||
The following symbolic constants are accepted:
|
||||
<constant>GL_ZERO</constant>,
|
||||
<constant>GL_ONE</constant>,
|
||||
<constant>GL_SRC_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_COLOR</constant>,
|
||||
<constant>GL_DST_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_COLOR</constant>,
|
||||
<constant>GL_SRC_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||
<constant>GL_DST_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_ALPHA</constant>,
|
||||
<constant>GL_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant>, and
|
||||
<constant>GL_SRC_ALPHA_SATURATE</constant>.
|
||||
The initial value is <constant>GL_ONE</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -83,7 +67,7 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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.
|
||||
<parameter>dfactor</parameter> specifies which method is used to scale the
|
||||
destination color components.
|
||||
Both parameters must be one of the following symbolic constants:
|
||||
<constant>GL_ZERO</constant>,
|
||||
<constant>GL_ONE</constant>,
|
||||
<constant>GL_SRC_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_COLOR</constant>,
|
||||
<constant>GL_DST_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_COLOR</constant>,
|
||||
<constant>GL_SRC_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||
<constant>GL_DST_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_ALPHA</constant>,
|
||||
<constant>GL_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant>,
|
||||
<constant>GL_SRC_ALPHA_SATURATE</constant>,
|
||||
<constant>GL_SRC1_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC1_COLOR</constant>,
|
||||
<constant>GL_SRC1_ALPHA</constant>, and
|
||||
<constant>GL_ONE_MINUS_SRC1_ALPHA</constant>.
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s , G sub s , B sub s , A sub s ):-->
|
||||
<!-- eqn: ( R sub s0 , G sub s0 , B sub s0 , A sub s0 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s1 , G sub s1 , B sub s1 , A sub s1 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub d , G sub d , B sub d , A sub d ):-->
|
||||
<!-- eqn: ( R sub d , G sub d , B sub d , A sub d ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -135,10 +156,10 @@
|
|||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>.
|
||||
</mml:math></inlineequation>, respectively.
|
||||
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub c , G sub c , B sub c , A sub c ):-->
|
||||
<!-- eqn: ( R sub c , G sub c , B sub c , A sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -156,7 +177,7 @@
|
|||
</mml:math></inlineequation>.
|
||||
They are understood to have integer values between 0 and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( k sub R , k sub G , k sub B , k sub A ):-->
|
||||
<!-- eqn: ( k sub R , k sub G , k sub B , k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -177,7 +198,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: k sub c = 2 sup {m sub c} - 1:-->
|
||||
<!-- eqn: k sub c = 2 sup {m sub c} - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -201,7 +222,7 @@
|
|||
<para>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( m sub R , m sub G , m sub B , m sub A ):-->
|
||||
<!-- eqn: ( m sub R , m sub G , m sub B , m sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -225,7 +246,7 @@
|
|||
<para>
|
||||
Source and destination scale factors are referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( s sub R , s sub G , s sub B , s sub A ):-->
|
||||
<!-- eqn: ( s sub R , s sub G , s sub B , s sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -243,7 +264,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( d sub R , d sub G , d sub B , d sub A ):-->
|
||||
<!-- eqn: ( d sub R , d sub G , d sub B , d sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -262,7 +283,7 @@
|
|||
The scale factors described in the table,
|
||||
denoted
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( f sub R , f sub G , f sub B , f sub A ):-->
|
||||
<!-- eqn: ( f sub R , f sub G , f sub B , f sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -281,7 +302,7 @@
|
|||
represent either source or destination factors.
|
||||
All scale factors have range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -301,7 +322,7 @@
|
|||
</emphasis></entry>
|
||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( f sub R , f sub G , f sub B , f sub A ):-->
|
||||
<!-- eqn: ( f sub R , f sub G , f sub B , f sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -327,7 +348,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 0, 0, 0, 0 ):-->
|
||||
<!-- eqn: ( 0, 0, 0, 0 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>0</mml:mn>
|
||||
|
@ -343,7 +364,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -359,11 +380,11 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s / k sub R , G sub s / k sub G , B sub s / k sub B , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( R sub s0 / k sub R , G sub s0 / k sub G , B sub s0 / k sub B , A sub s0 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -371,7 +392,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
|
@ -379,7 +400,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
|
@ -387,7 +408,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -403,7 +424,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (R sub s / k sub R , G sub s / k sub G , B sub s / k sub B , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (R sub s0 / k sub R , G sub s0 / k sub G , B sub s0 / k sub B , A sub s0 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -415,7 +436,7 @@
|
|||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -423,7 +444,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
|
@ -431,7 +452,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
|
@ -439,7 +460,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -456,7 +477,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B , A sub d / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -500,7 +521,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (R sub d / k sub R , G sub d / k sub G , B sub d / k sub B , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (R sub d / k sub R , G sub d / k sub G , B sub d / k sub B , A sub d / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -553,11 +574,11 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub s / k sub A , A sub s / k sub A , A sub s / k sub A , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -565,7 +586,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -573,7 +594,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -581,7 +602,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -597,7 +618,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (A sub s / k sub A , A sub s / k sub A , A sub s / k sub A , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -609,7 +630,7 @@
|
|||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -617,7 +638,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -625,7 +646,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -633,7 +654,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -650,7 +671,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -694,7 +715,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -747,7 +768,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub c, G sub c, B sub c, A sub c ):-->
|
||||
<!-- eqn: ( R sub c, G sub c, B sub c, A sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -771,7 +792,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( R sub c, G sub c, B sub c, A sub c ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( R sub c, G sub c, B sub c, A sub c ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -804,7 +825,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub c, A sub c, A sub c, A sub c ):-->
|
||||
<!-- eqn: ( A sub c, A sub c, A sub c, A sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -828,7 +849,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( A sub c, A sub c, A sub c, A sub c ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( A sub c, A sub c, A sub c, A sub c ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -861,7 +882,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( i, i, i, 1 ):-->
|
||||
<!-- eqn: ( i, i, i, 1 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
|
@ -871,6 +892,200 @@
|
|||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_SRC1_COLOR</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s1 / k sub R , G sub s1 / k sub G , B sub s1 / k sub B , A sub s1 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_ONE_MINUS_SRC1_COLOR</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (R sub s1 / k sub R , G sub s1 / k sub G , B sub s1 / k sub B , A sub s1 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mfenced>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_SRC1_ALPHA</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_ONE_MINUS_SRC1_ALPHA</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - (A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mfenced>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
@ -880,7 +1095,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: i = min (A sub s , k sub A - A sub d ) / k sub A:-->
|
||||
<!-- eqn: i = min (A sub s , k sub A - A sub d ) / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -912,13 +1127,13 @@
|
|||
</para>
|
||||
</para>
|
||||
<para>
|
||||
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:
|
||||
</para>
|
||||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: R sub d = min ( k sub R, R sub s s sub R + R sub d d sub R ):-->
|
||||
<!-- eqn: R sub d = min ( k sub R, R sub s s sub R + R sub d d sub R ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -953,7 +1168,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: G sub d = min ( k sub G, G sub s s sub G + G sub d d sub G ):-->
|
||||
<!-- eqn: G sub d = min ( k sub G, G sub s s sub G + G sub d d sub G ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -988,7 +1203,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: B sub d = min ( k sub B, B sub s s sub B + B sub d d sub B ):-->
|
||||
<!-- eqn: B sub d = min ( k sub B, B sub s s sub B + B sub d d sub B ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1023,7 +1238,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d = min ( k sub A, A sub s s sub A + A sub d d sub A ):-->
|
||||
<!-- eqn: A sub d = min ( k sub A, A sub s s sub A + A sub d d sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1072,14 +1287,14 @@
|
|||
<parameter>dfactor</parameter> is <constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s:-->
|
||||
<!-- eqn: A sub s: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:math></inlineequation>
|
||||
is equal to
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: k sub A:-->
|
||||
<!-- eqn: k sub A: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -1089,7 +1304,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: R sub d = R sub s:-->
|
||||
<!-- eqn: R sub d = R sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1101,7 +1316,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: G sub d = G sub s:-->
|
||||
<!-- eqn: G sub d = G sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1113,7 +1328,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: B sub d = B sub s:-->
|
||||
<!-- eqn: B sub d = B sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1125,7 +1340,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d = A sub s:-->
|
||||
<!-- eqn: A sub d = A sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1173,7 +1388,7 @@
|
|||
Incoming (source) alpha is correctly thought of as a material opacity,
|
||||
ranging from 1.0
|
||||
(<inlineequation><mml:math>
|
||||
<!-- eqn: K sub A:-->
|
||||
<!-- eqn: K sub A: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -1189,33 +1404,16 @@
|
|||
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
||||
</para>
|
||||
<para>
|
||||
Blending affects only RGBA rendering.
|
||||
It is ignored by color index renderers.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_CONSTANT_COLOR</constant>, <constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>, <constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant> are available only
|
||||
if the GL version is 1.4 or greater or if the <code>ARB_imaging</code> is
|
||||
supported by your implementation.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_SRC_COLOR</constant> and <constant>GL_ONE_MINUS_SRC_COLOR</constant> are valid only for
|
||||
<parameter>sfactor</parameter> if the GL version is 1.4 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_DST_COLOR</constant> and <constant>GL_ONE_MINUS_DST_COLOR</constant> are valid only for
|
||||
<parameter>dfactor</parameter> 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 <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant>, which may
|
||||
be lower than <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>sfactor</parameter> or <parameter>dfactor</parameter> is not an
|
||||
accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendFunc</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>sfactor</parameter>
|
||||
or <parameter>dfactor</parameter> is not an accepted value.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
|
@ -1233,7 +1431,6 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendEquation</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>,
|
||||
|
@ -1242,7 +1439,6 @@
|
|||
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>
|
||||
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
|
@ -35,22 +35,6 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies how the red, green, and blue blending factors are computed.
|
||||
The following symbolic constants are accepted:
|
||||
<constant>GL_ZERO</constant>,
|
||||
<constant>GL_ONE</constant>,
|
||||
<constant>GL_SRC_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_COLOR</constant>,
|
||||
<constant>GL_DST_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_COLOR</constant>,
|
||||
<constant>GL_SRC_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||
<constant>GL_DST_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_ALPHA</constant>,
|
||||
<constant>GL_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant>, and
|
||||
<constant>GL_SRC_ALPHA_SATURATE</constant>.
|
||||
The initial value is <constant>GL_ONE</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -60,21 +44,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies how the red, green, and blue destination blending factors are
|
||||
computed. The following symbolic constants are accepted:
|
||||
<constant>GL_ZERO</constant>,
|
||||
<constant>GL_ONE</constant>,
|
||||
<constant>GL_SRC_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_COLOR</constant>,
|
||||
<constant>GL_DST_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_COLOR</constant>,
|
||||
<constant>GL_SRC_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||
<constant>GL_DST_ALPHA</constant>,
|
||||
<constant>GL_ONE_MINUS_DST_ALPHA</constant>.
|
||||
<constant>GL_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>, and
|
||||
<constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant>.
|
||||
computed.
|
||||
The initial value is <constant>GL_ZERO</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -83,8 +53,7 @@
|
|||
<term><parameter>srcAlpha</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specified how the alpha source blending factor is computed. The same
|
||||
symbolic constants are accepted as for <parameter>srcRGB</parameter>.
|
||||
Specified how the alpha source blending factor is computed.
|
||||
The initial value is <constant>GL_ONE</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -93,8 +62,7 @@
|
|||
<term><parameter>dstAlpha</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specified how the alpha destination blending factor is computed. The same
|
||||
symbolic constants are accepted as for <parameter>dstRGB</parameter>.
|
||||
Specified how the alpha destination blending factor is computed.
|
||||
The initial value is <constant>GL_ZERO</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -103,7 +71,7 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s , G sub s , B sub s , A sub s ):-->
|
||||
<!-- eqn: ( R sub s0 , G sub s0 , B sub s0 , A sub s0 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s1 , G sub s1 , B sub s1 , A sub s1 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>,
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub d , G sub d , B sub d , A sub d ):-->
|
||||
<!-- eqn: ( R sub d , G sub d , B sub d , A sub d ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -160,10 +145,10 @@
|
|||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>.
|
||||
</mml:math></inlineequation>, respectively.
|
||||
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub c , G sub c , B sub c , A sub c ):-->
|
||||
<!-- eqn: ( R sub c , G sub c , B sub c , A sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -181,7 +166,7 @@
|
|||
</mml:math></inlineequation>.
|
||||
They are understood to have integer values between 0 and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( k sub R , k sub G , k sub B , k sub A ):-->
|
||||
<!-- eqn: ( k sub R , k sub G , k sub B , k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -202,7 +187,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: k sub c = 2 sup {m sub c} - 1:-->
|
||||
<!-- eqn: k sub c = 2 sup {m sub c} - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -226,7 +211,7 @@
|
|||
<para>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( m sub R , m sub G , m sub B , m sub A ):-->
|
||||
<!-- eqn: ( m sub R , m sub G , m sub B , m sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -250,7 +235,7 @@
|
|||
<para>
|
||||
Source and destination scale factors are referred to as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( s sub R , s sub G , s sub B , s sub A ):-->
|
||||
<!-- eqn: ( s sub R , s sub G , s sub B , s sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -268,7 +253,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( d sub R , d sub G , d sub B , d sub A ):-->
|
||||
<!-- eqn: ( d sub R , d sub G , d sub B , d sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -286,7 +271,7 @@
|
|||
</mml:math></inlineequation>.
|
||||
All scale factors have range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -320,7 +305,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 0, 0, 0 ):-->
|
||||
<!-- eqn: ( 0, 0, 0 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>0</mml:mn>
|
||||
|
@ -330,7 +315,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 0:-->
|
||||
<!-- eqn: 0: -->
|
||||
<mml:mn>0</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
|
@ -341,7 +326,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -351,7 +336,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1:-->
|
||||
<!-- eqn: 1: -->
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
|
@ -362,11 +347,11 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s / k sub R , G sub s / k sub G , B sub s / k sub B ):-->
|
||||
<!-- eqn: ( R sub s0 / k sub R , G sub s0 / k sub G , B sub s0 / k sub B ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -374,7 +359,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
|
@ -382,7 +367,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
|
@ -393,10 +378,10 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s / k sub A:-->
|
||||
<!-- eqn: A sub s0 / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -411,7 +396,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( R sub s / k sub R , G sub s / k sub G , B sub s / k sub B ):-->
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( R sub s0 / k sub R , G sub s0 / k sub G , B sub 0s / k sub B ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -423,7 +408,7 @@
|
|||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -431,7 +416,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
|
@ -439,7 +424,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
|
@ -451,13 +436,13 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub s / k sub A:-->
|
||||
<!-- eqn: 1 - A sub s0 / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -473,7 +458,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B ):-->
|
||||
<!-- eqn: ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
|
@ -504,7 +489,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d / k sub A:-->
|
||||
<!-- eqn: A sub d / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -522,7 +507,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( R sub d / k sub R , G sub d / k sub G , B sub d / k sub B ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -561,7 +546,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub d / k sub A:-->
|
||||
<!-- eqn: 1 - A sub d / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
|
@ -583,11 +568,11 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub s / k sub A , A sub s / k sub A , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -595,7 +580,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -603,7 +588,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -614,10 +599,10 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s / k sub A:-->
|
||||
<!-- eqn: A sub s / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -632,7 +617,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub s / k sub A , A sub s / k sub A , A sub s / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub s0 / k sub A , A sub s0 / k sub A , A sub s0 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -643,7 +628,7 @@
|
|||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -651,7 +636,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -659,7 +644,7 @@
|
|||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -671,13 +656,13 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub s / k sub A:-->
|
||||
<!-- eqn: 1 - A sub s / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
<mml:mi mathvariant="italic">s0</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -693,7 +678,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
|
@ -724,7 +709,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d / k sub A:-->
|
||||
<!-- eqn: A sub d / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -742,7 +727,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub d / k sub A , A sub d / k sub A , A sub d / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -781,7 +766,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub d / k sub A:-->
|
||||
<!-- eqn: 1 - A sub d / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
|
@ -803,7 +788,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub c, G sub c, B sub c ):-->
|
||||
<!-- eqn: ( R sub c, G sub c, B sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -819,7 +804,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub c:-->
|
||||
<!-- eqn: A sub c: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -832,7 +817,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( R sub c, G sub c, B sub c ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( R sub c, G sub c, B sub c ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -856,7 +841,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub c:-->
|
||||
<!-- eqn: 1 - A sub c: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
|
@ -873,7 +858,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub c, A sub c, A sub c ):-->
|
||||
<!-- eqn: ( A sub c, A sub c, A sub c ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
|
@ -889,7 +874,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub c:-->
|
||||
<!-- eqn: A sub c: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">c</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -902,7 +887,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub c, A sub c, A sub c ):-->
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub c, A sub c, A sub c ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -926,7 +911,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub c:-->
|
||||
<!-- eqn: 1 - A sub c: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
|
@ -943,7 +928,7 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( i, i, i ):-->
|
||||
<!-- eqn: ( i, i, i ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
|
@ -953,11 +938,232 @@
|
|||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1:-->
|
||||
<!-- eqn: 1: -->
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_SRC1_COLOR</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( R sub s1 / k sub R , G sub s1 / k sub G , B sub s1 / k sub B ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s0 / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_ONE_MINUS_SRC_COLOR</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1, 1 ) - ( R sub s1 / k sub R , G sub s1 / k sub G , B sub s1 / k sub B ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mfenced>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">R</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">G</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">B</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub s0 / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_SRC1_ALPHA</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A ): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s1 / k sub A: -->
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left">
|
||||
<constant>GL_ONE_MINUS_SRC_ALPHA</constant>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: ( 1, 1, 1 ) - ( A sub s1 / k sub A , A sub s1 / k sub A , A sub s1 / k sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mfenced>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
<entry align="left">
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 1 - A sub s1 / k sub A: -->
|
||||
<mml:mrow>
|
||||
<mml:mn>1</mml:mn>
|
||||
<mml:mo>-</mml:mo>
|
||||
<mml:mfrac>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s1</mml:mi>
|
||||
</mml:msub>
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
</mml:mfrac>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
@ -967,7 +1173,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: i = min (A sub s , 1 - {A sub d}):-->
|
||||
<!-- eqn: i = min (A sub s , 1 - {A sub d}): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">i</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -994,13 +1200,13 @@
|
|||
</para>
|
||||
</para>
|
||||
<para>
|
||||
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:
|
||||
</para>
|
||||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: R sub d = min ( k sub R, R sub s s sub R + R sub d d sub R ):-->
|
||||
<!-- eqn: R sub d = min ( k sub R, R sub s s sub R + R sub d d sub R ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1035,7 +1241,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: G sub d = min ( k sub G, G sub s s sub G + G sub d d sub G ):-->
|
||||
<!-- eqn: G sub d = min ( k sub G, G sub s s sub G + G sub d d sub G ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1070,7 +1276,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: B sub d = min ( k sub B, B sub s s sub B + B sub d d sub B ):-->
|
||||
<!-- eqn: B sub d = min ( k sub B, B sub s s sub B + B sub d d sub B ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1105,7 +1311,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d = min ( k sub A, A sub s s sub A + A sub d d sub A ):-->
|
||||
<!-- eqn: A sub d = min ( k sub A, A sub s s sub A + A sub d d sub A ): -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1149,7 +1355,7 @@
|
|||
reduces its multiplicand to 0. For example, when <parameter>srcRGB</parameter> is
|
||||
<constant>GL_SRC_ALPHA</constant>, <parameter>dstRGB</parameter> is <constant>GL_ONE_MINUS_SRC_ALPHA</constant>, and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub s:-->
|
||||
<!-- eqn: A sub s: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">s</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -1157,7 +1363,7 @@
|
|||
is
|
||||
equal to
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: k sub A:-->
|
||||
<!-- eqn: k sub A: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -1167,7 +1373,7 @@
|
|||
<para>
|
||||
<para>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: R sub d = R sub s:-->
|
||||
<!-- eqn: R sub d = R sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1179,7 +1385,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: G sub d = G sub s:-->
|
||||
<!-- eqn: G sub d = G sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1191,7 +1397,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: B sub d = B sub s:-->
|
||||
<!-- eqn: B sub d = B sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1203,7 +1409,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: A sub d = A sub s:-->
|
||||
<!-- eqn: A sub d = A sub s: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||
<mml:mi mathvariant="italic">d</mml:mi>
|
||||
|
@ -1220,14 +1426,11 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBlendFuncSeparate</function> is available only if the GL version is 1.4 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Incoming (source) alpha is correctly thought of as a material opacity,
|
||||
ranging from 1.0
|
||||
(<inlineequation><mml:math>
|
||||
<!-- eqn: K sub A:-->
|
||||
<!-- eqn: K sub A: -->
|
||||
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
||||
<mml:mi mathvariant="italic">A</mml:mi>
|
||||
</mml:msub>
|
||||
|
@ -1243,22 +1446,10 @@
|
|||
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
||||
</para>
|
||||
<para>
|
||||
Blending affects only RGBA rendering.
|
||||
It is ignored by color index renderers.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_CONSTANT_COLOR</constant>, <constant>GL_ONE_MINUS_CONSTANT_COLOR</constant>,
|
||||
<constant>GL_CONSTANT_ALPHA</constant>, <constant>GL_ONE_MINUS_CONSTANT_ALPHA</constant> are available only
|
||||
if the GL version is 1.4 or greater or if the <code>ARB_imaging</code> is
|
||||
supported by your implementation.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_SRC_COLOR</constant> and <constant>GL_ONE_MINUS_SRC_COLOR</constant> are valid only for
|
||||
<parameter>srcRGB</parameter> if the GL version is 1.4 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_DST_COLOR</constant> and <constant>GL_ONE_MINUS_DST_COLOR</constant> are valid only for
|
||||
<parameter>dstRGB</parameter> 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 <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant>, which may
|
||||
be lower than <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -1266,11 +1457,6 @@
|
|||
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>srcRGB</parameter> or <parameter>dstRGB</parameter> is not an
|
||||
accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendFuncSeparate</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
@ -1293,7 +1479,6 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBlendEquation</refentrytitle></citerefentry>,
|
||||
|
|
182
Source/Bind/Specifications/Docs/glBlitFramebuffer.xml
Normal file
182
Source/Bind/Specifications/Docs/glBlitFramebuffer.xml
Normal file
|
@ -0,0 +1,182 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glBindVertexArray">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glBlitFramebuffer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glBlitFramebuffer</refname>
|
||||
<refpurpose>copy a block of pixels from the read framebuffer to the draw framebuffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glBlitFramebuffer</function></funcdef>
|
||||
<paramdef>GLint <parameter>srcX0</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>srcY0</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>srcX1</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>srcY1</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>dstX0</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>dstY0</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>dstX1</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>dstY1</parameter></paramdef>
|
||||
<paramdef>GLbitfield <parameter>mask</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>filter</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>srcX0</parameter></term>
|
||||
<term><parameter>srcY0</parameter></term>
|
||||
<term><parameter>srcX1</parameter></term>
|
||||
<term><parameter>srcY1</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>dstX0</parameter></term>
|
||||
<term><parameter>dstY0</parameter></term>
|
||||
<term><parameter>dstX1</parameter></term>
|
||||
<term><parameter>dstY1</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>mask</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are
|
||||
<constant>GL_COLOR_BUFFER_BIT</constant>, <constant>GL_DEPTH_BUFFER_BIT</constant> and <constant>GL_STENCIL_BUFFER_BIT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>filter</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the interpolation to be applied if the image is stretched. Must be <constant>GL_NEAREST</constant> or <constant>GL_LINEAR</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glBlitFramebuffer</function> transfers a rectangle of pixel values from one region of the read framebuffer to another region in
|
||||
the draw framebuffer. <parameter>mask</parameter> is the bitwise OR of a number of values indicating which buffers are
|
||||
to be copied. The values are <constant>GL_COLOR_BUFFER_BIT</constant>, <constant>GL_DEPTH_BUFFER_BIT</constant>, and
|
||||
<constant>GL_STENCIL_BUFFER_BIT</constant>. The pixels corresponding to these buffers are copied from the source rectangle bounded by the
|
||||
locations (<parameter>srcX0</parameter>; <parameter>srcY0</parameter>) and (<parameter>srcX1</parameter>; <parameter>srcY1</parameter>)
|
||||
to the destination rectangle bounded by the locations (<parameter>dstX0</parameter>; <parameter>dstY0</parameter>) and
|
||||
(<parameter>dstX1</parameter>; <parameter>dstY1</parameter>). The lower bounds of the rectangle are inclusive, while the upper
|
||||
bounds are exclusive.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
If the sizes of the source and destination rectangles are not equal, <parameter>filter</parameter> specifies the interpolation method that
|
||||
will be applied to resize the source image , and must be <constant>GL_NEAREST</constant> or <constant>GL_LINEAR</constant>.
|
||||
<constant>GL_LINEAR</constant> is only a valid interpolation method for the color buffer. If <parameter>filter</parameter> is not
|
||||
<constant>GL_NEAREST</constant> and <parameter>mask</parameter> includes <constant>GL_DEPTH_BUFFER_BIT</constant> or
|
||||
<constant>GL_STENCIL_BUFFER_BIT</constant>, no data is transferred and a <constant>GL_INVALID_OPERATION</constant> error is generated.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>filter</parameter> is <constant>GL_LINEAR</constant> and the source rectangle would require sampling outside the bounds of
|
||||
the source framebuffer, values are read as if the <constant>GL_CLAMP_TO_EDGE</constant> texture wrapping mode were applied.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBindVertexArray</function> is available only if the GL version is 3.0 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mask</parameter> contains any of the <constant>GL_DEPTH_BUFFER_BIT</constant>
|
||||
or <constant>GL_STENCIL_BUFFER_BIT</constant> and <parameter>filter</parameter> is not <constant>GL_NEAREST</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mask</parameter> contains <constant>GL_COLOR_BUFFER_BIT</constant>
|
||||
and any of the following conditions hold:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>The read buffer contains fixed-point or floating-point values and any draw buffer contains
|
||||
neither fixed-point nor floating-point values.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The read buffer contains unsigned integer values and any draw buffer does not contain unsigned
|
||||
integer values.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The read buffer contains signed integer values and any draw buffer does not contain signed integer values.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mask</parameter> contains <constant>GL_DEPTH_BUFFER_BIT</constant> or
|
||||
<constant>GL_DEPTH_BUFFER_BIT</constant> and the source and destination depth and stencil formats do not match.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>filter</parameter> is <constant>GL_LINEAR</constant> and the read buffer
|
||||
contains integer data.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if the value of <parameter>GL_SAMPLES</parameter> for the read and draw buffers is
|
||||
not identical.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>GL_SAMPLE_BUFFERS</parameter> for both read and draw buffers greater than
|
||||
zero and the dimensions of the source and destination rectangles is not identical.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_FRAMEBUFFER_OPERATION</constant> is generated if the objects bound to <constant>GL_DRAW_FRAMEBUFFER_BINDING</constant>
|
||||
or <constant>GL_READ_FRAMEBUFFER_BINDING</constant> are not framebuffer complete.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glCheckFramebufferStatus</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -35,10 +35,15 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies the target buffer object.
|
||||
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_COPY_READ_BUFFER</constant>,
|
||||
<constant>GL_COPY_WRITE_BUFFER</constant>,
|
||||
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
|
||||
<constant>GL_TEXTURE_BUFFER</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
|
||||
<constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -148,13 +153,6 @@
|
|||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBufferData</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Targets <constant>GL_PIXEL_PACK_BUFFER</constant> and <constant>GL_PIXEL_UNPACK_BUFFER</constant> are available
|
||||
only if the GL version is 2.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>data</parameter> is <constant>NULL</constant>, a data store of the specified size is still created,
|
||||
but its contents remain uninitialized and thus undefined.
|
||||
|
@ -169,8 +167,7 @@
|
|||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or <constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
||||
one of the accepted buffer targets.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>usage</parameter> is not
|
||||
|
@ -187,19 +184,13 @@
|
|||
<para>
|
||||
<constant>GL_OUT_OF_MEMORY</constant> is generated if the GL is unable to create a data store with the specified <parameter>size</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBufferData</function>
|
||||
is executed between the execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetBufferParameteriv</refentrytitle></citerefentry> with argument <constant>GL_BUFFER_SIZE</constant> or <constant>GL_BUFFER_USAGE</constant>
|
||||
<citerefentry><refentrytitle>glGetBufferParameter</refentrytitle></citerefentry> with argument <constant>GL_BUFFER_SIZE</constant> or <constant>GL_BUFFER_USAGE</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
|
|
|
@ -35,10 +35,15 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies the target buffer object.
|
||||
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_COPY_READ_BUFFER</constant>,
|
||||
<constant>GL_COPY_WRITE_BUFFER</constant>,
|
||||
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
|
||||
<constant>GL_TEXTURE_BUFFER</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
|
||||
<constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -79,13 +84,6 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glBufferSubData</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Targets <constant>GL_PIXEL_PACK_BUFFER</constant> and <constant>GL_PIXEL_UNPACK_BUFFER</constant> are available
|
||||
only if the GL version is 2.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
When replacing the entire data store, consider using <function>glBufferSubData</function> rather
|
||||
than completely recreating the data store with <function>glBufferData</function>. This avoids the cost of
|
||||
|
@ -107,8 +105,7 @@
|
|||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or <constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
||||
one of the accepted buffer targets.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or
|
||||
|
@ -121,12 +118,6 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer object being updated is mapped.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBufferSubData</function>
|
||||
is executed between the execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
131
Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml
Normal file
131
Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml
Normal file
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glCheckFramebufferStatus">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glCheckFramebufferStatus</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glCheckFramebufferStatus</refname>
|
||||
<refpurpose>check the completeness status of a framebuffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLenum <function>glCheckFramebufferStatus</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the target of the framebuffer completeness check.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glCheckFramebufferStatus</function> queries the completeness status of the framebuffer object currently bound to <parameter>target</parameter>.
|
||||
<parameter>target</parameter> must be <constant>GL_DRAW_FRAMEBUFFER</constant>, <constant>GL_READ_FRAMEBUFFER</constant> or <constant>GL_FRAMEBUFFER</constant>.
|
||||
<constant>GL_FRAMEBUFFER</constant> is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
The return value is <constant>GL_FRAMEBUFFER_COMPLETE</constant> if the framebuffer bound to <parameter>target</parameter> is complete. Otherwise,
|
||||
the return value is determined as follows:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_UNDEFINED</constant> is returned if <parameter>target</parameter> is the default framebuffer, but the default framebuffer does not exist.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT</constant> is returned if any of the framebuffer attachment points are framebuffer incomplete.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT</constant> is returned if the framebuffer does not have at least one image attached to it.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER</constant> is returned if the value of <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant>
|
||||
is <constant>GL_NONE</constant> for any color attachment point(s) named by <constant>GL_DRAWBUFFERi</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER</constant> is returned if <constant>GL_READ_BUFFER</constant> is not <constant>GL_NONE</constant>
|
||||
and the value of <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant> is <constant>GL_NONE</constant> for the color attachment point named
|
||||
by <constant>GL_READ_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_UNSUPPORTED</constant> is returned if the combination of internal formats of the attached images violates
|
||||
an implementation-dependent set of restrictions.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE</constant> is returned if the value of <constant>GL_RENDERBUFFER_SAMPLES</constant> is not the same
|
||||
for all attached renderbuffers; if the value of <constant>GL_TEXTURE_SAMPLES</constant> is the not same for all attached textures; or, if the attached
|
||||
images are a mix of renderbuffers and textures, the value of <constant>GL_RENDERBUFFER_SAMPLES</constant> does not match the value of
|
||||
<constant>GL_TEXTURE_SAMPLES</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE</constant> is also returned if the value of <constant>GL_TEXTURE_FIXED_SAMPLE_LOCATIONS</constant> is
|
||||
not the same for all attached textures; or, if the attached images are a mix of renderbuffers and textures, the value of <constant>GL_TEXTURE_FIXED_SAMPLE_LOCATIONS</constant>
|
||||
is not <constant>GL_TRUE</constant> for all attached textures.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS</constant> 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.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
Additionally, if an error occurs, zero is returned.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant> or <constant>GL_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
79
Source/Bind/Specifications/Docs/glClampColor.xml
Normal file
79
Source/Bind/Specifications/Docs/glClampColor.xml
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glClampColor">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glClampColor</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glClampColor</refname>
|
||||
<refpurpose>specify whether data read via <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> should be clamped</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClampColor</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>clamp</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Target for color clamping. <parameter>target</parameter> must be <constant>GL_CLAMP_READ_COLOR</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>clamp</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies whether to apply color clamping. <parameter>clamp</parameter> must be <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glClampColor</function> controls color clamping that is performed during <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
|
||||
<parameter>target</parameter> must be <constant>GL_CLAMP_READ_COLOR</constant>. If <parameter>clamp</parameter> is <constant>GL_TRUE</constant>,
|
||||
read color clamping is enabled; if <parameter>clamp</parameter> is <constant>GL_FALSE</constant>, read color clamping is disabled. If
|
||||
<parameter>clamp</parameter> is <constant>GL_FIXED_ONLY</constant>, read color clamping is enabled only if the selected read buffer has
|
||||
fixed point components and disabled otherwise.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||
<constant>GL_CLAMP_READ_COLOR</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>clamp</parameter> is not <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_CLAMP_READ_COLOR</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -31,10 +31,9 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Bitwise OR of masks that indicate the buffers to be cleared.
|
||||
The four masks are
|
||||
The three masks are
|
||||
<constant>GL_COLOR_BUFFER_BIT</constant>,
|
||||
<constant>GL_DEPTH_BUFFER_BIT</constant>,
|
||||
<constant>GL_ACCUM_BUFFER_BIT</constant>, and
|
||||
<constant>GL_DEPTH_BUFFER_BIT</constant>, and
|
||||
<constant>GL_STENCIL_BUFFER_BIT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -44,8 +43,8 @@
|
|||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glClear</function> sets the bitplane area of the window to values previously selected
|
||||
by <function>glClearColor</function>, <function>glClearIndex</function>, <function>glClearDepth</function>,
|
||||
<function>glClearStencil</function>, and <function>glClearAccum</function>.
|
||||
by <function>glClearColor</function>, <function>glClearDepth</function>, and
|
||||
<function>glClearStencil</function>.
|
||||
Multiple color buffers can be cleared simultaneously by selecting
|
||||
more than one buffer at a time using <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
|
@ -86,14 +85,6 @@
|
|||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_ACCUM_BUFFER_BIT</constant></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Indicates the accumulation buffer.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_STENCIL_BUFFER_BIT</constant></term>
|
||||
<listitem>
|
||||
|
@ -116,25 +107,14 @@
|
|||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if any bit other than the four defined
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if any bit other than the three defined
|
||||
bits is set in <parameter>mask</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glClear</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ACCUM_CLEAR_VALUE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_INDEX_CLEAR_VALUE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
||||
</para>
|
||||
|
@ -144,10 +124,8 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<function>glClearAccum</function>,
|
||||
<function>glClearColor</function>,
|
||||
<function>glClearDepth</function>,
|
||||
<function>glClearIndex</function>,
|
||||
<function>glClearStencil</function>,
|
||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthMask</refentrytitle></citerefentry>,
|
||||
|
|
170
Source/Bind/Specifications/Docs/glClearBuffer.xml
Normal file
170
Source/Bind/Specifications/Docs/glClearBuffer.xml
Normal file
|
@ -0,0 +1,170 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glClearBuffer">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glClearBuffer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glClearBuffer</refname>
|
||||
<refpurpose>clear individual buffers of the currently bound draw framebuffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClearBufferiv</function></funcdef>
|
||||
<paramdef>GLenum <parameter>buffer</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>drawBuffer</parameter></paramdef>
|
||||
<paramdef>const GLint * <parameter>value</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClearBufferuiv</function></funcdef>
|
||||
<paramdef>GLenum <parameter>buffer</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>drawBuffer</parameter></paramdef>
|
||||
<paramdef>const GLuint * <parameter>value</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClearBufferfv</function></funcdef>
|
||||
<paramdef>GLenum <parameter>buffer</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>drawBuffer</parameter></paramdef>
|
||||
<paramdef>const GLfloat * <parameter>value</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClearBufferfi</function></funcdef>
|
||||
<paramdef>GLenum <parameter>buffer</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>drawBuffer</parameter></paramdef>
|
||||
<paramdef>GLfloat <parameter>depth</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>stencil</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>buffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the buffer to clear.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>drawBuffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify a particular draw buffer to clear.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>value</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>depth</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The value to clear a depth render buffer to.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>stencil</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The value to clear a stencil render buffer to.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glClearBuffer*</function> clears the specified buffer to the specified value(s). If <parameter>buffer</parameter> is
|
||||
<constant>GL_COLOR</constant>, a particular draw buffer <constant>GL_DRAWBUFFER<parameter>i</parameter></constant> is specified
|
||||
by passing <parameter>i</parameter> as <parameter>drawBuffer</parameter>. In this case, <parameter>value</parameter> points to
|
||||
a four-element vector specifying the R, G, B and A color to clear that draw buffer to. If <parameter>buffer</parameter> is
|
||||
one of <constant>GL_FRONT</constant>, <constant>GL_BACK</constant>, <constant>GL_LEFT</constant>, <constant>GL_RIGHT</constant>,
|
||||
or <constant>GL_FRONT_AND_BACK</constant>, 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
|
||||
<citerefentry><refentrytitle>glClearColor</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>buffer</parameter> is <constant>GL_DEPTH</constant>, <parameter>drawBuffer</parameter> must be zero, and <parameter>value</parameter>
|
||||
points to a single value to clear the depth buffer to. Only <function>glClearBufferfv</function> should be used to clear
|
||||
depth buffers. Clamping and conversion for fixed-point depth buffers are performed in the same fashion as
|
||||
<citerefentry><refentrytitle>glClearDepth</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>buffer</parameter> is <constant>GL_STENCIL</constant>, <parameter>drawBuffer</parameter> must be zero, and <parameter>value</parameter>
|
||||
points to a single value to clear the stencil buffer to. Only <function>glClearBufferiv</function> should be used to clear
|
||||
stencil buffers. Masing and type conversion are performed in the same fashion as
|
||||
<citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<function>glClearBufferfi</function> may be used to clear the depth and stencil buffers. <parameter>buffer</parameter> must be
|
||||
<constant>GL_DEPTH_STENCIL</constant> and <parameter>drawBuffer</parameter> must be zero. <parameter>depth</parameter> and
|
||||
<parameter>stencil</parameter> are the depth and stencil values, respectively.
|
||||
</para>
|
||||
<para>
|
||||
The result of <function>glClearBuffer</function> is undefined if no conversion between the type of <parameter>value</parameter>
|
||||
and the buffer being cleared is defined. However, this is not an error.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated by <function>glClearBufferif</function>, <function>glClearBufferfv</function>
|
||||
and <function>glClearBufferuiv</function> if <parameter>buffer</parameter> is not <constant>GL_COLOR</constant>,
|
||||
<constant>GL_FRONT</constant>, <constant>GL_BACK</constant>, <constant>GL_LEFT</constant>, <constant>GL_RIGHT</constant>,
|
||||
<constant>GL_FRONT_AND_BACK</constant>, <constant>GL_DEPTH</constant> or <constant>GL_STENCIL</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated by <function>glClearBufferfi</function> if <parameter>buffer</parameter>
|
||||
is not <constant>GL_DEPTH_STENCIL</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>buffer</parameter> is <constant>GL_COLOR</constant>,
|
||||
<constant>GL_FRONT</constant>, <constant>GL_BACK</constant>, <constant>GL_LEFT</constant>, <constant>GL_RIGHT</constant>,
|
||||
or <constant>GL_FRONT_AND_BACK</constant> and <parameter>drawBuffer</parameter> is greater than or equal to <constant>GL_MAX_DRAW_BUFFERS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>buffer</parameter> is <constant>GL_DEPTH</constant>,
|
||||
<constant>GL_STENCIL</constant> or <constant>GL_DEPTH_STENCIL</constant> and <parameter>drawBuffer</parameter> is not zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glClearColor</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClearDepth</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -52,7 +52,7 @@
|
|||
and alpha values used by <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry> to clear the color buffers.
|
||||
Values specified by <function>glClearColor</function> are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -60,13 +60,6 @@
|
|||
</mml:math></inlineequation>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glClearColor</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
<funcdef>void <function>glClearDepth</function></funcdef>
|
||||
<paramdef>GLclampd <parameter>depth</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glClearDepthf</function></funcdef>
|
||||
<paramdef>GLclampf <parameter>depth</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
|
@ -42,7 +46,7 @@
|
|||
<function>glClearDepth</function> specifies the depth value used by <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry> to clear the depth buffer.
|
||||
Values specified by <function>glClearDepth</function> are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -50,13 +54,6 @@
|
|||
</mml:math></inlineequation>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glClearDepth</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<function>glClearStencil</function> specifies the index used by <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry> to clear the stencil buffer.
|
||||
<parameter>s</parameter> is masked with
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup m - 1:-->
|
||||
<!-- eqn: 2 sup m - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">m</mml:mi>
|
||||
|
@ -57,13 +57,6 @@
|
|||
is the number of bits in the stencil buffer.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glClearStencil</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_STENCIL_CLEAR_VALUE</constant>
|
||||
|
|
119
Source/Bind/Specifications/Docs/glClientWaitSync.xml
Normal file
119
Source/Bind/Specifications/Docs/glClientWaitSync.xml
Normal file
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glClientWaitSync">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glClientWaitSync</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glClientWaitSync</refname>
|
||||
<refpurpose>block and wait for a sync object to become signaled</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLenum <function>glClientWaitSync</function></funcdef>
|
||||
<paramdef>GLsync <parameter>sync</parameter></paramdef>
|
||||
<paramdef>GLbitfield <parameter>flags</parameter></paramdef>
|
||||
<paramdef>GLuint64 <parameter>timeout</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>sync</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The sync object whose status to wait on.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>flags</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
A bitfield controlling the command flushing behavior. <parameter>flags</parameter> may be <constant>GL_SYNC_FLUSH_COMMANDS_BIT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>timeout</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The timeout, specified in nanoseconds, for which the implementation should wait for <parameter>sync</parameter> to become signaled.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glClientWaitSync</function> causes the client to block and wait for the sync object specified by <parameter>sync</parameter> to become signaled. If
|
||||
<parameter>sync</parameter> is signaled when <function>glClientWaitSync</function> is called, <function>glClientWaitSync</function> returns immediately, otherwise
|
||||
it will block and wait for up to <parameter>timeout</parameter> nanoseconds for <parameter>sync</parameter> to become signaled.
|
||||
</para>
|
||||
<para>
|
||||
The return value is one of four status values:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_ALREADY_SIGNALED</constant> indicates that <parameter>sync</parameter> was signaled at the time that <function>glClientWaitSync</function>
|
||||
was called.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_TIMEOUT_EXPIRED</constant> indicates that at least <parameter>timeout</parameter> nanoseconds passed and <parameter>sync</parameter> did not
|
||||
become signaled.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_CONDITION_SATISFIED</constant> indicates that <parameter>sync</parameter> was signaled before the timeout expired.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<constant>GL_WAIT_FAILED</constant> indicates that an error occurred. Additionally, an OpenGL error will be generated.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glClientWaitSync</function> is available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>sync</parameter> is not the name of an existing sync object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>flags</parameter> contains any unsupported flag.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glFenceSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsSync</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -61,30 +61,15 @@
|
|||
changes are either enabled or disabled for entire color components.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glColorMask</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_WRITEMASK</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_RGBA_MODE</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColor</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -1,87 +1,77 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glCompileShader">
|
||||
<refmeta>
|
||||
<refentrytitle>glCompileShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glCompileShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glCompileShader</refname>
|
||||
<refpurpose>Compiles a shader object</refpurpose>
|
||||
<refname>glCompileShader</refname>
|
||||
<refpurpose>Compiles a shader object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glCompileShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glCompileShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be
|
||||
compiled.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be
|
||||
compiled.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glCompileShader</function> compiles the source
|
||||
code strings that have been stored in the shader object
|
||||
specified by <parameter>shader</parameter>.</para>
|
||||
<para><function>glCompileShader</function> compiles the source
|
||||
code strings that have been stored in the shader object
|
||||
specified by <parameter>shader</parameter>.</para>
|
||||
|
||||
<para>The compilation status will be stored as part of the
|
||||
shader object's state. This value will be set to
|
||||
<constant>GL_TRUE</constant> if the shader was compiled without
|
||||
errors and is ready for use, and <constant>GL_FALSE</constant>
|
||||
otherwise. It can be queried by calling
|
||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_COMPILE_STATUS</constant>.</para>
|
||||
<para>The compilation status will be stored as part of the
|
||||
shader object's state. This value will be set to
|
||||
<constant>GL_TRUE</constant> if the shader was compiled without
|
||||
errors and is ready for use, and <constant>GL_FALSE</constant>
|
||||
otherwise. It can be queried by calling
|
||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_COMPILE_STATUS</constant>.</para>
|
||||
|
||||
<para>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
|
||||
<citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glCompileShader</function>
|
||||
is available only if the GL version is 2.0 or greater.</para>
|
||||
<para>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
|
||||
<citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>shader</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>shader</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not a shader object.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not a shader object.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glCompileShader</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>
|
||||
with argument <parameter>shader</parameter></para>
|
||||
<para><citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>
|
||||
with argument <parameter>shader</parameter></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_COMPILE_STATUS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_COMPILE_STATUS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
|
@ -64,25 +64,7 @@
|
|||
<term><parameter>width</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -91,7 +73,7 @@
|
|||
<term><parameter>border</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the width of the border. Must be either 0 or 1.
|
||||
This value must be 0.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -115,19 +97,25 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexImage1D</function> loads a previously defined, and retrieved, compressed one-dimensional texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_1D</constant> (see <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>).
|
||||
<function>glCompressedTexImage1D</function> loads a previously defined, and retrieved, compressed
|
||||
one-dimensional texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_1D</constant>
|
||||
(see <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>).
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_1D</constant>, no data is read from <parameter>data</parameter>, 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 <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>). To query for an entire mipmap array, use an image array level greater than or equal to 1.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>internalformat</parameter> must be extension-specified compressed-texture format. When a texture is loaded with <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> using a generic compressed texture format (e.g., <constant>GL_COMPRESSED_RGB</constant>) the GL selects from one of
|
||||
<parameter>internalformat</parameter> must be an extension-specified compressed-texture format.
|
||||
When a texture is loaded with
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> using a generic compressed texture format
|
||||
(e.g., <constant>GL_COMPRESSED_RGB</constant>) the GL selects from one of
|
||||
its extensions supporting compressed textures. In order to load the
|
||||
compressed texture image using <function>glCompressedTexImage1D</function>, query the compressed texture image's size and format using <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
||||
compressed texture image using <function>glCompressedTexImage1D</function>, query the compressed texture image's size and
|
||||
format using <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
If a non-zero named buffer object is bound to the <constant>GL_PIXEL_UNPACK_BUFFER</constant> target
|
||||
|
@ -135,25 +123,24 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexImage1D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the <constant>GL_ARB_texture_non_power_of_two</constant> extension.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is one of the generic compressed internal formats: <constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not
|
||||
a supported specific compressed internal formats, or is one of the generic
|
||||
compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> 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.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
||||
|
@ -169,11 +156,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexImage1D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if
|
||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||
|
@ -187,6 +169,12 @@
|
|||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_COMPRESSED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COMPRESSED_TEXTURE_FORMATS</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
||||
</para>
|
||||
|
@ -194,32 +182,21 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
<para>
|
||||
Specifies the target texture.
|
||||
Must be <constant>GL_TEXTURE_2D</constant>, <constant>GL_PROXY_TEXTURE_2D</constant>,
|
||||
<constant>GL_TEXTURE_1D_ARRAY</constant>, <constant>GL_PROXY_TEXTURE_1D_ARRAY</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||
|
@ -72,27 +73,8 @@
|
|||
<term><parameter>width</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -101,28 +83,8 @@
|
|||
<term><parameter>height</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -131,8 +93,7 @@
|
|||
<term><parameter>border</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the width of the border.
|
||||
Must be either 0 or 1.
|
||||
This value must be 0.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -157,28 +118,31 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_2D</constant>. To enable and disable texturing using
|
||||
cube-mapped textures, call <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexImage2D</function> loads a previously defined, and retrieved, compressed two-dimensional
|
||||
texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_2D</constant> (see <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>).
|
||||
texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_2D</constant>, or one of the
|
||||
cube map faces such as <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>.
|
||||
(see <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>).
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_2D</constant>, no data is read from <parameter>data</parameter>, but
|
||||
If <parameter>target</parameter> is <constant>GL_TEXTURE_1D_ARRAY</constant>, <parameter>data</parameter>
|
||||
is treated as an array of compressed 1D textures.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_2D</constant>, <constant>GL_PROXY_TEXTURE_1D_ARRAY</constant>
|
||||
or <constant>GL_PROXY_CUBE_MAP</constant>, no data is read from <parameter>data</parameter>, 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
|
||||
<citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>). To query for an entire mipmap array, use an image array level
|
||||
greater than or equal to 1.
|
||||
<citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>). To query for an entire mipmap array,
|
||||
use an image array level greater than or equal to 1.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>internalformat</parameter> must be an extension-specified compressed-texture format.
|
||||
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||
or an extension-specified compressed-texture format.
|
||||
When a texture is loaded with <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry> using a generic compressed
|
||||
texture format (e.g., <constant>GL_COMPRESSED_RGB</constant>), the GL selects from one of
|
||||
its extensions supporting compressed textures. In order to load the
|
||||
|
@ -191,26 +155,25 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexImage2D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the <constant>GL_ARB_texture_non_power_of_two</constant> extension.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is one of the generic compressed internal formats: <constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||
compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
||||
the format, dimensions, and contents of the specified compressed image
|
||||
data.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
||||
supported by the specific compressed internal format as specified in the
|
||||
|
@ -225,11 +188,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexImage2D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if
|
||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||
|
@ -250,32 +208,20 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -40,7 +40,8 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Specifies the target texture.
|
||||
Must be <constant>GL_TEXTURE_3D</constant> or <constant>GL_PROXY_TEXTURE_3D</constant>.
|
||||
Must be <constant>GL_TEXTURE_3D</constant>, <constant>GL_PROXY_TEXTURE_3D</constant>,
|
||||
<constant>GL_TEXTURE_2D_ARRAY</constant> or <constant>GL_PROXY_TEXTURE_2D_ARRAY</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -66,28 +67,8 @@
|
|||
<term><parameter>width</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -95,27 +76,8 @@
|
|||
<term><parameter>height</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -124,27 +86,8 @@
|
|||
<term><parameter>depth</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
</mml:msup>
|
||||
<mml:mo>+</mml:mo>
|
||||
<mml:mrow>
|
||||
<mml:mn>2</mml:mn>
|
||||
<mml:mo>⁡</mml:mo>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">border</mml:mi>
|
||||
</mml:mfenced>
|
||||
</mml:mrow>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
for some integer
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -153,8 +96,7 @@
|
|||
<term><parameter>border</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the width of the border.
|
||||
Must be either 0 or 1.
|
||||
This value must be 0.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -179,17 +121,19 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_3D</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexImage3D</function> loads a previously defined, and retrieved, compressed three-dimensional
|
||||
texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_3D</constant> (see <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>).
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_3D</constant>, no data is read from <parameter>data</parameter>, but
|
||||
If <parameter>target</parameter> is <constant>GL_TEXTURE_2D_ARRAY</constant>, <parameter>data</parameter> is
|
||||
treated as an array of compressed 2D textures.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_3D</constant> or <constant>GL_PROXY_TEXTURE_2D_ARRAY</constant>,
|
||||
no data is read from <parameter>data</parameter>, 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.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>internalformat</parameter> must be an extension-specified compressed-texture format.
|
||||
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||
or an extension-specified compressed-texture format.
|
||||
When a texture is loaded with <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry> using a generic compressed
|
||||
texture format (e.g., <constant>GL_COMPRESSED_RGB</constant>), the GL selects from one of
|
||||
its extensions supporting compressed textures. In order to load the
|
||||
|
@ -211,25 +156,24 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexImage3D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the <constant>GL_ARB_texture_non_power_of_two</constant> extension.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is one of the generic compressed internal formats: <constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||
compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
||||
the format, dimensions, and contents of the specified compressed image data.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
||||
supported by the specific compressed internal format as specified in the
|
||||
|
@ -244,11 +188,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexImage3D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if <parameter>data</parameter> is not encoded in a manner consistent with the extension specification defining the internal compression format.
|
||||
</para>
|
||||
|
@ -267,31 +206,20 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -97,17 +97,14 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_1D</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage1D</function> redefines a contiguous subregion of an existing one-dimensional
|
||||
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -122,8 +119,9 @@
|
|||
specification has no effect.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>format</parameter> must be an extension-specified
|
||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
||||
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||
or an extension-specified compressed-texture format.
|
||||
The <parameter>format</parameter> of the compressed texture
|
||||
image is selected by the GL implementation that compressed it (see
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>), and should be queried at the time the texture was
|
||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
||||
|
@ -134,25 +132,16 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage1D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
||||
<constant>GL_COMPRESSED_SRGBA</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||
compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
||||
|
@ -173,11 +162,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexSubImage1D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if
|
||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||
|
@ -198,32 +182,21 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -121,19 +121,14 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_2D</constant>. To enable and disable texturing using
|
||||
cube-mapped texture, call <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_CUBE_MAP</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage2D</function> redefines a contiguous subregion of an existing two-dimensional
|
||||
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -144,7 +139,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
and the y indices <parameter>yoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset + height - 1:-->
|
||||
<!-- eqn: yoffset + height - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -160,8 +155,9 @@
|
|||
specification has no effect.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>format</parameter> must be an extension-specified
|
||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
||||
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||
or an extension-specified compressed-texture format.
|
||||
The <parameter>format</parameter> of the compressed texture
|
||||
image is selected by the GL implementation that compressed it (see
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>) and should be queried at the time the texture was
|
||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
||||
|
@ -172,35 +168,15 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage2D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
|
||||
<constant>GL_PROXY_TEXTURE_CUBE_MAP</constant> are available only if the GL version is 1.3
|
||||
or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
||||
<constant>GL_COMPRESSED_SRGBA</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is of the generic compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
||||
|
@ -221,11 +197,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexSubImage2D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if
|
||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||
|
@ -246,32 +217,21 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -125,17 +125,14 @@
|
|||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
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 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument
|
||||
<constant>GL_TEXTURE_3D</constant>.
|
||||
Texturing allows elements of an image array to be read by shaders.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage3D</function> redefines a contiguous subregion of an existing three-dimensional
|
||||
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -146,7 +143,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
and the y indices <parameter>yoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset + height - 1:-->
|
||||
<!-- eqn: yoffset + height - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -157,7 +154,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
and the z indices <parameter>zoffset</parameter> and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: zoffset + depth - 1:-->
|
||||
<!-- eqn: zoffset + depth - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -172,8 +169,9 @@
|
|||
but such a specification has no effect.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>format</parameter> must be an extension-specified
|
||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
||||
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||
or an extension-specified compressed-texture format.
|
||||
The <parameter>format</parameter> of the compressed texture
|
||||
image is selected by the GL implementation that compressed it (see
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>) and should be queried at the time the texture was
|
||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
||||
|
@ -184,25 +182,15 @@
|
|||
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCompressedTexSubImage3D</function> is available only if the GL version is 1.3 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_SLUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
||||
<constant>GL_COMPRESSED_SRGBA</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is one of the generic compressed internal formats:
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
||||
|
@ -223,11 +211,6 @@
|
|||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
|
||||
object such that the memory reads required would exceed the data store size.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCompressedTexSubImage3D</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
Undefined results, including abnormal program termination, are generated if
|
||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||
|
@ -248,32 +231,21 @@
|
|||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
143
Source/Bind/Specifications/Docs/glCopyBufferSubData.xml
Normal file
143
Source/Bind/Specifications/Docs/glCopyBufferSubData.xml
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glCopyBufferSubData">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glCopyBufferSubData</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glCopyBufferSubData</refname>
|
||||
<refpurpose>copy part of the data store of a buffer object to the data store of another buffer object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glCopyBufferSubData</function></funcdef>
|
||||
<paramdef>GLenum <parameter>readtarget</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>writetarget</parameter></paramdef>
|
||||
<paramdef>GLintptr <parameter>readoffset</parameter></paramdef>
|
||||
<paramdef>GLintptr <parameter>writeoffset</parameter></paramdef>
|
||||
<paramdef>GLsizeiptr <parameter>size</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>readtarget</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target from whose data store data should be read.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>writetarget</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target to whose data store data should be written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>readoffset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the offset, in basic machine units, within the data store of <parameter>readtarget</parameter> from which data should be read.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>writeoffset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the offset, in basic machine units, within the data store of <parameter>writetarget</parameter> to which data should be written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>size</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the size, in basic machine units, of the data to be copied from <parameter>readtarget</parameter> to <parameter>writetarget</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glCopyBufferSubData</function> copies part of the data store attached to <parameter>readtarget</parameter> to the
|
||||
data store attached to <parameter>writetarget</parameter>. The number of basic machine units indicated by <parameter>size</parameter>
|
||||
is copied from the source, at offset <parameter>readoffset</parameter> to the destination at <parameter>writeoffset</parameter>,
|
||||
also in basic machine units.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>readtarget</parameter> and <parameter>writetarget</parameter> must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>. Any of these targets may be used,
|
||||
although the targets <constant>GL_COPY_READ_BUFFER</constant> and <constant>GL_COPY_WRITE_BUFFER</constant> are provided
|
||||
specifically to allow copies between buffers without disturbing other GL state.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>readoffset</parameter>, <parameter>writeoffset</parameter> and <parameter>size</parameter> must all be greater than or equal to
|
||||
zero. Furthermore, <parameter>readoffset</parameter> + <parameter>size</parameter> must not exceeed the size of the buffer
|
||||
object bound to <parameter>readtarget</parameter>, and <parameter>readoffset</parameter> + <parameter>size</parameter> must not exceeed the
|
||||
size of the buffer bound to <parameter>writetarget</parameter>. If the same buffer object is bound to both <parameter>readtarget</parameter>
|
||||
and <parameter>writetarget</parameter>, then the ranges specified by <parameter>readoffset</parameter>, <parameter>writeoffset</parameter>
|
||||
and <parameter>size</parameter> must not overlap.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyBufferSubData</function> is available only if the GL version is 3.1 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if any of <parameter>readoffset</parameter>, <parameter>writeoffset</parameter>
|
||||
or <parameter>size</parameter> is negative, if <parameter>readoffset</parameter> + <parameter>size</parameter> exceeds the
|
||||
size of the buffer object bound to <parameter>readtarget</parameter> or if <parameter>writeoffset</parameter> + <parameter>size</parameter>
|
||||
exceeds the size of the buffer object bound to <parameter>writetarget</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if the same buffer object is bound to both <parameter>readtarget</parameter>
|
||||
and <parameter>writetarget</parameter> and the ranges [<parameter>readoffset</parameter>, <parameter>readoffset</parameter> +
|
||||
<parameter>size</parameter>) and [<parameter>writeoffset</parameter>, <parameter>writeoffset</parameter> + <parameter>size</parameter>)
|
||||
overlap.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>readtarget</parameter> or <parameter>writetarget</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer object bound to either <parameter>readtarget</parameter> or <parameter>writetarget</parameter>
|
||||
is mapped.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBufferData</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBufferSubData</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -58,38 +58,18 @@
|
|||
<para>
|
||||
Specifies the internal format of the texture.
|
||||
Must be one of the following symbolic constants:
|
||||
<constant>GL_ALPHA</constant>,
|
||||
<constant>GL_ALPHA4</constant>,
|
||||
<constant>GL_ALPHA8</constant>,
|
||||
<constant>GL_ALPHA12</constant>,
|
||||
<constant>GL_ALPHA16</constant>,
|
||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
<constant>GL_DEPTH_COMPONENT</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT16</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT24</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT32</constant>,
|
||||
<constant>GL_LUMINANCE</constant>,
|
||||
<constant>GL_LUMINANCE4</constant>,
|
||||
<constant>GL_LUMINANCE8</constant>,
|
||||
<constant>GL_LUMINANCE12</constant>,
|
||||
<constant>GL_LUMINANCE16</constant>,
|
||||
<constant>GL_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_LUMINANCE4_ALPHA4</constant>,
|
||||
<constant>GL_LUMINANCE6_ALPHA2</constant>,
|
||||
<constant>GL_LUMINANCE8_ALPHA8</constant>,
|
||||
<constant>GL_LUMINANCE12_ALPHA4</constant>,
|
||||
<constant>GL_LUMINANCE12_ALPHA12</constant>,
|
||||
<constant>GL_LUMINANCE16_ALPHA16</constant>,
|
||||
<constant>GL_INTENSITY</constant>,
|
||||
<constant>GL_INTENSITY4</constant>,
|
||||
<constant>GL_INTENSITY8</constant>,
|
||||
<constant>GL_INTENSITY12</constant>,
|
||||
<constant>GL_INTENSITY16</constant>,
|
||||
<constant>GL_RED</constant>,
|
||||
<constant>GL_RG</constant>,
|
||||
<constant>GL_RGB</constant>,
|
||||
<constant>GL_R3_G3_B2</constant>,
|
||||
<constant>GL_RGB4</constant>,
|
||||
|
@ -106,10 +86,6 @@
|
|||
<constant>GL_RGB10_A2</constant>,
|
||||
<constant>GL_RGBA12</constant>,
|
||||
<constant>GL_RGBA16</constant>,
|
||||
<constant>GL_SLUMINANCE</constant>,
|
||||
<constant>GL_SLUMINANCE8</constant>,
|
||||
<constant>GL_SLUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_SLUMINANCE8_ALPHA8</constant>,
|
||||
<constant>GL_SRGB</constant>,
|
||||
<constant>GL_SRGB8</constant>,
|
||||
<constant>GL_SRGB_ALPHA</constant>, or
|
||||
|
@ -134,7 +110,7 @@
|
|||
Specifies the width of the texture image.
|
||||
Must be 0 or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
|
@ -174,7 +150,7 @@
|
|||
<para>
|
||||
The screen-aligned pixel row with left corner at
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (x, y):-->
|
||||
<!-- eqn: (x, y): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">x</mml:mi>
|
||||
<mml:mi mathvariant="italic">y</mml:mi>
|
||||
|
@ -182,7 +158,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and with a length of
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: width + 2 ( border ):-->
|
||||
<!-- eqn: width + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">width</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -201,11 +177,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The pixels in the row are processed exactly as if
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point all pixel component values are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -234,41 +210,12 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyTexImage1D</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Texturing has no effect in color index mode.
|
||||
</para>
|
||||
<para>
|
||||
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
An image with 0 width indicates a NULL texture.
|
||||
</para>
|
||||
<para>
|
||||
When the <code>ARB_imaging</code> extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline. See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> for specific details.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT24</constant>, and <constant>GL_DEPTH_COMPONENT32</constant> are available only
|
||||
if the GL version is 1.4 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the <constant>GL_ARB_texture_non_power_of_two</constant> extension.
|
||||
</para>
|
||||
<para>
|
||||
The
|
||||
<constant>GL_SRGB</constant>,
|
||||
<constant>GL_SRGB8</constant>,
|
||||
<constant>GL_SRGB_ALPHA</constant>,
|
||||
<constant>GL_SRGB8_ALPHA8</constant>,
|
||||
<constant>GL_SLUMINANCE</constant>,
|
||||
<constant>GL_SLUMINANCE8</constant>,
|
||||
<constant>GL_SLUMINANCE_ALPHA</constant>, and
|
||||
<constant>GL_SLUMINANCE8_ALPHA8</constant>
|
||||
internal formats are only available if the GL version is 2.1 or greater. See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> for specific details about sRGB conversion.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
|
@ -281,7 +228,7 @@
|
|||
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
||||
than
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: log sub 2 max:-->
|
||||
<!-- eqn: log sub 2 max: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
||||
<mml:mn>2</mml:mn>
|
||||
|
@ -299,12 +246,12 @@
|
|||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> is less than 0 or greater than
|
||||
2 + <constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||
<constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> cannot be represented as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
|
@ -324,9 +271,6 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCopyTexImage1D</function> is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
||||
|
@ -338,20 +282,13 @@
|
|||
<para>
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -65,38 +65,18 @@
|
|||
<para>
|
||||
Specifies the internal format of the texture.
|
||||
Must be one of the following symbolic constants:
|
||||
<constant>GL_ALPHA</constant>,
|
||||
<constant>GL_ALPHA4</constant>,
|
||||
<constant>GL_ALPHA8</constant>,
|
||||
<constant>GL_ALPHA12</constant>,
|
||||
<constant>GL_ALPHA16</constant>,
|
||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
||||
<constant>GL_COMPRESSED_RED</constant>,
|
||||
<constant>GL_COMPRESSED_RG</constant>,
|
||||
<constant>GL_COMPRESSED_RGB</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||
<constant>GL_DEPTH_COMPONENT</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT16</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT24</constant>,
|
||||
<constant>GL_DEPTH_COMPONENT32</constant>,
|
||||
<constant>GL_LUMINANCE</constant>,
|
||||
<constant>GL_LUMINANCE4</constant>,
|
||||
<constant>GL_LUMINANCE8</constant>,
|
||||
<constant>GL_LUMINANCE12</constant>,
|
||||
<constant>GL_LUMINANCE16</constant>,
|
||||
<constant>GL_LUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_LUMINANCE4_ALPHA4</constant>,
|
||||
<constant>GL_LUMINANCE6_ALPHA2</constant>,
|
||||
<constant>GL_LUMINANCE8_ALPHA8</constant>,
|
||||
<constant>GL_LUMINANCE12_ALPHA4</constant>,
|
||||
<constant>GL_LUMINANCE12_ALPHA12</constant>,
|
||||
<constant>GL_LUMINANCE16_ALPHA16</constant>,
|
||||
<constant>GL_INTENSITY</constant>,
|
||||
<constant>GL_INTENSITY4</constant>,
|
||||
<constant>GL_INTENSITY8</constant>,
|
||||
<constant>GL_INTENSITY12</constant>,
|
||||
<constant>GL_INTENSITY16</constant>,
|
||||
<constant>GL_RED</constant>,
|
||||
<constant>GL_RG</constant>,
|
||||
<constant>GL_RGB</constant>,
|
||||
<constant>GL_R3_G3_B2</constant>,
|
||||
<constant>GL_RGB4</constant>,
|
||||
|
@ -113,10 +93,6 @@
|
|||
<constant>GL_RGB10_A2</constant>,
|
||||
<constant>GL_RGBA12</constant>,
|
||||
<constant>GL_RGBA16</constant>,
|
||||
<constant>GL_SLUMINANCE</constant>,
|
||||
<constant>GL_SLUMINANCE8</constant>,
|
||||
<constant>GL_SLUMINANCE_ALPHA</constant>,
|
||||
<constant>GL_SLUMINANCE8_ALPHA8</constant>,
|
||||
<constant>GL_SRGB</constant>,
|
||||
<constant>GL_SRGB8</constant>,
|
||||
<constant>GL_SRGB_ALPHA</constant>, or
|
||||
|
@ -141,7 +117,7 @@
|
|||
Specifies the width of the texture image.
|
||||
Must be 0 or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
||||
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">n</mml:mi>
|
||||
|
@ -168,7 +144,7 @@
|
|||
Specifies the height of the texture image.
|
||||
Must be 0 or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup m + 2 ( border ):-->
|
||||
<!-- eqn: 2 sup m + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">m</mml:mi>
|
||||
|
@ -209,7 +185,7 @@
|
|||
The screen-aligned pixel rectangle with lower left corner at (<parameter>x</parameter>,
|
||||
<parameter>y</parameter>) and with a width of
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: width + 2 ( border ):-->
|
||||
<!-- eqn: width + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">width</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -224,7 +200,7 @@
|
|||
</mml:math></inlineequation>
|
||||
and a height of
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: height + 2 ( border ):-->
|
||||
<!-- eqn: height + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">height</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -243,11 +219,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point all pixel component values are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -278,48 +254,12 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyTexImage2D</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Texturing has no effect in color index mode.
|
||||
</para>
|
||||
<para>
|
||||
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
An image with height or width of 0 indicates a NULL texture.
|
||||
</para>
|
||||
<para>
|
||||
When the <code>ARB_imaging</code> extension is supported, the RGBA components read from the framebuffer may be processed by the imaging pipeline. See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> for specific details.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
|
||||
<constant>GL_PROXY_TEXTURE_CUBE_MAP</constant> are available only if the GL version is 1.3
|
||||
or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>, <constant>GL_DEPTH_COMPONENT24</constant>,
|
||||
and <constant>GL_DEPTH_COMPONENT32</constant> are available only if the GL version is 1.4
|
||||
or greater.
|
||||
</para>
|
||||
<para>
|
||||
The
|
||||
<constant>GL_SRGB</constant>,
|
||||
<constant>GL_SRGB8</constant>,
|
||||
<constant>GL_SRGB_ALPHA</constant>,
|
||||
<constant>GL_SRGB8_ALPHA8</constant>,
|
||||
<constant>GL_SLUMINANCE</constant>,
|
||||
<constant>GL_SLUMINANCE8</constant>,
|
||||
<constant>GL_SLUMINANCE_ALPHA</constant>, and
|
||||
<constant>GL_SLUMINANCE8_ALPHA8</constant>
|
||||
internal formats are only available if the GL version is 2.1 or greater. See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry> for specific details about sRGB conversion.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
|
@ -338,7 +278,7 @@
|
|||
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
||||
than
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: log sub 2 max:-->
|
||||
<!-- eqn: log sub 2 max: -->
|
||||
<mml:mrow>
|
||||
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
||||
<mml:mn>2</mml:mn>
|
||||
|
@ -354,12 +294,12 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> is less than 0
|
||||
or greater than
|
||||
2 + <constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||
<constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> or <parameter>depth</parameter> cannot be represented as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: 2 sup k + 2 ( border ):-->
|
||||
<!-- eqn: 2 sup k + 2 ( border ): -->
|
||||
<mml:mrow>
|
||||
<mml:msup><mml:mn>2</mml:mn>
|
||||
<mml:mi mathvariant="italic">k</mml:mi>
|
||||
|
@ -384,11 +324,6 @@
|
|||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>internalformat</parameter> is not an
|
||||
accepted format.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCopyTexImage2D</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
||||
|
@ -400,20 +335,13 @@
|
|||
<para>
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
length <parameter>width</parameter> replaces the portion of the
|
||||
texture array with x indices <parameter>xoffset</parameter> through
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -107,11 +107,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The pixels in the row are processed exactly as if
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point, all pixel component values are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -135,19 +135,7 @@
|
|||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyTexSubImage1D</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Texturing has no effect in color index mode.
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry> modes affect texture images
|
||||
in exactly the way they affect <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
When the <code>ARB_imaging</code> extension is supported, the RGBA components
|
||||
copied from the framebuffer may be processed by the imaging pipeline. See
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> for specific details.
|
||||
The <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> mode affects texture images.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -164,7 +152,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: level > log sub 2(max):-->
|
||||
<!-- eqn: level > log sub 2(max): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">level</mml:mi>
|
||||
<mml:mo>></mml:mo>
|
||||
|
@ -184,7 +172,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset < -b:-->
|
||||
<!-- eqn: xoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -196,7 +184,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (xoffset + width) > (w-b):-->
|
||||
<!-- eqn: (xoffset + width) > (w-b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -232,22 +220,15 @@
|
|||
<para>
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
<para>
|
||||
The screen-aligned pixel rectangle with lower left corner at
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (x, y):-->
|
||||
<!-- eqn: (x, y): -->
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mi mathvariant="italic">x</mml:mi>
|
||||
<mml:mi mathvariant="italic">y</mml:mi>
|
||||
|
@ -124,7 +124,7 @@
|
|||
width <parameter>width</parameter> and height <parameter>height</parameter> replaces the portion of the
|
||||
texture array with x indices <parameter>xoffset</parameter> through
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -135,7 +135,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
inclusive, and y indices <parameter>yoffset</parameter> through
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset + height - 1:-->
|
||||
<!-- eqn: yoffset + height - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -148,11 +148,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point, all pixel component values are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -180,29 +180,7 @@
|
|||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyTexSubImage2D</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
|
||||
<constant>GL_PROXY_TEXTURE_CUBE_MAP</constant> are available only if the GL version is 1.3
|
||||
or greater.
|
||||
</para>
|
||||
<para>
|
||||
Texturing has no effect in color index mode.
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry> modes affect texture images
|
||||
in exactly the way they affect <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
When the <code>ARB_imaging</code> extension is supported, the RGBA components
|
||||
read from the framebuffer may be processed by the imaging pipeline. See
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> for specific details.
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> modes affect texture images.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -225,7 +203,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: level > log sub 2(max):-->
|
||||
<!-- eqn: level > log sub 2(max): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">level</mml:mi>
|
||||
<mml:mo>></mml:mo>
|
||||
|
@ -247,7 +225,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset < -b:-->
|
||||
<!-- eqn: xoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -258,7 +236,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (xoffset + width) > (w - b):-->
|
||||
<!-- eqn: (xoffset + width) > (w - b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -278,7 +256,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset < -b:-->
|
||||
<!-- eqn: yoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -290,7 +268,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (yoffset + height) > (h - b):-->
|
||||
<!-- eqn: (yoffset + height) > (h - b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -324,32 +302,20 @@
|
|||
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
|
||||
include twice the border width.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCopyTexSubImage2D</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -116,11 +116,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The screen-aligned pixel rectangle with lower left corner at
|
||||
(<parameter>x</parameter>,\ <parameter>y</parameter>) and with
|
||||
(<parameter>x</parameter>, <parameter>y</parameter>) and with
|
||||
width <parameter>width</parameter> and height <parameter>height</parameter> replaces the portion of the
|
||||
texture array with x indices <parameter>xoffset</parameter> through
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset + width - 1:-->
|
||||
<!-- eqn: xoffset + width - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -131,7 +131,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
inclusive, and y indices <parameter>yoffset</parameter> through
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset + height - 1:-->
|
||||
<!-- eqn: yoffset + height - 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo>+</mml:mo>
|
||||
|
@ -144,11 +144,11 @@
|
|||
</para>
|
||||
<para>
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point, all pixel component values are clamped to the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [0,1]:-->
|
||||
<!-- eqn: [0,1]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mn>0</mml:mn>
|
||||
<mml:mn>1</mml:mn>
|
||||
|
@ -176,20 +176,7 @@
|
|||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glCopyTexSubImage3D</function> is available only if the GL version is 1.2 or greater.
|
||||
</para>
|
||||
<para>
|
||||
Texturing has no effect in color index mode.
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry> modes affect texture images
|
||||
in exactly the way they affect <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
When the <code>ARB_imaging</code> 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 <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry> for
|
||||
specific details.
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> modes affect texture images.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -206,7 +193,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: level > log sub 2(max):-->
|
||||
<!-- eqn: level > log sub 2(max): -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">level</mml:mi>
|
||||
<mml:mo>></mml:mo>
|
||||
|
@ -228,7 +215,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: xoffset < -b:-->
|
||||
<!-- eqn: xoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -239,7 +226,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (xoffset + width) > (w - b):-->
|
||||
<!-- eqn: (xoffset + width) > (w - b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -259,7 +246,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: yoffset < -b:-->
|
||||
<!-- eqn: yoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -270,7 +257,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (yoffset + height) > (h - b):-->
|
||||
<!-- eqn: (yoffset + height) > (h - b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -290,7 +277,7 @@
|
|||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: zoffset < -b:-->
|
||||
<!-- eqn: zoffset < -b: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -302,7 +289,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
or
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: (zoffset + 1) > (d - b):-->
|
||||
<!-- eqn: (zoffset + 1) > (d - b): -->
|
||||
<mml:mrow>
|
||||
<mml:mfenced open="(" close=")">
|
||||
<mml:mrow>
|
||||
|
@ -339,32 +326,20 @@
|
|||
<inlineequation><mml:math><mml:mi mathvariant="italic">d</mml:mi></mml:math></inlineequation>
|
||||
include twice the border width.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCopyTexSubImage3D</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||
|
|
|
@ -46,10 +46,7 @@
|
|||
context.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glCreateProgram</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
|
||||
<para>Like display lists and texture objects, the name space for
|
||||
<para>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 @@
|
|||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>This function returns 0 if an error occurs creating the program object.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glCreateProgram</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
|
|
|
@ -24,7 +24,10 @@
|
|||
<term><parameter>shaderType</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the type of shader to be created.
|
||||
Must be either <constant>GL_VERTEX_SHADER</constant>
|
||||
Must be one of <constant>GL_VERTEX_SHADER</constant>,
|
||||
<constant>GL_TESS_CONTROL_SHADER</constant>,
|
||||
<constant>GL_TESS_EVALUATION_SHADER</constant>,
|
||||
<constant>GL_GEOMETRY_SHADER</constant>,
|
||||
or <constant>GL_FRAGMENT_SHADER</constant>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -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. <parameter>shaderType</parameter>
|
||||
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
|
||||
<constant>GL_VERTEX_SHADER</constant> 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 <constant>GL_TESS_CONTROL_SHADER</constant> is a shader that
|
||||
is intended to run on the programmable tessellation processor in the control stage.
|
||||
A shader of type <constant>GL_TESS_EVALUATION_SHADER</constant> is a shader that
|
||||
is intended to run on the programmable tessellation processor in the evaluation stage.
|
||||
A shader of type
|
||||
<constant>GL_GEOMETRY_SHADER</constant> is a shader that is intended to
|
||||
run on the programmable geometry processor. A shader of
|
||||
type <constant>GL_FRAGMENT_SHADER</constant> is a shader that is
|
||||
intended to run on the programmable fragment processor and
|
||||
replace the fixed functionality fragment processing in
|
||||
OpenGL.</para>
|
||||
intended to run on the programmable fragment processor.</para>
|
||||
|
||||
<para>When created, a shader object's
|
||||
<constant>GL_SHADER_TYPE</constant> parameter is set to either
|
||||
<constant>GL_VERTEX_SHADER</constant> or
|
||||
<constant>GL_FRAGMENT_SHADER</constant>, depending on the value
|
||||
<constant>GL_VERTEX_SHADER</constant>, <constant>GL_TESS_CONTROL_SHADER</constant>,
|
||||
<constant>GL_TESS_EVALUATION_SHADER</constant>, <constant>GL_GEOMETRY_SHADER</constant>
|
||||
or <constant>GL_FRAGMENT_SHADER</constant>, depending on the value
|
||||
of <parameter>shaderType</parameter>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glCreateShader</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
|
||||
<para>Like display lists and texture objects, the name space for
|
||||
<para>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 @@
|
|||
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
||||
<parameter>shaderType</parameter> is not an accepted value.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glCreateShader</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
|
|
120
Source/Bind/Specifications/Docs/glCreateShaderProgram.xml
Normal file
120
Source/Bind/Specifications/Docs/glCreateShaderProgram.xml
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glCreateShaderProgram">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glCreateShaderProgram</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glCreateShaderProgramv</refname>
|
||||
<refpurpose>create a stand-alone program from an array of null-terminated source code strings</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLuint <function>glCreateShaderProgramv</function></funcdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>const char **<parameter>strings</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of shader to create.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of source code strings in the array <parameter>strings</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>strings</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the address of an array of pointers to source code strings from which to create the program object.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glCreateShaderProgram</function> creates a program object containing compiled and linked
|
||||
shaders for a single stage specified by <parameter>type</parameter>. <parameter>strings</parameter>
|
||||
refers to an array of <parameter>count</parameter> strings from which to create the shader executables.
|
||||
</para>
|
||||
<para>
|
||||
<function>glCreateShaderProgram</function> is equivalent (assuming no errors are generated) to:
|
||||
</para>
|
||||
<programlisting><![CDATA[ const GLuint shader = glCreateShader(type);
|
||||
if (shader) {
|
||||
glShaderSource(shader, count, strings, NULL);
|
||||
glCompileShader(shader);
|
||||
const GLuint program = glCreateProgram();
|
||||
if (program) {
|
||||
GLint compiled = GL_FALSE;
|
||||
glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
|
||||
glProgramParameteri(program, GL_PROGRAM_SEPARABLE, GL_TRUE);
|
||||
if (compiled) {
|
||||
glAttachShader(program, shader);
|
||||
glLinkProgram(program);
|
||||
glDetachShader(program, shader);
|
||||
}
|
||||
/* append-shader-info-log-to-program-info-log */
|
||||
}
|
||||
glDeleteShader(shader);
|
||||
return program;
|
||||
} else {
|
||||
return 0;
|
||||
}]]></programlisting>
|
||||
<para>
|
||||
The program object created by <function>glCreateShaderProgram</function> has its <constant>GL_PROGRAM_SEPARABLE</constant>
|
||||
status set to <constant>GL_TRUE</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pipeline</parameter> is not
|
||||
a name previously returned from a call to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>
|
||||
or if such a name has been deleted by a call to
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>program</parameter> refers
|
||||
to a program object that has not been successfully linked.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -68,11 +68,6 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glCullFace</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
|
@ -51,27 +51,17 @@
|
|||
After a buffer object is deleted, it has no contents,
|
||||
and its name is free for reuse (for example by <citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>).
|
||||
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).
|
||||
</para>
|
||||
<para>
|
||||
<function>glDeleteBuffers</function> silently ignores 0's and names that do not correspond to
|
||||
existing buffer objects.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDeleteBuffers</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDeleteBuffers</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
79
Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml
Normal file
79
Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteFramebuffers">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteFramebuffers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteFramebuffers</refname>
|
||||
<refpurpose>delete framebuffer objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteFramebuffers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>GLuint *<parameter>framebuffers</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of framebuffer objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>framebuffers</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
A pointer to an array containing <parameter>n</parameter> framebuffer objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteFramebuffers</function> deletes the <parameter>n</parameter> framebuffer objects whose names are stored in
|
||||
the array addressed by <parameter>framebuffers</parameter>. The name zero is reserved by the GL and is silently ignored, should it
|
||||
occur in <parameter>framebuffers</parameter>, 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 <constant>GL_DRAW_FRAMEBUFFER</constant>
|
||||
or <constant>GL_READ_FRAMEBUFFER</constant> is deleted, it is as though <citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>
|
||||
had been executed with the corresponding <parameter>target</parameter> and <parameter>framebuffer</parameter> zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCheckFramebufferStatus</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -1,89 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteProgram">
|
||||
<refmeta>
|
||||
<refentrytitle>glDeleteProgram</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glDeleteProgram</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteProgram</refname>
|
||||
<refpurpose>Deletes a program object</refpurpose>
|
||||
<refname>glDeleteProgram</refname>
|
||||
<refpurpose>Deletes a program object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteProgram</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteProgram</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the program object to be
|
||||
deleted.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the program object to be
|
||||
deleted.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glDeleteProgram</function> frees the memory and
|
||||
invalidates the name associated with the program object
|
||||
specified by <parameter>program.</parameter> This command
|
||||
effectively undoes the effects of a call to
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>.</para>
|
||||
<para><function>glDeleteProgram</function> frees the memory and
|
||||
invalidates the name associated with the program object
|
||||
specified by <parameter>program.</parameter> This command
|
||||
effectively undoes the effects of a call to
|
||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>.</para>
|
||||
|
||||
<para>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
|
||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>.
|
||||
A value of 0 for <parameter>program</parameter> will be silently
|
||||
ignored.</para>
|
||||
<para>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
|
||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>.
|
||||
A value of 0 for <parameter>program</parameter> will be silently
|
||||
ignored.</para>
|
||||
|
||||
<para>To determine whether a program object has been flagged for
|
||||
deletion, call
|
||||
<citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glDeleteProgram</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
<para>To determine whether a program object has been flagged for
|
||||
deletion, call
|
||||
<citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>program</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>program</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glDeleteProgram</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_CURRENT_PROGRAM</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_CURRENT_PROGRAM</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||
with arguments <parameter>program</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
80
Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml
Normal file
80
Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml
Normal file
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteProgramPipelines">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>c</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteProgramPipelines</refname>
|
||||
<refpurpose>delete program pipeline objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteProgramPipelines</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLuint *<parameter>pipelines</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of program pipeline objects to delete.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>pipelines</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies an array of names of program pipeline objects to delete.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteProgramPipelines</function> deletes the <parameter>n</parameter> program pipeline objects
|
||||
whose names are stored in the array <parameter>pipelines</parameter>. Unused names in <parameter>pipelines</parameter> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PROGRAM_PIPELINE_BINDING</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindProgramPipeline</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseShaderPrograms</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -56,11 +56,6 @@
|
|||
existing query objects.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDeleteQueries</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
|
@ -70,11 +65,6 @@
|
|||
between the execution of <citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDeleteQueries</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
87
Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml
Normal file
87
Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml
Normal file
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteFramebuffers">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteRenderbuffers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteRenderbuffers</refname>
|
||||
<refpurpose>delete renderbuffer objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteRenderbuffers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>GLuint *<parameter>renderbuffers</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of renderbuffer objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>renderbuffers</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
A pointer to an array containing <parameter>n</parameter> renderbuffer objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteRenderbuffers</function> deletes the <parameter>n</parameter> renderbuffer objects whose names are stored in
|
||||
the array addressed by <parameter>renderbuffers</parameter>. The name zero is reserved by the GL and is silently ignored, should it
|
||||
occur in <parameter>renderbuffers</parameter>, 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 <constant>GL_RENDERBUFFER</constant>
|
||||
is deleted, it is as though <citerefentry><refentrytitle>glBindRenderbuffer</refentrytitle></citerefentry>
|
||||
had been executed with a <parameter>target</parameter> of <constant>GL_RENDERBUFFER</constant> and a <parameter>name</parameter> of zero.
|
||||
</para>
|
||||
<para>
|
||||
If a renderbuffer object is attached to one or more attachment points in the currently bound framebuffer, then it as if
|
||||
<citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry> had been called, with a <parameter>renderbuffer</parameter>
|
||||
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 <emphasis>not</emphasis> detached from any non-bound framebuffers.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glRenderbufferStorage</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glRenderbufferStorageMultisample</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
87
Source/Bind/Specifications/Docs/glDeleteSamplers.xml
Normal file
87
Source/Bind/Specifications/Docs/glDeleteSamplers.xml
Normal file
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteSamplers">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteSamplers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteSamplers</refname>
|
||||
<refpurpose>delete named sampler objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteSamplers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLuint * <parameter>ids</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of sampler objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>ids</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies an array of sampler objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteSamplers</function> deletes <parameter>n</parameter> sampler objects named by the elements of the array <parameter>ids</parameter>.
|
||||
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 <citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDeleteSamplers</function> is available only if the GL version is 3.3 or higher.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsSampler</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenSamplers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteSamplers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsSampler</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -1,85 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteShader">
|
||||
<refmeta>
|
||||
<refentrytitle>glDeleteShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glDeleteShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteShader</refname>
|
||||
<refpurpose>Deletes a shader object</refpurpose>
|
||||
<refname>glDeleteShader</refname>
|
||||
<refpurpose>Deletes a shader object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be deleted.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be deleted.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glDeleteShader</function> frees the memory and
|
||||
invalidates the name associated with the shader object specified
|
||||
by <parameter>shader</parameter>. This command effectively
|
||||
undoes the effects of a call to
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>.</para>
|
||||
<para><function>glDeleteShader</function> frees the memory and
|
||||
invalidates the name associated with the shader object specified
|
||||
by <parameter>shader</parameter>. This command effectively
|
||||
undoes the effects of a call to
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>.</para>
|
||||
|
||||
<para>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 <parameter>shader</parameter> will be silently
|
||||
ignored.</para>
|
||||
<para>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 <parameter>shader</parameter> will be silently
|
||||
ignored.</para>
|
||||
|
||||
<para>To determine whether an object has been flagged for
|
||||
deletion, call
|
||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glDeleteShader</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
<para>To determine whether an object has been flagged for
|
||||
deletion, call
|
||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>shader</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>shader</parameter> is not a value generated by
|
||||
OpenGL.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glDeleteShader</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the program object to be queried</para>
|
||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the program object to be queried</para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
81
Source/Bind/Specifications/Docs/glDeleteSync.xml
Normal file
81
Source/Bind/Specifications/Docs/glDeleteSync.xml
Normal file
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteSync">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteSync</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteSync</refname>
|
||||
<refpurpose>delete a sync object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteSync</function></funcdef>
|
||||
<paramdef>GLsync <parameter>sync</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>sync</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The sync object to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteSync</function> deletes the sync object specified by <parameter>sync</parameter>. If the fence command
|
||||
corresponding to the specified sync object has completed, or if no <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>
|
||||
or <citerefentry><refentrytitle>glClientWaitSync</refentrytitle></citerefentry> commands are blocking on <parameter>sync</parameter>,
|
||||
the object is deleted immediately. Otherwise, <parameter>sync</parameter> is flagged for deletion and will be deleted when
|
||||
it is no longer associated with any fence command and is no longer blocking any <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>
|
||||
or <citerefentry><refentrytitle>glClientWaitSync</refentrytitle></citerefentry> command. In either case, after
|
||||
<function>glDeleteSync</function> returns, the name <parameter>sync</parameter> is invalid and can no longer be used to
|
||||
refer to the sync object.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDeleteSync</function> will silently ignore a <parameter>sync</parameter> value of zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glSync</function> is only supported if the GL version is 3.2 or greater, or if
|
||||
the <code>ARB_sync</code> extension is supported.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>sync</parameter> is neither zero or the name of a sync object.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glFenceSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClientWaitSync</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -58,20 +58,10 @@
|
|||
existing textures.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDeleteTextures</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDeleteTextures</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
@ -80,14 +70,12 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glAreTexturesResident</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteTransformFeedbacks">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteTransformFeedbacks</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteTransformFeedbacks</refname>
|
||||
<refpurpose>delete transform feedback objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteTransformFeedbacks</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLuint *<parameter>ids</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of transform feedback objects to delete.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>ids</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies an array of names of transform feedback objects to delete.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteTransformFeedbacks</function> deletes the <parameter>n</parameter> transform feedback objects
|
||||
whose names are stored in the array <parameter>ids</parameter>. Unused names in <parameter>ids</parameter> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TRANSFORM_FEEDBACK_BINDING</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenTransformFeedbacks</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBeginTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPauseTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glResumeTransformFeedback</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEndTransformFeedback</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
77
Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml
Normal file
77
Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml
Normal file
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDeleteVertexArrays">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDeleteVertexArrays</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDeleteVertexArrays</refname>
|
||||
<refpurpose>delete vertex array objects</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDeleteVertexArrays</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLuint *<parameter>arrays</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of vertex array objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>arrays</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the address of an array containing the <parameter>n</parameter> names of the objects to be deleted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDeleteVertexArrays</function> deletes <parameter>n</parameter> vertex array objects whose names are stored in the
|
||||
array addressed by <parameter>arrays</parameter>. 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 <parameter>arrays</parameter> are silently ignored, as is the value zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenVertexArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsVertexArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindVertexArray</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -134,18 +134,15 @@
|
|||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
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 <constant>GL_ALWAYS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>func</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDepthFunc</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
|
@ -49,13 +49,6 @@
|
|||
Initially, depth buffer writing is enabled.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDepthMask</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_WRITEMASK</constant>
|
||||
|
@ -66,7 +59,6 @@
|
|||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -23,6 +23,11 @@
|
|||
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
|
||||
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDepthRangef</function></funcdef>
|
||||
<paramdef>GLclampf <parameter>nearVal</parameter></paramdef>
|
||||
<paramdef>GLclampf <parameter>farVal</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
|
@ -53,7 +58,7 @@
|
|||
After clipping and division by <emphasis>w</emphasis>,
|
||||
depth coordinates range from
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: -1:-->
|
||||
<!-- eqn: -1: -->
|
||||
<mml:mn>-1</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
to 1,
|
||||
|
@ -79,7 +84,7 @@
|
|||
It is not necessary that <parameter>nearVal</parameter> be less than <parameter>farVal</parameter>.
|
||||
Reverse mappings such as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: nearVal = 1:-->
|
||||
<!-- eqn: nearVal = 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">nearVal</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -88,7 +93,7 @@
|
|||
</mml:math></inlineequation>,
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: farVal = 0:-->
|
||||
<!-- eqn: farVal = 0: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">farVal</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
|
@ -98,13 +103,6 @@
|
|||
are acceptable.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDepthRange</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_RANGE</constant>
|
||||
|
|
153
Source/Bind/Specifications/Docs/glDepthRangeArray.xml
Normal file
153
Source/Bind/Specifications/Docs/glDepthRangeArray.xml
Normal file
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDepthRangeArray">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDepthRangeArray</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDepthRangeArray</refname>
|
||||
<refpurpose>specify mapping of depth values from normalized device coordinates to window coordinates for a specified set of viewports</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDepthRangeArrayv</function></funcdef>
|
||||
<paramdef>GLuint <parameter>first</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>const GLclampd *<parameter>v</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>first</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the first viewport whose depth range to update.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of viewports whose depth range to update.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>v</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the address of an array containing the near and far values for the
|
||||
depth range of each modified viewport.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
After clipping and division by <emphasis>w</emphasis>,
|
||||
depth coordinates range from
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: -1: -->
|
||||
<mml:mn>-1</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
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).
|
||||
<function>glDepthRangeArray</function> specifies a linear mapping of the normalized depth coordinates
|
||||
in this range to window depth coordinates for each viewport in the range [<parameter>first</parameter>,
|
||||
<parameter>first</parameter> + <parameter>count</parameter>).
|
||||
Thus,
|
||||
the values accepted by <function>glDepthRangeArray</function> are both clamped to this range
|
||||
before they are accepted.
|
||||
</para>
|
||||
<para>
|
||||
The <parameter>first</parameter> parameter specifies the index of the first viewport whose depth
|
||||
range to modify and must be less than the value of <constant>GL_MAX_VIEWPORTS</constant>.
|
||||
<parameter>count</parameter> specifies the number of viewports whose depth range to modify.
|
||||
<parameter>first</parameter> + <parameter>count</parameter> must be less than or equal to
|
||||
the value of <constant>GL_MAX_VIEWPORTS</constant>. <parameter>v</parameter> 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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
It is not necessary that the near plane distance be less than the far plane distance.
|
||||
Reverse mappings such as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: nearVal = 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">near</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: farVal = 0: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">far</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mn>0</mml:mn>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
are acceptable.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>first</parameter> is greater than or equal to
|
||||
the value of <constant>GL_MAX_VIEWPORTS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>first</parameter> + <parameter>count</parameter>
|
||||
is greater than or equal to the value of <constant>GL_MAX_VIEWPORTS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_RANGE</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glViewportArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
147
Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml
Normal file
147
Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml
Normal file
|
@ -0,0 +1,147 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDepthRangeArray">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDepthRangeIndexed</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDepthRangeIndexed</refname>
|
||||
<refpurpose>specify mapping of depth values from normalized device coordinates to window coordinates for a specified viewport</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDepthRangeArrayv</function></funcdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
|
||||
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the viewport whose depth range to update.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>nearVal</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the mapping of the near clipping plane to window coordinates.
|
||||
The initial value is 0.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>farVal</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the mapping of the far clipping plane to window coordinates.
|
||||
The initial value is 1.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
After clipping and division by <emphasis>w</emphasis>,
|
||||
depth coordinates range from
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: -1: -->
|
||||
<mml:mn>-1</mml:mn>
|
||||
</mml:math></inlineequation>
|
||||
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).
|
||||
<function>glDepthRangeIndexed</function> 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 <function>glDepthRangeArray</function> are both clamped to this range
|
||||
before they are accepted.
|
||||
</para>
|
||||
<para>
|
||||
The <parameter>index</parameter> parameter specifies the index of first viewport whose depth
|
||||
range to modify and must be less than the value of <constant>GL_MAX_VIEWPORTS</constant>.
|
||||
<parameter>nearVal</parameter> and <parameter>farVal</parameter> specify near and far values of the
|
||||
depth range for the specified viewport, respectively.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
It is not necessary that the near plane distance be less than the far plane distance.
|
||||
Reverse mappings such as
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: nearVal = 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">nearVal</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mn>1</mml:mn>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>,
|
||||
and
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: farVal = 0: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">farVal</mml:mi>
|
||||
<mml:mo>=</mml:mo>
|
||||
<mml:mn>0</mml:mn>
|
||||
</mml:mrow>
|
||||
</mml:math></inlineequation>
|
||||
are acceptable.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater than or equal to
|
||||
the value of <constant>GL_MAX_VIEWPORTS</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_RANGE</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDepthRangeArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glViewportArray</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -1,95 +1,85 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDetachShader">
|
||||
<refmeta>
|
||||
<refentrytitle>glDetachShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glDetachShader</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDetachShader</refname>
|
||||
<refpurpose>Detaches a shader object from a program object to which it is attached</refpurpose>
|
||||
<refname>glDetachShader</refname>
|
||||
<refpurpose>Detaches a shader object from a program object to which it is attached</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDetachShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDetachShader</function></funcdef>
|
||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the program object from which to
|
||||
detach the shader object.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be
|
||||
detached.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>program</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the program object from which to
|
||||
detach the shader object.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>shader</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the shader object to be
|
||||
detached.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glDetachShader</function> detaches the shader
|
||||
object specified by <parameter>shader</parameter> from the
|
||||
program object specified by <parameter>program</parameter>. This
|
||||
command can be used to undo the effect of the command
|
||||
<citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry>.</para>
|
||||
<para><function>glDetachShader</function> detaches the shader
|
||||
object specified by <parameter>shader</parameter> from the
|
||||
program object specified by <parameter>program</parameter>. This
|
||||
command can be used to undo the effect of the command
|
||||
<citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry>.</para>
|
||||
|
||||
<para>If <parameter>shader</parameter> has already been flagged
|
||||
for deletion by a call to
|
||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>
|
||||
and it is not attached to any other program object, it will be
|
||||
deleted after it has been detached.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glDetachShader</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
<para>If <parameter>shader</parameter> has already been flagged
|
||||
for deletion by a call to
|
||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>
|
||||
and it is not attached to any other program object, it will be
|
||||
deleted after it has been detached.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
||||
<parameter>program</parameter> or <parameter>shader</parameter>
|
||||
is a value that was not generated by OpenGL.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
||||
<parameter>program</parameter> or <parameter>shader</parameter>
|
||||
is a value that was not generated by OpenGL.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>program</parameter> is not a program object.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>program</parameter> is not a program object.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not a shader object.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not a shader object.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not attached to
|
||||
<parameter>program</parameter>.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<parameter>shader</parameter> is not attached to
|
||||
<parameter>program</parameter>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glDetachShader</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the handle of a valid program object</para>
|
||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||
with the handle of a valid program object</para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||
with arguments <parameter>shader</parameter> and
|
||||
<constant>GL_DELETE_STATUS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry></para>
|
||||
<para><citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
|
@ -39,12 +39,14 @@
|
|||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_QUAD_STRIP</constant>,
|
||||
<constant>GL_QUADS</constant>,
|
||||
and <constant>GL_POLYGON</constant> are accepted.
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -81,29 +83,21 @@
|
|||
enabled array to construct a sequence of geometric primitives,
|
||||
beginning with element <parameter>first</parameter>. <parameter>mode</parameter> specifies what kind of
|
||||
primitives are constructed and how the array elements
|
||||
construct those primitives. If <constant>GL_VERTEX_ARRAY</constant> is not enabled, no
|
||||
geometric primitives are generated.
|
||||
construct those primitives.
|
||||
</para>
|
||||
<para>
|
||||
Vertex attributes that are modified by <function>glDrawArrays</function> have an
|
||||
unspecified value after <function>glDrawArrays</function> returns. For example, if
|
||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
||||
undefined after <function>glDrawArrays</function> executes. Attributes that aren't
|
||||
unspecified value after <function>glDrawArrays</function> returns. Attributes that aren't
|
||||
modified remain well defined.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDrawArrays</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDrawArrays</function> is included in display lists. If <function>glDrawArrays</function> 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.
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||
are available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -118,25 +112,15 @@
|
|||
enabled array and the buffer object's data store is currently mapped.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawArrays</function> is executed between
|
||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFogCoordPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetPointerv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glInterleavedArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glSecondaryColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexPointer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
135
Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml
Normal file
135
Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml
Normal file
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawArraysIndirect">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawTransformFeedback</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawArraysIndirect</refname>
|
||||
<refpurpose>render primitives from array data, taking parameters from memory</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawArraysIndirect</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>const void *<parameter>indirect</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, and
|
||||
<constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indirect</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the address of a structure containing the draw parameters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawArraysIndirect</function> specifies multiple geometric primitives
|
||||
with very few subroutine calls. <function>glDrawArraysIndirect</function> behaves
|
||||
similarly to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
execpt that the parameters to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>
|
||||
are stored in memory at the address given by <parameter>indirect</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
The parameters addressed by <parameter>indirect</parameter> are packed into a structure
|
||||
that takes the form (in C):
|
||||
<programlisting><![CDATA[ typedef struct {
|
||||
uint count;
|
||||
uint primCount;
|
||||
uint first;
|
||||
uint reservedMustBeZero;
|
||||
} DrawArraysIndirectCommand;
|
||||
|
||||
const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect;
|
||||
glDrawArraysInstanced(mode, cmd->first, cmd->count, cmd->primCount);]]></programlisting>
|
||||
</para>
|
||||
<para>
|
||||
If a buffer is bound to the <constant>GL_INDIRECT_BUFFER</constant> binding at the time
|
||||
of a call to <function>glDrawArraysIndirect</function>, <parameter>indirect</parameter>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
In contrast to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
the <code>first</code> 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 <code>reservedMustBeZero</code> member
|
||||
of the parameter structure is non-zero. However, no error is generated in this case.
|
||||
</para>
|
||||
<para>
|
||||
Vertex attributes that are modified by <function>glDrawArraysIndirect</function> have an
|
||||
unspecified value after <function>glDrawArraysIndirect</function> returns. Attributes that aren't
|
||||
modified remain well defined.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
||||
enabled array or to the <constant>GL_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mode</parameter> is <constant>GL_PATCHES</constant>
|
||||
and no tessellation control shader is active.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
122
Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml
Normal file
122
Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml
Normal file
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawArraysInstanced">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawArraysInstanced</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawArraysInstanced</refname>
|
||||
<refpurpose>draw multiple instances of a range of elements</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawArraysInstanced</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>first</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render. Symbolic constants <constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>, <constant>GL_LINE_LOOP</constant>, <constant>GL_LINES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>, <constant>GL_TRIANGLES</constant>
|
||||
<constant>GL_LINES_ADJACENCY</constant>, <constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>first</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the starting index in the enabled arrays.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of indices to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>primcount</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of instances of the specified range of indices to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawArraysInstanced</function> behaves identically to <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>
|
||||
except that <parameter>primcount</parameter> instances of the range of elements are executed and the value of the internal counter
|
||||
<parameter>instanceID</parameter> advances for each iteration. <parameter>instanceID</parameter> is an internal 32-bit integer counter
|
||||
that may be read by a vertex shader as <constant>gl_InstanceID</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDrawArraysInstanced</function> has the same effect as:
|
||||
<programlisting><![CDATA[ if ( mode or count is invalid )
|
||||
generate appropriate error
|
||||
else {
|
||||
for (int i = 0; i < primcount ; i++) {
|
||||
instanceID = i;
|
||||
glDrawArrays(mode, first, count);
|
||||
}
|
||||
instanceID = 0;
|
||||
}]]></programlisting>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not one of
|
||||
the accepted values.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> or <parameter>primcount</parameter> are negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -41,12 +41,9 @@
|
|||
<constant>GL_FRONT</constant>,
|
||||
<constant>GL_BACK</constant>,
|
||||
<constant>GL_LEFT</constant>,
|
||||
<constant>GL_RIGHT</constant>,
|
||||
<constant>GL_FRONT_AND_BACK</constant>, and
|
||||
<constant>GL_AUX</constant><emphasis>i</emphasis>,
|
||||
where <emphasis>i</emphasis> is between 0 and the value of <constant>GL_AUX_BUFFERS</constant> minus 1,
|
||||
are accepted. (<constant>GL_AUX_BUFFERS</constant> is not the upper limit; use <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
to query the number of available aux buffers.)
|
||||
<constant>GL_RIGHT</constant>, and
|
||||
<constant>GL_FRONT_AND_BACK</constant>
|
||||
are accepted.
|
||||
The initial value is <constant>GL_FRONT</constant> for single-buffered contexts,
|
||||
and <constant>GL_BACK</constant> for double-buffered contexts.
|
||||
</para>
|
||||
|
@ -157,14 +154,6 @@
|
|||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_AUX</constant><emphasis>i</emphasis></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Only auxiliary color buffer <emphasis>i</emphasis> is written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>
|
||||
If more than one color buffer is selected for drawing,
|
||||
|
@ -189,14 +178,6 @@
|
|||
The context is selected at GL initialization.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
It is always the case that <constant>GL_AUX</constant>
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>
|
||||
= <constant>GL_AUX0</constant> +
|
||||
<inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
|
@ -205,25 +186,17 @@
|
|||
<constant>GL_INVALID_OPERATION</constant> is generated if none of the buffers indicated
|
||||
by <parameter>mode</parameter> exists.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawBuffer</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DRAW_BUFFER</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_AUX_BUFFERS</constant>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
|
|
|
@ -1,189 +1,177 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawBuffers">
|
||||
<refmeta>
|
||||
<refentrytitle>glDrawBuffers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glDrawBuffers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawBuffers</refname>
|
||||
<refpurpose>Specifies a list of color buffers to be drawn into</refpurpose>
|
||||
<refname>glDrawBuffers</refname>
|
||||
<refpurpose>Specifies a list of color buffers to be drawn into</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawBuffers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLenum *<parameter>bufs</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawBuffers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>const GLenum *<parameter>bufs</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the number of buffers in
|
||||
<parameter>bufs</parameter>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>bufs</parameter></term>
|
||||
<listitem>
|
||||
<para>Points to an array of symbolic constants
|
||||
specifying the buffers into which fragment colors or
|
||||
data values will be written.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the number of buffers in
|
||||
<parameter>bufs</parameter>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>bufs</parameter></term>
|
||||
<listitem>
|
||||
<para>Points to an array of symbolic constants
|
||||
specifying the buffers into which fragment colors or
|
||||
data values will be written.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glDrawBuffers</function> 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
|
||||
<parameter>bufs</parameter>. If a fragment shader is active and
|
||||
it writes a value to the output variable
|
||||
<code>gl_FragColor</code>, then that value will be
|
||||
written into each of the buffers specified by
|
||||
<parameter>bufs</parameter>. If a fragment shader is active and
|
||||
it writes a value to one or more elements of the output array
|
||||
variable <code>gl_FragData[]</code>, then the value of
|
||||
<code>gl_FragData[0] </code> will be written into the
|
||||
first buffer specified by <parameter>bufs</parameter>, the value
|
||||
of <code>gl_FragData[1] </code> will be written into the
|
||||
second buffer specified by <parameter>bufs</parameter>, and so
|
||||
on up to <code>gl_FragData[n-1]</code>. The draw buffer
|
||||
used for <code>gl_FragData[n]</code> and beyond is
|
||||
implicitly set to be <constant>GL_NONE</constant>.</para>
|
||||
<para><function>glDrawBuffers</function> 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 <parameter>bufs</parameter>
|
||||
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 <parameter>n</parameter> is implicitly set
|
||||
to <constant>GL_NONE</constant> and any data written to such an output
|
||||
is discarded.</para>
|
||||
|
||||
<para>The symbolic constants contained in
|
||||
<parameter>bufs</parameter> may be any of the following:</para>
|
||||
<para>The symbolic constants contained in
|
||||
<parameter>bufs</parameter> may be any of the following:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><constant>GL_NONE</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is not written into
|
||||
any color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_FRONT_LEFT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is written into the
|
||||
front left color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_FRONT_RIGHT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is written into the
|
||||
front right color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_BACK_LEFT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is written into the
|
||||
back left color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_BACK_RIGHT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is written into the
|
||||
back right color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_AUXi</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment color/data value is written into
|
||||
auxiliary buffer <code>i</code>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><constant>GL_NONE</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is not written into
|
||||
any color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_FRONT_LEFT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is written into the
|
||||
front left color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_FRONT_RIGHT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is written into the
|
||||
front right color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_BACK_LEFT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is written into the
|
||||
back left color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_BACK_RIGHT</constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is written into the
|
||||
back right color buffer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><constant>GL_COLOR_ATTACHMENT<emphasis>n</emphasis></constant></term>
|
||||
<listitem>
|
||||
<para>The fragment shader output value is written into the
|
||||
<emphasis>n</emphasis>th color attachment of the current framebuffer.
|
||||
<emphasis>n</emphasis> may range from 0 to the value of
|
||||
<constant>GL_MAX_COLOR_ATTACHMENTS</constant>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Except for <constant>GL_NONE</constant>, the preceding
|
||||
symbolic constants may not appear more than once in
|
||||
<parameter>bufs</parameter>. The maximum number of draw buffers
|
||||
supported is implementation dependent and can be queried by
|
||||
calling
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with the argument <constant>GL_MAX_DRAW_BUFFERS</constant>. The
|
||||
number of auxiliary buffers can be queried by calling
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with the argument <constant>GL_AUX_BUFFERS</constant>.</para>
|
||||
<para>Except for <constant>GL_NONE</constant>, the preceding
|
||||
symbolic constants may not appear more than once in
|
||||
<parameter>bufs</parameter>. The maximum number of draw buffers
|
||||
supported is implementation dependent and can be queried by
|
||||
calling
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with the argument <constant>GL_MAX_DRAW_BUFFERS</constant>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glDrawBuffers</function> is available only if
|
||||
the GL version is 2.0 or greater.</para>
|
||||
|
||||
<para>It is always the case that <constant>GL_AUXi</constant> =
|
||||
<constant>GL_AUX0</constant> + <code>i</code>.</para>
|
||||
<para>The symbolic constants <constant>GL_FRONT</constant>,
|
||||
<constant>GL_BACK</constant>, <constant>GL_LEFT</constant>,
|
||||
<constant>GL_RIGHT</constant>, and
|
||||
<constant>GL_FRONT_AND_BACK</constant> are not allowed in the
|
||||
<parameter>bufs</parameter> array since they may refer to
|
||||
multiple buffers.</para>
|
||||
|
||||
<para>The symbolic constants <constant>GL_FRONT</constant>,
|
||||
<constant>GL_BACK</constant>, <constant>GL_LEFT</constant>,
|
||||
<constant>GL_RIGHT</constant>, and
|
||||
<constant>GL_FRONT_AND_BACK</constant> are not allowed in the
|
||||
<parameter>bufs</parameter> array since they may refer to
|
||||
multiple buffers.</para>
|
||||
|
||||
<para>If a fragment shader writes to neither
|
||||
<code>gl_FragColor</code> nor
|
||||
<code>gl_FragData</code>, 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
|
||||
<parameter>bufs</parameter>.</para>
|
||||
<para>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
|
||||
<parameter>bufs</parameter>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if one of the
|
||||
values in <parameter>bufs</parameter> is not an accepted
|
||||
value.</para>
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if one of the
|
||||
values in <parameter>bufs</parameter> is not an accepted
|
||||
value.</para>
|
||||
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if the GL is bound
|
||||
to the default framebuffer and one or more of the values in
|
||||
<parameter>bufs</parameter> is one of the <constant>GL_COLOR_ATTACHMENT<emphasis>n</emphasis></constant>
|
||||
tokens.</para>
|
||||
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
||||
<parameter>n</parameter> is less than 0.</para>
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if the GL is bound
|
||||
to a framebuffer object and one or more of the values in <parameter>bufs</parameter>
|
||||
is anything other than <constant>GL_NONE</constant> or one of the
|
||||
<constant>GL_COLOR_ATTACHMENTS<emphasis>n</emphasis></constant> tokens.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if a
|
||||
symbolic constant other than <constant>GL_NONE</constant>
|
||||
appears more than once in <parameter>bufs</parameter>.</para>
|
||||
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
||||
<parameter>n</parameter> is less than 0.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if any of
|
||||
the entries in <parameter>bufs</parameter> (other than
|
||||
<constant>GL_NONE</constant> ) indicates a color buffer that
|
||||
does not exist in the current GL context.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if a
|
||||
symbolic constant other than <constant>GL_NONE</constant>
|
||||
appears more than once in <parameter>bufs</parameter>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>n</parameter> is greater than
|
||||
<constant>GL_MAX_DRAW_BUFFERS</constant>.</para>
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if any of
|
||||
the entries in <parameter>bufs</parameter> (other than
|
||||
<constant>GL_NONE</constant> ) indicates a color buffer that
|
||||
does not exist in the current GL context.</para>
|
||||
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>n</parameter> is greater than
|
||||
<constant>GL_MAX_DRAW_BUFFERS</constant>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||
<function>glDrawBuffers</function> is executed between the
|
||||
execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_DRAW_BUFFERS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_DRAW_BUFFERS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_DRAW_BUFFERSi</constant> where
|
||||
<code>i</code> indicates the number of the draw buffer
|
||||
whose value is to be queried</para>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_DRAW_BUFFER<emphasis>i</emphasis></constant> where
|
||||
<code><emphasis>i</emphasis></code> indicates the number of the draw buffer
|
||||
whose value is to be queried</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para> <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry></para>
|
||||
<para> <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry></para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
|
@ -40,12 +40,14 @@
|
|||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_QUAD_STRIP</constant>,
|
||||
<constant>GL_QUADS</constant>,
|
||||
and <constant>GL_POLYGON</constant> are accepted.
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -92,30 +94,21 @@
|
|||
enabled array, starting at <parameter>indices</parameter> to construct a sequence of
|
||||
geometric primitives. <parameter>mode</parameter> 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
|
||||
<constant>GL_VERTEX_ARRAY</constant> is not enabled, no geometric primitives are
|
||||
constructed.
|
||||
more than one array is enabled, each is used.
|
||||
</para>
|
||||
<para>
|
||||
Vertex attributes that are modified by <function>glDrawElements</function> have an
|
||||
unspecified value after <function>glDrawElements</function> returns. For example, if
|
||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
||||
undefined after <function>glDrawElements</function> executes. Attributes that aren't
|
||||
unspecified value after <function>glDrawElements</function> returns. Attributes that aren't
|
||||
modified maintain their previous values.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDrawElements</function> is available only if the GL version is 1.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDrawElements</function> is included in display lists. If <function>glDrawElements</function> 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.
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||
are available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
|
@ -126,29 +119,20 @@
|
|||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawElements</function> is executed between
|
||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFogCoordPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetPointerv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glInterleavedArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glSecondaryColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexPointer</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
130
Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml
Normal file
130
Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawElementsBaseVertex">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawElementsBaseVertex</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawElementsBaseVertex</refname>
|
||||
<refpurpose>render primitives from array data with a per-element offset</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawElementsBaseVertex</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>GLvoid *<parameter>indices</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>basevertex</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>, <constant>GL_LINE_STRIP</constant>, <constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>, <constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>, <constant>GL_LINES_ADJACENCY</constant>, <constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and <constant>GL_PATCHES</constant> are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of elements to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of the values in indices. Must be one of <constant>GL_UNSIGNED_BYTE</constant>,
|
||||
<constant>GL_UNSIGNED_SHORT</constant>, or <constant>GL_UNSIGNED_INT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indices</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>basevertex</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a constant that should be added to each element of <parameter>indices</parameter>
|
||||
when chosing elements from the enabled vertex arrays.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawElementsBaseVertex</function> behaves identically to
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry> except that the <emphasis>i</emphasis>th element
|
||||
transferred by the corresponding draw call will be taken from element <parameter>indices</parameter>[i] + <parameter>basevertex</parameter>
|
||||
of each enabled array. If the resulting value is larger than the maximum value representable by <parameter>type</parameter>,
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<function>glDrawElementsBaseVertex</function> is only supported if the GL version is 3.2 or greater, or if
|
||||
the <code>ARB_draw_elements_base_vertex</code> extension is supported.
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
162
Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml
Normal file
162
Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml
Normal file
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawArraysIndirect">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawElementsIndirect</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawElementsIndirect</refname>
|
||||
<refpurpose>render indexed primitives from array data, taking parameters from memory</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawElementsIndirect</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>const void *<parameter>indirect</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, and
|
||||
<constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of data in the buffer bound to the <constant>GL_ELEMENT_ARRAY_BUFFER</constant> binding.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indirect</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the address of a structure containing the draw parameters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawElementsIndirect</function> specifies multiple indexed geometric primitives
|
||||
with very few subroutine calls. <function>glDrawElementsIndirect</function> behaves
|
||||
similarly to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>,
|
||||
execpt that the parameters to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>
|
||||
are stored in memory at the address given by <parameter>indirect</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
The parameters addressed by <parameter>indirect</parameter> are packed into a structure
|
||||
that takes the form (in C):
|
||||
<programlisting><![CDATA[ typedef struct {
|
||||
uint count;
|
||||
uint primCount;
|
||||
uint firstIndex;
|
||||
uint baseVertex;
|
||||
uint reservedMustBeZero;
|
||||
} DrawElementsIndirectCommand;]]></programlisting>
|
||||
<para>
|
||||
<function>glDrawElementsIndirect</function> is equivalent to:
|
||||
</para>
|
||||
<programlisting><![CDATA[ void glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect)
|
||||
{
|
||||
const DrawElementsIndirectCommand *cmd = (const DrawElementsIndirectCommand *)indirect;
|
||||
glDrawElementsInstancedBaseVertex(mode,
|
||||
cmd->count,
|
||||
type,
|
||||
cmd->firstIndex + size-of-type,
|
||||
cmd->primCount,
|
||||
cmd->baseVertex);
|
||||
}]]></programlisting>
|
||||
</para>
|
||||
<para>
|
||||
If a buffer is bound to the <constant>GL_INDIRECT_BUFFER</constant> binding at the time
|
||||
of a call to <function>glDrawElementsIndirect</function>, <parameter>indirect</parameter>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Note that indices stored in client memory are not supported. If no buffer is bound to the
|
||||
<constant>GL_ELEMENT_ARRAY_BUFFER</constant> binding, an error will be generated.
|
||||
</para>
|
||||
<para>
|
||||
The results of the operation are undefined if the <code>reservedMustBeZero</code> member
|
||||
of the parameter structure is non-zero. However, no error is generated in this case.
|
||||
</para>
|
||||
<para>
|
||||
Vertex attributes that are modified by <function>glDrawElementsIndirect</function> have an
|
||||
unspecified value after <function>glDrawElementsIndirect</function> returns. Attributes that aren't
|
||||
modified remain well defined.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if no buffer is bound to the <constant>GL_ELEMENT_ARRAY_BUFFER</constant>
|
||||
binding, or if such a buffer's data store is currently mapped.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
||||
enabled array or to the <constant>GL_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mode</parameter> is <constant>GL_PATCHES</constant>
|
||||
and no tessellation control shader is active.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysIndirect</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
153
Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml
Normal file
153
Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml
Normal file
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawElementsInstanced">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawElementsInstanced</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawElementsInstanced</refname>
|
||||
<refpurpose>draw multiple instances of a set of elements</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawElementsInstanced</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>const void * <parameter>indices</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of elements to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of the values in <parameter>indices</parameter>. Must be one of <constant>GL_UNSIGNED_BYTE</constant>,
|
||||
<constant>GL_UNSIGNED_SHORT</constant>, or <constant>GL_UNSIGNED_INT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indices</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>primcount</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of instances of the specified range of indices to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawElementsInstanced</function> behaves identically to <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>
|
||||
except that <parameter>primcount</parameter> instances of the set of elements are executed and the value of the internal counter
|
||||
<parameter>instanceID</parameter> advances for each iteration. <parameter>instanceID</parameter> is an internal 32-bit integer counter
|
||||
that may be read by a vertex shader as <constant>gl_InstanceID</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDrawElementsInstanced</function> has the same effect as:
|
||||
<programlisting><![CDATA[ if (mode, count, or type is invalid )
|
||||
generate appropriate error
|
||||
else {
|
||||
for (int i = 0; i < primcount ; i++) {
|
||||
instanceID = i;
|
||||
glDrawElements(mode, count, type, indices);
|
||||
}
|
||||
instanceID = 0;
|
||||
}]]></programlisting>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDrawElementsInstanced</function> is available only if the GL version is 3.1 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||
are available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not one of <constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>, <constant>GL_LINE_LOOP</constant>, <constant>GL_LINES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>, or <constant>GL_TRIANGLES</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> or <parameter>primcount</parameter> are negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawElementsBaseVertex">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawElementsInstancedBaseVertex</refname>
|
||||
<refpurpose>render multiple instances of a set of primitives from array data with a per-element offset</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawElementsInstancedBaseVertex</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>GLvoid *<parameter>indices</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>basevertex</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>, <constant>GL_LINE_STRIP</constant>, <constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>, <constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>, <constant>GL_LINES_ADJACENCY</constant>, <constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and <constant>GL_PATCHES</constant> are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of elements to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of the values in indices. Must be one of <constant>GL_UNSIGNED_BYTE</constant>,
|
||||
<constant>GL_UNSIGNED_SHORT</constant>, or <constant>GL_UNSIGNED_INT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indices</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>primcount</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of instances of the indexed geometry that should be drawn.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>basevertex</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a constant that should be added to each element of <parameter>indices</parameter>
|
||||
when chosing elements from the enabled vertex arrays.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawElementsInstancedBaseVertex</function> behaves identically to
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry> except that the <emphasis>i</emphasis>th element
|
||||
transferred by the corresponding draw call will be taken from element <parameter>indices</parameter>[i] + <parameter>basevertex</parameter>
|
||||
of each enabled array. If the resulting value is larger than the maximum value representable by <parameter>type</parameter>,
|
||||
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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<function>glDrawElementsInstancedBaseVertex</function> is only supported if the GL version is 3.2 or greater.
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> or <parameter>primcount</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -42,12 +42,14 @@
|
|||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_QUAD_STRIP</constant>,
|
||||
<constant>GL_QUADS</constant>,
|
||||
and <constant>GL_POLYGON</constant> are accepted.
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -109,7 +111,7 @@
|
|||
<constant>GL_MAX_ELEMENTS_VERTICES</constant> and <constant>GL_MAX_ELEMENTS_INDICES</constant>.
|
||||
If
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: end - start + 1:-->
|
||||
<!-- eqn: end - start + 1: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">end</mml:mi>
|
||||
<mml:mo>-</mml:mo>
|
||||
|
@ -123,7 +125,7 @@
|
|||
<constant>GL_MAX_ELEMENTS_INDICES</constant>, then the call may operate at reduced
|
||||
performance. There is no requirement that all vertices in the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [start, end]:-->
|
||||
<!-- eqn: [start, end]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mi mathvariant="italic">start</mml:mi>
|
||||
<mml:mi mathvariant="italic">end</mml:mi>
|
||||
|
@ -138,37 +140,28 @@
|
|||
enabled array, starting at <parameter>start</parameter> to construct a sequence of
|
||||
geometric primitives. <parameter>mode</parameter> 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
|
||||
<constant>GL_VERTEX_ARRAY</constant> is not enabled, no geometric primitives are
|
||||
constructed.
|
||||
more than one array is enabled, each is used.
|
||||
</para>
|
||||
<para>
|
||||
Vertex attributes that are modified by <function>glDrawRangeElements</function> have an
|
||||
unspecified value after <function>glDrawRangeElements</function> returns. For example, if
|
||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
||||
undefined after <function>glDrawRangeElements</function> executes. Attributes that aren't
|
||||
unspecified value after <function>glDrawRangeElements</function> returns. Attributes that aren't
|
||||
modified maintain their previous values.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glDrawRangeElements</function> is available only if the GL version is 1.2 or greater.
|
||||
</para>
|
||||
<para>
|
||||
<function>glDrawRangeElements</function> is included in display lists. If <function>glDrawRangeElements</function> 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.
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||
are available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
It is an error for indices to lie outside the range
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: [start, end]:-->
|
||||
<!-- eqn: [start, end]: -->
|
||||
<mml:mfenced open="[" close="]">
|
||||
<mml:mi mathvariant="italic">start</mml:mi>
|
||||
<mml:mi mathvariant="italic">end</mml:mi>
|
||||
|
@ -186,7 +179,7 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<inlineequation><mml:math>
|
||||
<!-- eqn: end < start:-->
|
||||
<!-- eqn: end < start: -->
|
||||
<mml:mrow>
|
||||
<mml:mi mathvariant="italic">end</mml:mi>
|
||||
<mml:mo><</mml:mo>
|
||||
|
@ -195,12 +188,12 @@
|
|||
</mml:math></inlineequation>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawRangeElements</function> is executed between
|
||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
|
@ -213,18 +206,9 @@
|
|||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetPointerv</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glInterleavedArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glSecondaryColorPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexPointer</refentrytitle></citerefentry>
|
||||
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
|
@ -0,0 +1,151 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawRangeElementsBaseVertex">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawRangeElementsBaseVertex</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawRangeElementsBaseVertex</refname>
|
||||
<refpurpose>render primitives from array data with a per-element offset</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawRangeElementsBaseVertex</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>start</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>end</parameter></paramdef>
|
||||
<paramdef>GLsizei <parameter>count</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>type</parameter></paramdef>
|
||||
<paramdef>GLvoid *<parameter>indices</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>basevertex</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>, <constant>GL_LINE_STRIP</constant>, <constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>, <constant>GL_TRIANGLE_STRIP</constant>, <constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>, <constant>GL_LINES_ADJACENCY</constant>, <constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, <constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and <constant>GL_PATCHES</constant> are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>start</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the minimum array index contained in <parameter>indices</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>end</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the maximum array index contained in <parameter>indices</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>count</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of elements to be rendered.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the type of the values in indices. Must be one of <constant>GL_UNSIGNED_BYTE</constant>,
|
||||
<constant>GL_UNSIGNED_SHORT</constant>, or <constant>GL_UNSIGNED_INT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>indices</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>basevertex</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a constant that should be added to each element of <parameter>indices</parameter>
|
||||
when chosing elements from the enabled vertex arrays.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawRangeElementsBaseVertex</function> is a restricted form of
|
||||
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>. <parameter>mode</parameter>,
|
||||
<parameter>start</parameter>, <parameter>end</parameter>, <parameter>count</parameter> and <parameter>basevertex</parameter> match
|
||||
the corresponding arguments to <citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>, with the additional
|
||||
constraint that all values in the array <parameter>indices</parameter> must lie between <parameter>start</parameter> and <parameter>end</parameter>,
|
||||
inclusive, prior to adding <parameter>basevertex</parameter>. Index values lying outside the range [<parameter>start</parameter>, <parameter>end</parameter>]
|
||||
are treated in the same way as <citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>. The <emphasis>i</emphasis>th element
|
||||
transferred by the corresponding draw call will be taken from element <parameter>indices</parameter>[i] + <parameter>basevertex</parameter> of each enabled
|
||||
array. If the resulting value is larger than the maximum value representable by <parameter>type</parameter>, 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>end</parameter> < <parameter>start</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
114
Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml
Normal file
114
Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml
Normal file
|
@ -0,0 +1,114 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawTransformFeedback">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawTransformFeedback</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawTransformFeedback</refname>
|
||||
<refpurpose>render primitives using a count derived from a transform feedback object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawTransformFeedback</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>id</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, and
|
||||
<constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>id</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of a transform feedback object from which to retrieve a primitive count.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawTransformFeedback</function> draws primitives of a type specified by <parameter>mode</parameter> using
|
||||
a count retrieved from the transform feedback specified by <parameter>id</parameter>. Calling <function>glDrawTransformFeedback</function>
|
||||
is equivalent to calling <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> with <parameter>mode</parameter>
|
||||
as specified, <parameter>first</parameter> set to zero, and <parameter>count</parameter> 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 <parameter>id</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>id</parameter> is not the name of a transform feedback
|
||||
object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mode</parameter> is <constant>GL_PATCHES</constant>
|
||||
and no tessellation control shader is active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <citerefentry><refentrytitle>glEndTransformFeedback</refentrytitle></citerefentry>
|
||||
has never been called while the transform feedback object named by <parameter>id</parameter> was bound.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawTransformFeedbackStream</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -0,0 +1,133 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glDrawTransformFeedbackStream">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glDrawTransformFeedbackStream</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glDrawTransformFeedbackStream</refname>
|
||||
<refpurpose>render primitives using a count derived from a specifed stream of a transform feedback object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDrawTransformFeedbackStream</function></funcdef>
|
||||
<paramdef>GLenum <parameter>mode</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>id</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>stream</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>mode</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
<constant>GL_POINTS</constant>,
|
||||
<constant>GL_LINE_STRIP</constant>,
|
||||
<constant>GL_LINE_LOOP</constant>,
|
||||
<constant>GL_LINES</constant>,
|
||||
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_LINES_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||
<constant>GL_TRIANGLE_FAN</constant>,
|
||||
<constant>GL_TRIANGLES</constant>,
|
||||
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||
<constant>GL_TRIANGLES_ADJACENCY</constant>, and
|
||||
<constant>GL_PATCHES</constant>
|
||||
are accepted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>id</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of a transform feedback object from which to retrieve a primitive count.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>stream</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the index of the transform feedback stream from which to retrieve a primitive count.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glDrawTransformFeedbackStream</function> draws primitives of a type specified by <parameter>mode</parameter> using
|
||||
a count retrieved from the transform feedback stream specified by <parameter>stream</parameter> of the transform feedback object
|
||||
specified by <parameter>id</parameter>. Calling <function>glDrawTransformFeedbackStream</function>
|
||||
is equivalent to calling <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> with <parameter>mode</parameter>
|
||||
as specified, <parameter>first</parameter> set to zero, and <parameter>count</parameter> set to the number of vertices captured
|
||||
on vertex stream <parameter>stream</parameter> the last time transform feedback was active on the transform feedback object named
|
||||
by <parameter>id</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
Calling <citerefentry>glDrawTransformFeedback</citerefentry> is equivalent to calling <function>glDrawTransformFeedbackStream</function>
|
||||
with <parameter>stream</parameter> set to zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>id</parameter> is not the name of a transform feedback
|
||||
object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>stream</parameter> is greater than or equal to
|
||||
the value of <constant>GL_MAX_VERTEX_STREAMS</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> 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.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mode</parameter> is <constant>GL_PATCHES</constant>
|
||||
and no tessellation control shader is active.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <citerefentry><refentrytitle>glEndTransformFeedback</refentrytitle></citerefentry>
|
||||
has never been called while the transform feedback object named by <parameter>id</parameter> was bound.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawTransformFeedback</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
File diff suppressed because it is too large
Load diff
|
@ -1,102 +1,87 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glEnableVertexAttribArray">
|
||||
<refmeta>
|
||||
<refentrytitle>glEnableVertexAttribArray</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
<refentrytitle>glEnableVertexAttribArray</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refdescriptor>glEnableVertexAttribArray</refdescriptor>
|
||||
<refname>glEnableVertexAttribArray</refname>
|
||||
<refname>glDisableVertexAttribArray</refname>
|
||||
<refpurpose>Enable or disable a generic vertex attribute array</refpurpose>
|
||||
<refdescriptor>glEnableVertexAttribArray</refdescriptor>
|
||||
<refname>glEnableVertexAttribArray</refname>
|
||||
<refname>glDisableVertexAttribArray</refname>
|
||||
<refpurpose>Enable or disable a generic vertex attribute array</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glEnableVertexAttribArray</function></funcdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDisableVertexAttribArray</function></funcdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glEnableVertexAttribArray</function></funcdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glDisableVertexAttribArray</function></funcdef>
|
||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the index of the generic vertex
|
||||
attribute to be enabled or disabled.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>Specifies the index of the generic vertex
|
||||
attribute to be enabled or disabled.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para><function>glEnableVertexAttribArray</function> enables the
|
||||
generic vertex attribute array specified by
|
||||
<parameter>index</parameter>.
|
||||
<function>glDisableVertexAttribArray</function> disables the
|
||||
generic vertex attribute array specified by
|
||||
<parameter>index</parameter>. 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
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||
or
|
||||
<citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para><function>glEnableVertexAttribArray</function> and
|
||||
<function>glDisableVertexAttribArray </function> are available
|
||||
only if the GL version is 2.0 or greater.</para>
|
||||
<para><function>glEnableVertexAttribArray</function> enables the
|
||||
generic vertex attribute array specified by
|
||||
<parameter>index</parameter>.
|
||||
<function>glDisableVertexAttribArray</function> disables the
|
||||
generic vertex attribute array specified by
|
||||
<parameter>index</parameter>. 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
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||
or
|
||||
<citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>index</parameter> is greater than or equal to
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||
<parameter>index</parameter> is greater than or equal to
|
||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
||||
|
||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if either
|
||||
<function>glEnableVertexAttribArray </function> or
|
||||
<function>glDisableVertexAttribArray </function> is executed
|
||||
between the execution of
|
||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of
|
||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>
|
||||
with arguments <parameter>index</parameter> and
|
||||
<constant>GL_VERTEX_ATTRIB_ARRAY_ENABLED</constant>
|
||||
<parameter></parameter></para>
|
||||
<para><citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>
|
||||
with arguments <parameter>index</parameter> and
|
||||
<constant>GL_VERTEX_ATTRIB_ARRAY_ENABLED</constant>
|
||||
<parameter></parameter></para>
|
||||
|
||||
<para><citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>
|
||||
with arguments <parameter>index</parameter> and
|
||||
<constant>GL_VERTEX_ATTRIB_ARRAY_POINTER</constant></para>
|
||||
<para><citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>
|
||||
with arguments <parameter>index</parameter> and
|
||||
<constant>GL_VERTEX_ATTRIB_ARRAY_POINTER</constant></para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para><citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindAttribLocation</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPopClientAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glPushClientAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glBindAttribLocation</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
|
|
106
Source/Bind/Specifications/Docs/glFenceSync.xml
Normal file
106
Source/Bind/Specifications/Docs/glFenceSync.xml
Normal file
|
@ -0,0 +1,106 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFenceSync">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFenceSync</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFenceSync</refname>
|
||||
<refpurpose>create a new sync object and insert it into the GL command stream</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLsync <function>glFenceSync</function></funcdef>
|
||||
<paramdef>GLenum <parameter>condition</parameter></paramdef>
|
||||
<paramdef>GLbitfield <parameter>flags</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>condition</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the condition that must be met to set the sync object's state to signaled. <parameter>condition</parameter>
|
||||
must be <constant>GL_SYNC_GPU_COMMANDS_COMPLETE</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>flags</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined
|
||||
for this operation and <parameter>flags</parameter> must be zero.<footnote><para>
|
||||
<parameter>flags</parameter> is a placeholder for anticipated future extensions of fence sync object capabilities.
|
||||
</para>
|
||||
</footnote>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFenceSync</function> 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.
|
||||
</para>
|
||||
<para>
|
||||
When the specified <parameter>condition</parameter> of the sync object is satisfied by the fence command, the sync object
|
||||
is signaled by the GL, causing any <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClientWaitSync</refentrytitle></citerefentry> commands blocking in <parameter>sync</parameter>
|
||||
to <emphasis>unblock</emphasis>. No other state is affected by <function>glFenceSync</function> or by the execution
|
||||
of the associated fence command.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>condition</parameter> must be <constant>GL_SYNC_GPU_COMMANDS_COMPLETE</constant>. 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.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<function>glFenceSync</function> is only supported if the GL version is 3.2 or greater, or if
|
||||
the <code>ARB_sync</code> extension is supported.
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>condition</parameter> is not
|
||||
<constant>GL_SYNC_GPU_COMMANDS_COMPLETE</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>flags</parameter> is not zero.
|
||||
</para>
|
||||
<para>
|
||||
Additionally, if <function>glFenceSync</function> fails, it will return zero.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDeleteSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGetSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glClientWaitSync</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -38,13 +38,6 @@
|
|||
<function>glFinish</function> requires a round trip to the server.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glFinish</function> is executed between
|
||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glFlush</refentrytitle></citerefentry>
|
||||
|
|
|
@ -52,13 +52,6 @@
|
|||
issued GL commands is complete.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glFlush</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glFinish</refentrytitle></citerefentry>
|
||||
|
|
98
Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml
Normal file
98
Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFlushMappedBufferRange">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFlushMappedBufferRange</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFlushMappedBufferRange</refname>
|
||||
<refpurpose>indicate modifications to a range of a mapped buffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLsync <function>glFlushMappedBufferRange</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLintptr <parameter>offset</parameter></paramdef>
|
||||
<paramdef>GLsizeiptr <parameter>length</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the target of the flush operation. <parameter>target</parameter> must be <constant>GL_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
|
||||
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or <constant>GL_UNIFORM_BUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>offset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the start of the buffer subrange, in basic machine units.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>length</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the length of the buffer subrange, in basic machine units.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFlushMappedBufferRange</function> indicates that modifications have been made to a range of a mapped buffer.
|
||||
The buffer must previously have been mapped with the <constant>GL_MAP_FLUSH_EXPLICIT</constant> flag. <parameter>offset</parameter>
|
||||
and <parameter>length</parameter> 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. <function>glFlushMappedBufferRange</function> may be called
|
||||
multiple times to indicate distinct subranges of the mapping which require flushing.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or <parameter>length</parameter>
|
||||
is negative, or if <parameter>offset</parameter> + <parameter>length</parameter> exceeds the size of the mapping.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer bound to <parameter>target</parameter> is not
|
||||
mapped, or is mapped without the <constant>GL_MAP_FLUSH_EXPLICIT</constant> flag.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUnmapBuffer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
127
Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml
Normal file
127
Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFramebufferRenderbuffer">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFramebufferRenderbuffer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFramebufferRenderbuffer</refname>
|
||||
<refpurpose>attach a renderbuffer as a logical buffer to the currently bound framebuffer object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>GLsync <function>glFramebufferRenderbuffer</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>renderbuffertarget</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>renderbuffer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the framebuffer target. <parameter>target</parameter> must be <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant>, or <constant>GL_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>
|
||||
is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>attachment</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the attachment point of the framebuffer.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>renderbuffertarget</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the renderbuffer target and must be <constant>GL_RENDERBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>renderbuffer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of an existing renderbuffer object of type <parameter>renderbuffertarget</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFramebufferRenderbuffer</function> attaches a renderbuffer as one of the logical buffers of the
|
||||
currently bound framebuffer object. <parameter>renderbuffer</parameter> is the name of the renderbuffer object
|
||||
to attach and must be either zero, or the name of an existing renderbuffer object of type <parameter>renderbuffertarget</parameter>.
|
||||
If <parameter>renderbuffer</parameter> is not zero and if <function>glFramebufferRenderbuffer</function> is
|
||||
successful, then the renderbuffer name <parameter>renderbuffer</parameter> will be used as the logical buffer
|
||||
identified by <parameter>attachment</parameter> of the framebuffer currently bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
The value of <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant> for the specified attachment point is
|
||||
set to <constant>GL_RENDERBUFFER</constant> and the value of <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME</constant>
|
||||
is set to <parameter>renderbuffer</parameter>. All other state values of the attachment point specified by
|
||||
<parameter>attachment</parameter> are set to their default values. No change is made to the state of the renderbuuffer
|
||||
object and any previous attachment to the <parameter>attachment</parameter> logical buffer of the framebuffer
|
||||
<parameter>target</parameter> is broken.
|
||||
</para>
|
||||
<para>
|
||||
Calling <function>glFramebufferRenderbuffer</function> with the renderbuffer name zero will detach the image, if any,
|
||||
identified by <parameter>attachment</parameter>, in the framebuffer currently bound to <parameter>target</parameter>.
|
||||
All state values of the attachment point specified by attachment in the object bound to target are set to their default values.
|
||||
</para>
|
||||
<para>
|
||||
Setting <parameter>attachment</parameter> to the value <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant> is a special
|
||||
case causing both the depth and stencil attachments of the framebuffer object to be set to <parameter>renderbuffer</parameter>,
|
||||
which should have the base internal format <constant>GL_DEPTH_STENCIL</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>renderbuffertarget</parameter> is not <constant>GL_RENDERBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture3D</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
181
Source/Bind/Specifications/Docs/glFramebufferTexture.xml
Normal file
181
Source/Bind/Specifications/Docs/glFramebufferTexture.xml
Normal file
|
@ -0,0 +1,181 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFramebufferTexture">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFramebufferTexture</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFramebufferTexture</refname>
|
||||
<refpurpose>attach a level of a texture object as a logical buffer to the currently bound framebuffer object</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTexture</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTexture1D</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTexture2D</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
</funcprototype>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTexture3D</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>layer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the framebuffer target. <parameter>target</parameter> must be <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant>, or <constant>GL_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>
|
||||
is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>attachment</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the attachment point of the framebuffer. <parameter>attachment</parameter> must be
|
||||
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
|
||||
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>texture</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the texture object to attach to the framebuffer attachment point named by <parameter>attachment</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>level</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the mipmap level of <parameter>texture</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFramebufferTexture</function>, <function>glFramebufferTexture1D</function>, <function>glFramebufferTexture2D</function>,
|
||||
and <function>glFramebufferTexture</function> attach a selected mipmap level or image of a texture object as one of the
|
||||
logical buffers of the framebuffer object currently bound to <parameter>target</parameter>. <parameter>target</parameter> must
|
||||
be <constant>GL_DRAW_FRAMEBUFFER</constant>, <constant>GL_READ_FRAMEBUFFER</constant>, or <constant>GL_FRAMEBUFFER</constant>.
|
||||
<constant>GL_FRAMEBUFFER</constant> is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>attachment</parameter> specifies the logical attachment of the framebuffer and must be
|
||||
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
|
||||
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
|
||||
<emphasis>i</emphasis> in <constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant> may range from zero to
|
||||
the value of <constant>GL_MAX_COLOR_ATTACHMENTS</constant> - 1. Attaching a level of a texture to
|
||||
<constant>GL_DEPTH_STENCIL_ATTACHMENT</constant> is equivalent to attaching that level to both the
|
||||
<constant>GL_DEPTH_ATTACHMENT</constant> <emphasis>and</emphasis> the <constant>GL_STENCIL_ATTACHMENT</constant>
|
||||
attachment points simultaneously.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>texture</parameter> is non-zero, the specified <parameter>level</parameter> of the texture object named
|
||||
<parameter>texture</parameter> is attached to the framebfufer attachment point named by <parameter>attachment</parameter>.
|
||||
For <function>glFramebufferTexture1D</function>, <function>glFramebufferTexture2D</function>, and
|
||||
<function>glFramebufferTexture3D</function>, <parameter>texture</parameter> must be zero or the name of an existing
|
||||
texture with a target of <parameter>textarget</parameter>, or <parameter>texture</parameter> must be the name
|
||||
of an existing cube-map texture and <parameter>textarget</parameter> must be one of <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>, or
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>.
|
||||
</para>
|
||||
<para>
|
||||
If <parameter>textarget</parameter> is <constant>GL_TEXTURE_RECTANGLE</constant>, <constant>GL_TEXTURE_2D_MULTISAMPLE</constant>,
|
||||
or <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>, then <parameter>level</parameter> must be zero. If <parameter>textarget</parameter>
|
||||
is <constant>GL_TEXTURE_3D</constant>, then level must be greater than or equal to zero and less than or equal to log<subscript>2</subscript>
|
||||
of the value of <constant>GL_MAX_3D_TEXTURE_SIZE</constant>. If <parameter>textarget</parameter> is one of <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>, or <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, then <parameter>level</parameter> must be greater
|
||||
than or equal to zero and less than or equal to log<subscript>2</subscript> of the value of <constant>GL_MAX_CUBE_MAP_TEXTURE_SIZE</constant>. For all other
|
||||
values of <parameter>textarget</parameter>, <parameter>level</parameter> must be greater than or equal to zero and no larger than log<subscript>2</subscript>
|
||||
of the value of <constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>layer</parameter> specifies the layer of a 2-dimensional image within a 3-dimensional texture.
|
||||
</para>
|
||||
<para>
|
||||
For <function>glFramebufferTexture1D</function>, if <parameter>texture</parameter> is not zero, then <parameter>textarget</parameter> must
|
||||
be <constant>GL_TEXTURE_1D</constant>. For <function>glFramebufferTexture2D</function>, if <parameter>texture</parameter> is not zero,
|
||||
<parameter>textarget</parameter> must be one of <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_RECTANGLE</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
|
||||
<constant>GL_TEXTURE_2D_MULTISAMPLE</constant>. For <function>glFramebufferTexture3D</function>, if <parameter>texture</parameter> is
|
||||
not zero, then <parameter>textarget</parameter> must be <constant>GL_TEXTURE_3D</constant>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glFramebufferTexture</function> is available only if the GL version is 3.2 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>renderbuffertarget</parameter> is not <constant>GL_RENDERBUFFER</constant>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture1D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture2D</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture3D</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
124
Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml
Normal file
124
Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml
Normal file
|
@ -0,0 +1,124 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFramebufferTextureFace">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFramebufferTextureFace</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFramebufferTextureFace</refname>
|
||||
<refpurpose>attach a face of a cube map texture as a logical buffer to the currently bound framebuffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTextureFace</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>face</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the framebuffer target. <parameter>target</parameter> must be <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant>, or <constant>GL_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>
|
||||
is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>attachment</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the attachment point of the framebuffer. <parameter>attachment</parameter> must be
|
||||
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
|
||||
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>texture</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the texture object to attach to the framebuffer attachment point named by <parameter>attachment</parameter>.
|
||||
<parameter>texture</parameter> must be the name of an existing cube-map texture.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>level</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the mipmap level of <parameter>texture</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>face</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the face of <parameter>texture</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFramebufferTextureFace</function> operates like <citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
except that only a single face of a cube map texture, given by <parameter>face</parameter>, is attached to the attachment point.
|
||||
<parameter>face</parameter> must be <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
|
||||
or <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>. <parameter>texture</parameter> must either be zero, or the name of an existing cube map texture.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>attachment</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>face</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> is not zero or the name of an existing cube map texture.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTextureLayer</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
128
Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml
Normal file
128
Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml
Normal file
|
@ -0,0 +1,128 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glFramebufferTextureLayer">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glFramebufferTextureLayer</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glFramebufferTextureLayer</refname>
|
||||
<refpurpose>attach a single layer of a texture to a framebuffer</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glFramebufferTextureLayer</function></funcdef>
|
||||
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
||||
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
|
||||
<paramdef>GLuint <parameter>texture</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>level</parameter></paramdef>
|
||||
<paramdef>GLint <parameter>layer</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>target</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the framebuffer target. <parameter>target</parameter> must be <constant>GL_DRAW_FRAMEBUFFER</constant>,
|
||||
<constant>GL_READ_FRAMEBUFFER</constant>, or <constant>GL_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>
|
||||
is equivalent to <constant>GL_DRAW_FRAMEBUFFER</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>attachment</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the attachment point of the framebuffer. <parameter>attachment</parameter> must be
|
||||
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
|
||||
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>texture</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the texture object to attach to the framebuffer attachment point named by <parameter>attachment</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>level</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the mipmap level of <parameter>texture</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>layer</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the layer of <parameter>texture</parameter> to attach.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glFramebufferTextureLayer</function> operates like <citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
except that only a single layer of the texture level, given by <parameter>layer</parameter>, is attached to the attachment point.
|
||||
If <parameter>texture</parameter> is not zero, <parameter>layer</parameter> must be greater than or equal to zero.
|
||||
<parameter>texture</parameter> must either be zero or the name of an existing three-dimensional texture, one- or two-dimensional array texture,
|
||||
or multisample array texture.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>attachment</parameter> is not one of the accepted tokens.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>texture</parameter> is not zero or the name of an existing
|
||||
texture object.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>texture</parameter> is not zero and <parameter>layer</parameter>
|
||||
is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> is not zero or the name of an existing cube map texture.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glFramebufferTextureFace</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
|
@ -73,11 +73,6 @@
|
|||
<para>
|
||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glFrontFace</function>
|
||||
is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
|
||||
and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
@ -87,7 +82,6 @@
|
|||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glLightModel</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
|
|
|
@ -62,20 +62,10 @@
|
|||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="notes"><title>Notes</title>
|
||||
<para>
|
||||
<function>glGenBuffers</function> is available only if the GL version is 1.5 or greater.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
<para>
|
||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glGenBuffers</function> is executed
|
||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
|
|
83
Source/Bind/Specifications/Docs/glGenFramebuffers.xml
Normal file
83
Source/Bind/Specifications/Docs/glGenFramebuffers.xml
Normal file
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glGenFramebuffers">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glGenFramebuffers</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glGenFramebuffers</refname>
|
||||
<refpurpose>generate framebuffer object names</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glGenFramebuffers</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>GLuint *<parameter>ids</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of framebuffer object names to generate.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>ids</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies an array in which the generated framebuffer object names are stored.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glGenFramebuffers</function> returns <parameter>n</parameter> framebuffer object names in <parameter>ids</parameter>.
|
||||
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 <function>glGenFramebuffers</function>.
|
||||
</para>
|
||||
<para>
|
||||
Framebuffer object names returned by a call to <function>glGenFramebuffers</function> are not returned by subsequent calls, unless
|
||||
they are first deleted with <citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>.
|
||||
</para>
|
||||
<para>
|
||||
The names returned in <parameter>ids</parameter> are marked as used, for the purposes of <function>glGenFramebuffers</function> only,
|
||||
but they acquire state and type only when they are first bound.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="errors"><title>Errors</title>
|
||||
<para>
|
||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
82
Source/Bind/Specifications/Docs/glGenProgramPipelines.xml
Normal file
82
Source/Bind/Specifications/Docs/glGenProgramPipelines.xml
Normal file
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||||
<refentry id="glGenProgramPipelines">
|
||||
<refmeta>
|
||||
<refmetainfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
<holder>Khronos Group.</holder>
|
||||
</copyright>
|
||||
</refmetainfo>
|
||||
<refentrytitle>glGenProgramPipelines</refentrytitle>
|
||||
<manvolnum>3G</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>glGenProgramPipelines</refname>
|
||||
<refpurpose>reserve program pipeline object names</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv><title>C Specification</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>glGenProgramPipelines</function></funcdef>
|
||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||
<paramdef>GLuint *<parameter>pipelines</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- eqn: ignoring delim $$ -->
|
||||
<refsect1 id="parameters"><title>Parameters</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>n</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of program pipeline object names to reserve.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>pipelines</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies an array of into which the reserved names will be written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="description"><title>Description</title>
|
||||
<para>
|
||||
<function>glGenProgramPipelines</function> returns <parameter>n</parameter> previously unused
|
||||
program pipeline object names in <parameter>pipelines</parameter>. These names are marked as used,
|
||||
for the purposes of <function>glGenProgramPipelines</function> only, but they
|
||||
acquire program pipeline state only when they are first bound.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PROGRAM_PIPELINE_BINDING</constant>
|
||||
</para>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="seealso"><title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glBindProgramPipeline</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseShaderPrograms</refentrytitle></citerefentry>,
|
||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="Copyright"><title>Copyright</title>
|
||||
<para>
|
||||
Copyright <trademark class="copyright"></trademark> 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.
|
||||
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue