public class ARBShaderObjects
extends java.lang.Object
This extension adds API calls that are necessary to manage shader objects and program objects as defined in the OpenGL 2.0 white papers by 3Dlabs.
The generation of an executable that runs on one of OpenGL's programmable units is modeled to that of developing a typical C/C++ application. There are one or more source files, each of which are stored by OpenGL in a shader object. Each shader object (source file) needs to be compiled and attached to a program object. Once all shader objects are compiled successfully, the program object needs to be linked to produce an executable. This executable is part of the program object, and can now be loaded onto the programmable units to make it part of the current OpenGL state. Both the compile and link stages generate a text string that can be queried to get more information. This information could be, but is not limited to, compile errors, link errors, optimization hints, etc. Values for uniform variables, declared in a shader, can be set by the application and used to control a shader's behavior.
This extension defines functions for creating shader objects and program objects, for compiling shader objects, for linking program objects, for attaching shader objects to program objects, and for using a program object as part of current state. Functions to load uniform values are also defined. Some house keeping functions, like deleting an object and querying object state, are also provided.
Although this extension defines the API for creating shader objects, it does not define any specific types of shader objects. It is assumed that this
extension will be implemented along with at least one such additional extension for creating a specific type of OpenGL 2.0 shader (e.g., the
ARB_fragment_shader extension or the ARB_vertex_shader extension).
Promoted to core in OpenGL 2.0.
| Modifier and Type | Field and Description |
|---|---|
static int |
GL_BOOL_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_BOOL_VEC2_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_BOOL_VEC3_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_BOOL_VEC4_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_MAT2_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_MAT3_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_MAT4_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_VEC2_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_VEC3_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_FLOAT_VEC4_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_INT_VEC2_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_INT_VEC3_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_INT_VEC4_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_ACTIVE_UNIFORMS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_ATTACHED_OBJECTS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_COMPILE_STATUS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_DELETE_STATUS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_INFO_LOG_LENGTH_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_LINK_STATUS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_SHADER_SOURCE_LENGTH_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_SUBTYPE_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_TYPE_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_OBJECT_VALIDATE_STATUS_ARB
Accepted by the
pname parameter of GetObjectParameter{fi}vARB. |
static int |
GL_PROGRAM_OBJECT_ARB
Accepted by the
pname argument of GetHandleARB. |
static int |
GL_SAMPLER_1D_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_1D_SHADOW_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_2D_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_2D_RECT_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_2D_RECT_SHADOW_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_2D_SHADOW_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_3D_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SAMPLER_CUBE_ARB
Returned by the
type parameter of GetActiveUniformARB. |
static int |
GL_SHADER_OBJECT_ARB
Returned by the
params parameter of GetObjectParameter{fi}vARB. |
| Modifier and Type | Method and Description |
|---|---|
static void |
glAttachObjectARB(int containerObj,
int obj)
Attaches an object to a container object.
|
static void |
glCompileShaderARB(int shaderObj)
Compiles a shader object.
|
static int |
glCreateProgramObjectARB()
Creates a program object.
|
static int |
glCreateShaderObjectARB(int shaderType)
Creates a shader object.
|
static void |
glDeleteObjectARB(int obj)
Either deletes the object, or flags it for deletion.
|
static void |
glDetachObjectARB(int containerObj,
int attachedObj)
Detaches an object from the container object it is attached to.
|
static void |
glGetActiveUniformARB(int programObj,
int index,
int[] length,
int[] size,
int[] type,
java.nio.ByteBuffer name)
Array version of:
GetActiveUniformARB |
static java.lang.String |
glGetActiveUniformARB(int programObj,
int index,
java.nio.IntBuffer size,
java.nio.IntBuffer type)
Determines which of the declared uniform variables are active and their sizes and types.
|
static void |
glGetActiveUniformARB(int programObj,
int index,
java.nio.IntBuffer length,
java.nio.IntBuffer size,
java.nio.IntBuffer type,
java.nio.ByteBuffer name)
Determines which of the declared uniform variables are active and their sizes and types.
|
static java.lang.String |
glGetActiveUniformARB(int programObj,
int index,
int maxLength,
java.nio.IntBuffer size,
java.nio.IntBuffer type)
Determines which of the declared uniform variables are active and their sizes and types.
|
static void |
glGetAttachedObjectsARB(int containerObj,
int[] count,
int[] obj)
Array version of:
GetAttachedObjectsARB |
static void |
glGetAttachedObjectsARB(int containerObj,
java.nio.IntBuffer count,
java.nio.IntBuffer obj)
Returns the handles of objects attached to
containerObj in obj. |
static int |
glGetHandleARB(int pname)
Returns the handle to an object that is in use as part of current state.
|
static java.lang.String |
glGetInfoLogARB(int obj)
A string that contains information about the last link or validation attempt and last compilation attempt are kept per program or shader object.
|
static java.lang.String |
glGetInfoLogARB(int obj,
int maxLength)
A string that contains information about the last link or validation attempt and last compilation attempt are kept per program or shader object.
|
static void |
glGetInfoLogARB(int obj,
int[] length,
java.nio.ByteBuffer infoLog)
Array version of:
GetInfoLogARB |
static void |
glGetInfoLogARB(int obj,
java.nio.IntBuffer length,
java.nio.ByteBuffer infoLog)
A string that contains information about the last link or validation attempt and last compilation attempt are kept per program or shader object.
|
static void |
glGetObjectParameterfvARB(int obj,
int pname,
float[] params)
Array version of:
GetObjectParameterfvARB |
static void |
glGetObjectParameterfvARB(int obj,
int pname,
java.nio.FloatBuffer params)
Returns object specific parameter values.
|
static int |
glGetObjectParameteriARB(int obj,
int pname)
Returns object specific parameter values.
|
static void |
glGetObjectParameterivARB(int obj,
int pname,
int[] params)
Array version of:
GetObjectParameterivARB |
static void |
glGetObjectParameterivARB(int obj,
int pname,
java.nio.IntBuffer params)
Returns object specific parameter values.
|
static java.lang.String |
glGetShaderSourceARB(int obj)
Returns the string making up the source code for a shader object.
|
static java.lang.String |
glGetShaderSourceARB(int obj,
int maxLength)
Returns the string making up the source code for a shader object.
|
static void |
glGetShaderSourceARB(int obj,
int[] length,
java.nio.ByteBuffer source)
Array version of:
GetShaderSourceARB |
static void |
glGetShaderSourceARB(int obj,
java.nio.IntBuffer length,
java.nio.ByteBuffer source)
Returns the string making up the source code for a shader object.
|
static float |
glGetUniformfARB(int programObj,
int location)
Returns the floating-point value or values of a uniform.
|
static void |
glGetUniformfvARB(int programObj,
int location,
float[] params)
Array version of:
GetUniformfvARB |
static void |
glGetUniformfvARB(int programObj,
int location,
java.nio.FloatBuffer params)
Returns the floating-point value or values of a uniform.
|
static int |
glGetUniformiARB(int programObj,
int location)
Returns the integer value or values of a uniform.
|
static void |
glGetUniformivARB(int programObj,
int location,
int[] params)
Array version of:
GetUniformivARB |
static void |
glGetUniformivARB(int programObj,
int location,
java.nio.IntBuffer params)
Returns the integer value or values of a uniform.
|
static int |
glGetUniformLocationARB(int programObj,
java.nio.ByteBuffer name)
Returns the location of uniform variable
name. |
static int |
glGetUniformLocationARB(int programObj,
java.lang.CharSequence name)
Returns the location of uniform variable
name. |
static void |
glLinkProgramARB(int programObj)
Links a program object.
|
static void |
glShaderSourceARB(int shaderObj,
java.lang.CharSequence... string)
Sets the source code for the specified shader object
shaderObj to the text strings in the string array. |
static void |
glShaderSourceARB(int shaderObj,
java.lang.CharSequence string)
Sets the source code for the specified shader object
shaderObj to the text strings in the string array. |
static void |
glShaderSourceARB(int shaderObj,
org.lwjgl.PointerBuffer string,
int[] length)
Array version of:
ShaderSourceARB |
static void |
glShaderSourceARB(int shaderObj,
org.lwjgl.PointerBuffer string,
java.nio.IntBuffer length)
Sets the source code for the specified shader object
shaderObj to the text strings in the string array. |
static void |
glUniform1fARB(int location,
float v0)
float version of
Uniform4fARB. |
static void |
glUniform1fvARB(int location,
float[] value)
Array version of:
Uniform1fvARB |
static void |
glUniform1fvARB(int location,
java.nio.FloatBuffer value)
Loads floating-point values
count times into a uniform location defined as an array of float values. |
static void |
glUniform1iARB(int location,
int v0)
int version of
Uniform1fARB. |
static void |
glUniform1ivARB(int location,
int[] value)
Array version of:
Uniform1ivARB |
static void |
glUniform1ivARB(int location,
java.nio.IntBuffer value)
Loads integer values
count times into a uniform location defined as an array of integer values. |
static void |
glUniform2fARB(int location,
float v0,
float v1)
vec2 version of
Uniform4fARB. |
static void |
glUniform2fvARB(int location,
float[] value)
Array version of:
Uniform2fvARB |
static void |
glUniform2fvARB(int location,
java.nio.FloatBuffer value)
Loads floating-point values
count times into a uniform location defined as an array of vec2 vectors. |
static void |
glUniform2iARB(int location,
int v0,
int v1)
ivec2 version of
Uniform2fARB. |
static void |
glUniform2ivARB(int location,
int[] value)
Array version of:
Uniform2ivARB |
static void |
glUniform2ivARB(int location,
java.nio.IntBuffer value)
Loads integer values
count times into a uniform location defined as an array of ivec2 vectors. |
static void |
glUniform3fARB(int location,
float v0,
float v1,
float v2)
vec3 version of
Uniform4fARB. |
static void |
glUniform3fvARB(int location,
float[] value)
Array version of:
Uniform3fvARB |
static void |
glUniform3fvARB(int location,
java.nio.FloatBuffer value)
Loads floating-point values
count times into a uniform location defined as an array of vec3 vectors. |
static void |
glUniform3iARB(int location,
int v0,
int v1,
int v2)
ivec3 version of
Uniform3fARB. |
static void |
glUniform3ivARB(int location,
int[] value)
Array version of:
Uniform3ivARB |
static void |
glUniform3ivARB(int location,
java.nio.IntBuffer value)
Loads integer values
count times into a uniform location defined as an array of ivec3 vectors. |
static void |
glUniform4fARB(int location,
float v0,
float v1,
float v2,
float v3)
Loads a vec4 value into a uniform variable of the program object that is currently in use.
|
static void |
glUniform4fvARB(int location,
float[] value)
Array version of:
Uniform4fvARB |
static void |
glUniform4fvARB(int location,
java.nio.FloatBuffer value)
Loads floating-point values
count times into a uniform location defined as an array of vec4 vectors. |
static void |
glUniform4iARB(int location,
int v0,
int v1,
int v2,
int v3)
ivec4 version of
Uniform4fARB. |
static void |
glUniform4ivARB(int location,
int[] value)
Array version of:
Uniform4ivARB |
static void |
glUniform4ivARB(int location,
java.nio.IntBuffer value)
Loads integer values
count times into a uniform location defined as an array of ivec4 vectors. |
static void |
glUniformMatrix2fvARB(int location,
boolean transpose,
float[] value)
Array version of:
UniformMatrix2fvARB |
static void |
glUniformMatrix2fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
Loads a 2x2 matrix of floating-point values
count times into a uniform location defined as a matrix or an array of matrices. |
static void |
glUniformMatrix3fvARB(int location,
boolean transpose,
float[] value)
Array version of:
UniformMatrix3fvARB |
static void |
glUniformMatrix3fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
Loads a 3x3 matrix of floating-point values
count times into a uniform location defined as a matrix or an array of matrices. |
static void |
glUniformMatrix4fvARB(int location,
boolean transpose,
float[] value)
Array version of:
UniformMatrix4fvARB |
static void |
glUniformMatrix4fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
Loads a 4x4 matrix of floating-point values
count times into a uniform location defined as a matrix or an array of matrices. |
static void |
glUseProgramObjectARB(int programObj)
Installs the executable code as part of current rendering state if the program object
programObj contains valid executable code, i.e. |
static void |
glValidateProgramARB(int programObj)
Validates the program object
programObj against the GL state at that moment. |
static void |
nglGetActiveUniformARB(int programObj,
int index,
int maxLength,
long length,
long size,
long type,
long name)
Unsafe version of:
GetActiveUniformARB |
static void |
nglGetAttachedObjectsARB(int containerObj,
int maxCount,
long count,
long obj)
Unsafe version of:
GetAttachedObjectsARB |
static void |
nglGetInfoLogARB(int obj,
int maxLength,
long length,
long infoLog)
Unsafe version of:
GetInfoLogARB |
static void |
nglGetObjectParameterfvARB(int obj,
int pname,
long params)
Unsafe version of:
GetObjectParameterfvARB |
static void |
nglGetObjectParameterivARB(int obj,
int pname,
long params)
Unsafe version of:
GetObjectParameterivARB |
static void |
nglGetShaderSourceARB(int obj,
int maxLength,
long length,
long source)
Unsafe version of:
GetShaderSourceARB |
static void |
nglGetUniformfvARB(int programObj,
int location,
long params)
Unsafe version of:
GetUniformfvARB |
static void |
nglGetUniformivARB(int programObj,
int location,
long params)
Unsafe version of:
GetUniformivARB |
static int |
nglGetUniformLocationARB(int programObj,
long name)
Unsafe version of:
GetUniformLocationARB |
static void |
nglShaderSourceARB(int shaderObj,
int count,
long string,
long length)
Unsafe version of:
ShaderSourceARB |
static void |
nglUniform1fvARB(int location,
int count,
long value)
Unsafe version of:
Uniform1fvARB |
static void |
nglUniform1ivARB(int location,
int count,
long value)
Unsafe version of:
Uniform1ivARB |
static void |
nglUniform2fvARB(int location,
int count,
long value)
Unsafe version of:
Uniform2fvARB |
static void |
nglUniform2ivARB(int location,
int count,
long value)
Unsafe version of:
Uniform2ivARB |
static void |
nglUniform3fvARB(int location,
int count,
long value)
Unsafe version of:
Uniform3fvARB |
static void |
nglUniform3ivARB(int location,
int count,
long value)
Unsafe version of:
Uniform3ivARB |
static void |
nglUniform4fvARB(int location,
int count,
long value)
Unsafe version of:
Uniform4fvARB |
static void |
nglUniform4ivARB(int location,
int count,
long value)
Unsafe version of:
Uniform4ivARB |
static void |
nglUniformMatrix2fvARB(int location,
int count,
boolean transpose,
long value)
Unsafe version of:
UniformMatrix2fvARB |
static void |
nglUniformMatrix3fvARB(int location,
int count,
boolean transpose,
long value)
Unsafe version of:
UniformMatrix3fvARB |
static void |
nglUniformMatrix4fvARB(int location,
int count,
boolean transpose,
long value)
Unsafe version of:
UniformMatrix4fvARB |
public static final int GL_PROGRAM_OBJECT_ARB
pname argument of GetHandleARB.public static final int GL_OBJECT_TYPE_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_SUBTYPE_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_DELETE_STATUS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_COMPILE_STATUS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_LINK_STATUS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_VALIDATE_STATUS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_INFO_LOG_LENGTH_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_ATTACHED_OBJECTS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_ACTIVE_UNIFORMS_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB
pname parameter of GetObjectParameter{fi}vARB.public static final int GL_SHADER_OBJECT_ARB
params parameter of GetObjectParameter{fi}vARB.public static final int GL_FLOAT_VEC2_ARB
type parameter of GetActiveUniformARB.public static final int GL_FLOAT_VEC3_ARB
type parameter of GetActiveUniformARB.public static final int GL_FLOAT_VEC4_ARB
type parameter of GetActiveUniformARB.public static final int GL_INT_VEC2_ARB
type parameter of GetActiveUniformARB.public static final int GL_INT_VEC3_ARB
type parameter of GetActiveUniformARB.public static final int GL_INT_VEC4_ARB
type parameter of GetActiveUniformARB.public static final int GL_BOOL_ARB
type parameter of GetActiveUniformARB.public static final int GL_BOOL_VEC2_ARB
type parameter of GetActiveUniformARB.public static final int GL_BOOL_VEC3_ARB
type parameter of GetActiveUniformARB.public static final int GL_BOOL_VEC4_ARB
type parameter of GetActiveUniformARB.public static final int GL_FLOAT_MAT2_ARB
type parameter of GetActiveUniformARB.public static final int GL_FLOAT_MAT3_ARB
type parameter of GetActiveUniformARB.public static final int GL_FLOAT_MAT4_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_1D_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_2D_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_3D_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_CUBE_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_1D_SHADOW_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_2D_SHADOW_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_2D_RECT_ARB
type parameter of GetActiveUniformARB.public static final int GL_SAMPLER_2D_RECT_SHADOW_ARB
type parameter of GetActiveUniformARB.public static void glDeleteObjectARB(int obj)
If an object is flagged for deletion, its Boolean status bit OBJECT_DELETE_STATUS_ARB is set to true.
DeleteObjectARB will silently ignore the value zero.
When a container object is deleted, it will detach each attached object as part of the deletion process. When an object is deleted, all information for the object referenced is lost. The data for the object is also deleted.
obj - the shader object to deletepublic static int glGetHandleARB(int pname)
pname - the state item for which the current object is to be returned. Must be:PROGRAM_OBJECT_ARB |
public static void glDetachObjectARB(int containerObj,
int attachedObj)
containerObj - the container objectattachedObj - the object to detachpublic static int glCreateShaderObjectARB(int shaderType)
shaderType - the type of the shader object to be created. One of:VERTEX_SHADER_ARB | FRAGMENT_SHADER_ARB |
public static void nglShaderSourceARB(int shaderObj,
int count,
long string,
long length)
ShaderSourceARBcount - the number of strings in the arraypublic static void glShaderSourceARB(int shaderObj,
org.lwjgl.PointerBuffer string,
@Nullable
java.nio.IntBuffer length)
shaderObj to the text strings in the string array. If the object previously had
source code loaded into it, it is completely replaced.
The strings that are loaded into a shader object are expected to form the source code for a valid shader as defined in the OpenGL Shading Language Specification.
shaderObj - the shader objectstring - an array of pointers to one or more, optionally null terminated, character strings that make up the source codelength - an array with the number of charARBs in each string (the string length). Each element in this array can be set to negative one (or smaller),
indicating that its accompanying string is null terminated. If length is set to NULL, all strings in the string argument are
considered null terminated.public static void glShaderSourceARB(int shaderObj,
java.lang.CharSequence... string)
shaderObj to the text strings in the string array. If the object previously had
source code loaded into it, it is completely replaced.
The strings that are loaded into a shader object are expected to form the source code for a valid shader as defined in the OpenGL Shading Language Specification.
shaderObj - the shader objectstring - an array of pointers to one or more, optionally null terminated, character strings that make up the source codepublic static void glShaderSourceARB(int shaderObj,
java.lang.CharSequence string)
shaderObj to the text strings in the string array. If the object previously had
source code loaded into it, it is completely replaced.
The strings that are loaded into a shader object are expected to form the source code for a valid shader as defined in the OpenGL Shading Language Specification.
shaderObj - the shader objectstring - an array of pointers to one or more, optionally null terminated, character strings that make up the source codepublic static void glCompileShaderARB(int shaderObj)
OBJECT_COMPILE_STATUS_ARB, that is modified as a result of compilation. This status
can be queried with GetObjectParameterivARB. This status will be set to TRUE if the shader shaderObj was compiled without errors and is
ready for use, and FALSE otherwise. Compilation can fail for a variety of reasons as listed in the OpenGL Shading Language Specification. If
CompileShaderARB failed, any information about a previous compile is lost and is not restored. Thus a failed compile does not restore the old state of
shaderObj. If shaderObj does not reference a shader object, the error INVALID_OPERATION is generated.
Note that changing the source code of a shader object, through ShaderSourceARB, does not change its compile status OBJECT_COMPILE_STATUS_ARB.
Each shader object has an information log that is modified as a result of compilation. This information log can be queried with GetInfoLogARB to
obtain more information about the compilation attempt.
shaderObj - the shader object to compilepublic static int glCreateProgramObjectARB()
A program object is a container object. Shader objects are attached to a program object with the command AttachObjectARB. It is permissible to attach shader objects to program objects before source code has been loaded into the shader object, or before the shader object has been compiled. It is permissible to attach multiple shader objects of the same type to a single program object, and it is permissible to attach a shader object to more than one program object.
public static void glAttachObjectARB(int containerObj,
int obj)
containerObj - the container objectobj - the object to attachpublic static void glLinkProgramARB(int programObj)
Each program object has a Boolean status, OBJECT_LINK_STATUS_ARB, that is modified as a result of linking. This status can be queried with
GetObjectParameterivARB. This status will be set to TRUE if a valid executable is created, and FALSE otherwise. Linking can fail for a
variety of reasons as specified in the OpenGL Shading Language Specification. Linking will also fail if one or more of the shader objects, attached to
programObj, are not compiled successfully, or if more active uniform or active sampler variables are used in programObj than allowed.
If LinkProgramARB failed, any information about a previous link is lost and is not restored. Thus a failed link does not restore the old state of
programObj. If programObj is not of type PROGRAM_OBJECT_ARB, the error INVALID_OPERATION is generated.
Each program object has an information log that is modified as a result of a link operation. This information log can be queried with GetInfoLogARB
to obtain more information about the link operation.
programObj - the program object to linkpublic static void glUseProgramObjectARB(int programObj)
programObj contains valid executable code, i.e. has been
linked successfully. If UseProgramObjectARB is called with the handle set to 0, it is as if the GL had no programmable stages and the fixed
functionality paths will be used instead. If programObj cannot be made part of the current rendering state, an INVALID_OPERATION error will
be generated and the current rendering state left unmodified. This error will be set, for example, if programObj has not been linked
successfully. If programObj is not of type PROGRAM_OBJECT_ARB, the error INVALID_OPERATION is generated.
While a program object is in use, applications are free to modify attached shader objects, compile attached shader objects, attach additional shader
objects, and detach shader objects. This does not affect the link status OBJECT_LINK_STATUS_ARB of the program object. This does not affect the
executable code that is part of the current state either. That executable code is only affected when the program object has been re-linked successfully.
After such a successful re-link, the LinkProgramARB command will install the generated executable code as part of the current rendering state if the
specified program object was already in use as a result of a previous call to UseProgramObjectARB. If this re-link failed, then the executable code part
of the current state does not change.
programObj - the program object to usepublic static void glValidateProgramARB(int programObj)
programObj against the GL state at that moment. Each program object has a Boolean status,
OBJECT_VALIDATE_STATUS_ARB, that is modified as a result of validation. This status can be queried with GetObjectParameterivARB. If validation
succeeded this status will be set to TRUE, otherwise it will be set to FALSE. If validation succeeded the program object is guaranteed to
execute, given the current GL state. If validation failed, the program object is guaranteed to not execute, given the current GL state. If
programObj is not of type PROGRAM_OBJECT_ARB, the error INVALID_OPERATION is generated.
ValidateProgramARB will validate at least as much as is done when a rendering command is issued, and it could validate more. For example, it could give a hint on how to optimize some piece of shader code.
ValidateProgramARB will store its information in the info log. This information will either be an empty string or it will contain validation information.
ValidateProgramARB is typically only useful during application development. An application should not expect different OpenGL implementations to produce identical information.
programObj - the program object to validatepublic static void glUniform1fARB(int location,
float v0)
Uniform4fARB.location - the uniform variable locationv0 - the uniform x valuepublic static void glUniform2fARB(int location,
float v0,
float v1)
Uniform4fARB.location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuepublic static void glUniform3fARB(int location,
float v0,
float v1,
float v2)
Uniform4fARB.location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuev2 - the uniform z valuepublic static void glUniform4fARB(int location,
float v0,
float v1,
float v2,
float v3)
location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuev2 - the uniform z valuev3 - the uniform w valuepublic static void glUniform1iARB(int location,
int v0)
Uniform1fARB.location - the uniform variable locationv0 - the uniform x valuepublic static void glUniform2iARB(int location,
int v0,
int v1)
Uniform2fARB.location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuepublic static void glUniform3iARB(int location,
int v0,
int v1,
int v2)
Uniform3fARB.location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuev2 - the uniform z valuepublic static void glUniform4iARB(int location,
int v0,
int v1,
int v2,
int v3)
Uniform4fARB.location - the uniform variable locationv0 - the uniform x valuev1 - the uniform y valuev2 - the uniform z valuev3 - the uniform w valuepublic static void nglUniform1fvARB(int location,
int count,
long value)
Uniform1fvARBcount - the number of float values to loadpublic static void glUniform1fvARB(int location,
java.nio.FloatBuffer value)
count times into a uniform location defined as an array of float values.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform2fvARB(int location,
int count,
long value)
Uniform2fvARBcount - the number of vec2 vectors to loadpublic static void glUniform2fvARB(int location,
java.nio.FloatBuffer value)
count times into a uniform location defined as an array of vec2 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform3fvARB(int location,
int count,
long value)
Uniform3fvARBcount - the number of vec3 vectors to loadpublic static void glUniform3fvARB(int location,
java.nio.FloatBuffer value)
count times into a uniform location defined as an array of vec3 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform4fvARB(int location,
int count,
long value)
Uniform4fvARBcount - the number of vec4 vectors to loadpublic static void glUniform4fvARB(int location,
java.nio.FloatBuffer value)
count times into a uniform location defined as an array of vec4 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform1ivARB(int location,
int count,
long value)
Uniform1ivARBcount - the number of integer values to loadpublic static void glUniform1ivARB(int location,
java.nio.IntBuffer value)
count times into a uniform location defined as an array of integer values.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform2ivARB(int location,
int count,
long value)
Uniform2ivARBcount - the number of ivec2 vectors to loadpublic static void glUniform2ivARB(int location,
java.nio.IntBuffer value)
count times into a uniform location defined as an array of ivec2 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform3ivARB(int location,
int count,
long value)
Uniform3ivARBcount - the number of ivec3 vectors to loadpublic static void glUniform3ivARB(int location,
java.nio.IntBuffer value)
count times into a uniform location defined as an array of ivec3 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniform4ivARB(int location,
int count,
long value)
Uniform4ivARBcount - the number of ivec4 vectors to loadpublic static void glUniform4ivARB(int location,
java.nio.IntBuffer value)
count times into a uniform location defined as an array of ivec4 vectors.location - the uniform variable locationvalue - the values to loadpublic static void nglUniformMatrix2fvARB(int location,
int count,
boolean transpose,
long value)
UniformMatrix2fvARBcount - the number of 2x2 matrices to loadpublic static void glUniformMatrix2fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
count times into a uniform location defined as a matrix or an array of matrices.location - the uniform variable locationtranspose - if FALSE, the matrix is specified in column major order, otherwise in row major ordervalue - the matrix values to loadpublic static void nglUniformMatrix3fvARB(int location,
int count,
boolean transpose,
long value)
UniformMatrix3fvARBcount - the number of 3x3 matrices to loadpublic static void glUniformMatrix3fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
count times into a uniform location defined as a matrix or an array of matrices.location - the uniform variable locationtranspose - if FALSE, the matrix is specified in column major order, otherwise in row major ordervalue - the matrix values to loadpublic static void nglUniformMatrix4fvARB(int location,
int count,
boolean transpose,
long value)
UniformMatrix4fvARBcount - the number of 4x4 matrices to loadpublic static void glUniformMatrix4fvARB(int location,
boolean transpose,
java.nio.FloatBuffer value)
count times into a uniform location defined as a matrix or an array of matrices.location - the uniform variable locationtranspose - if FALSE, the matrix is specified in column major order, otherwise in row major ordervalue - the matrix values to loadpublic static void nglGetObjectParameterfvARB(int obj,
int pname,
long params)
GetObjectParameterfvARBpublic static void glGetObjectParameterfvARB(int obj,
int pname,
java.nio.FloatBuffer params)
obj - the object to querypname - the parameter to queryparams - a buffer in which to return the parameter valuepublic static void nglGetObjectParameterivARB(int obj,
int pname,
long params)
GetObjectParameterivARBpublic static void glGetObjectParameterivARB(int obj,
int pname,
java.nio.IntBuffer params)
obj - the object to querypname - the parameter to query. One of:params - a buffer in which to return the parameter valuepublic static int glGetObjectParameteriARB(int obj,
int pname)
obj - the object to querypname - the parameter to query. One of:public static void nglGetInfoLogARB(int obj,
int maxLength,
long length,
long infoLog)
GetInfoLogARBmaxLength - the maximum number of characters the GL is allowed to write into infoLogpublic static void glGetInfoLogARB(int obj,
@Nullable
java.nio.IntBuffer length,
java.nio.ByteBuffer infoLog)
This string will be null terminated. The number of characters in the info log is given by OBJECT_INFO_LOG_LENGTH_ARB, which can be queried with
GetObjectParameterivARB. If obj is a shader object, the returned info log will either be an empty string or it will contain
information about the last compilation attempt for that object. If obj is a program object, the returned info log will either be an empty string
or it will contain information about the last link attempt or last validation attempt for that object. If obj is not of type PROGRAM_OBJECT_ARB
or SHADER_OBJECT_ARB, the error INVALID_OPERATION is generated. If an error occurred, the return parameters length and infoLog
will be unmodified.
The info log is typically only useful during application development and an application should not expect different OpenGL implementations to produce identical info logs.
obj - the shader object to querylength - the actual number of characters written by the GL into infoLog is returned in length, excluding the null termination. If
length is NULL then the GL ignores this parameter.infoLog - a buffer in which to return the info logpublic static java.lang.String glGetInfoLogARB(int obj,
int maxLength)
This string will be null terminated. The number of characters in the info log is given by OBJECT_INFO_LOG_LENGTH_ARB, which can be queried with
GetObjectParameterivARB. If obj is a shader object, the returned info log will either be an empty string or it will contain
information about the last compilation attempt for that object. If obj is a program object, the returned info log will either be an empty string
or it will contain information about the last link attempt or last validation attempt for that object. If obj is not of type PROGRAM_OBJECT_ARB
or SHADER_OBJECT_ARB, the error INVALID_OPERATION is generated. If an error occurred, the return parameters length and infoLog
will be unmodified.
The info log is typically only useful during application development and an application should not expect different OpenGL implementations to produce identical info logs.
obj - the shader object to querymaxLength - the maximum number of characters the GL is allowed to write into infoLogpublic static java.lang.String glGetInfoLogARB(int obj)
This string will be null terminated. The number of characters in the info log is given by OBJECT_INFO_LOG_LENGTH_ARB, which can be queried with
GetObjectParameterivARB. If obj is a shader object, the returned info log will either be an empty string or it will contain
information about the last compilation attempt for that object. If obj is a program object, the returned info log will either be an empty string
or it will contain information about the last link attempt or last validation attempt for that object. If obj is not of type PROGRAM_OBJECT_ARB
or SHADER_OBJECT_ARB, the error INVALID_OPERATION is generated. If an error occurred, the return parameters length and infoLog
will be unmodified.
The info log is typically only useful during application development and an application should not expect different OpenGL implementations to produce identical info logs.
obj - the shader object to querypublic static void nglGetAttachedObjectsARB(int containerObj,
int maxCount,
long count,
long obj)
GetAttachedObjectsARBmaxCount - the maximum number of handles the GL is allowed to write into objpublic static void glGetAttachedObjectsARB(int containerObj,
@Nullable
java.nio.IntBuffer count,
java.nio.IntBuffer obj)
containerObj in obj. . The number of objects attached to containerObj is given by
OBJECT_ATTACHED_OBJECTS_ARB, which can be queried with GetObjectParameterivARB. If containerObj is not of type PROGRAM_OBJECT_ARB, the
error INVALID_OPERATION is generated. If an error occurred, the return parameters count and obj will be unmodified.containerObj - the container object to querycount - a buffer in which to return the actual number of object handles written by the GL into obj. If NULL then the GL ignores this parameter.obj - a buffer in which to return the attached object handlespublic static int nglGetUniformLocationARB(int programObj,
long name)
GetUniformLocationARBpublic static int glGetUniformLocationARB(int programObj,
java.nio.ByteBuffer name)
name. name has to be a null terminated string, without white space. The value of -1 will be
returned if name does not correspond to an active uniform variable name in programObj or if name starts with the reserved prefix
"gl_". If programObj has not been successfully linked, or if programObj is not of type PROGRAM_OBJECT_ARB, the error
INVALID_OPERATION is generated. The location of a uniform variable does not change until the next link command is issued.
A valid name cannot be a structure, an array of structures, or a subcomponent of a vector or a matrix. In order to identify a valid name,
the "." (dot) and "[]" operators can be used in name to operate on a structure or to operate on an array.
The first element of a uniform array is identified using the name of the uniform array appended with "[0]". Except if the last part of the string
name indicates a uniform array, then the location of the first element of that array can be retrieved by either using the name of the uniform
array, or the name of the uniform array appended with "[0]".
programObj - the program object to queryname - the name of the uniform variable whose location is to be queriedpublic static int glGetUniformLocationARB(int programObj,
java.lang.CharSequence name)
name. name has to be a null terminated string, without white space. The value of -1 will be
returned if name does not correspond to an active uniform variable name in programObj or if name starts with the reserved prefix
"gl_". If programObj has not been successfully linked, or if programObj is not of type PROGRAM_OBJECT_ARB, the error
INVALID_OPERATION is generated. The location of a uniform variable does not change until the next link command is issued.
A valid name cannot be a structure, an array of structures, or a subcomponent of a vector or a matrix. In order to identify a valid name,
the "." (dot) and "[]" operators can be used in name to operate on a structure or to operate on an array.
The first element of a uniform array is identified using the name of the uniform array appended with "[0]". Except if the last part of the string
name indicates a uniform array, then the location of the first element of that array can be retrieved by either using the name of the uniform
array, or the name of the uniform array appended with "[0]".
programObj - the program object to queryname - the name of the uniform variable whose location is to be queriedpublic static void nglGetActiveUniformARB(int programObj,
int index,
int maxLength,
long length,
long size,
long type,
long name)
GetActiveUniformARBmaxLength - the maximum number of characters the GL is allowed to write into name.public static void glGetActiveUniformARB(int programObj,
int index,
@Nullable
java.nio.IntBuffer length,
java.nio.IntBuffer size,
java.nio.IntBuffer type,
java.nio.ByteBuffer name)
This command provides information about the uniform selected by index. The index of 0 selects the first active uniform, and
index of OBJECT_ACTIVE_UNIFORMS_ARB - 1 selects the last active uniform. The value of OBJECT_ACTIVE_UNIFORMS_ARB can be queried with
GetObjectParameterivARB. If index is greater than or equal to OBJECT_ACTIVE_UNIFORMS_ARB, the error INVALID_VALUE is generated.
If an error occurred, the return parameters length, size, type and name will be unmodified.
The returned uniform name can be the name of built-in uniform state as well. The length of the longest uniform name in programObj is given by
OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, which can be queried with GetObjectParameterivARB.
Each uniform variable, declared in a shader, is broken down into one or more strings using the "." (dot) and "[]" operators, if necessary, to the point
that it is legal to pass each string back into GetUniformLocationARB. Each of these strings constitutes one active uniform, and each string is
assigned an index.
If one or more elements of an array are active, GetActiveUniformARB will return the name of the array in name, subject to the restrictions
listed above. The type of the array is returned in type. The size parameter contains the highest array element index used, plus one. The
compiler or linker determines the highest index used. There will be only one active uniform reported by the GL per uniform array.
This command will return as much information about active uniforms as possible. If no information is available, length will be set to zero and
name will be an empty string. This situation could arise if GetActiveUniformARB is issued after a failed link.
programObj - a handle to a program object for which the command LinkProgramARB has been issued in the past. It is not necessary for programObj to have
been linked successfully. The link could have failed because the number of active uniforms exceeded the limit.index - the uniform indexlength - a buffer in which to return the actual number of characters written by the GL into name. This count excludes the null termination. If
length is NULL then the GL ignores this parameter.size - a buffer in which to return the uniform size. The size is in units of the type returned in type.type - a buffer in which to return the uniform typename - a buffer in which to return the uniform namepublic static java.lang.String glGetActiveUniformARB(int programObj,
int index,
int maxLength,
java.nio.IntBuffer size,
java.nio.IntBuffer type)
This command provides information about the uniform selected by index. The index of 0 selects the first active uniform, and
index of OBJECT_ACTIVE_UNIFORMS_ARB - 1 selects the last active uniform. The value of OBJECT_ACTIVE_UNIFORMS_ARB can be queried with
GetObjectParameterivARB. If index is greater than or equal to OBJECT_ACTIVE_UNIFORMS_ARB, the error INVALID_VALUE is generated.
If an error occurred, the return parameters length, size, type and name will be unmodified.
The returned uniform name can be the name of built-in uniform state as well. The length of the longest uniform name in programObj is given by
OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, which can be queried with GetObjectParameterivARB.
Each uniform variable, declared in a shader, is broken down into one or more strings using the "." (dot) and "[]" operators, if necessary, to the point
that it is legal to pass each string back into GetUniformLocationARB. Each of these strings constitutes one active uniform, and each string is
assigned an index.
If one or more elements of an array are active, GetActiveUniformARB will return the name of the array in name, subject to the restrictions
listed above. The type of the array is returned in type. The size parameter contains the highest array element index used, plus one. The
compiler or linker determines the highest index used. There will be only one active uniform reported by the GL per uniform array.
This command will return as much information about active uniforms as possible. If no information is available, length will be set to zero and
name will be an empty string. This situation could arise if GetActiveUniformARB is issued after a failed link.
programObj - a handle to a program object for which the command LinkProgramARB has been issued in the past. It is not necessary for programObj to have
been linked successfully. The link could have failed because the number of active uniforms exceeded the limit.index - the uniform indexmaxLength - the maximum number of characters the GL is allowed to write into name.size - a buffer in which to return the uniform size. The size is in units of the type returned in type.type - a buffer in which to return the uniform typepublic static java.lang.String glGetActiveUniformARB(int programObj,
int index,
java.nio.IntBuffer size,
java.nio.IntBuffer type)
This command provides information about the uniform selected by index. The index of 0 selects the first active uniform, and
index of OBJECT_ACTIVE_UNIFORMS_ARB - 1 selects the last active uniform. The value of OBJECT_ACTIVE_UNIFORMS_ARB can be queried with
GetObjectParameterivARB. If index is greater than or equal to OBJECT_ACTIVE_UNIFORMS_ARB, the error INVALID_VALUE is generated.
If an error occurred, the return parameters length, size, type and name will be unmodified.
The returned uniform name can be the name of built-in uniform state as well. The length of the longest uniform name in programObj is given by
OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, which can be queried with GetObjectParameterivARB.
Each uniform variable, declared in a shader, is broken down into one or more strings using the "." (dot) and "[]" operators, if necessary, to the point
that it is legal to pass each string back into GetUniformLocationARB. Each of these strings constitutes one active uniform, and each string is
assigned an index.
If one or more elements of an array are active, GetActiveUniformARB will return the name of the array in name, subject to the restrictions
listed above. The type of the array is returned in type. The size parameter contains the highest array element index used, plus one. The
compiler or linker determines the highest index used. There will be only one active uniform reported by the GL per uniform array.
This command will return as much information about active uniforms as possible. If no information is available, length will be set to zero and
name will be an empty string. This situation could arise if GetActiveUniformARB is issued after a failed link.
programObj - a handle to a program object for which the command LinkProgramARB has been issued in the past. It is not necessary for programObj to have
been linked successfully. The link could have failed because the number of active uniforms exceeded the limit.index - the uniform indexsize - a buffer in which to return the uniform size. The size is in units of the type returned in type.type - a buffer in which to return the uniform typepublic static void nglGetUniformfvARB(int programObj,
int location,
long params)
GetUniformfvARBpublic static void glGetUniformfvARB(int programObj,
int location,
java.nio.FloatBuffer params)
programObj - the program object to querylocation - the uniform variable locationparams - a buffer in which to return the uniform valuespublic static float glGetUniformfARB(int programObj,
int location)
programObj - the program object to querylocation - the uniform variable locationpublic static void nglGetUniformivARB(int programObj,
int location,
long params)
GetUniformivARBpublic static void glGetUniformivARB(int programObj,
int location,
java.nio.IntBuffer params)
programObj - the program object to querylocation - the uniform variable locationparams - a buffer in which to return the uniform valuespublic static int glGetUniformiARB(int programObj,
int location)
programObj - the program object to querylocation - the uniform variable locationpublic static void nglGetShaderSourceARB(int obj,
int maxLength,
long length,
long source)
GetShaderSourceARBmaxLength - the maximum number of characters the GL is allowed to write into sourcepublic static void glGetShaderSourceARB(int obj,
@Nullable
java.nio.IntBuffer length,
java.nio.ByteBuffer source)
The string source is a concatenation of the strings passed to OpenGL using ShaderSourceARB. The length of this concatenation is given by
OBJECT_SHADER_SOURCE_LENGTH_ARB, which can be queried with GetObjectParameterivARB. If obj is not of type SHADER_OBJECT_ARB, the error
INVALID_OPERATION is generated. If an error occurred, the return parameters length and source will be unmodified.
obj - the shader object to querylength - a buffer in which to return the actual number of characters written by the GL into source, excluding the null termination. If
length is NULL then the GL ignores this parameter.source - a buffer in which to return the shader object sourcepublic static java.lang.String glGetShaderSourceARB(int obj,
int maxLength)
The string source is a concatenation of the strings passed to OpenGL using ShaderSourceARB. The length of this concatenation is given by
OBJECT_SHADER_SOURCE_LENGTH_ARB, which can be queried with GetObjectParameterivARB. If obj is not of type SHADER_OBJECT_ARB, the error
INVALID_OPERATION is generated. If an error occurred, the return parameters length and source will be unmodified.
obj - the shader object to querymaxLength - the maximum number of characters the GL is allowed to write into sourcepublic static java.lang.String glGetShaderSourceARB(int obj)
The string source is a concatenation of the strings passed to OpenGL using ShaderSourceARB. The length of this concatenation is given by
OBJECT_SHADER_SOURCE_LENGTH_ARB, which can be queried with GetObjectParameterivARB. If obj is not of type SHADER_OBJECT_ARB, the error
INVALID_OPERATION is generated. If an error occurred, the return parameters length and source will be unmodified.
obj - the shader object to querypublic static void glShaderSourceARB(int shaderObj,
org.lwjgl.PointerBuffer string,
@Nullable
int[] length)
ShaderSourceARBpublic static void glUniform1fvARB(int location,
float[] value)
Uniform1fvARBpublic static void glUniform2fvARB(int location,
float[] value)
Uniform2fvARBpublic static void glUniform3fvARB(int location,
float[] value)
Uniform3fvARBpublic static void glUniform4fvARB(int location,
float[] value)
Uniform4fvARBpublic static void glUniform1ivARB(int location,
int[] value)
Uniform1ivARBpublic static void glUniform2ivARB(int location,
int[] value)
Uniform2ivARBpublic static void glUniform3ivARB(int location,
int[] value)
Uniform3ivARBpublic static void glUniform4ivARB(int location,
int[] value)
Uniform4ivARBpublic static void glUniformMatrix2fvARB(int location,
boolean transpose,
float[] value)
UniformMatrix2fvARBpublic static void glUniformMatrix3fvARB(int location,
boolean transpose,
float[] value)
UniformMatrix3fvARBpublic static void glUniformMatrix4fvARB(int location,
boolean transpose,
float[] value)
UniformMatrix4fvARBpublic static void glGetObjectParameterfvARB(int obj,
int pname,
float[] params)
GetObjectParameterfvARBpublic static void glGetObjectParameterivARB(int obj,
int pname,
int[] params)
GetObjectParameterivARBpublic static void glGetInfoLogARB(int obj,
@Nullable
int[] length,
java.nio.ByteBuffer infoLog)
GetInfoLogARBpublic static void glGetAttachedObjectsARB(int containerObj,
@Nullable
int[] count,
int[] obj)
GetAttachedObjectsARBpublic static void glGetActiveUniformARB(int programObj,
int index,
@Nullable
int[] length,
int[] size,
int[] type,
java.nio.ByteBuffer name)
GetActiveUniformARBpublic static void glGetUniformfvARB(int programObj,
int location,
float[] params)
GetUniformfvARBpublic static void glGetUniformivARB(int programObj,
int location,
int[] params)
GetUniformivARBpublic static void glGetShaderSourceARB(int obj,
@Nullable
int[] length,
java.nio.ByteBuffer source)
GetShaderSourceARBCopyright LWJGL. All Rights Reserved. License terms.