Conventional GLSL requires multiple shader stages (vertex, fragment, geometry, tessellation control, and tessellation evaluation) to be linked into a single monolithic program object to specify a GLSL shader for each stage.
While GLSL's monolithic approach has some advantages for optimizing shaders as a unit that span multiple stages, all existing GPU hardware supports the more flexible mix-and-match approach.
Shaders written for HLSL9, Cg, the prior OpenGL assembly program extensions, and game console favor a more flexible "mix-and-match" approach to specifying shaders independently for these different shader stages. Many developers build their shader content around the mix-and-match approach where they can use a single vertex shader with multiple fragment shaders (or vice versa).
This extension adopts a "mix-and-match" shader stage model for GLSL allowing multiple different GLSL program objects to be bound at once each to an individual rendering pipeline stage independently of other stage bindings. This allows program objects to contain only the shader stages that best suit the applications needs.
This extension introduces the program pipeline object that serves as a container for the program bound to any particular rendering stage. It can be bound, unbound, and rebound to simply save and restore the complete shader stage to program object bindings. Like framebuffer and vertex array objects, program pipeline objects are "container" objects that are not shared between contexts.
To bind a program object to a specific shader stage or set of stages, UseProgramStages is used. The VERTEX_SHADER_BIT, GEOMETRY_SHADER_BIT,
FRAGMENT_SHADER_BIT, TESS_CONTROL_SHADER_BIT, and TESS_EVALUATION_SHADER_BIT tokens refer to the conventional vertex, geometry, fragment,
tessellation control and tessellation evaluation stages respectively. ActiveShaderProgram specifies the program that Uniform* commands will update.
While ActiveShaderProgram allows the use of conventional Uniform* commands to update uniform variable values for separable program objects, this
extension provides a preferrable interface in a set of ProgramUniform* commands that update the same uniform variables but take a parameter indicating
the program object to be updated, rather than updating the currently active program object. These commands mirror those introduced in
EXT_direct_state_access.
While ActiveShaderProgram provides a selector for setting and querying uniform values of a program object, the glProgramUniform* commands provide a
selector-free way to modify uniforms of a GLSL program object without an explicit bind. This selector-free model reduces API overhead and provides a
cleaner interface for applications.
Separate linking creates the possibility that certain output varyings of a shader may go unread by the subsequent shader inputting varyings. In this case, the output varyings are simply ignored. It is also possible input varyings from a shader may not be written as output varyings of a preceding shader. In this case, the unwritten input varying values are undefined.
This extension builds on the proof-of-concept provided by EXT_separate_shader_objects which demonstrated that separate shader objects can work
for GLSL. EXT_separate_shader_objects was a response to repeated requests for this functionality from 3D developers.
This ARB version addresses several "loose ends" in the prior EXT extension. In particular, it allows user-defined varyings with explicitly defined locations or implicitly assigned locations.
This ARB extension extends the GLSL language's use of layout qualifiers to provide cross-stage interfacing.
Requires OpenGL 2. or ARB_shader_objects. Promoted to core in OpenGL 4..
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_ACTIVE_PROGRAM
Accepted by |
| public static final int | GL_ALL_SHADER_BITS
Accepted by |
| public static final int | GL_FRAGMENT_SHADER_BIT
Accepted by |
| public static final int | GL_GEOMETRY_SHADER_BIT
Accepted by |
| public static final int | GL_PROGRAM_PIPELINE_BINDING
Accepted by the |
| public static final int | GL_PROGRAM_SEPARABLE
Accepted by the |
| public static final int | GL_TESS_CONTROL_SHADER_BIT
Accepted by |
| public static final int | GL_TESS_EVALUATION_SHADER_BIT
Accepted by |
| public static final int | GL_VERTEX_SHADER_BIT
Accepted by |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description | |||||||
|---|---|---|---|---|---|---|---|---|
| public static void | glActiveShaderProgram(int
the program pipeline object to set the active program object for pipeline, int the program object to set as the active program pipeline object program)pipelineSets the active program object for a program pipeline object. | |||||||
| public static void | glBindProgramPipeline(int
the name of the pipeline object to bind to the context pipeline)Binds a program pipeline to the current context. | |||||||
| public static int | glCreateShaderProgramv(int
the type of shader to create type, PointerBuffer an array of pointers to source code strings from which to create the program object strings)Creates a stand-alone program from an array of null-terminated source code strings. | |||||||
| public static int | glCreateShaderProgramv(int
the type of shader to create type, CharSequence... an array of pointers to source code strings from which to create the program object strings)Creates a stand-alone program from an array of null-terminated source code strings. | |||||||
| public static int | glCreateShaderProgramv(int
the type of shader to create type, CharSequence string)Creates a stand-alone program from an array of null-terminated source code strings. | |||||||
| public static void | glDeleteProgramPipelines(IntBuffer
an array of names of program pipeline objects to delete pipelines)Deletes program pipeline objects. | |||||||
| public static void | ||||||||
| public static void | ||||||||
| public static void | glGenProgramPipelines(IntBuffer
an array of into which the reserved names will be written pipelines)Reserves program pipeline object names. | |||||||
| public static int | ||||||||
| public static void | ||||||||
| public static int | glGetProgramPipelinei(int
the name of a program pipeline object whose parameter retrieve pipeline, int the name of the parameter to retrieve. One of: pname)
Retrieves properties of a program pipeline object. | |||||||
| public static void | glGetProgramPipelineInfoLog(int
the name of a program pipeline object from which to retrieve the info log pipeline, IntBuffer a variable into which will be written the number of characters written into length, ByteBuffer infoLogan array of characters into which will be written the info log for infoLog)pipelineRetrieves the info log string from a program pipeline object. | |||||||
| public static String | glGetProgramPipelineInfoLog(int
the name of a program pipeline object from which to retrieve the info log pipeline, int the maximum number of characters, including the null terminator, that may be written into bufSize)infoLogRetrieves the info log string from a program pipeline object. | |||||||
| public static String | glGetProgramPipelineInfoLog(int
the name of a program pipeline object from which to retrieve the info log pipeline)Retrieves the info log string from a program pipeline object. | |||||||
| public static void | glGetProgramPipelineInfoLog(int pipeline, int[] length, ByteBuffer infoLog)
Array version of: | |||||||
| public static void | glGetProgramPipelineiv(int
the name of a program pipeline object whose parameter retrieve pipeline, int the name of the parameter to retrieve. One of: pname, IntBuffer
a variable into which will be written the value or values of params)pname for pipelineRetrieves properties of a program pipeline object. | |||||||
| public static void | ||||||||
| public static boolean | glIsProgramPipeline(int
a value that may be the name of a program pipeline object pipeline)Determines if a name corresponds to a program pipeline object. | |||||||
| public static void | glProgramParameteri(int
the name of a program object whose parameter to modify program, int the name of the parameter to modify. One of: pname, int
the new value of the parameter specified by value)pname for programSpecifies the integer value of a program object parameter. | |||||||
| public static void | glProgramUniform1d(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, double the uniform x value x)Specifies the value of a double uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform1dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, DoubleBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single double uniform variable or a double uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform1f(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, float the uniform x value x)Specifies the value of a float uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform1fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, FloatBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single float uniform variable or a float uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform1i(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x)Specifies the value of an int uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform1iv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single float uniform variable or a float uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform1ui(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x)Specifies the value of a uint uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform1uiv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single uint uniform variable or a uint uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform2d(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, double the uniform x value x, double the uniform y value y)Specifies the value of a dvec2 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform2dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, DoubleBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single dvec2 uniform variable or a dvec2 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform2f(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, float the uniform x value x, float the uniform y value y)Specifies the value of a vec2 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform2fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, FloatBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single vec2 uniform variable or a vec2 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform2i(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y)Specifies the value of an ivec2 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform2iv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single ivec2 uniform variable or an ivec2 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform2ui(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y)Specifies the value of a uvec2 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform2uiv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single uvec2 uniform variable or a uvec2 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform3d(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, double the uniform x value x, double the uniform y value y, double the uniform z value z)Specifies the value of a dvec3 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform3dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, DoubleBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single dvec3 uniform variable or a dvec3 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform3f(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, float the uniform x value x, float the uniform y value y, float the uniform z value z)Specifies the value of a vec3 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform3fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, FloatBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single vec3 uniform variable or a vec3 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform3i(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y, int the uniform z value z)Specifies the value of an ivec3 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform3iv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single ivec3 uniform variable or an ivec3 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform3ui(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y, int the uniform z value z)Specifies the value of a uvec3 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform3uiv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single uvec3 uniform variable or a uvec3 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform4d(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, double the uniform x value x, double the uniform y value y, double the uniform z value z, double the uniform w value w)Specifies the value of a dvec4 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform4dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, DoubleBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single dvec4 uniform variable or a dvec4 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform4f(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, float the uniform x value x, float the uniform y value y, float the uniform z value z, float the uniform w value w)Specifies the value of a vec4 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform4fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, FloatBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single vec4 uniform variable or a vec4 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform4i(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y, int the uniform z value z, int the uniform w value w)Specifies the value of an ivec4 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform4iv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single ivec4 uniform variable or an ivec4 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniform4ui(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, int the uniform x value x, int the uniform y value y, int the uniform z value z, int the uniform w value w)Specifies the value of a uvec4 uniform variable for a specified program object. | |||||||
| public static void | glProgramUniform4uiv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, IntBuffer an array of value)count values that will be used to update the specified uniform variableSpecifies the value of a single uvec4 uniform variable or a uvec4 uniform variable array for a specified program object. | |||||||
| public static void | ||||||||
| public static void | glProgramUniformMatrix2dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat2 uniform variable or a dmat2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix2fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat2 uniform variable or a mat2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix2x3dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat2x3 uniform variable or a dmat2x3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2x3dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix2x3fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat2x3 uniform variable or a mat2x3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2x3fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix2x4dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat2x4 uniform variable or a dmat2x4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2x4dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix2x4fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat2x4 uniform variable or a mat2x4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix2x4fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat3 uniform variable or a dmat3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat3 uniform variable or a mat3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3x2dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat3x2 uniform variable or a dmat3x2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3x2dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3x2fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat3x2 uniform variable or a mat3x2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3x2fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3x4dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat3x4 uniform variable or a dmat3x4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3x4dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix3x4fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat3x4 uniform variable or a mat3x4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix3x4fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat4 uniform variable or a dmat4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat4 uniform variable or a mat4 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4x2dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat4x2 uniform variable or a dmat4x2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4x2dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4x2fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat4x2 uniform variable or a mat4x2 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4x2fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4x3dv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, DoubleBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single dmat4x3 uniform variable or a dmat4x3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4x3dv(int program, int location, boolean transpose, double[] value)
Array version of: | |||||||
| public static void | glProgramUniformMatrix4x3fv(int
the handle of the program containing the uniform variable to be modified program, int the location of the uniform variable to be modified location, boolean whether to transpose the matrix as the values are loaded into the uniform variable transpose, FloatBuffer an array of value)count values that will be used to update the specified uniform matrix variableSpecifies the value of a single mat4x3 uniform variable or a mat4x3 uniform variable array for the current program object. | |||||||
| public static void | glProgramUniformMatrix4x3fv(int program, int location, boolean transpose, float[] value)
Array version of: | |||||||
| public static void | glUseProgramStages(int
the program pipeline object to which to bind stages from pipeline, int programa set of program stages to bind to the program pipeline object stages, int the program object containing the shader executables to use in program)pipelineBinds stages of a program object to a program pipeline. | |||||||
| public static void | glValidateProgramPipeline(int
the name of a program pipeline object to validate pipeline)Validates a program pipeline object against current GL state. | |||||||
| public static int | nglCreateShaderProgramv(int type, int
the number of source code strings in the array count, long strings)stringsUnsafe version of: | |||||||
| public static void | nglDeleteProgramPipelines(int
the number of program pipeline objects to delete n, long pipelines)Unsafe version of: | |||||||
| public static void | nglGenProgramPipelines(int
the number of program pipeline object names to reserve n, long pipelines)Unsafe version of: | |||||||
| public static void | nglGetProgramPipelineInfoLog(int pipeline, int
the maximum number of characters, including the null terminator, that may be written into bufSize, long length, long infoLog)infoLogUnsafe version of: | |||||||
| public static void | nglGetProgramPipelineiv(int pipeline, int pname, long params)
Unsafe version of: | |||||||
| public static void | nglProgramUniform1dv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform1fv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform1iv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform1uiv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform2dv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform2fv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform2iv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform2uiv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform3dv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform3fv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform3iv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform3uiv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform4dv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform4fv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform4iv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniform4uiv(int program, int location, int
the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. count, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2x3dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2x3fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2x4dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix2x4fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3x2dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3x2fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3x4dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix3x4fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4x2dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4x2fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4x3dv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: | |||||||
| public static void | nglProgramUniformMatrix4x3fv(int program, int location, int
the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. count, boolean transpose, long value)Unsafe version of: |