NAME¶
glBindFragDataLocationIndexed - bind a user-defined varying out variable to a
fragment shader color number and index
C SPECIFICATION¶
void
glBindFragDataLocationIndexed(GLuint program,
GLuint colorNumber, GLuint index,
const char *name);
PARAMETERS¶
program
The name of the program containing varying out
variable whose binding to modify
colorNumber
The color number to bind the user-defined
varying out variable to
index
The index of the color input to bind the
user-defined varying out variable to
name
The name of the user-defined varying out
variable whose binding to modify
DESCRIPTION¶
glBindFragDataLocationIndexed specifies that the varying out variable
name in
program should be bound to fragment color
colorNumber when the program is next linked.
index may be zero
or one to specify that the color be used as either the first or second color
input to the blend equation, respectively.
The bindings specified by
glBindFragDataLocationIndexed have no effect
until
program is next linked. Bindings may be specified at any time
after
program has been created. Specifically, they may be specified
before shader objects are attached to the program. Therefore, any name may be
specified in
name, including a name that is never used as a varying out
variable in any fragment shader object. Names beginning with
gl_ are
reserved by the GL.
If
name was bound previously, its assigned binding is replaced with
colorNumber and
index.
name must be a null-terminated
string.
index must be less than or equal to one, and
colorNumber
must be less than the value of
GL_MAX_DRAW_BUFFERS if
index is
zero, and less than the value of
GL_MAX_DUAL_SOURCE_DRAW_BUFFERS if
index is greater than or equal to one.
In addition to the errors generated by
glBindFragDataLocationIndexed, the
program
program will fail to link if:
•The number of active outputs is greater
than the value GL_MAX_DRAW_BUFFERS.
•More than one varying out variable is
bound to the same color number.
NOTES¶
Varying out varyings may have locations assigned explicitly in the shader text
using a location layout qualifier. If a shader statically assigns a location
to a varying out variable in the shader text, that location is used and any
location assigned with
glBindFragDataLocation is ignored.
ERRORS¶
GL_INVALID_VALUE is generated if
colorNumber is greater than or
equal to
GL_MAX_DRAW_BUFFERS.
GL_INVALID_VALUE is generated if
colorNumber is greater than or
equal to
GL_MAX_DUAL_SOURCE_DRAW_BUFERS and
index is greater
than or equal to one.
GL_INVALID_VALUE is generated if
index is greater than one.
GL_INVALID_OPERATION is generated if
name starts with the reserved
gl_ prefix.
GL_INVALID_OPERATION is generated if
program is not the name of a
program object.
ASSOCIATED GETS¶
glGetFragDataLocation() with a valid program object and the the name of a
user-defined varying out variable
glGetFragDataIndex() with a valid program object and the the name of a
user-defined varying out variable
SEE ALSO¶
glCreateProgram(),
glLinkProgram()
glGetFragDataLocation(),
glGetFragDataIndex()
glBindFragDataLocation()
COPYRIGHT¶
Copyright © 2010 Khronos Group. This material may be distributed subject to
the terms and conditions set forth in the Open Publication License, v 1.0, 8
June 1999.
http://opencontent.org/openpub/.