glShaderBinary — load pre-compiled shader binaries
void glShaderBinary( | GLsizei count, |
const GLuint *shaders, | |
GLenum binaryFormat, | |
const void *binary, | |
GLsizei length) ; |
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
.
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.
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
.
glGet with parameter GL_NUM_SHADER_BINARY_FORMATS
.
glGet with parameter GL_SHADER_BINARY_FORMATS
.
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glShaderBinary | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ |
Copyright © 2010-2014 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. https://opencontent.org/openpub/.