mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-03-08 10:10:00 +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
|
Specifies which texture unit to make active. The number
|
||||||
of texture units is implementation dependent, but must be at least
|
of texture units is implementation dependent, but must be at least
|
||||||
two. <parameter>texture</parameter> must be one of
|
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
|
where
|
||||||
i ranges from 0 to the larger of (<constant>GL_MAX_TEXTURE_COORDS</constant> - 1)
|
<emphasis>i</emphasis> ranges from 0 (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||||
and (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
|
||||||
The initial value is <constant>GL_TEXTURE0</constant>.
|
The initial value is <constant>GL_TEXTURE0</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -48,38 +47,47 @@
|
||||||
<para>
|
<para>
|
||||||
<function>glActiveTexture</function> selects which texture unit subsequent texture state calls will
|
<function>glActiveTexture</function> selects which texture unit subsequent texture state calls will
|
||||||
affect. The number of texture units an implementation supports is
|
affect. The number of texture units an implementation supports is
|
||||||
implementation dependent, but must be at least 2.
|
implementation dependent, but must be at least 48.
|
||||||
</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>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>texture</parameter> is not one of
|
<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>,
|
<constant>GL_TEXTURE<emphasis>i</emphasis></constant>,
|
||||||
where i ranges from 0 to the larger of (<constant>GL_MAX_TEXTURE_COORDS</constant> - 1)
|
where <emphasis>i</emphasis> ranges from 0 to (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
||||||
and (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glMultiTexCoord</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexParameter</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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<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
|
specify the list of things that will be linked together. Program
|
||||||
objects provide this mechanism. Shaders that are to be linked
|
objects provide this mechanism. Shaders that are to be linked
|
||||||
together in a program object must first be attached to that
|
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
|
is called to detach it from all program objects to which it is
|
||||||
attached.</para>
|
attached.</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
||||||
<parameter>program</parameter> or <parameter>shader</parameter>
|
<parameter>program</parameter> or <parameter>shader</parameter>
|
||||||
|
@ -83,26 +79,34 @@
|
||||||
<parameter>shader</parameter> is already attached to
|
<parameter>shader</parameter> is already attached to
|
||||||
<parameter>program</parameter>.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
<para>
|
||||||
with the handle of a valid program object</para>
|
<citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||||
|
with the handle of a valid program object
|
||||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
</para>
|
||||||
|
<para>
|
||||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></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>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
<para>
|
||||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>,
|
||||||
|
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||||
|
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||||
|
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry>
|
||||||
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<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>
|
<para>
|
||||||
Specifies the target type of query object established between
|
Specifies the target type of query object established between
|
||||||
<function>glBeginQuery</function> and the subsequent <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
|
<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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -64,7 +66,9 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the target type of query object to be concluded.
|
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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -73,15 +77,62 @@
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glBeginQuery</function> and <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry> delimit the
|
<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>
|
||||||
<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
|
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
|
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>
|
calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
|
||||||
<constant>GL_QUERY_RESULT</constant>.
|
<constant>GL_QUERY_RESULT</constant>.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Querying the <constant>GL_QUERY_RESULT</constant> implicitly flushes the GL pipeline until the rendering delimited by the
|
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
|
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>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by
|
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>pname</parameter>
|
<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.
|
<constant>GL_QUERY_COUNTER_BITS</constant>, the count becomes undefined.
|
||||||
</para>
|
</para>
|
||||||
<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.
|
and essentially useless.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
When <constant>GL_SAMPLE_BUFFERS</constant> is 0, the samples-passed counter will increment once for each fragment that passes
|
When <constant>GL_SAMPLE_BUFFERS</constant> is 0, the samples-passed counter of an occlusion query will increment once for each
|
||||||
the depth test. When <constant>GL_SAMPLE_BUFFERS</constant> is 1, an implementation may either increment the samples-passed
|
fragment that passes the depth test. When <constant>GL_SAMPLE_BUFFERS</constant> is 1, an implementation may either increment
|
||||||
counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for
|
the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment
|
||||||
all samples of a fragment if any one of them passes the depth test.
|
the counter for all samples of a fragment if any one of them passes the depth test.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glBeginQuery</function> and <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>
|
The query targets <constant>GL_ANY_SAMPLES_PASSED</constant>, and <constant>GL_TIME_ELAPSED</constant> are availale only if
|
||||||
are available only if the GL version is 1.5 or greater.
|
the GL version is 3.3 or higher.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<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>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginQuery</function> is executed while
|
<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.
|
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of an already active query object.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBeginQuery</function> or
|
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> refers to an existing query object whose type
|
||||||
<citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry> is executed between the execution of
|
does not does not match <parameter>target</parameter>.
|
||||||
<citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of
|
|
||||||
<citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glBindAttribLocation">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glBindAttribLocation</refentrytitle>
|
<refentrytitle>glBindAttribLocation</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glBindAttribLocation</refname>
|
<refname>glBindAttribLocation</refname>
|
||||||
<refpurpose>Associates a generic vertex attribute index with a named attribute variable</refpurpose>
|
<refpurpose>Associates a generic vertex attribute index with a named attribute variable</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glBindAttribLocation</function></funcdef>
|
<funcdef>void <function>glBindAttribLocation</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||||
<paramdef>const GLchar *<parameter>name</parameter></paramdef>
|
<paramdef>const GLchar *<parameter>name</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>program</parameter></term>
|
<term><parameter>program</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the handle of the program object in
|
<para>Specifies the handle of the program object in
|
||||||
which the association is to be made.</para>
|
which the association is to be made.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>index</parameter></term>
|
<term><parameter>index</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the index of the generic vertex
|
<para>Specifies the index of the generic vertex
|
||||||
attribute to be bound.</para>
|
attribute to be bound.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>name</parameter></term>
|
<term><parameter>name</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies a null terminated string containing
|
<para>Specifies a null terminated string containing
|
||||||
the name of the vertex shader attribute variable to
|
the name of the vertex shader attribute variable to
|
||||||
which <parameter>index</parameter> is to be
|
which <parameter>index</parameter> is to be
|
||||||
bound.</para>
|
bound.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glBindAttribLocation</function> is used to
|
<para><function>glBindAttribLocation</function> is used to
|
||||||
associate a user-defined attribute variable in the program
|
associate a user-defined attribute variable in the program
|
||||||
object specified by <parameter>program</parameter> with a
|
object specified by <parameter>program</parameter> with a
|
||||||
generic vertex attribute index. The name of the user-defined
|
generic vertex attribute index. The name of the user-defined
|
||||||
attribute variable is passed as a null terminated string in
|
attribute variable is passed as a null terminated string in
|
||||||
<parameter>name</parameter>. The generic vertex attribute index
|
<parameter>name</parameter>. The generic vertex attribute index
|
||||||
to be bound to this variable is specified by
|
to be bound to this variable is specified by
|
||||||
<parameter>index</parameter>. When
|
<parameter>index</parameter>. When
|
||||||
<parameter>program</parameter> is made part of current state,
|
<parameter>program</parameter> is made part of current state,
|
||||||
values provided via the generic vertex attribute
|
values provided via the generic vertex attribute
|
||||||
<parameter>index</parameter> will modify the value of the
|
<parameter>index</parameter> will modify the value of the
|
||||||
user-defined attribute variable specified by
|
user-defined attribute variable specified by
|
||||||
<parameter>name</parameter>.</para>
|
<parameter>name</parameter>.</para>
|
||||||
|
|
||||||
<para>If <parameter>name</parameter> refers to a matrix
|
<para>If <parameter>name</parameter> refers to a matrix
|
||||||
attribute variable, <parameter>index</parameter> refers to the
|
attribute variable, <parameter>index</parameter> refers to the
|
||||||
first column of the matrix. Other matrix columns are then
|
first column of the matrix. Other matrix columns are then
|
||||||
automatically bound to locations <parameter>index+1</parameter>
|
automatically bound to locations <parameter>index+1</parameter>
|
||||||
for a matrix of type mat2; <parameter>index+1</parameter> and
|
for a matrix of type <function>mat2</function>; <parameter>index+1</parameter> and
|
||||||
<parameter>index+2</parameter> for a matrix of type mat3; and
|
<parameter>index+2</parameter> for a matrix of type <function>mat3</function>; and
|
||||||
<parameter>index+1</parameter>, <parameter>index+2</parameter>,
|
<parameter>index+1</parameter>, <parameter>index+2</parameter>,
|
||||||
and <parameter>index+3</parameter> for a matrix of type
|
and <parameter>index+3</parameter> for a matrix of type
|
||||||
mat4.</para>
|
<function>mat4</function>.</para>
|
||||||
|
|
||||||
<para>This command makes it possible for vertex shaders to use
|
<para>This command makes it possible for vertex shaders to use
|
||||||
descriptive names for attribute variables rather than generic
|
descriptive names for attribute variables rather than generic
|
||||||
variables that are numbered from 0 to
|
variables that are numbered from 0 to
|
||||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant> -1. The values sent
|
<constant>GL_MAX_VERTEX_ATTRIBS</constant> -1. The values sent
|
||||||
to each generic attribute index are part of current state, just
|
to each generic attribute index are part of current state.
|
||||||
like standard vertex attributes such as color, normal, and
|
If a different program object is made current by calling
|
||||||
vertex position. If a different program object is made current
|
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||||
by calling
|
the generic vertex attributes are tracked in such a way that the
|
||||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
same values will be observed by attributes in the new program
|
||||||
the generic vertex attributes are tracked in such a way that the
|
object that are also bound to
|
||||||
same values will be observed by attributes in the new program
|
<parameter>index</parameter>.</para> <para>Attribute variable
|
||||||
object that are also bound to
|
name-to-generic attribute index bindings for a program object
|
||||||
<parameter>index</parameter>.</para> <para>Attribute variable
|
can be explicitly assigned at any time by calling
|
||||||
name-to-generic attribute index bindings for a program object
|
<function>glBindAttribLocation</function>. Attribute bindings do
|
||||||
can be explicitly assigned at any time by calling
|
not go into effect until
|
||||||
<function>glBindAttribLocation</function>. Attribute bindings do
|
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||||
not go into effect until
|
is called. After a program object has been linked successfully,
|
||||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
the index values for generic attributes remain fixed (and their
|
||||||
is called. After a program object has been linked successfully,
|
values can be queried) until the next link command
|
||||||
the index values for generic attributes remain fixed (and their
|
occurs.</para>
|
||||||
values can be queried) until the next link command
|
|
||||||
occurs.</para>
|
|
||||||
|
|
||||||
<para>Applications are not allowed to bind any of the standard
|
<para>Any attribute binding that occurs after the program object has been linked will not take effect
|
||||||
OpenGL vertex attributes using this command, as they are bound
|
until the next time the program object is linked.</para>
|
||||||
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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para><function>glBindAttribLocation</function> is available
|
<para><function>glBindAttribLocation</function> can be called
|
||||||
only if the GL version is 2.0 or greater.</para>
|
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
|
<para>If <parameter>name</parameter> was bound previously, that
|
||||||
before any vertex shader objects are bound to the specified
|
information is lost. Thus you cannot bind one user-defined
|
||||||
program object. It is also permissible to bind a generic
|
attribute variable to multiple indices, but you can bind
|
||||||
attribute index to an attribute variable name that is never used
|
multiple user-defined attribute variables to the same
|
||||||
in a vertex shader.</para>
|
index.</para>
|
||||||
|
|
||||||
<para>If <parameter>name</parameter> was bound previously, that
|
<para>Applications are allowed to bind more than one
|
||||||
information is lost. Thus you cannot bind one user-defined
|
user-defined attribute variable to the same generic vertex
|
||||||
attribute variable to multiple indices, but you can bind
|
attribute index. This is called <emphasis>aliasing</emphasis>,
|
||||||
multiple user-defined attribute variables to the same
|
and it is allowed only if just one of the aliased attributes is
|
||||||
index.</para>
|
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
|
<para>Active attributes that are not explicitly bound will be
|
||||||
user-defined attribute variable to the same generic vertex
|
bound by the linker when
|
||||||
attribute index. This is called <emphasis>aliasing</emphasis>,
|
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
||||||
and it is allowed only if just one of the aliased attributes is
|
is called. The locations assigned can be queried by calling
|
||||||
active in the executable program, or if no path through the
|
<citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.</para>
|
||||||
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
|
<para>OpenGL copies the <parameter>name</parameter> string when
|
||||||
bound by the linker when
|
<function>glBindAttribLocation</function> is called, so an
|
||||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>
|
application may free its copy of the <parameter>name</parameter>
|
||||||
is called. The locations assigned can be queried by calling
|
string immediately after the function returns.</para>
|
||||||
<citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.</para>
|
|
||||||
|
|
||||||
<para>OpenGL copies the <parameter>name</parameter> string when
|
<para>Generic attribute locations may be specified in the shader source
|
||||||
<function>glBindAttribLocation</function> is called, so an
|
text using a <function>location</function> layout qualifier. In this case,
|
||||||
application may free its copy of the <parameter>name</parameter>
|
the location of the attribute specified in the shader's source takes precedence
|
||||||
string immediately after the function returns.</para>
|
and may be queried by calling <citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>.
|
||||||
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>index</parameter> is greater than or equal to
|
<parameter>index</parameter> is greater than or equal to
|
||||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>name</parameter> starts with the reserved prefix
|
<parameter>name</parameter> starts with the reserved prefix
|
||||||
"gl_".</para>
|
"gl_".</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>program</parameter> is not a value generated by
|
<parameter>program</parameter> is not a value generated by
|
||||||
OpenGL.</para>
|
OpenGL.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>program</parameter> is not a program object.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetActiveAttrib</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetActiveAttrib</refentrytitle></citerefentry>
|
||||||
with argument <parameter>program</parameter></para>
|
with argument <parameter>program</parameter></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>program</parameter> and
|
with arguments <parameter>program</parameter> and
|
||||||
<parameter>name</parameter></para>
|
<parameter>name</parameter></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glDisableVertexAttribArray</refentrytitle></citerefentry>,
|
<para><citerefentry><refentrytitle>glDisableVertexAttribArray</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glEnableVertexAttribArray</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glEnableVertexAttribArray</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry></para>
|
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -34,9 +34,14 @@
|
||||||
Specifies the target to which the buffer object is bound.
|
Specifies the target to which the buffer object is bound.
|
||||||
The symbolic constant must be
|
The symbolic constant must be
|
||||||
<constant>GL_ARRAY_BUFFER</constant>,
|
<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_ELEMENT_ARRAY_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_UNPACK_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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -52,26 +57,24 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glBindBuffer</function> lets you create or use a named buffer object. Calling <function>glBindBuffer</function> with
|
<function>glBindBuffer</function> binds a buffer object to the specified buffer binding point. Calling <function>glBindBuffer</function> with
|
||||||
<parameter>target</parameter> set to
|
<parameter>target</parameter> set to one of the accepted symbolic constants and <parameter>buffer</parameter> set to the name
|
||||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>, <constant>GL_PIXEL_PACK_BUFFER</constant> or
|
of a buffer object binds that buffer object name to the target. If no buffer object with name <parameter>buffer</parameter>
|
||||||
<constant>GL_PIXEL_UNPACK_BUFFER</constant> and <parameter>buffer</parameter> set to the name
|
exists, one is created with that name. When a buffer object is bound to a target, the previous binding for that
|
||||||
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
|
|
||||||
target is automatically broken.
|
target is automatically broken.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Buffer object names are unsigned integers. The value zero is reserved, but
|
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
|
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
|
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;
|
GL rendering context;
|
||||||
two rendering contexts share buffer object names only if they
|
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>
|
||||||
<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>
|
||||||
<para>
|
<para>
|
||||||
The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with
|
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.
|
<constant>GL_INVALID_OPERATION</constant> error.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
When vertex array pointer state is changed, for example by a call to
|
When a non-zero buffer object is bound to the <constant>GL_ARRAY_BUFFER</constant> target,
|
||||||
<citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
|
the vertex array pointer parameter is interpreted as an offset within the
|
||||||
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
|
|
||||||
buffer object measured in basic machine units.
|
buffer object measured in basic machine units.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
While a non-zero buffer object is bound to the <constant>GL_ELEMENT_ARRAY_BUFFER</constant> target,
|
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>,
|
the indices parameter of <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>, or
|
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> that is traditionally
|
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
|
||||||
interpreted as a pointer to client-side memory is instead interpreted as an offset within the
|
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||||
buffer object measured in basic machine units.
|
<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>
|
||||||
<para>
|
<para>
|
||||||
While a non-zero buffer object is bound to the <constant>GL_PIXEL_PACK_BUFFER</constant> target,
|
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>,
|
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>glGetTexImage</refentrytitle></citerefentry>, and
|
||||||
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>. The pointer parameter that is
|
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>. The pointer parameter is
|
||||||
traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead
|
|
||||||
interpreted as an offset within the buffer object measured in basic machine units.
|
interpreted as an offset within the buffer object measured in basic machine units.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
While a non-zero buffer object is bound to the <constant>GL_PIXEL_UNPACK_BUFFER</constant> target,
|
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>,
|
the following commands are affected:
|
||||||
<citerefentry><refentrytitle>glColorSubTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</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>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>, and
|
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>, and
|
||||||
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>. The pointer parameter that is
|
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>. The pointer parameter is
|
||||||
traditionally interpreted as a pointer to client-side memory from which the pixels are to be unpacked is
|
interpreted as an offset within the buffer object measured in basic machine units.
|
||||||
instead 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>
|
||||||
<para>
|
<para>
|
||||||
A buffer object binding created with <function>glBindBuffer</function> remains active until a different
|
A buffer object binding created with <function>glBindBuffer</function> remains active until a different
|
||||||
|
@ -155,11 +159,8 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glBindBuffer</function> is available only if the GL version is 1.5 or greater.
|
The <constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> and
|
||||||
</para>
|
<constant>GL_TEXTURE_BUFFER</constant> targets are available only if the GL version is 3.1 or greater.
|
||||||
<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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -168,15 +169,20 @@
|
||||||
values.
|
values.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBindBuffer</function> is executed
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>buffer</parameter> is not a name previously returned
|
||||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
from a call to <citerefentry><refentrytitle>glGenBuffers</refentrytitle></citerefentry>.
|
||||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ARRAY_BUFFER_BINDING</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ARRAY_BUFFER_BINDING</constant>
|
||||||
</para>
|
</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>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ELEMENT_ARRAY_BUFFER_BINDING</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ELEMENT_ARRAY_BUFFER_BINDING</constant>
|
||||||
</para>
|
</para>
|
||||||
|
@ -186,11 +192,21 @@
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glDeleteBuffers</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glGenBuffers</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>glGet</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glIsBuffer</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glIsBuffer</refentrytitle></citerefentry>
|
||||||
</para>
|
</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_1D</constant>,
|
||||||
<constant>GL_TEXTURE_2D</constant>,
|
<constant>GL_TEXTURE_2D</constant>,
|
||||||
<constant>GL_TEXTURE_3D</constant>, or
|
<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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -54,40 +59,41 @@
|
||||||
<para>
|
<para>
|
||||||
<function>glBindTexture</function> lets you create or use a named texture. Calling <function>glBindTexture</function> with
|
<function>glBindTexture</function> lets you create or use a named texture. Calling <function>glBindTexture</function> with
|
||||||
<parameter>target</parameter> set to
|
<parameter>target</parameter> set to
|
||||||
<constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant> or
|
<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
|
<constant>GL_TEXTURE_1D_ARRAY</constant>, <constant>GL_TEXTURE_2D_ARRAY</constant>, <constant>GL_TEXTURE_RECTANGLE</constant>,
|
||||||
of the new texture binds the texture name to the target.
|
<constant>GL_TEXTURE_CUBE_MAP</constant>, <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>
|
||||||
When a texture is bound to a target, the previous binding for that
|
and <parameter>texture</parameter> set to the name of the new texture binds the texture name to the target.
|
||||||
target is automatically broken.
|
When a texture is bound to a target, the previous binding for that target is automatically broken.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Texture names are unsigned integers. The value zero is reserved to
|
Texture names are unsigned integers. The value zero is reserved to
|
||||||
represent the default texture for each texture target.
|
represent the default texture for each texture target.
|
||||||
Texture names and the corresponding texture contents are local to
|
Texture names and the corresponding texture 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;
|
||||||
GL rendering context;
|
|
||||||
two rendering contexts share texture names only if they
|
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>
|
||||||
<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>
|
||||||
<para>
|
<para>
|
||||||
When a texture is first bound, it assumes the specified target:
|
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
|
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_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_3D</constant> becomes three-dimensional texture, a
|
||||||
texture first bound to <constant>GL_TEXTURE_CUBE_MAP</constant>
|
texture first bound to <constant>GL_TEXTURE_1D_ARRAY</constant> becomes one-dimensional array texture, a
|
||||||
becomes a cube-mapped texture. The state of a one-dimensional texture
|
texture first bound to <constant>GL_TEXTURE_2D_ARRAY</constant> becomes two-dimensional arary texture, a
|
||||||
immediately after it is first bound is equivalent to the state of the
|
texture first bound to <constant>GL_TEXTURE_RECTANGLE</constant> becomes rectangle texture, a,
|
||||||
default <constant>GL_TEXTURE_1D</constant> at GL initialization, and similarly for two-
|
texture first bound to <constant>GL_TEXTURE_CUBE_MAP</constant> becomes a cube-mapped texture, a
|
||||||
and three-dimensional textures and cube-mapped textures.
|
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>
|
||||||
<para>
|
<para>
|
||||||
While a texture is bound, GL operations on the target to which it is
|
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
|
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
|
is bound return state from the bound texture.
|
||||||
on the target to which a texture is bound, the bound texture is used.
|
|
||||||
In effect, the texture targets become aliases for the textures currently
|
In effect, the texture targets become aliases for the textures currently
|
||||||
bound to them, and the texture name zero refers to the default textures
|
bound to them, and the texture name zero refers to the default textures
|
||||||
that were bound to them at initialization.
|
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.
|
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
|
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
|
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>.
|
using <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
For additional control over performance, use
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry> or another similar function.
|
||||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<function>glBindTexture</function> is included in display lists.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glBindTexture</function> is available only if the GL version is 1.1 or greater.
|
The <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> and <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant> targets are available
|
||||||
</para>
|
only if the GL version is 3.2 or higher.
|
||||||
<para>
|
|
||||||
<constant>GL_TEXTURE_CUBE_MAP</constant> is available only if the GL version is 1.3 or greater.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -123,37 +123,34 @@
|
||||||
values.
|
values.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> was previously created with a target
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>target</parameter> is not a name returned from
|
||||||
that doesn't match that of <parameter>target</parameter>.
|
a previous call to <citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glBindTexture</function> is executed
|
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>texture</parameter> was previously created with a target
|
||||||
between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
|
that doesn't match that of <parameter>target</parameter>.
|
||||||
execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_1D</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_1D</constant>,
|
||||||
</para>
|
<constant>GL_TEXTURE_BINDING_2D</constant>, <constant>GL_TEXTURE_BINDING_3D</constant>, <constant>GL_TEXTURE_BINDING_1D_ARRAY</constant>,
|
||||||
<para>
|
<constant>GL_TEXTURE_BINDING_2D_ARRAY</constant>, <constant>GL_TEXTURE_BINDING_RECTANGLE</constant>, <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant>,
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_2D</constant>
|
or <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant>.
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_3D</constant>
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glAreTexturesResident</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glDeleteTextures</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDeleteTextures</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glIsTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glIsTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</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>
|
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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
|
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
|
blending factors. The color components are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</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).
|
Initially the <constant>GL_BLEND_COLOR</constant> is set to (0, 0, 0, 0).
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_COLOR</constant>
|
<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
|
In the equations that follow, source and destination
|
||||||
color components are referred to as
|
color components are referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -94,7 +94,7 @@
|
||||||
respectively.
|
respectively.
|
||||||
The result color is referred to as
|
The result color is referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">r</mml:mi>
|
<mml:mi mathvariant="italic">r</mml:mi>
|
||||||
|
@ -112,7 +112,7 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
The source and destination blend factors are denoted
|
The source and destination blend factors are denoted
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
For these equations all color components are understood to have values
|
For these equations all color components are understood to have values
|
||||||
in the range
|
in the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -182,100 +182,100 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
|
@ -287,100 +287,100 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
|
@ -392,100 +392,100 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
<mml:mo>⁢</mml:mo>
|
<mml:mo>⁢</mml:mo>
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
|
@ -497,7 +497,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Rr = min ( R sub s, R sub d):-->
|
<!-- eqn: Rr = min ( R sub s, R sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -520,7 +520,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Gr = min ( G sub s, G sub d):-->
|
<!-- eqn: Gr = min ( G sub s, G sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -543,7 +543,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Br = min ( B sub s, B sub d):-->
|
<!-- eqn: Br = min ( B sub s, B sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -568,7 +568,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Ar = min ( A sub s, A sub d):-->
|
<!-- eqn: Ar = min ( A sub s, A sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -598,7 +598,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Rr = max ( R sub s, R sub d):-->
|
<!-- eqn: Rr = max ( R sub s, R sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Rr</mml:mi>
|
<mml:mi mathvariant="italic">Rr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -621,7 +621,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Gr = max ( G sub s, G sub d):-->
|
<!-- eqn: Gr = max ( G sub s, G sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Gr</mml:mi>
|
<mml:mi mathvariant="italic">Gr</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -644,7 +644,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></informalequation>
|
</mml:math></informalequation>
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Br = max ( B sub s, B sub d):-->
|
<!-- eqn: Br = max ( B sub s, B sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Br</mml:mi>
|
<mml:mi mathvariant="italic">Br</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -669,7 +669,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<informalequation><mml:math>
|
<informalequation><mml:math>
|
||||||
<!-- eqn: Ar = max ( A sub s, A sub d):-->
|
<!-- eqn: Ar = max ( A sub s, A sub d): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">Ar</mml:mi>
|
<mml:mi mathvariant="italic">Ar</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -700,7 +700,7 @@
|
||||||
<para>
|
<para>
|
||||||
The results of these equations are clamped to the range
|
The results of these equations are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</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_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
|
||||||
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -748,7 +743,6 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>
|
||||||
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
|
||||||
|
|
|
@ -732,9 +732,6 @@
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
|
||||||
<function>glBlendEquationSeparate</function> is available only if the GL version is 2.0 or greater.
|
|
||||||
</para>
|
|
||||||
<para>
|
<para>
|
||||||
The <constant>GL_MIN</constant>, and <constant>GL_MAX</constant> equations do not use
|
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.
|
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_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
|
||||||
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -34,22 +34,6 @@
|
||||||
<para>
|
<para>
|
||||||
Specifies how the red, green, blue,
|
Specifies how the red, green, blue,
|
||||||
and alpha source blending factors are computed.
|
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>.
|
The initial value is <constant>GL_ONE</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -83,7 +67,7 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<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
|
the incoming (source) RGBA values with the RGBA values
|
||||||
that are already in the frame buffer (the destination values).
|
that are already in the frame buffer (the destination values).
|
||||||
Blending is initially disabled.
|
Blending is initially disabled.
|
||||||
|
@ -96,31 +80,68 @@
|
||||||
source color components.
|
source color components.
|
||||||
<parameter>dfactor</parameter> specifies which method is used to scale the
|
<parameter>dfactor</parameter> specifies which method is used to scale the
|
||||||
destination color components.
|
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.
|
The possible methods are described in the following table.
|
||||||
Each method defines four scale factors,
|
Each method defines four scale factors,
|
||||||
one each for red, green, blue, and alpha.
|
one each for red, green, blue, and alpha.
|
||||||
In the table and in subsequent equations, source and destination
|
In the table and in subsequent equations, first source, second source
|
||||||
color components are referred to as
|
and destination color components are referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub>
|
||||||
</mml:mfenced>
|
</mml:mfenced>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -135,10 +156,10 @@
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mfenced>
|
</mml:mfenced>
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>, respectively.
|
||||||
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -156,7 +177,7 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
They are understood to have integer values between 0 and
|
They are understood to have integer values between 0 and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -177,7 +198,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -201,7 +222,7 @@
|
||||||
<para>
|
<para>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -225,7 +246,7 @@
|
||||||
<para>
|
<para>
|
||||||
Source and destination scale factors are referred to as
|
Source and destination scale factors are referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -243,7 +264,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -262,7 +283,7 @@
|
||||||
The scale factors described in the table,
|
The scale factors described in the table,
|
||||||
denoted
|
denoted
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -281,7 +302,7 @@
|
||||||
represent either source or destination factors.
|
represent either source or destination factors.
|
||||||
All scale factors have range
|
All scale factors have range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -301,7 +322,7 @@
|
||||||
</emphasis></entry>
|
</emphasis></entry>
|
||||||
<entry rowsep="1" align="left"><emphasis role="bold">
|
<entry rowsep="1" align="left"><emphasis role="bold">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">f</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -327,7 +348,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( 0, 0, 0, 0 ):-->
|
<!-- eqn: ( 0, 0, 0, 0 ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
|
@ -343,7 +364,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( 1, 1, 1, 1 ):-->
|
<!-- eqn: ( 1, 1, 1, 1 ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -359,11 +380,11 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -371,7 +392,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
|
@ -379,7 +400,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
|
@ -387,7 +408,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -403,7 +424,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -415,7 +436,7 @@
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -423,7 +444,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
|
@ -431,7 +452,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
|
@ -439,7 +460,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -456,7 +477,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -500,7 +521,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -553,11 +574,11 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -565,7 +586,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -573,7 +594,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -581,7 +602,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -597,7 +618,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -609,7 +630,7 @@
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -617,7 +638,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -625,7 +646,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -633,7 +654,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -650,7 +671,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -694,7 +715,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -747,7 +768,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -771,7 +792,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -804,7 +825,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -828,7 +849,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -861,7 +882,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( i, i, i, 1 ):-->
|
<!-- eqn: ( i, i, i, 1 ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
|
@ -871,6 +892,200 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</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>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
|
@ -880,7 +1095,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -912,13 +1127,13 @@
|
||||||
</para>
|
</para>
|
||||||
</para>
|
</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:
|
the system uses the following equations:
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -953,7 +1168,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -988,7 +1203,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1023,7 +1238,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1072,14 +1287,14 @@
|
||||||
<parameter>dfactor</parameter> is <constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
<parameter>dfactor</parameter> is <constant>GL_ONE_MINUS_SRC_ALPHA</constant>,
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub s:-->
|
<!-- eqn: A sub s: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
is equal to
|
is equal to
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: k sub A:-->
|
<!-- eqn: k sub A: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -1089,7 +1304,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: R sub d = R sub s:-->
|
<!-- eqn: R sub d = R sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1101,7 +1316,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: G sub d = G sub s:-->
|
<!-- eqn: G sub d = G sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1113,7 +1328,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: B sub d = B sub s:-->
|
<!-- eqn: B sub d = B sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1125,7 +1340,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub d = A sub s:-->
|
<!-- eqn: A sub d = A sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1173,7 +1388,7 @@
|
||||||
Incoming (source) alpha is correctly thought of as a material opacity,
|
Incoming (source) alpha is correctly thought of as a material opacity,
|
||||||
ranging from 1.0
|
ranging from 1.0
|
||||||
(<inlineequation><mml:math>
|
(<inlineequation><mml:math>
|
||||||
<!-- eqn: K sub A:-->
|
<!-- eqn: K sub A: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -1189,33 +1404,16 @@
|
||||||
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Blending affects only RGBA rendering.
|
When dual source blending is enabled (i.e., one of the blend factors requiring
|
||||||
It is ignored by color index renderers.
|
the second color input is used), the maximum number of enabled draw buffers
|
||||||
</para>
|
is given by <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant>, which may
|
||||||
<para>
|
be lower than <constant>GL_MAX_DRAW_BUFFERS</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> 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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>sfactor</parameter> or <parameter>dfactor</parameter> is not an
|
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>sfactor</parameter>
|
||||||
accepted value.
|
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>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
|
@ -1233,7 +1431,6 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glBlendEquation</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendEquation</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>,
|
||||||
|
@ -1242,7 +1439,6 @@
|
||||||
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
|
|
|
@ -35,22 +35,6 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies how the red, green, and blue blending factors are computed.
|
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>.
|
The initial value is <constant>GL_ONE</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -60,21 +44,7 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies how the red, green, and blue destination blending factors are
|
Specifies how the red, green, and blue destination blending factors are
|
||||||
computed. The following symbolic constants are accepted:
|
computed.
|
||||||
<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>.
|
|
||||||
The initial value is <constant>GL_ZERO</constant>.
|
The initial value is <constant>GL_ZERO</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -83,8 +53,7 @@
|
||||||
<term><parameter>srcAlpha</parameter></term>
|
<term><parameter>srcAlpha</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specified how the alpha source blending factor is computed. The same
|
Specified how the alpha source blending factor is computed.
|
||||||
symbolic constants are accepted as for <parameter>srcRGB</parameter>.
|
|
||||||
The initial value is <constant>GL_ONE</constant>.
|
The initial value is <constant>GL_ONE</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -93,8 +62,7 @@
|
||||||
<term><parameter>dstAlpha</parameter></term>
|
<term><parameter>dstAlpha</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specified how the alpha destination blending factor is computed. The same
|
Specified how the alpha destination blending factor is computed.
|
||||||
symbolic constants are accepted as for <parameter>dstRGB</parameter>.
|
|
||||||
The initial value is <constant>GL_ZERO</constant>.
|
The initial value is <constant>GL_ZERO</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -103,7 +71,7 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<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
|
the incoming (source) RGBA values with the RGBA values
|
||||||
that are already in the frame buffer (the destination values).
|
that are already in the frame buffer (the destination values).
|
||||||
Blending is initially disabled.
|
Blending is initially disabled.
|
||||||
|
@ -124,28 +92,45 @@
|
||||||
one each for red, green, blue, and alpha.
|
one each for red, green, blue, and alpha.
|
||||||
</para>
|
</para>
|
||||||
<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
|
color components are referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:mfenced>
|
</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
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -160,10 +145,10 @@
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
</mml:mfenced>
|
</mml:mfenced>
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>, respectively.
|
||||||
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
The color specified by <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry> is referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -181,7 +166,7 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
They are understood to have integer values between 0 and
|
They are understood to have integer values between 0 and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -202,7 +187,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -226,7 +211,7 @@
|
||||||
<para>
|
<para>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">m</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -250,7 +235,7 @@
|
||||||
<para>
|
<para>
|
||||||
Source and destination scale factors are referred to as
|
Source and destination scale factors are referred to as
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">s</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -268,7 +253,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">d</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -286,7 +271,7 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
All scale factors have range
|
All scale factors have range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -320,7 +305,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( 0, 0, 0 ):-->
|
<!-- eqn: ( 0, 0, 0 ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
|
@ -330,7 +315,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 0:-->
|
<!-- eqn: 0: -->
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -341,7 +326,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( 1, 1, 1 ):-->
|
<!-- eqn: ( 1, 1, 1 ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -351,7 +336,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1:-->
|
<!-- eqn: 1: -->
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -362,11 +347,11 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -374,7 +359,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
|
@ -382,7 +367,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
|
@ -393,10 +378,10 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub s / k sub A:-->
|
<!-- eqn: A sub s0 / k sub A: -->
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -411,7 +396,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -423,7 +408,7 @@
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">R</mml:mi>
|
<mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -431,7 +416,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">G</mml:mi>
|
<mml:mi mathvariant="italic">G</mml:mi>
|
||||||
|
@ -439,7 +424,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">B</mml:mi>
|
<mml:mi mathvariant="italic">B</mml:mi>
|
||||||
|
@ -451,13 +436,13 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub s / k sub A:-->
|
<!-- eqn: 1 - A sub s0 / k sub A: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -473,7 +458,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
|
@ -504,7 +489,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub d / k sub A:-->
|
<!-- eqn: A sub d / k sub A: -->
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -522,7 +507,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -561,7 +546,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub d / k sub A:-->
|
<!-- eqn: 1 - A sub d / k sub A: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
|
@ -583,11 +568,11 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -595,7 +580,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -603,7 +588,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -614,10 +599,10 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub s / k sub A:-->
|
<!-- eqn: A sub s / k sub A: -->
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -632,7 +617,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -643,7 +628,7 @@
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -651,7 +636,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -659,7 +644,7 @@
|
||||||
</mml:mfrac>
|
</mml:mfrac>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -671,13 +656,13 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub s / k sub A:-->
|
<!-- eqn: 1 - A sub s / k sub A: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<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:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -693,7 +678,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
|
@ -724,7 +709,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub d / k sub A:-->
|
<!-- eqn: A sub d / k sub A: -->
|
||||||
<mml:mfrac>
|
<mml:mfrac>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -742,7 +727,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -781,7 +766,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub d / k sub A:-->
|
<!-- eqn: 1 - A sub d / k sub A: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
|
@ -803,7 +788,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -819,7 +804,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub c:-->
|
<!-- eqn: A sub c: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -832,7 +817,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -856,7 +841,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub c:-->
|
<!-- eqn: 1 - A sub c: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
|
@ -873,7 +858,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mfenced open="(" close=")">
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
|
@ -889,7 +874,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub c:-->
|
<!-- eqn: A sub c: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">c</mml:mi>
|
<mml:mi mathvariant="italic">c</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -902,7 +887,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -926,7 +911,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1 - A sub c:-->
|
<!-- eqn: 1 - A sub c: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
|
@ -943,7 +928,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: ( i, i, i ):-->
|
<!-- eqn: ( i, i, i ): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
|
@ -953,11 +938,232 @@
|
||||||
</entry>
|
</entry>
|
||||||
<entry align="left">
|
<entry align="left">
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 1:-->
|
<!-- eqn: 1: -->
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</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>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
|
@ -967,7 +1173,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:mi mathvariant="italic">i</mml:mi>
|
<mml:mi mathvariant="italic">i</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -994,13 +1200,13 @@
|
||||||
</para>
|
</para>
|
||||||
</para>
|
</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:
|
the system uses the following equations:
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1035,7 +1241,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1070,7 +1276,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1105,7 +1311,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<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:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</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
|
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
|
<constant>GL_SRC_ALPHA</constant>, <parameter>dstRGB</parameter> is <constant>GL_ONE_MINUS_SRC_ALPHA</constant>, and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub s:-->
|
<!-- eqn: A sub s: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">s</mml:mi>
|
<mml:mi mathvariant="italic">s</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -1157,7 +1363,7 @@
|
||||||
is
|
is
|
||||||
equal to
|
equal to
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: k sub A:-->
|
<!-- eqn: k sub A: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">k</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -1167,7 +1373,7 @@
|
||||||
<para>
|
<para>
|
||||||
<para>
|
<para>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: R sub d = R sub s:-->
|
<!-- eqn: R sub d = R sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">R</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1179,7 +1385,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: G sub d = G sub s:-->
|
<!-- eqn: G sub d = G sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">G</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1191,7 +1397,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: B sub d = B sub s:-->
|
<!-- eqn: B sub d = B sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">B</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1203,7 +1409,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: A sub d = A sub s:-->
|
<!-- eqn: A sub d = A sub s: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">A</mml:mi>
|
||||||
<mml:mi mathvariant="italic">d</mml:mi>
|
<mml:mi mathvariant="italic">d</mml:mi>
|
||||||
|
@ -1220,14 +1426,11 @@
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
|
||||||
<function>glBlendFuncSeparate</function> is available only if the GL version is 1.4 or greater.
|
|
||||||
</para>
|
|
||||||
<para>
|
<para>
|
||||||
Incoming (source) alpha is correctly thought of as a material opacity,
|
Incoming (source) alpha is correctly thought of as a material opacity,
|
||||||
ranging from 1.0
|
ranging from 1.0
|
||||||
(<inlineequation><mml:math>
|
(<inlineequation><mml:math>
|
||||||
<!-- eqn: K sub A:-->
|
<!-- eqn: K sub A: -->
|
||||||
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">K</mml:mi>
|
||||||
<mml:mi mathvariant="italic">A</mml:mi>
|
<mml:mi mathvariant="italic">A</mml:mi>
|
||||||
</mml:msub>
|
</mml:msub>
|
||||||
|
@ -1243,22 +1446,10 @@
|
||||||
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
(See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Blending affects only RGBA rendering.
|
When dual source blending is enabled (i.e., one of the blend factors requiring
|
||||||
It is ignored by color index renderers.
|
the second color input is used), the maximum number of enabled draw buffers
|
||||||
</para>
|
is given by <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant>, which may
|
||||||
<para>
|
be lower than <constant>GL_MAX_DRAW_BUFFERS</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> 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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<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
|
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>srcRGB</parameter> or <parameter>dstRGB</parameter> is not an
|
||||||
accepted value.
|
accepted value.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -1293,7 +1479,6 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glBlendEquation</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>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the target buffer object.
|
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_ELEMENT_ARRAY_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_UNPACK_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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -148,13 +153,6 @@
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<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>
|
<para>
|
||||||
If <parameter>data</parameter> is <constant>NULL</constant>, a data store of the specified size is still created,
|
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.
|
but its contents remain uninitialized and thus undefined.
|
||||||
|
@ -169,8 +167,7 @@
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
one of the accepted buffer targets.
|
||||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or <constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>usage</parameter> is not
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>usage</parameter> is not
|
||||||
|
@ -187,19 +184,13 @@
|
||||||
<para>
|
<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>.
|
<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>
|
||||||
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
|
|
|
@ -35,10 +35,15 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the target buffer object.
|
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_ELEMENT_ARRAY_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or
|
<constant>GL_PIXEL_PACK_BUFFER</constant>,
|
||||||
<constant>GL_PIXEL_UNPACK_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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -79,13 +84,6 @@
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<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>
|
<para>
|
||||||
When replacing the entire data store, consider using <function>glBufferSubData</function> rather
|
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
|
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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
|
||||||
<constant>GL_ARRAY_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
|
one of the accepted buffer targets.
|
||||||
<constant>GL_PIXEL_PACK_BUFFER</constant>, or <constant>GL_PIXEL_UNPACK_BUFFER</constant>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or
|
||||||
|
@ -121,12 +118,6 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer object being updated is mapped.
|
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer object being updated is mapped.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<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>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Bitwise OR of masks that indicate the buffers to be cleared.
|
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_COLOR_BUFFER_BIT</constant>,
|
||||||
<constant>GL_DEPTH_BUFFER_BIT</constant>,
|
<constant>GL_DEPTH_BUFFER_BIT</constant>, and
|
||||||
<constant>GL_ACCUM_BUFFER_BIT</constant>, and
|
|
||||||
<constant>GL_STENCIL_BUFFER_BIT</constant>.
|
<constant>GL_STENCIL_BUFFER_BIT</constant>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -44,8 +43,8 @@
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glClear</function> sets the bitplane area of the window to values previously selected
|
<function>glClear</function> sets the bitplane area of the window to values previously selected
|
||||||
by <function>glClearColor</function>, <function>glClearIndex</function>, <function>glClearDepth</function>,
|
by <function>glClearColor</function>, <function>glClearDepth</function>, and
|
||||||
<function>glClearStencil</function>, and <function>glClearAccum</function>.
|
<function>glClearStencil</function>.
|
||||||
Multiple color buffers can be cleared simultaneously by selecting
|
Multiple color buffers can be cleared simultaneously by selecting
|
||||||
more than one buffer at a time using <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.
|
more than one buffer at a time using <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>.
|
||||||
</para>
|
</para>
|
||||||
|
@ -86,14 +85,6 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
|
||||||
<term><constant>GL_ACCUM_BUFFER_BIT</constant></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Indicates the accumulation buffer.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_STENCIL_BUFFER_BIT</constant></term>
|
<term><constant>GL_STENCIL_BUFFER_BIT</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -116,25 +107,14 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<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>.
|
bits is set in <parameter>mask</parameter>.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ACCUM_CLEAR_VALUE</constant>
|
|
||||||
</para>
|
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_INDEX_CLEAR_VALUE</constant>
|
|
||||||
</para>
|
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
||||||
</para>
|
</para>
|
||||||
|
@ -144,10 +124,8 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glClearAccum</function>,
|
|
||||||
<function>glClearColor</function>,
|
<function>glClearColor</function>,
|
||||||
<function>glClearDepth</function>,
|
<function>glClearDepth</function>,
|
||||||
<function>glClearIndex</function>,
|
|
||||||
<function>glClearStencil</function>,
|
<function>glClearStencil</function>,
|
||||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDepthMask</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.
|
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
|
Values specified by <function>glClearColor</function> are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -60,13 +60,6 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
<funcdef>void <function>glClearDepth</function></funcdef>
|
<funcdef>void <function>glClearDepth</function></funcdef>
|
||||||
<paramdef>GLclampd <parameter>depth</parameter></paramdef>
|
<paramdef>GLclampd <parameter>depth</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>void <function>glClearDepthf</function></funcdef>
|
||||||
|
<paramdef>GLclampf <parameter>depth</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<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.
|
<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
|
Values specified by <function>glClearDepth</function> are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -50,13 +54,6 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
|
<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.
|
<function>glClearStencil</function> specifies the index used by <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry> to clear the stencil buffer.
|
||||||
<parameter>s</parameter> is masked with
|
<parameter>s</parameter> is masked with
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup m - 1:-->
|
<!-- eqn: 2 sup m - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">m</mml:mi>
|
<mml:mi mathvariant="italic">m</mml:mi>
|
||||||
|
@ -57,13 +57,6 @@
|
||||||
is the number of bits in the stencil buffer.
|
is the number of bits in the stencil buffer.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_STENCIL_CLEAR_VALUE</constant>
|
<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.
|
changes are either enabled or disabled for entire color components.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_WRITEMASK</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_WRITEMASK</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_RGBA_MODE</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColor</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glDepthMask</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>
|
<citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
|
@ -1,87 +1,77 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glCompileShader">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glCompileShader</refentrytitle>
|
<refentrytitle>glCompileShader</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glCompileShader</refname>
|
<refname>glCompileShader</refname>
|
||||||
<refpurpose>Compiles a shader object</refpurpose>
|
<refpurpose>Compiles a shader object</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glCompileShader</function></funcdef>
|
<funcdef>void <function>glCompileShader</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>shader</parameter></term>
|
<term><parameter>shader</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the shader object to be
|
<para>Specifies the shader object to be
|
||||||
compiled.</para>
|
compiled.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glCompileShader</function> compiles the source
|
<para><function>glCompileShader</function> compiles the source
|
||||||
code strings that have been stored in the shader object
|
code strings that have been stored in the shader object
|
||||||
specified by <parameter>shader</parameter>.</para>
|
specified by <parameter>shader</parameter>.</para>
|
||||||
|
|
||||||
<para>The compilation status will be stored as part of the
|
<para>The compilation status will be stored as part of the
|
||||||
shader object's state. This value will be set to
|
shader object's state. This value will be set to
|
||||||
<constant>GL_TRUE</constant> if the shader was compiled without
|
<constant>GL_TRUE</constant> if the shader was compiled without
|
||||||
errors and is ready for use, and <constant>GL_FALSE</constant>
|
errors and is ready for use, and <constant>GL_FALSE</constant>
|
||||||
otherwise. It can be queried by calling
|
otherwise. It can be queried by calling
|
||||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>shader</parameter> and
|
with arguments <parameter>shader</parameter> and
|
||||||
<constant>GL_COMPILE_STATUS</constant>.</para>
|
<constant>GL_COMPILE_STATUS</constant>.</para>
|
||||||
|
|
||||||
<para>Compilation of a shader can fail for a number of reasons
|
<para>Compilation of a shader can fail for a number of reasons
|
||||||
as specified by the OpenGL Shading Language Specification.
|
as specified by the OpenGL Shading Language Specification.
|
||||||
Whether or not the compilation was successful, information about
|
Whether or not the compilation was successful, information about
|
||||||
the compilation can be obtained from the shader object's
|
the compilation can be obtained from the shader object's
|
||||||
information log by calling
|
information log by calling
|
||||||
<citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>.</para>
|
<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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>shader</parameter> is not a value generated by
|
<parameter>shader</parameter> is not a value generated by
|
||||||
OpenGL.</para>
|
OpenGL.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>shader</parameter> is not a shader object.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>
|
||||||
with argument <parameter>shader</parameter></para>
|
with argument <parameter>shader</parameter></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>shader</parameter> and
|
with arguments <parameter>shader</parameter> and
|
||||||
<constant>GL_COMPILE_STATUS</constant></para>
|
<constant>GL_COMPILE_STATUS</constant></para>
|
||||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -64,25 +64,7 @@
|
||||||
<term><parameter>width</parameter></term>
|
<term><parameter>width</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the width of the texture image.
|
||||||
<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 texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
|
All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -91,7 +73,7 @@
|
||||||
<term><parameter>border</parameter></term>
|
<term><parameter>border</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the width of the border. Must be either 0 or 1.
|
This value must be 0.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -115,19 +97,25 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<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>
|
||||||
<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>
|
||||||
<para>
|
<para>
|
||||||
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_1D</constant>, no data is read from <parameter>data</parameter>, but
|
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.
|
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>
|
||||||
<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
|
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>
|
||||||
<para>
|
<para>
|
||||||
If a non-zero named buffer object is bound to the <constant>GL_PIXEL_UNPACK_BUFFER</constant> target
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<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_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
a supported specific compressed internal formats, or is one of the generic
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
compressed internal formats:
|
||||||
<constant>GL_COMPRESSED_RGBA</constant>.
|
<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>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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
|
the format, dimensions, and contents of the specified compressed image data.
|
||||||
data.
|
</para>
|
||||||
|
<para>
|
||||||
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
<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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Undefined results, including abnormal program termination, are generated if
|
Undefined results, including abnormal program termination, are generated if
|
||||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
||||||
|
@ -187,6 +169,12 @@
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_COMPRESSED</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_COMPRESSED</constant>
|
||||||
</para>
|
</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>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
|
||||||
</para>
|
</para>
|
||||||
|
@ -194,32 +182,21 @@
|
||||||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
<para>
|
<para>
|
||||||
Specifies the target texture.
|
Specifies the target texture.
|
||||||
Must be <constant>GL_TEXTURE_2D</constant>, <constant>GL_PROXY_TEXTURE_2D</constant>,
|
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_POSITIVE_X</constant>,
|
||||||
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
|
||||||
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
|
||||||
|
@ -72,27 +73,8 @@
|
||||||
<term><parameter>width</parameter></term>
|
<term><parameter>width</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the width of the texture image.
|
||||||
<inlineequation><mml:math>
|
All implementations support 2D texture images that are at least 64 texels
|
||||||
<!-- 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
|
|
||||||
wide and cube-mapped texture images that are at least 16 texels wide.
|
wide and cube-mapped texture images that are at least 16 texels wide.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -101,28 +83,8 @@
|
||||||
<term><parameter>height</parameter></term>
|
<term><parameter>height</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the height of the texture image.
|
||||||
Must be
|
All implementations support 2D texture images that are at least 64 texels
|
||||||
<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
|
|
||||||
high and cube-mapped texture images that are at least 16 texels high.
|
high and cube-mapped texture images that are at least 16 texels high.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -131,8 +93,7 @@
|
||||||
<term><parameter>border</parameter></term>
|
<term><parameter>border</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the width of the border.
|
This value must be 0.
|
||||||
Must be either 0 or 1.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -157,28 +118,31 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Texturing maps a portion of a specified texture image onto each graphical
|
Texturing allows elements of an image array to be read by shaders.
|
||||||
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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glCompressedTexImage2D</function> loads a previously defined, and retrieved, compressed two-dimensional
|
<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>
|
||||||
<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,
|
all of the texture image state is recalculated, checked for consistency,
|
||||||
and checked against the implementation's capabilities. If the
|
and checked against the implementation's capabilities. If the
|
||||||
implementation cannot handle a texture of the requested texture size, it
|
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
|
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
|
<citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>). To query for an entire mipmap array,
|
||||||
greater than or equal to 1.
|
use an image array level greater than or equal to 1.
|
||||||
</para>
|
</para>
|
||||||
<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
|
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
|
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
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<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_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
compressed internal formats:
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_COMPRESSED_RGBA</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>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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
|
the format, dimensions, and contents of the specified compressed image
|
||||||
data.
|
data.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
||||||
supported by the specific compressed internal format as specified in the
|
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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Undefined results, including abnormal program termination, are generated if
|
Undefined results, including abnormal program termination, are generated if
|
||||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
<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>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument
|
|
||||||
<constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -40,7 +40,8 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the target texture.
|
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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -66,28 +67,8 @@
|
||||||
<term><parameter>width</parameter></term>
|
<term><parameter>width</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the width of the texture image.
|
||||||
<inlineequation><mml:math>
|
All implementations support 3D texture images that are at least 16 texels wide.
|
||||||
<!-- 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.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -95,27 +76,8 @@
|
||||||
<term><parameter>height</parameter></term>
|
<term><parameter>height</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the height of the texture image.
|
||||||
<inlineequation><mml:math>
|
All implementations support 3D texture images that are at least 16 texels
|
||||||
<!-- 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
|
|
||||||
high.
|
high.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -124,27 +86,8 @@
|
||||||
<term><parameter>depth</parameter></term>
|
<term><parameter>depth</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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
|
Specifies the depth of the texture image.
|
||||||
<inlineequation><mml:math>
|
All implementations support 3D texture images that are at least 16 texels
|
||||||
<!-- 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
|
|
||||||
deep.
|
deep.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -153,8 +96,7 @@
|
||||||
<term><parameter>border</parameter></term>
|
<term><parameter>border</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the width of the border.
|
This value must be 0.
|
||||||
Must be either 0 or 1.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -179,17 +121,19 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Texturing maps a portion of a specified texture image onto each graphical
|
Texturing allows elements of an image array to be read by shaders.
|
||||||
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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glCompressedTexImage3D</function> loads a previously defined, and retrieved, compressed three-dimensional
|
<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>).
|
texture image if <parameter>target</parameter> is <constant>GL_TEXTURE_3D</constant> (see <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>).
|
||||||
</para>
|
</para>
|
||||||
<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,
|
all of the texture image state is recalculated, checked for consistency,
|
||||||
and checked against the implementation's capabilities. If the
|
and checked against the implementation's capabilities. If the
|
||||||
implementation cannot handle a texture of the requested texture size, it
|
implementation cannot handle a texture of the requested texture size, it
|
||||||
|
@ -198,7 +142,8 @@
|
||||||
greater than or equal to 1.
|
greater than or equal to 1.
|
||||||
</para>
|
</para>
|
||||||
<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
|
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
|
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
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<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_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>, <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
compressed internal formats:
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>, <constant>GL_COMPRESSED_RGB</constant>, or
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_COMPRESSED_RGBA</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>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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>
|
||||||
|
<para>
|
||||||
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
<constant>GL_INVALID_OPERATION</constant> is generated if parameter combinations are not
|
||||||
supported by the specific compressed internal format as specified in the
|
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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<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.
|
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>
|
</para>
|
||||||
|
@ -267,31 +206,20 @@
|
||||||
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -97,17 +97,14 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Texturing maps a portion of a specified texture image onto each graphical
|
Texturing allows elements of an image array to be read by shaders.
|
||||||
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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glCompressedTexSubImage1D</function> redefines a contiguous subregion of an existing one-dimensional
|
<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
|
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -122,8 +119,9 @@
|
||||||
specification has no effect.
|
specification has no effect.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<parameter>format</parameter> must be an extension-specified
|
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
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
|
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
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>), and should be queried at the time the texture was
|
||||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
|
||||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
compressed internal formats:
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RG</constant>,
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
<constant>GL_COMPRESSED_RGB</constant>,
|
||||||
<constant>GL_COMPRESSED_RGB</constant>,
|
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||||
<constant>GL_COMPRESSED_SLUMINANCE</constant>,
|
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
||||||
<constant>GL_COMPRESSED_SLUMINANCE_ALPHA</constant>,
|
|
||||||
<constant>GL_COMPRESSED_SRGB</constant>,
|
|
||||||
<constant>GL_COMPRESSED_SRGBA</constant>, or
|
|
||||||
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Undefined results, including abnormal program termination, are generated if
|
Undefined results, including abnormal program termination, are generated if
|
||||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
<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>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -121,19 +121,14 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Texturing maps a portion of a specified texture image onto each graphical
|
Texturing allows elements of an image array to be read by shaders.
|
||||||
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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glCompressedTexSubImage2D</function> redefines a contiguous subregion of an existing two-dimensional
|
<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
|
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -144,7 +139,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
and the y indices <parameter>yoffset</parameter> and
|
and the y indices <parameter>yoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset + height - 1:-->
|
<!-- eqn: yoffset + height - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -160,8 +155,9 @@
|
||||||
specification has no effect.
|
specification has no effect.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<parameter>format</parameter> must be an extension-specified
|
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
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
|
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
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>) and should be queried at the time the texture was
|
||||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is of the generic compressed internal formats:
|
||||||
<constant>GL_COMPRESSED_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
<constant>GL_COMPRESSED_RG</constant>,
|
||||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RGB</constant>,
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||||
<constant>GL_COMPRESSED_RGB</constant>,
|
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
<constant>GL_COMPRESSED_SRGB_ALPHA</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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Undefined results, including abnormal program termination, are generated if
|
Undefined results, including abnormal program termination, are generated if
|
||||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
<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>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -125,17 +125,14 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Texturing maps a portion of a specified texture image onto each graphical
|
Texturing allows elements of an image array to be read by shaders.
|
||||||
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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<function>glCompressedTexSubImage3D</function> redefines a contiguous subregion of an existing three-dimensional
|
<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
|
texture image. The texels referenced by <parameter>data</parameter> replace the portion of the
|
||||||
existing texture array with x indices <parameter>xoffset</parameter> and
|
existing texture array with x indices <parameter>xoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -146,7 +143,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
and the y indices <parameter>yoffset</parameter> and
|
and the y indices <parameter>yoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset + height - 1:-->
|
<!-- eqn: yoffset + height - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -157,7 +154,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
and the z indices <parameter>zoffset</parameter> and
|
and the z indices <parameter>zoffset</parameter> and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: zoffset + depth - 1:-->
|
<!-- eqn: zoffset + depth - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -172,8 +169,9 @@
|
||||||
but such a specification has no effect.
|
but such a specification has no effect.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<parameter>format</parameter> must be an extension-specified
|
<parameter>internalformat</parameter> must be a known compressed image format (such as <constant>GL_RGTC</constant>)
|
||||||
compressed-texture format. The <parameter>format</parameter> of the compressed texture
|
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
|
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
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>) and should be queried at the time the texture was
|
||||||
compressed with <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
|
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.
|
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>format</parameter> is one of these generic compressed internal formats:
|
<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_RED</constant>,
|
||||||
<constant>GL_COMPRESSED_LUMINANCE</constant>,
|
<constant>GL_COMPRESSED_RG</constant>,
|
||||||
<constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RGB</constant>,
|
||||||
<constant>GL_COMPRESSED_INTENSITY</constant>,
|
<constant>GL_COMPRESSED_RGBA</constant>.
|
||||||
<constant>GL_COMPRESSED_RGB</constant>,
|
<constant>GL_COMPRESSED_SRGB</constant>, or
|
||||||
<constant>GL_COMPRESSED_RGBA</constant>,
|
<constant>GL_COMPRESSED_SRGB_ALPHA</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>.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
|
<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
|
<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.
|
object such that the memory reads required would exceed the data store size.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Undefined results, including abnormal program termination, are generated if
|
Undefined results, including abnormal program termination, are generated if
|
||||||
<parameter>data</parameter> is not encoded in a manner consistent with the extension
|
<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>
|
<citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>
|
||||||
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
and <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</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>
|
<para>
|
||||||
Specifies the internal format of the texture.
|
Specifies the internal format of the texture.
|
||||||
Must be one of the following symbolic constants:
|
Must be one of the following symbolic constants:
|
||||||
<constant>GL_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_ALPHA4</constant>,
|
<constant>GL_COMPRESSED_RG</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_RGB</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_COMPONENT</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT16</constant>,
|
<constant>GL_DEPTH_COMPONENT16</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT24</constant>,
|
<constant>GL_DEPTH_COMPONENT24</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT32</constant>,
|
<constant>GL_DEPTH_COMPONENT32</constant>,
|
||||||
<constant>GL_LUMINANCE</constant>,
|
<constant>GL_RED</constant>,
|
||||||
<constant>GL_LUMINANCE4</constant>,
|
<constant>GL_RG</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_RGB</constant>,
|
<constant>GL_RGB</constant>,
|
||||||
<constant>GL_R3_G3_B2</constant>,
|
<constant>GL_R3_G3_B2</constant>,
|
||||||
<constant>GL_RGB4</constant>,
|
<constant>GL_RGB4</constant>,
|
||||||
|
@ -106,10 +86,6 @@
|
||||||
<constant>GL_RGB10_A2</constant>,
|
<constant>GL_RGB10_A2</constant>,
|
||||||
<constant>GL_RGBA12</constant>,
|
<constant>GL_RGBA12</constant>,
|
||||||
<constant>GL_RGBA16</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_SRGB</constant>,
|
||||||
<constant>GL_SRGB8</constant>,
|
<constant>GL_SRGB8</constant>,
|
||||||
<constant>GL_SRGB_ALPHA</constant>, or
|
<constant>GL_SRGB_ALPHA</constant>, or
|
||||||
|
@ -134,7 +110,7 @@
|
||||||
Specifies the width of the texture image.
|
Specifies the width of the texture image.
|
||||||
Must be 0 or
|
Must be 0 or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">n</mml:mi>
|
<mml:mi mathvariant="italic">n</mml:mi>
|
||||||
|
@ -174,7 +150,7 @@
|
||||||
<para>
|
<para>
|
||||||
The screen-aligned pixel row with left corner at
|
The screen-aligned pixel row with left corner at
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (x, y):-->
|
<!-- eqn: (x, y): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mi mathvariant="italic">x</mml:mi>
|
<mml:mi mathvariant="italic">x</mml:mi>
|
||||||
<mml:mi mathvariant="italic">y</mml:mi>
|
<mml:mi mathvariant="italic">y</mml:mi>
|
||||||
|
@ -182,7 +158,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and with a length of
|
and with a length of
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: width + 2 ( border ):-->
|
<!-- eqn: width + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">width</mml:mi>
|
<mml:mi mathvariant="italic">width</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -201,11 +177,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The pixels in the row are processed exactly as if
|
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.
|
final conversion.
|
||||||
At this point all pixel component values are clamped to the range
|
At this point all pixel component values are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -234,41 +210,12 @@
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<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>
|
<para>
|
||||||
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
An image with 0 width indicates a NULL texture.
|
An image with 0 width indicates a NULL texture.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -281,7 +228,7 @@
|
||||||
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
||||||
than
|
than
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: log sub 2 max:-->
|
<!-- eqn: log sub 2 max: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
||||||
<mml:mn>2</mml:mn>
|
<mml:mn>2</mml:mn>
|
||||||
|
@ -299,12 +246,12 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> is less than 0 or greater than
|
<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>
|
||||||
<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
|
<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>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">n</mml:mi>
|
<mml:mi mathvariant="italic">n</mml:mi>
|
||||||
|
@ -324,9 +271,6 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
||||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
||||||
|
@ -338,20 +282,13 @@
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -65,38 +65,18 @@
|
||||||
<para>
|
<para>
|
||||||
Specifies the internal format of the texture.
|
Specifies the internal format of the texture.
|
||||||
Must be one of the following symbolic constants:
|
Must be one of the following symbolic constants:
|
||||||
<constant>GL_ALPHA</constant>,
|
<constant>GL_COMPRESSED_RED</constant>,
|
||||||
<constant>GL_ALPHA4</constant>,
|
<constant>GL_COMPRESSED_RG</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_RGB</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_COMPONENT</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT16</constant>,
|
<constant>GL_DEPTH_COMPONENT16</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT24</constant>,
|
<constant>GL_DEPTH_COMPONENT24</constant>,
|
||||||
<constant>GL_DEPTH_COMPONENT32</constant>,
|
<constant>GL_DEPTH_COMPONENT32</constant>,
|
||||||
<constant>GL_LUMINANCE</constant>,
|
<constant>GL_RED</constant>,
|
||||||
<constant>GL_LUMINANCE4</constant>,
|
<constant>GL_RG</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_RGB</constant>,
|
<constant>GL_RGB</constant>,
|
||||||
<constant>GL_R3_G3_B2</constant>,
|
<constant>GL_R3_G3_B2</constant>,
|
||||||
<constant>GL_RGB4</constant>,
|
<constant>GL_RGB4</constant>,
|
||||||
|
@ -113,10 +93,6 @@
|
||||||
<constant>GL_RGB10_A2</constant>,
|
<constant>GL_RGB10_A2</constant>,
|
||||||
<constant>GL_RGBA12</constant>,
|
<constant>GL_RGBA12</constant>,
|
||||||
<constant>GL_RGBA16</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_SRGB</constant>,
|
||||||
<constant>GL_SRGB8</constant>,
|
<constant>GL_SRGB8</constant>,
|
||||||
<constant>GL_SRGB_ALPHA</constant>, or
|
<constant>GL_SRGB_ALPHA</constant>, or
|
||||||
|
@ -141,7 +117,7 @@
|
||||||
Specifies the width of the texture image.
|
Specifies the width of the texture image.
|
||||||
Must be 0 or
|
Must be 0 or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup n + 2 ( border ):-->
|
<!-- eqn: 2 sup n + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">n</mml:mi>
|
<mml:mi mathvariant="italic">n</mml:mi>
|
||||||
|
@ -168,7 +144,7 @@
|
||||||
Specifies the height of the texture image.
|
Specifies the height of the texture image.
|
||||||
Must be 0 or
|
Must be 0 or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup m + 2 ( border ):-->
|
<!-- eqn: 2 sup m + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">m</mml:mi>
|
<mml:mi mathvariant="italic">m</mml:mi>
|
||||||
|
@ -209,7 +185,7 @@
|
||||||
The screen-aligned pixel rectangle with lower left corner at (<parameter>x</parameter>,
|
The screen-aligned pixel rectangle with lower left corner at (<parameter>x</parameter>,
|
||||||
<parameter>y</parameter>) and with a width of
|
<parameter>y</parameter>) and with a width of
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: width + 2 ( border ):-->
|
<!-- eqn: width + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">width</mml:mi>
|
<mml:mi mathvariant="italic">width</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -224,7 +200,7 @@
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
and a height of
|
and a height of
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: height + 2 ( border ):-->
|
<!-- eqn: height + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">height</mml:mi>
|
<mml:mi mathvariant="italic">height</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -243,11 +219,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The pixels in the rectangle are processed exactly as if
|
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.
|
final conversion.
|
||||||
At this point all pixel component values are clamped to the range
|
At this point all pixel component values are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -278,48 +254,12 @@
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<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>
|
<para>
|
||||||
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
1, 2, 3, and 4 are not accepted values for <parameter>internalformat</parameter>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
An image with height or width of 0 indicates a NULL texture.
|
An image with height or width of 0 indicates a NULL texture.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -338,7 +278,7 @@
|
||||||
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
<constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
|
||||||
than
|
than
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: log sub 2 max:-->
|
<!-- eqn: log sub 2 max: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
||||||
<mml:mn>2</mml:mn>
|
<mml:mn>2</mml:mn>
|
||||||
|
@ -354,12 +294,12 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> is less than 0
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> is less than 0
|
||||||
or greater than
|
or greater than
|
||||||
2 + <constant>GL_MAX_TEXTURE_SIZE</constant>.
|
<constant>GL_MAX_TEXTURE_SIZE</constant>.
|
||||||
</para>
|
</para>
|
||||||
<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
|
<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>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: 2 sup k + 2 ( border ):-->
|
<!-- eqn: 2 sup k + 2 ( border ): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:msup><mml:mn>2</mml:mn>
|
<mml:msup><mml:mn>2</mml:mn>
|
||||||
<mml:mi mathvariant="italic">k</mml:mi>
|
<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
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>internalformat</parameter> is not an
|
||||||
accepted format.
|
accepted format.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
|
||||||
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
<constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
|
||||||
|
@ -400,20 +335,13 @@
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelStore</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>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
length <parameter>width</parameter> replaces the portion of the
|
length <parameter>width</parameter> replaces the portion of the
|
||||||
texture array with x indices <parameter>xoffset</parameter> through
|
texture array with x indices <parameter>xoffset</parameter> through
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -107,11 +107,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The pixels in the row are processed exactly as if
|
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.
|
final conversion.
|
||||||
At this point, all pixel component values are clamped to the range
|
At this point, all pixel component values are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -135,19 +135,7 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glCopyTexSubImage1D</function> is available only if the GL version is 1.1 or greater.
|
The <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> mode affects texture images.
|
||||||
</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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -164,7 +152,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: level > log sub 2(max):-->
|
<!-- eqn: level > log sub 2(max): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">level</mml:mi>
|
<mml:mi mathvariant="italic">level</mml:mi>
|
||||||
<mml:mo>></mml:mo>
|
<mml:mo>></mml:mo>
|
||||||
|
@ -184,7 +172,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset < -b:-->
|
<!-- eqn: xoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -196,7 +184,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
or
|
or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (xoffset + width) > (w-b):-->
|
<!-- eqn: (xoffset + width) > (w-b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -232,22 +220,15 @@
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_1D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
<para>
|
<para>
|
||||||
The screen-aligned pixel rectangle with lower left corner at
|
The screen-aligned pixel rectangle with lower left corner at
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (x, y):-->
|
<!-- eqn: (x, y): -->
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mi mathvariant="italic">x</mml:mi>
|
<mml:mi mathvariant="italic">x</mml:mi>
|
||||||
<mml:mi mathvariant="italic">y</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
|
width <parameter>width</parameter> and height <parameter>height</parameter> replaces the portion of the
|
||||||
texture array with x indices <parameter>xoffset</parameter> through
|
texture array with x indices <parameter>xoffset</parameter> through
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
inclusive, and y indices <parameter>yoffset</parameter> through
|
inclusive, and y indices <parameter>yoffset</parameter> through
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset + height - 1:-->
|
<!-- eqn: yoffset + height - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -148,11 +148,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The pixels in the rectangle are processed exactly as if
|
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.
|
final conversion.
|
||||||
At this point, all pixel component values are clamped to the range
|
At this point, all pixel component values are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -180,29 +180,7 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glCopyTexSubImage2D</function> is available only if the GL version is 1.1 or greater.
|
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> modes affect texture images.
|
||||||
</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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -225,7 +203,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: level > log sub 2(max):-->
|
<!-- eqn: level > log sub 2(max): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">level</mml:mi>
|
<mml:mi mathvariant="italic">level</mml:mi>
|
||||||
<mml:mo>></mml:mo>
|
<mml:mo>></mml:mo>
|
||||||
|
@ -247,7 +225,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset < -b:-->
|
<!-- eqn: xoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -258,7 +236,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (xoffset + width) > (w - b):-->
|
<!-- eqn: (xoffset + width) > (w - b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -278,7 +256,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset < -b:-->
|
<!-- eqn: yoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -290,7 +268,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
or
|
or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (yoffset + height) > (h - b):-->
|
<!-- eqn: (yoffset + height) > (h - b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -324,32 +302,20 @@
|
||||||
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
|
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
|
||||||
include twice the border width.
|
include twice the border width.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -116,11 +116,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The screen-aligned pixel rectangle with lower left corner at
|
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
|
width <parameter>width</parameter> and height <parameter>height</parameter> replaces the portion of the
|
||||||
texture array with x indices <parameter>xoffset</parameter> through
|
texture array with x indices <parameter>xoffset</parameter> through
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset + width - 1:-->
|
<!-- eqn: xoffset + width - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
inclusive, and y indices <parameter>yoffset</parameter> through
|
inclusive, and y indices <parameter>yoffset</parameter> through
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset + height - 1:-->
|
<!-- eqn: yoffset + height - 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo>+</mml:mo>
|
<mml:mo>+</mml:mo>
|
||||||
|
@ -144,11 +144,11 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The pixels in the rectangle are processed exactly as if
|
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.
|
final conversion.
|
||||||
At this point, all pixel component values are clamped to the range
|
At this point, all pixel component values are clamped to the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [0,1]:-->
|
<!-- eqn: [0,1]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mn>0</mml:mn>
|
<mml:mn>0</mml:mn>
|
||||||
<mml:mn>1</mml:mn>
|
<mml:mn>1</mml:mn>
|
||||||
|
@ -176,20 +176,7 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glCopyTexSubImage3D</function> is available only if the GL version is 1.2 or greater.
|
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> modes affect texture images.
|
||||||
</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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -206,7 +193,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> may be generated if
|
<constant>GL_INVALID_VALUE</constant> may be generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: level > log sub 2(max):-->
|
<!-- eqn: level > log sub 2(max): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">level</mml:mi>
|
<mml:mi mathvariant="italic">level</mml:mi>
|
||||||
<mml:mo>></mml:mo>
|
<mml:mo>></mml:mo>
|
||||||
|
@ -228,7 +215,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: xoffset < -b:-->
|
<!-- eqn: xoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
<mml:mi mathvariant="italic">xoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -239,7 +226,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (xoffset + width) > (w - b):-->
|
<!-- eqn: (xoffset + width) > (w - b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -259,7 +246,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: yoffset < -b:-->
|
<!-- eqn: yoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
<mml:mi mathvariant="italic">yoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -270,7 +257,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (yoffset + height) > (h - b):-->
|
<!-- eqn: (yoffset + height) > (h - b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -290,7 +277,7 @@
|
||||||
</mml:mrow>
|
</mml:mrow>
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: zoffset < -b:-->
|
<!-- eqn: zoffset < -b: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
<mml:mi mathvariant="italic">zoffset</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -302,7 +289,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
or
|
or
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: (zoffset + 1) > (d - b):-->
|
<!-- eqn: (zoffset + 1) > (d - b): -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mfenced open="(" close=")">
|
<mml:mfenced open="(" close=")">
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
|
@ -339,32 +326,20 @@
|
||||||
<inlineequation><mml:math><mml:mi mathvariant="italic">d</mml:mi></mml:math></inlineequation>
|
<inlineequation><mml:math><mml:mi mathvariant="italic">d</mml:mi></mml:math></inlineequation>
|
||||||
include twice the border width.
|
include twice the border width.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_3D</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
|
||||||
|
|
|
@ -46,10 +46,7 @@
|
||||||
context.</para>
|
context.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para><function>glCreateProgram</function> is available only if
|
<para>Like buffer and texture objects, the name space for
|
||||||
the GL version is 2.0 or greater.</para>
|
|
||||||
|
|
||||||
<para>Like display lists and texture objects, the name space for
|
|
||||||
program objects may be shared across a set of contexts, as long
|
program objects may be shared across a set of contexts, as long
|
||||||
as the server sides of the contexts share the same address
|
as the server sides of the contexts share the same address
|
||||||
space. If the name space is shared across contexts, any attached
|
space. If the name space is shared across contexts, any attached
|
||||||
|
@ -63,12 +60,6 @@
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>This function returns 0 if an error occurs creating the program object.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
|
|
|
@ -24,7 +24,10 @@
|
||||||
<term><parameter>shaderType</parameter></term>
|
<term><parameter>shaderType</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the type of shader to be created.
|
<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>
|
or <constant>GL_FRAGMENT_SHADER</constant>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -35,27 +38,29 @@
|
||||||
shader object and returns a non-zero value by which it can be
|
shader object and returns a non-zero value by which it can be
|
||||||
referenced. A shader object is used to maintain the source code
|
referenced. A shader object is used to maintain the source code
|
||||||
strings that define a shader. <parameter>shaderType</parameter>
|
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
|
are supported. A shader of type
|
||||||
<constant>GL_VERTEX_SHADER</constant> is a shader that is
|
<constant>GL_VERTEX_SHADER</constant> is a shader that is
|
||||||
intended to run on the programmable vertex processor and replace
|
intended to run on the programmable vertex processor.
|
||||||
the fixed functionality vertex processing in OpenGL. A shader of
|
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
|
type <constant>GL_FRAGMENT_SHADER</constant> is a shader that is
|
||||||
intended to run on the programmable fragment processor and
|
intended to run on the programmable fragment processor.</para>
|
||||||
replace the fixed functionality fragment processing in
|
|
||||||
OpenGL.</para>
|
|
||||||
|
|
||||||
<para>When created, a shader object's
|
<para>When created, a shader object's
|
||||||
<constant>GL_SHADER_TYPE</constant> parameter is set to either
|
<constant>GL_SHADER_TYPE</constant> parameter is set to either
|
||||||
<constant>GL_VERTEX_SHADER</constant> or
|
<constant>GL_VERTEX_SHADER</constant>, <constant>GL_TESS_CONTROL_SHADER</constant>,
|
||||||
<constant>GL_FRAGMENT_SHADER</constant>, depending on the value
|
<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>
|
of <parameter>shaderType</parameter>.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para><function>glCreateShader</function> is available only if
|
<para>Like buffer and texture objects, the name space for
|
||||||
the GL version is 2.0 or greater.</para>
|
|
||||||
|
|
||||||
<para>Like display lists and texture objects, the name space for
|
|
||||||
shader objects may be shared across a set of contexts, as long
|
shader objects may be shared across a set of contexts, as long
|
||||||
as the server sides of the contexts share the same address
|
as the server sides of the contexts share the same address
|
||||||
space. If the name space is shared across contexts, any attached
|
space. If the name space is shared across contexts, any attached
|
||||||
|
@ -73,12 +78,6 @@
|
||||||
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
||||||
<parameter>shaderType</parameter> is not an accepted value.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<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>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -51,27 +51,17 @@
|
||||||
After a buffer object is deleted, it has no contents,
|
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>).
|
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
|
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>
|
||||||
<para>
|
<para>
|
||||||
<function>glDeleteBuffers</function> silently ignores 0's and names that do not correspond to
|
<function>glDeleteBuffers</function> silently ignores 0's and names that do not correspond to
|
||||||
existing buffer objects.
|
existing buffer objects.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glDeleteProgram">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glDeleteProgram</refentrytitle>
|
<refentrytitle>glDeleteProgram</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glDeleteProgram</refname>
|
<refname>glDeleteProgram</refname>
|
||||||
<refpurpose>Deletes a program object</refpurpose>
|
<refpurpose>Deletes a program object</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glDeleteProgram</function></funcdef>
|
<funcdef>void <function>glDeleteProgram</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>program</parameter></term>
|
<term><parameter>program</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the program object to be
|
<para>Specifies the program object to be
|
||||||
deleted.</para>
|
deleted.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glDeleteProgram</function> frees the memory and
|
<para><function>glDeleteProgram</function> frees the memory and
|
||||||
invalidates the name associated with the program object
|
invalidates the name associated with the program object
|
||||||
specified by <parameter>program.</parameter> This command
|
specified by <parameter>program.</parameter> This command
|
||||||
effectively undoes the effects of a call to
|
effectively undoes the effects of a call to
|
||||||
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>.</para>
|
<citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>.</para>
|
||||||
|
|
||||||
<para>If a program object is in use as part of current rendering
|
<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
|
state, it will be flagged for deletion, but it will not be
|
||||||
deleted until it is no longer part of current state for any
|
deleted until it is no longer part of current state for any
|
||||||
rendering context. If a program object to be deleted has shader
|
rendering context. If a program object to be deleted has shader
|
||||||
objects attached to it, those shader objects will be
|
objects attached to it, those shader objects will be
|
||||||
automatically detached but not deleted unless they have already
|
automatically detached but not deleted unless they have already
|
||||||
been flagged for deletion by a previous call to
|
been flagged for deletion by a previous call to
|
||||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>.
|
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>.
|
||||||
A value of 0 for <parameter>program</parameter> will be silently
|
A value of 0 for <parameter>program</parameter> will be silently
|
||||||
ignored.</para>
|
ignored.</para>
|
||||||
|
|
||||||
<para>To determine whether a program object has been flagged for
|
<para>To determine whether a program object has been flagged for
|
||||||
deletion, call
|
deletion, call
|
||||||
<citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>program</parameter> and
|
with arguments <parameter>program</parameter> and
|
||||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
<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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>program</parameter> is not a value generated by
|
<parameter>program</parameter> is not a value generated by
|
||||||
OpenGL.</para>
|
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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with argument <constant>GL_CURRENT_PROGRAM</constant></para>
|
with argument <constant>GL_CURRENT_PROGRAM</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>program</parameter> and
|
with arguments <parameter>program</parameter> and
|
||||||
<constant>GL_DELETE_STATUS</constant></para>
|
<constant>GL_DELETE_STATUS</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
<para><citerefentry><refentrytitle>glIsProgram</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<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.
|
existing query objects.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
<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
|
between the execution of <citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry> and the corresponding
|
||||||
execution of <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
|
execution of <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glDeleteShader">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glDeleteShader</refentrytitle>
|
<refentrytitle>glDeleteShader</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glDeleteShader</refname>
|
<refname>glDeleteShader</refname>
|
||||||
<refpurpose>Deletes a shader object</refpurpose>
|
<refpurpose>Deletes a shader object</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glDeleteShader</function></funcdef>
|
<funcdef>void <function>glDeleteShader</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>shader</parameter></term>
|
<term><parameter>shader</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the shader object to be deleted.</para>
|
<para>Specifies the shader object to be deleted.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glDeleteShader</function> frees the memory and
|
<para><function>glDeleteShader</function> frees the memory and
|
||||||
invalidates the name associated with the shader object specified
|
invalidates the name associated with the shader object specified
|
||||||
by <parameter>shader</parameter>. This command effectively
|
by <parameter>shader</parameter>. This command effectively
|
||||||
undoes the effects of a call to
|
undoes the effects of a call to
|
||||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>.</para>
|
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>.</para>
|
||||||
|
|
||||||
<para>If a shader object to be deleted is attached to a program
|
<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
|
object, it will be flagged for deletion, but it will not be
|
||||||
deleted until it is no longer attached to any program object,
|
deleted until it is no longer attached to any program object,
|
||||||
for any rendering context (i.e., it must be detached from
|
for any rendering context (i.e., it must be detached from
|
||||||
wherever it was attached before it will be deleted). A value of
|
wherever it was attached before it will be deleted). A value of
|
||||||
0 for <parameter>shader</parameter> will be silently
|
0 for <parameter>shader</parameter> will be silently
|
||||||
ignored.</para>
|
ignored.</para>
|
||||||
|
|
||||||
<para>To determine whether an object has been flagged for
|
<para>To determine whether an object has been flagged for
|
||||||
deletion, call
|
deletion, call
|
||||||
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>shader</parameter> and
|
with arguments <parameter>shader</parameter> and
|
||||||
<constant>GL_DELETE_STATUS</constant>.</para>
|
<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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>shader</parameter> is not a value generated by
|
<parameter>shader</parameter> is not a value generated by
|
||||||
OpenGL.</para>
|
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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||||
with the program object to be queried</para>
|
with the program object to be queried</para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>shader</parameter> and
|
with arguments <parameter>shader</parameter> and
|
||||||
<constant>GL_DELETE_STATUS</constant></para>
|
<constant>GL_DELETE_STATUS</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
<para><citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDetachShader</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry></para>
|
<citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<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.
|
existing textures.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -80,14 +70,12 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glAreTexturesResident</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGenTextures</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPrioritizeTextures</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glTexParameter</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>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
Even if the depth buffer exists and the depth mask is non-zero, the
|
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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>func</parameter> is not an accepted value.
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>func</parameter> is not an accepted value.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -49,13 +49,6 @@
|
||||||
Initially, depth buffer writing is enabled.
|
Initially, depth buffer writing is enabled.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_WRITEMASK</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_WRITEMASK</constant>
|
||||||
|
@ -66,7 +59,6 @@
|
||||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
|
@ -23,6 +23,11 @@
|
||||||
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
|
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
|
||||||
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
|
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>void <function>glDepthRangef</function></funcdef>
|
||||||
|
<paramdef>GLclampf <parameter>nearVal</parameter></paramdef>
|
||||||
|
<paramdef>GLclampf <parameter>farVal</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<!-- eqn: ignoring delim $$ -->
|
<!-- eqn: ignoring delim $$ -->
|
||||||
|
@ -53,7 +58,7 @@
|
||||||
After clipping and division by <emphasis>w</emphasis>,
|
After clipping and division by <emphasis>w</emphasis>,
|
||||||
depth coordinates range from
|
depth coordinates range from
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: -1:-->
|
<!-- eqn: -1: -->
|
||||||
<mml:mn>-1</mml:mn>
|
<mml:mn>-1</mml:mn>
|
||||||
</mml:math></inlineequation>
|
</mml:math></inlineequation>
|
||||||
to 1,
|
to 1,
|
||||||
|
@ -79,7 +84,7 @@
|
||||||
It is not necessary that <parameter>nearVal</parameter> be less than <parameter>farVal</parameter>.
|
It is not necessary that <parameter>nearVal</parameter> be less than <parameter>farVal</parameter>.
|
||||||
Reverse mappings such as
|
Reverse mappings such as
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: nearVal = 1:-->
|
<!-- eqn: nearVal = 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">nearVal</mml:mi>
|
<mml:mi mathvariant="italic">nearVal</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -88,7 +93,7 @@
|
||||||
</mml:math></inlineequation>,
|
</mml:math></inlineequation>,
|
||||||
and
|
and
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: farVal = 0:-->
|
<!-- eqn: farVal = 0: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">farVal</mml:mi>
|
<mml:mi mathvariant="italic">farVal</mml:mi>
|
||||||
<mml:mo>=</mml:mo>
|
<mml:mo>=</mml:mo>
|
||||||
|
@ -98,13 +103,6 @@
|
||||||
are acceptable.
|
are acceptable.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_RANGE</constant>
|
<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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glDetachShader">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glDetachShader</refentrytitle>
|
<refentrytitle>glDetachShader</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glDetachShader</refname>
|
<refname>glDetachShader</refname>
|
||||||
<refpurpose>Detaches a shader object from a program object to which it is attached</refpurpose>
|
<refpurpose>Detaches a shader object from a program object to which it is attached</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glDetachShader</function></funcdef>
|
<funcdef>void <function>glDetachShader</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
<paramdef>GLuint <parameter>program</parameter></paramdef>
|
||||||
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
<paramdef>GLuint <parameter>shader</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>program</parameter></term>
|
<term><parameter>program</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the program object from which to
|
<para>Specifies the program object from which to
|
||||||
detach the shader object.</para>
|
detach the shader object.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>shader</parameter></term>
|
<term><parameter>shader</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the shader object to be
|
<para>Specifies the shader object to be
|
||||||
detached.</para>
|
detached.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glDetachShader</function> detaches the shader
|
<para><function>glDetachShader</function> detaches the shader
|
||||||
object specified by <parameter>shader</parameter> from the
|
object specified by <parameter>shader</parameter> from the
|
||||||
program object specified by <parameter>program</parameter>. This
|
program object specified by <parameter>program</parameter>. This
|
||||||
command can be used to undo the effect of the command
|
command can be used to undo the effect of the command
|
||||||
<citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry>.</para>
|
<citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry>.</para>
|
||||||
|
|
||||||
<para>If <parameter>shader</parameter> has already been flagged
|
<para>If <parameter>shader</parameter> has already been flagged
|
||||||
for deletion by a call to
|
for deletion by a call to
|
||||||
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glDeleteShader</refentrytitle></citerefentry>
|
||||||
and it is not attached to any other program object, it will be
|
and it is not attached to any other program object, it will be
|
||||||
deleted after it has been detached.</para>
|
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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
<para><constant>GL_INVALID_VALUE</constant> is generated if either
|
||||||
<parameter>program</parameter> or <parameter>shader</parameter>
|
<parameter>program</parameter> or <parameter>shader</parameter>
|
||||||
is a value that was not generated by OpenGL.</para>
|
is a value that was not generated by OpenGL.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>program</parameter> is not a program object.</para>
|
<parameter>program</parameter> is not a program object.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>shader</parameter> is not a shader object.</para>
|
<parameter>shader</parameter> is not a shader object.</para>
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if
|
||||||
<parameter>shader</parameter> is not attached to
|
<parameter>shader</parameter> is not attached to
|
||||||
<parameter>program</parameter>.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>
|
||||||
with the handle of a valid program object</para>
|
with the handle of a valid program object</para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>shader</parameter> and
|
with arguments <parameter>shader</parameter> and
|
||||||
<constant>GL_DELETE_STATUS</constant></para>
|
<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>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry></para>
|
<para><citerefentry><refentrytitle>glAttachShader</refentrytitle></citerefentry></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -39,12 +39,14 @@
|
||||||
<constant>GL_LINE_STRIP</constant>,
|
<constant>GL_LINE_STRIP</constant>,
|
||||||
<constant>GL_LINE_LOOP</constant>,
|
<constant>GL_LINE_LOOP</constant>,
|
||||||
<constant>GL_LINES</constant>,
|
<constant>GL_LINES</constant>,
|
||||||
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||||
<constant>GL_TRIANGLE_FAN</constant>,
|
<constant>GL_TRIANGLE_FAN</constant>,
|
||||||
<constant>GL_TRIANGLES</constant>,
|
<constant>GL_TRIANGLES</constant>,
|
||||||
<constant>GL_QUAD_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||||
<constant>GL_QUADS</constant>,
|
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||||
and <constant>GL_POLYGON</constant> are accepted.
|
are accepted.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -81,29 +83,21 @@
|
||||||
enabled array to construct a sequence of geometric primitives,
|
enabled array to construct a sequence of geometric primitives,
|
||||||
beginning with element <parameter>first</parameter>. <parameter>mode</parameter> specifies what kind of
|
beginning with element <parameter>first</parameter>. <parameter>mode</parameter> specifies what kind of
|
||||||
primitives are constructed and how the array elements
|
primitives are constructed and how the array elements
|
||||||
construct those primitives. If <constant>GL_VERTEX_ARRAY</constant> is not enabled, no
|
construct those primitives.
|
||||||
geometric primitives are generated.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Vertex attributes that are modified by <function>glDrawArrays</function> have an
|
Vertex attributes that are modified by <function>glDrawArrays</function> have an
|
||||||
unspecified value after <function>glDrawArrays</function> returns. For example, if
|
unspecified value after <function>glDrawArrays</function> returns. Attributes that aren't
|
||||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
|
||||||
undefined after <function>glDrawArrays</function> executes. Attributes that aren't
|
|
||||||
modified remain well defined.
|
modified remain well defined.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glDrawArrays</function> is available only if the GL version is 1.1 or greater.
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
</para>
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<para>
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||||
<function>glDrawArrays</function> is included in display lists. If <function>glDrawArrays</function> is entered into a
|
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||||
display list,
|
are available only if the GL version is 3.2 or greater.
|
||||||
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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -118,25 +112,15 @@
|
||||||
enabled array and the buffer object's data store is currently mapped.
|
enabled array and the buffer object's data store is currently mapped.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawArrays</function> is executed between
|
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawRangeElements</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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<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_FRONT</constant>,
|
||||||
<constant>GL_BACK</constant>,
|
<constant>GL_BACK</constant>,
|
||||||
<constant>GL_LEFT</constant>,
|
<constant>GL_LEFT</constant>,
|
||||||
<constant>GL_RIGHT</constant>,
|
<constant>GL_RIGHT</constant>, and
|
||||||
<constant>GL_FRONT_AND_BACK</constant>, and
|
<constant>GL_FRONT_AND_BACK</constant>
|
||||||
<constant>GL_AUX</constant><emphasis>i</emphasis>,
|
are accepted.
|
||||||
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.)
|
|
||||||
The initial value is <constant>GL_FRONT</constant> for single-buffered contexts,
|
The initial value is <constant>GL_FRONT</constant> for single-buffered contexts,
|
||||||
and <constant>GL_BACK</constant> for double-buffered contexts.
|
and <constant>GL_BACK</constant> for double-buffered contexts.
|
||||||
</para>
|
</para>
|
||||||
|
@ -157,14 +154,6 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
</variablelist>
|
||||||
<para>
|
<para>
|
||||||
If more than one color buffer is selected for drawing,
|
If more than one color buffer is selected for drawing,
|
||||||
|
@ -189,14 +178,6 @@
|
||||||
The context is selected at GL initialization.
|
The context is selected at GL initialization.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
<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
|
<constant>GL_INVALID_OPERATION</constant> is generated if none of the buffers indicated
|
||||||
by <parameter>mode</parameter> exists.
|
by <parameter>mode</parameter> exists.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DRAW_BUFFER</constant>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DRAW_BUFFER</constant>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_AUX_BUFFERS</constant>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -1,189 +1,177 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glDrawBuffers">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glDrawBuffers</refentrytitle>
|
<refentrytitle>glDrawBuffers</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refname>glDrawBuffers</refname>
|
<refname>glDrawBuffers</refname>
|
||||||
<refpurpose>Specifies a list of color buffers to be drawn into</refpurpose>
|
<refpurpose>Specifies a list of color buffers to be drawn into</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glDrawBuffers</function></funcdef>
|
<funcdef>void <function>glDrawBuffers</function></funcdef>
|
||||||
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
<paramdef>GLsizei <parameter>n</parameter></paramdef>
|
||||||
<paramdef>const GLenum *<parameter>bufs</parameter></paramdef>
|
<paramdef>const GLenum *<parameter>bufs</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>n</parameter></term>
|
<term><parameter>n</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the number of buffers in
|
<para>Specifies the number of buffers in
|
||||||
<parameter>bufs</parameter>.</para>
|
<parameter>bufs</parameter>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>bufs</parameter></term>
|
<term><parameter>bufs</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Points to an array of symbolic constants
|
<para>Points to an array of symbolic constants
|
||||||
specifying the buffers into which fragment colors or
|
specifying the buffers into which fragment colors or
|
||||||
data values will be written.</para>
|
data values will be written.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glDrawBuffers</function> defines an array of
|
<para><function>glDrawBuffers</function> defines an array of
|
||||||
buffers into which fragment color values or fragment data will
|
buffers into which outputs from the fragment shader data will
|
||||||
be written. If no fragment shader is active, rendering
|
be written. If a fragment shader writes a value
|
||||||
operations will generate only one fragment color per fragment
|
to one or more user defined output
|
||||||
and it will be written into each of the buffers specified by
|
variables, then the value of each variable will be written into the
|
||||||
<parameter>bufs</parameter>. If a fragment shader is active and
|
buffer specified at a location within <parameter>bufs</parameter>
|
||||||
it writes a value to the output variable
|
corresponding to the location assigned to that user defined output.
|
||||||
<code>gl_FragColor</code>, then that value will be
|
The draw buffer used for user defined outputs assigned to locations
|
||||||
written into each of the buffers specified by
|
greater than or equal to <parameter>n</parameter> is implicitly set
|
||||||
<parameter>bufs</parameter>. If a fragment shader is active and
|
to <constant>GL_NONE</constant> and any data written to such an output
|
||||||
it writes a value to one or more elements of the output array
|
is discarded.</para>
|
||||||
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>The symbolic constants contained in
|
<para>The symbolic constants contained in
|
||||||
<parameter>bufs</parameter> may be any of the following:</para>
|
<parameter>bufs</parameter> may be any of the following:</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_NONE</constant></term>
|
<term><constant>GL_NONE</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is not written into
|
<para>The fragment shader output value is not written into
|
||||||
any color buffer.</para>
|
any color buffer.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_FRONT_LEFT</constant></term>
|
<term><constant>GL_FRONT_LEFT</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is written into the
|
<para>The fragment shader output value is written into the
|
||||||
front left color buffer.</para>
|
front left color buffer.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_FRONT_RIGHT</constant></term>
|
<term><constant>GL_FRONT_RIGHT</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is written into the
|
<para>The fragment shader output value is written into the
|
||||||
front right color buffer.</para>
|
front right color buffer.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_BACK_LEFT</constant></term>
|
<term><constant>GL_BACK_LEFT</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is written into the
|
<para>The fragment shader output value is written into the
|
||||||
back left color buffer.</para>
|
back left color buffer.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_BACK_RIGHT</constant></term>
|
<term><constant>GL_BACK_RIGHT</constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is written into the
|
<para>The fragment shader output value is written into the
|
||||||
back right color buffer.</para>
|
back right color buffer.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><constant>GL_AUXi</constant></term>
|
<term><constant>GL_COLOR_ATTACHMENT<emphasis>n</emphasis></constant></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The fragment color/data value is written into
|
<para>The fragment shader output value is written into the
|
||||||
auxiliary buffer <code>i</code>.</para>
|
<emphasis>n</emphasis>th color attachment of the current framebuffer.
|
||||||
</listitem>
|
<emphasis>n</emphasis> may range from 0 to the value of
|
||||||
</varlistentry>
|
<constant>GL_MAX_COLOR_ATTACHMENTS</constant>.</para>
|
||||||
</variablelist>
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
|
||||||
<para>Except for <constant>GL_NONE</constant>, the preceding
|
<para>Except for <constant>GL_NONE</constant>, the preceding
|
||||||
symbolic constants may not appear more than once in
|
symbolic constants may not appear more than once in
|
||||||
<parameter>bufs</parameter>. The maximum number of draw buffers
|
<parameter>bufs</parameter>. The maximum number of draw buffers
|
||||||
supported is implementation dependent and can be queried by
|
supported is implementation dependent and can be queried by
|
||||||
calling
|
calling
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with the argument <constant>GL_MAX_DRAW_BUFFERS</constant>. The
|
with the argument <constant>GL_MAX_DRAW_BUFFERS</constant>.</para>
|
||||||
number of auxiliary buffers can be queried by calling
|
|
||||||
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
|
||||||
with the argument <constant>GL_AUX_BUFFERS</constant>.</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<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> =
|
<para>The symbolic constants <constant>GL_FRONT</constant>,
|
||||||
<constant>GL_AUX0</constant> + <code>i</code>.</para>
|
<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>,
|
<para>If a fragment shader does not write to a user defined output variable,
|
||||||
<constant>GL_BACK</constant>, <constant>GL_LEFT</constant>,
|
the values of the fragment
|
||||||
<constant>GL_RIGHT</constant>, and
|
colors following shader execution are undefined. For each
|
||||||
<constant>GL_FRONT_AND_BACK</constant> are not allowed in the
|
fragment generated in this situation, a different value may be
|
||||||
<parameter>bufs</parameter> array since they may refer to
|
written into each of the buffers specified by
|
||||||
multiple buffers.</para>
|
<parameter>bufs</parameter>.</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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_ENUM</constant> is generated if one of the
|
<para><constant>GL_INVALID_ENUM</constant> is generated if one of the
|
||||||
values in <parameter>bufs</parameter> is not an accepted
|
values in <parameter>bufs</parameter> is not an accepted
|
||||||
value.</para>
|
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
|
<para><constant>GL_INVALID_ENUM</constant> is generated if the GL is bound
|
||||||
<parameter>n</parameter> is less than 0.</para>
|
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
|
<para><constant>GL_INVALID_ENUM</constant> is generated if
|
||||||
symbolic constant other than <constant>GL_NONE</constant>
|
<parameter>n</parameter> is less than 0.</para>
|
||||||
appears more than once in <parameter>bufs</parameter>.</para>
|
|
||||||
|
|
||||||
<para><constant>GL_INVALID_OPERATION</constant> is generated if any of
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if a
|
||||||
the entries in <parameter>bufs</parameter> (other than
|
symbolic constant other than <constant>GL_NONE</constant>
|
||||||
<constant>GL_NONE</constant> ) indicates a color buffer that
|
appears more than once in <parameter>bufs</parameter>.</para>
|
||||||
does not exist in the current GL context.</para>
|
|
||||||
|
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_OPERATION</constant> is generated if any of
|
||||||
<parameter>n</parameter> is greater than
|
the entries in <parameter>bufs</parameter> (other than
|
||||||
<constant>GL_MAX_DRAW_BUFFERS</constant>.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with argument <constant>GL_MAX_DRAW_BUFFERS</constant></para>
|
with argument <constant>GL_MAX_DRAW_BUFFERS</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with argument <constant>GL_DRAW_BUFFERSi</constant> where
|
with argument <constant>GL_DRAW_BUFFER<emphasis>i</emphasis></constant> where
|
||||||
<code>i</code> indicates the number of the draw buffer
|
<code><emphasis>i</emphasis></code> indicates the number of the draw buffer
|
||||||
whose value is to be queried</para>
|
whose value is to be queried</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para> <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
<para> <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry></para>
|
||||||
<citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry></para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -40,12 +40,14 @@
|
||||||
<constant>GL_LINE_STRIP</constant>,
|
<constant>GL_LINE_STRIP</constant>,
|
||||||
<constant>GL_LINE_LOOP</constant>,
|
<constant>GL_LINE_LOOP</constant>,
|
||||||
<constant>GL_LINES</constant>,
|
<constant>GL_LINES</constant>,
|
||||||
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||||
<constant>GL_TRIANGLE_FAN</constant>,
|
<constant>GL_TRIANGLE_FAN</constant>,
|
||||||
<constant>GL_TRIANGLES</constant>,
|
<constant>GL_TRIANGLES</constant>,
|
||||||
<constant>GL_QUAD_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||||
<constant>GL_QUADS</constant>,
|
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||||
and <constant>GL_POLYGON</constant> are accepted.
|
are accepted.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -92,30 +94,21 @@
|
||||||
enabled array, starting at <parameter>indices</parameter> to construct a sequence of
|
enabled array, starting at <parameter>indices</parameter> to construct a sequence of
|
||||||
geometric primitives. <parameter>mode</parameter> specifies what kind of primitives are
|
geometric primitives. <parameter>mode</parameter> specifies what kind of primitives are
|
||||||
constructed and how the array elements construct these primitives. If
|
constructed and how the array elements construct these primitives. If
|
||||||
more than one array is enabled, each is used. If
|
more than one array is enabled, each is used.
|
||||||
<constant>GL_VERTEX_ARRAY</constant> is not enabled, no geometric primitives are
|
|
||||||
constructed.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Vertex attributes that are modified by <function>glDrawElements</function> have an
|
Vertex attributes that are modified by <function>glDrawElements</function> have an
|
||||||
unspecified value after <function>glDrawElements</function> returns. For example, if
|
unspecified value after <function>glDrawElements</function> returns. Attributes that aren't
|
||||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
|
||||||
undefined after <function>glDrawElements</function> executes. Attributes that aren't
|
|
||||||
modified maintain their previous values.
|
modified maintain their previous values.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glDrawElements</function> is available only if the GL version is 1.1 or greater.
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
</para>
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<para>
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||||
<function>glDrawElements</function> is included in display lists. If <function>glDrawElements</function> is entered into a
|
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||||
display list,
|
are available only if the GL version is 3.2 or greater.
|
||||||
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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
|
@ -126,29 +119,20 @@
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is negative.
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is negative.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||||
enabled array or the element array and the buffer object's data store is currently mapped.
|
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawElements</function> is executed between
|
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
||||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
enabled array or the element array and the buffer object's data store is currently mapped.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElementsInstanced</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glFogCoordPointer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawRangeElements</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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<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_STRIP</constant>,
|
||||||
<constant>GL_LINE_LOOP</constant>,
|
<constant>GL_LINE_LOOP</constant>,
|
||||||
<constant>GL_LINES</constant>,
|
<constant>GL_LINES</constant>,
|
||||||
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<constant>GL_TRIANGLE_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP</constant>,
|
||||||
<constant>GL_TRIANGLE_FAN</constant>,
|
<constant>GL_TRIANGLE_FAN</constant>,
|
||||||
<constant>GL_TRIANGLES</constant>,
|
<constant>GL_TRIANGLES</constant>,
|
||||||
<constant>GL_QUAD_STRIP</constant>,
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant>,
|
||||||
<constant>GL_QUADS</constant>,
|
<constant>GL_TRIANGLES_ADJACENCY</constant> and <constant>GL_PATCHES</constant>
|
||||||
and <constant>GL_POLYGON</constant> are accepted.
|
are accepted.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -109,7 +111,7 @@
|
||||||
<constant>GL_MAX_ELEMENTS_VERTICES</constant> and <constant>GL_MAX_ELEMENTS_INDICES</constant>.
|
<constant>GL_MAX_ELEMENTS_VERTICES</constant> and <constant>GL_MAX_ELEMENTS_INDICES</constant>.
|
||||||
If
|
If
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: end - start + 1:-->
|
<!-- eqn: end - start + 1: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">end</mml:mi>
|
<mml:mi mathvariant="italic">end</mml:mi>
|
||||||
<mml:mo>-</mml:mo>
|
<mml:mo>-</mml:mo>
|
||||||
|
@ -123,7 +125,7 @@
|
||||||
<constant>GL_MAX_ELEMENTS_INDICES</constant>, then the call may operate at reduced
|
<constant>GL_MAX_ELEMENTS_INDICES</constant>, then the call may operate at reduced
|
||||||
performance. There is no requirement that all vertices in the range
|
performance. There is no requirement that all vertices in the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [start, end]:-->
|
<!-- eqn: [start, end]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mi mathvariant="italic">start</mml:mi>
|
<mml:mi mathvariant="italic">start</mml:mi>
|
||||||
<mml:mi mathvariant="italic">end</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
|
enabled array, starting at <parameter>start</parameter> to construct a sequence of
|
||||||
geometric primitives. <parameter>mode</parameter> specifies what kind of primitives are
|
geometric primitives. <parameter>mode</parameter> specifies what kind of primitives are
|
||||||
constructed, and how the array elements construct these primitives. If
|
constructed, and how the array elements construct these primitives. If
|
||||||
more than one array is enabled, each is used. If
|
more than one array is enabled, each is used.
|
||||||
<constant>GL_VERTEX_ARRAY</constant> is not enabled, no geometric primitives are
|
|
||||||
constructed.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Vertex attributes that are modified by <function>glDrawRangeElements</function> have an
|
Vertex attributes that are modified by <function>glDrawRangeElements</function> have an
|
||||||
unspecified value after <function>glDrawRangeElements</function> returns. For example, if
|
unspecified value after <function>glDrawRangeElements</function> returns. Attributes that aren't
|
||||||
<constant>GL_COLOR_ARRAY</constant> is enabled, the value of the current color is
|
|
||||||
undefined after <function>glDrawRangeElements</function> executes. Attributes that aren't
|
|
||||||
modified maintain their previous values.
|
modified maintain their previous values.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="notes"><title>Notes</title>
|
<refsect1 id="notes"><title>Notes</title>
|
||||||
<para>
|
<para>
|
||||||
<function>glDrawRangeElements</function> is available only if the GL version is 1.2 or greater.
|
<constant>GL_LINE_STRIP_ADJACENCY</constant>,
|
||||||
</para>
|
<constant>GL_LINES_ADJACENCY</constant>,
|
||||||
<para>
|
<constant>GL_TRIANGLE_STRIP_ADJACENCY</constant> and
|
||||||
<function>glDrawRangeElements</function> is included in display lists. If <function>glDrawRangeElements</function> is entered into a
|
<constant>GL_TRIANGLES_ADJACENCY</constant>
|
||||||
display list,
|
are available only if the GL version is 3.2 or greater.
|
||||||
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.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
It is an error for indices to lie outside the range
|
It is an error for indices to lie outside the range
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: [start, end]:-->
|
<!-- eqn: [start, end]: -->
|
||||||
<mml:mfenced open="[" close="]">
|
<mml:mfenced open="[" close="]">
|
||||||
<mml:mi mathvariant="italic">start</mml:mi>
|
<mml:mi mathvariant="italic">start</mml:mi>
|
||||||
<mml:mi mathvariant="italic">end</mml:mi>
|
<mml:mi mathvariant="italic">end</mml:mi>
|
||||||
|
@ -186,7 +179,7 @@
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if
|
<constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<inlineequation><mml:math>
|
<inlineequation><mml:math>
|
||||||
<!-- eqn: end < start:-->
|
<!-- eqn: end < start: -->
|
||||||
<mml:mrow>
|
<mml:mrow>
|
||||||
<mml:mi mathvariant="italic">end</mml:mi>
|
<mml:mi mathvariant="italic">end</mml:mi>
|
||||||
<mml:mo><</mml:mo>
|
<mml:mo><</mml:mo>
|
||||||
|
@ -195,12 +188,12 @@
|
||||||
</mml:math></inlineequation>.
|
</mml:math></inlineequation>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>
|
||||||
enabled array or the element array and the buffer object's data store is currently mapped.
|
is incompatible with the input primitive type of the geometry shader in the currently installed program object.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawRangeElements</function> is executed between
|
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
|
||||||
the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
|
enabled array or the element array and the buffer object's data store is currently mapped.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
|
@ -213,18 +206,9 @@
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
|
|
||||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElementsBaseVertex</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>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
<!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">
|
<refentry id="glEnableVertexAttribArray">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>glEnableVertexAttribArray</refentrytitle>
|
<refentrytitle>glEnableVertexAttribArray</refentrytitle>
|
||||||
<manvolnum>3G</manvolnum>
|
<manvolnum>3G</manvolnum>
|
||||||
</refmeta>
|
</refmeta>
|
||||||
<refnamediv>
|
<refnamediv>
|
||||||
<refdescriptor>glEnableVertexAttribArray</refdescriptor>
|
<refdescriptor>glEnableVertexAttribArray</refdescriptor>
|
||||||
<refname>glEnableVertexAttribArray</refname>
|
<refname>glEnableVertexAttribArray</refname>
|
||||||
<refname>glDisableVertexAttribArray</refname>
|
<refname>glDisableVertexAttribArray</refname>
|
||||||
<refpurpose>Enable or disable a generic vertex attribute array</refpurpose>
|
<refpurpose>Enable or disable a generic vertex attribute array</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv><title>C Specification</title>
|
<refsynopsisdiv><title>C Specification</title>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glEnableVertexAttribArray</function></funcdef>
|
<funcdef>void <function>glEnableVertexAttribArray</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>void <function>glDisableVertexAttribArray</function></funcdef>
|
<funcdef>void <function>glDisableVertexAttribArray</function></funcdef>
|
||||||
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
<paramdef>GLuint <parameter>index</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
<refsect1 id="parameters"><title>Parameters</title>
|
<refsect1 id="parameters"><title>Parameters</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>index</parameter></term>
|
<term><parameter>index</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Specifies the index of the generic vertex
|
<para>Specifies the index of the generic vertex
|
||||||
attribute to be enabled or disabled.</para>
|
attribute to be enabled or disabled.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="description"><title>Description</title>
|
<refsect1 id="description"><title>Description</title>
|
||||||
<para><function>glEnableVertexAttribArray</function> enables the
|
<para><function>glEnableVertexAttribArray</function> enables the
|
||||||
generic vertex attribute array specified by
|
generic vertex attribute array specified by
|
||||||
<parameter>index</parameter>.
|
<parameter>index</parameter>.
|
||||||
<function>glDisableVertexAttribArray</function> disables the
|
<function>glDisableVertexAttribArray</function> disables the
|
||||||
generic vertex attribute array specified by
|
generic vertex attribute array specified by
|
||||||
<parameter>index</parameter>. By default, all client-side
|
<parameter>index</parameter>. By default, all client-side
|
||||||
capabilities are disabled, including all generic vertex
|
capabilities are disabled, including all generic vertex
|
||||||
attribute arrays. If enabled, the values in the generic vertex
|
attribute arrays. If enabled, the values in the generic vertex
|
||||||
attribute array will be accessed and used for rendering when
|
attribute array will be accessed and used for rendering when
|
||||||
calls are made to vertex array commands such as
|
calls are made to vertex array commands such as
|
||||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
or
|
||||||
or
|
<citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>.</para>
|
||||||
<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>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="errors"><title>Errors</title>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
<para><constant>GL_INVALID_VALUE</constant> is generated if
|
||||||
<parameter>index</parameter> is greater than or equal to
|
<parameter>index</parameter> is greater than or equal to
|
||||||
<constant>GL_MAX_VERTEX_ATTRIBS</constant>.</para>
|
<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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
|
||||||
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
with argument <constant>GL_MAX_VERTEX_ATTRIBS</constant></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>index</parameter> and
|
with arguments <parameter>index</parameter> and
|
||||||
<constant>GL_VERTEX_ATTRIB_ARRAY_ENABLED</constant>
|
<constant>GL_VERTEX_ATTRIB_ARRAY_ENABLED</constant>
|
||||||
<parameter></parameter></para>
|
<parameter></parameter></para>
|
||||||
|
|
||||||
<para><citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>
|
<para><citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>
|
||||||
with arguments <parameter>index</parameter> and
|
with arguments <parameter>index</parameter> and
|
||||||
<constant>GL_VERTEX_ATTRIB_ARRAY_POINTER</constant></para>
|
<constant>GL_VERTEX_ATTRIB_ARRAY_POINTER</constant></para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para><citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
|
<para>
|
||||||
<citerefentry><refentrytitle>glBindAttribLocation</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glBindAttribLocation</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPopClientAttrib</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glPushClientAttrib</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry>
|
||||||
<citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>,
|
</para>
|
||||||
<citerefentry><refentrytitle>glVertexAttribPointer</refentrytitle></citerefentry>
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
<para>
|
<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.
|
<function>glFinish</function> requires a round trip to the server.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glFlush</refentrytitle></citerefentry>
|
<citerefentry><refentrytitle>glFlush</refentrytitle></citerefentry>
|
||||||
|
|
|
@ -52,13 +52,6 @@
|
||||||
issued GL commands is complete.
|
issued GL commands is complete.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glFinish</refentrytitle></citerefentry>
|
<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>
|
<para>
|
||||||
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -87,7 +82,6 @@
|
||||||
<refsect1 id="seealso"><title>See Also</title>
|
<refsect1 id="seealso"><title>See Also</title>
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>,
|
<citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>,
|
||||||
<citerefentry><refentrytitle>glLightModel</refentrytitle></citerefentry>
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
<refsect1 id="Copyright"><title>Copyright</title>
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||||||
|
|
|
@ -62,20 +62,10 @@
|
||||||
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
|
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1 id="errors"><title>Errors</title>
|
||||||
<para>
|
<para>
|
||||||
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
|
||||||
</para>
|
</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>
|
||||||
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
||||||
<para>
|
<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