NAME¶
glShaderBinary - load pre-compiled shader binaries
C SPECIFICATION¶
void
glShaderBinary(GLsizei count,
const GLuint *shaders,
GLenum binaryFormat,
const void *binary,
GLsizei length);
PARAMETERS¶
count
Specifies the number of shader object handles
contained in shaders.
shaders
Specifies the address of an array of shader
handles into which to load pre-compiled shader binaries.
binaryFormat
Specifies the format of the shader binaries
contained in binary.
binary
Specifies the address of an array of bytes
containing pre-compiled binary shader code.
length
Specifies the length of the array whose
address is given in binary.
DESCRIPTION¶
glShaderBinary loads pre-compiled shader binary code into the
count shader objects whose handles are given in
shaders.
binary points to
length bytes of binary shader code stored in
client memory.
binaryFormat specifies the format of the pre-compiled
code.
The binary image contained in
binary will be decoded according to the
extension specification defining the specified
binaryFormat token.
OpenGL does not define any specific binary formats, but it does provide a
mechanism to obtain token vaues for such formats provided by such extensions.
Depending on the types of the shader objects in
shaders,
glShaderBinary will individually load binary vertex or fragment
shaders, or load an executable binary that contains an optimized pair of
vertex and fragment shaders stored in the same binary.
ERRORS¶
GL_INVALID_OPERATION is generated if more than one of the handles in
shaders refers to the same shader object.
GL_INVALID_ENUM is generated if
binaryFormat is not an accepted
value.
GL_INVALID_VALUE is generated if the data pointed to by
binary
does not match the format specified by
binaryFormat.
ASSOCIATED GETS¶
glGet() with parameter
GL_NUM_SHADER_BINARY_FORMATS.
glGet() with parameter
GL_SHADER_BINARY_FORMATS.
SEE ALSO¶
glGetProgram(),
glGetProgramBinary(),
glProgramBinary()
COPYRIGHT¶
Copyright © 2010 Khronos Group. This material may be distributed subject to
the terms and conditions set forth in the Open Publication License, v 1.0, 8
June 1999.
http://opencontent.org/openpub/.