Modifier and Type | Method and Description |
---|---|
void |
glActiveTexture(int texture)
|
void |
glAttachShader(int program,
int shader)
|
void |
glBeginQuery(int target,
int query)
|
void |
glBindBuffer(int target,
int buffer)
|
void |
glBindTexture(int target,
int texture)
|
void |
glBlendEquationSeparate(int colorMode,
int alphaMode)
|
void |
glBlendFunc(int sFactor,
int dFactor)
|
void |
glBlendFuncSeparate(int sFactorRGB,
int dFactorRGB,
int sFactorAlpha,
int dFactorAlpha)
|
void |
glBufferData(int target,
java.nio.ByteBuffer data,
int usage)
|
void |
glBufferData(int target,
java.nio.FloatBuffer data,
int usage)
|
void |
glBufferData(int target,
long dataSize,
int usage)
|
void |
glBufferData(int target,
java.nio.ShortBuffer data,
int usage)
|
void |
glBufferSubData(int target,
long offset,
java.nio.ByteBuffer data)
|
void |
glBufferSubData(int target,
long offset,
java.nio.FloatBuffer data)
|
void |
glBufferSubData(int target,
long offset,
java.nio.ShortBuffer data)
|
void |
glClear(int mask)
|
void |
glClearColor(float red,
float green,
float blue,
float alpha)
|
void |
glColorMask(boolean red,
boolean green,
boolean blue,
boolean alpha)
|
void |
glCompileShader(int shader)
|
void |
glCompressedTexImage2D(int target,
int level,
int internalFormat,
int width,
int height,
int border,
java.nio.ByteBuffer data)
|
void |
glCompressedTexSubImage2D(int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
java.nio.ByteBuffer data)
|
int |
glCreateProgram()
|
int |
glCreateShader(int shaderType)
|
void |
glCullFace(int mode)
|
void |
glDeleteBuffers(java.nio.IntBuffer buffers)
|
void |
glDeleteProgram(int program)
|
void |
glDeleteShader(int shader)
|
void |
glDeleteTextures(java.nio.IntBuffer textures)
|
void |
glDepthFunc(int func)
|
void |
glDepthMask(boolean flag)
|
void |
glDepthRange(double nearVal,
double farVal)
|
void |
glDetachShader(int program,
int shader)
|
void |
glDisable(int cap)
|
void |
glDisableVertexAttribArray(int index)
|
void |
glDrawArrays(int mode,
int first,
int count)
|
void |
glDrawRangeElements(int mode,
int start,
int end,
int count,
int type,
long indices)
|
void |
glEnable(int cap)
|
void |
glEnableVertexAttribArray(int index)
|
void |
glEndQuery(int target)
|
void |
glGenBuffers(java.nio.IntBuffer buffers)
|
void |
glGenQueries(int number,
java.nio.IntBuffer ids)
|
void |
glGenTextures(java.nio.IntBuffer textures)
|
int |
glGetAttribLocation(int program,
java.lang.String name)
|
void |
glGetBoolean(int pname,
java.nio.ByteBuffer params)
|
void |
glGetBufferSubData(int target,
long offset,
java.nio.ByteBuffer data)
|
int |
glGetError()
|
void |
glGetFloat(int parameterId,
java.nio.FloatBuffer storeValues)
Determine the current single-precision floating-point value(s) of the
specified parameter.
|
void |
glGetInteger(int pname,
java.nio.IntBuffer params)
|
void |
glGetProgram(int program,
int pname,
java.nio.IntBuffer params)
|
java.lang.String |
glGetProgramInfoLog(int program,
int maxSize)
|
int |
glGetQueryObjectiv(int query,
int pname)
|
long |
glGetQueryObjectui64(int query,
int pname)
Unsigned version.
|
void |
glGetShader(int shader,
int pname,
java.nio.IntBuffer params)
|
java.lang.String |
glGetShaderInfoLog(int shader,
int maxSize)
|
java.lang.String |
glGetString(int name)
|
int |
glGetUniformLocation(int program,
java.lang.String name)
|
boolean |
glIsEnabled(int cap)
|
void |
glLineWidth(float width)
|
void |
glLinkProgram(int program)
|
void |
glPixelStorei(int pname,
int param)
|
void |
glPolygonOffset(float factor,
float units)
|
void |
glReadPixels(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.ByteBuffer data)
|
void |
glReadPixels(int x,
int y,
int width,
int height,
int format,
int type,
long offset)
|
void |
glScissor(int x,
int y,
int width,
int height)
|
void |
glShaderSource(int shader,
java.lang.String[] strings,
java.nio.IntBuffer length)
|
void |
glStencilFuncSeparate(int face,
int func,
int ref,
int mask)
|
void |
glStencilOpSeparate(int face,
int sfail,
int dpfail,
int dppass)
|
void |
glTexImage2D(int target,
int level,
int internalFormat,
int width,
int height,
int border,
int format,
int type,
java.nio.ByteBuffer data)
|
void |
glTexParameterf(int target,
int pname,
float param)
|
void |
glTexParameteri(int target,
int pname,
int param)
|
void |
glTexSubImage2D(int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
int type,
java.nio.ByteBuffer data)
|
void |
glUniform1(int location,
java.nio.FloatBuffer value)
|
void |
glUniform1(int location,
java.nio.IntBuffer value)
|
void |
glUniform1f(int location,
float v0)
|
void |
glUniform1i(int location,
int v0)
|
void |
glUniform2(int location,
java.nio.FloatBuffer value)
|
void |
glUniform2(int location,
java.nio.IntBuffer value)
|
void |
glUniform2f(int location,
float v0,
float v1)
|
void |
glUniform3(int location,
java.nio.FloatBuffer value)
|
void |
glUniform3(int location,
java.nio.IntBuffer value)
|
void |
glUniform3f(int location,
float v0,
float v1,
float v2)
|
void |
glUniform4(int location,
java.nio.FloatBuffer value)
|
void |
glUniform4(int location,
java.nio.IntBuffer value)
|
void |
glUniform4f(int location,
float v0,
float v1,
float v2,
float v3)
|
void |
glUniformMatrix3(int location,
boolean transpose,
java.nio.FloatBuffer value)
|
void |
glUniformMatrix4(int location,
boolean transpose,
java.nio.FloatBuffer value)
|
void |
glUseProgram(int program)
|
void |
glVertexAttribPointer(int index,
int size,
int type,
boolean normalized,
int stride,
long pointer)
|
void |
glViewport(int x,
int y,
int width,
int height)
|
void |
resetStats() |
static final int GL_ALIASED_LINE_WIDTH_RANGE
static final int GL_ALPHA
static final int GL_ALWAYS
static final int GL_ARRAY_BUFFER
static final int GL_BACK
static final int GL_BLEND
static final int GL_BLUE
static final int GL_BYTE
static final int GL_CLAMP_TO_EDGE
static final int GL_COLOR_BUFFER_BIT
static final int GL_COMPILE_STATUS
static final int GL_CULL_FACE
static final int GL_DECR
static final int GL_DECR_WRAP
static final int GL_DEPTH_BUFFER_BIT
static final int GL_DEPTH_COMPONENT
static final int GL_DEPTH_COMPONENT16
static final int GL_DEPTH_TEST
static final int GL_DOUBLE
static final int GL_DST_ALPHA
static final int GL_DST_COLOR
static final int GL_DYNAMIC_DRAW
static final int GL_DYNAMIC_COPY
static final int GL_ELEMENT_ARRAY_BUFFER
static final int GL_EQUAL
static final int GL_EXTENSIONS
static final int GL_FALSE
static final int GL_FLOAT
static final int GL_FRAGMENT_SHADER
static final int GL_FRONT
static final int GL_FUNC_ADD
static final int GL_FUNC_SUBTRACT
static final int GL_FUNC_REVERSE_SUBTRACT
static final int GL_FRONT_AND_BACK
static final int GL_GEQUAL
static final int GL_GREATER
static final int GL_GREEN
static final int GL_INCR
static final int GL_INCR_WRAP
static final int GL_INFO_LOG_LENGTH
static final int GL_INT
static final int GL_INVALID_ENUM
static final int GL_INVALID_VALUE
static final int GL_INVALID_OPERATION
static final int GL_INVERT
static final int GL_KEEP
static final int GL_LEQUAL
static final int GL_LESS
static final int GL_LINEAR
static final int GL_LINEAR_MIPMAP_LINEAR
static final int GL_LINEAR_MIPMAP_NEAREST
static final int GL_LINES
static final int GL_LINE_LOOP
static final int GL_LINE_SMOOTH
static final int GL_LINE_STRIP
static final int GL_LINK_STATUS
static final int GL_LUMINANCE
static final int GL_LUMINANCE_ALPHA
static final int GL_MAX
static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE
static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS
static final int GL_MAX_TEXTURE_IMAGE_UNITS
static final int GL_MAX_TEXTURE_SIZE
static final int GL_MAX_VERTEX_ATTRIBS
static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS
static final int GL_MAX_VERTEX_UNIFORM_VECTORS
static final int GL_MIRRORED_REPEAT
static final int GL_MIN
static final int GL_NEAREST
static final int GL_NEAREST_MIPMAP_LINEAR
static final int GL_NEAREST_MIPMAP_NEAREST
static final int GL_NEVER
static final int GL_NO_ERROR
static final int GL_NONE
static final int GL_NOTEQUAL
static final int GL_ONE
static final int GL_ONE_MINUS_DST_ALPHA
static final int GL_ONE_MINUS_DST_COLOR
static final int GL_ONE_MINUS_SRC_ALPHA
static final int GL_ONE_MINUS_SRC_COLOR
static final int GL_OUT_OF_MEMORY
static final int GL_POINTS
static final int GL_POLYGON_OFFSET_FILL
static final int GL_QUERY_RESULT
static final int GL_QUERY_RESULT_AVAILABLE
static final int GL_RED
static final int GL_RENDERER
static final int GL_REPEAT
static final int GL_REPLACE
static final int GL_RGB
static final int GL_RGB565
static final int GL_RGB5_A1
static final int GL_RGBA
static final int GL_RGBA4
static final int GL_SCISSOR_TEST
static final int GL_SHADING_LANGUAGE_VERSION
static final int GL_SHORT
static final int GL_SRC_ALPHA
static final int GL_SRC_ALPHA_SATURATE
static final int GL_SRC_COLOR
static final int GL_STATIC_DRAW
static final int GL_STENCIL_BUFFER_BIT
static final int GL_STENCIL_TEST
static final int GL_STREAM_DRAW
static final int GL_STREAM_READ
static final int GL_TEXTURE
static final int GL_TEXTURE0
static final int GL_TEXTURE1
static final int GL_TEXTURE2
static final int GL_TEXTURE3
static final int GL_TEXTURE4
static final int GL_TEXTURE5
static final int GL_TEXTURE6
static final int GL_TEXTURE7
static final int GL_TEXTURE8
static final int GL_TEXTURE9
static final int GL_TEXTURE10
static final int GL_TEXTURE11
static final int GL_TEXTURE12
static final int GL_TEXTURE13
static final int GL_TEXTURE14
static final int GL_TEXTURE15
static final int GL_TEXTURE_2D
static final int GL_TEXTURE_CUBE_MAP
static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X
static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X
static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y
static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z
static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
static final int GL_TEXTURE_MAG_FILTER
static final int GL_TEXTURE_MIN_FILTER
static final int GL_TEXTURE_WRAP_S
static final int GL_TEXTURE_WRAP_T
static final int GL_TIME_ELAPSED
static final int GL_TRIANGLES
static final int GL_TRIANGLE_FAN
static final int GL_TRIANGLE_STRIP
static final int GL_TRUE
static final int GL_UNPACK_ALIGNMENT
static final int GL_UNSIGNED_BYTE
static final int GL_UNSIGNED_INT
static final int GL_UNSIGNED_SHORT
static final int GL_UNSIGNED_SHORT_5_6_5
static final int GL_UNSIGNED_SHORT_5_5_5_1
static final int GL_VENDOR
static final int GL_VERSION
static final int GL_VERTEX_SHADER
static final int GL_ZERO
static final int GL_UNPACK_ROW_LENGTH
static final int GL_FRAMEBUFFER_BINDING
void resetStats()
void glActiveTexture(int texture)
Selects which texture unit subsequent texture state calls will affect. The number of texture units an implementation supports is implementation dependent.
texture
- which texture unit to make active. One of:
TEXTURE0
GL_TEXTURE[1-31]void glAttachShader(int program, int shader)
Attaches a shader object to a program object.
In order to create a complete shader program, there must be a way to specify the list of things that will be linked together. Program objects provide this mechanism. Shaders that are to be linked together in a program object must first be attached to that program object. glAttachShader attaches the shader object specified by shader to the program object specified by program. This indicates that shader will be included in link operations that will be performed on program.
All operations that can be performed on a shader object are valid whether or not the shader object is attached to a program object. It is permissible to attach a shader object to a program object 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 because each may contain a portion of the complete shader. It is also permissible to attach a shader object to more than one program object. If a shader object is deleted while it is attached to a program object, it will be flagged for deletion, and deletion will not occur until glDetachShader is called to detach it from all program objects to which it is attached.
program
- the program object to which a shader object will be attached.shader
- the shader object that is to be attached.void glBeginQuery(int target, int query)
Creates a query object and makes it active.
target
- the target type of query object established.query
- the name of a query object.void glBindBuffer(int target, int buffer)
Binds a named buffer object.
target
- the target to which the buffer object is bound.buffer
- the name of a buffer object.void glBindTexture(int target, int texture)
Binds the a texture to a texture target.
While a texture object is bound, GL operations on the target to which it is bound affect the bound object, and queries of the target to which it is bound return state from the bound object. If texture mapping of the dimensionality of the target to which a texture object is bound is enabled, the state of the bound texture object directs the texturing operation.
target
- the texture target.texture
- the texture object to bind.void glBlendEquationSeparate(int colorMode, int alphaMode)
Sets the RGB blend equation and the alpha blend equation separately.
colorMode
- the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined.alphaMode
- the alpha blend equation, how the alpha component of the source and destination colors are combinedvoid glBlendFunc(int sFactor, int dFactor)
Specifies the weighting factors used by the blend equation, for both RGB and alpha functions and for all draw buffers.
sFactor
- the source weighting factor.dFactor
- the destination weighting factor.void glBlendFuncSeparate(int sFactorRGB, int dFactorRGB, int sFactorAlpha, int dFactorAlpha)
Specifies pixel arithmetic for RGB and alpha components separately.
sFactorRGB
- how the red, green, and blue blending factors are computed. The initial value is GL_ONE.dFactorRGB
- how the red, green, and blue destination blending factors are computed. The initial value is GL_ZERO.sFactorAlpha
- how the alpha source blending factor is computed. The initial value is GL_ONE.dFactorAlpha
- how the alpha destination blending factor is computed. The initial value is GL_ZERO.void glBufferData(int target, long dataSize, int usage)
Creates and initializes a buffer object's data store.
usage
is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make
more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store.
usage
can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The
frequency of access may be one of these:
The nature of access may be one of these:
target
- the target buffer object.dataSize
- the size in bytes of the buffer object's new data storeusage
- the expected usage pattern of the data store.void glBufferData(int target, java.nio.FloatBuffer data, int usage)
Creates and initializes a buffer object's data store.
usage
is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make
more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store.
usage
can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The
frequency of access may be one of these:
The nature of access may be one of these:
target
- the target buffer object.data
- a pointer to data that will be copied into the data store for initialization, or NULL
if no data is to be copied.usage
- the expected usage pattern of the data store.void glBufferData(int target, java.nio.ShortBuffer data, int usage)
Creates and initializes a buffer object's data store.
usage
is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make
more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store.
usage
can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The
frequency of access may be one of these:
The nature of access may be one of these:
target
- the target buffer object.data
- a pointer to data that will be copied into the data store for initialization, or NULL
if no data is to be copiedusage
- the expected usage pattern of the data store.void glBufferData(int target, java.nio.ByteBuffer data, int usage)
Creates and initializes a buffer object's data store.
usage
is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make
more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store.
usage
can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The
frequency of access may be one of these:
The nature of access may be one of these:
target
- the target buffer object.data
- a pointer to data that will be copied into the data store for initialization, or NULL
if no data is to be copied.usage
- the expected usage pattern of the data store.void glBufferSubData(int target, long offset, java.nio.FloatBuffer data)
Updates a subset of a buffer object's data store.
target
- the target buffer object.offset
- the offset into the buffer object's data store where data replacement will begin, measured in bytes.data
- a pointer to the new data that will be copied into the data store.void glBufferSubData(int target, long offset, java.nio.ShortBuffer data)
Updates a subset of a buffer object's data store.
target
- the target buffer object.offset
- the offset into the buffer object's data store where data replacement will begin, measured in bytes.data
- a pointer to the new data that will be copied into the data store.void glBufferSubData(int target, long offset, java.nio.ByteBuffer data)
Updates a subset of a buffer object's data store.
target
- the target buffer object.offset
- the offset into the buffer object's data store where data replacement will begin, measured in bytes.data
- a pointer to the new data that will be copied into the data store.void glClear(int mask)
Sets portions of every pixel in a particular buffer to the same value. The value to which each buffer is cleared depends on the setting of the clear value for that buffer.
mask
- Zero or the bitwise OR of one or more values indicating which buffers are to be cleared.void glClearColor(float red, float green, float blue, float alpha)
red
- the value to which to clear the R channel of the color buffer.green
- the value to which to clear the G channel of the color buffer.blue
- the value to which to clear the B channel of the color buffer.alpha
- the value to which to clear the A channel of the color buffer.void glColorMask(boolean red, boolean green, boolean blue, boolean alpha)
red
- whether R values are written or not.green
- whether G values are written or not.blue
- whether B values are written or not.alpha
- whether A values are written or not.void glCompileShader(int shader)
Compiles a shader object.
shader
- the shader object to be compiled.void glCompressedTexImage2D(int target, int level, int internalFormat, int width, int height, int border, java.nio.ByteBuffer data)
Specifies a two-dimensional texture image in a compressed format.
target
- the target texture.level
- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalFormat
- the format of the compressed image data.width
- the width of the texture imageheight
- the height of the texture imageborder
- must be 0data
- a pointer to the compressed image datavoid glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, java.nio.ByteBuffer data)
target
- the target texture.level
- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset
- a texel offset in the x direction within the texture array.yoffset
- a texel offset in the y direction within the texture array.width
- the width of the texture subimage.height
- the height of the texture subimage.format
- the format of the compressed image data stored at address data
.data
- a pointer to the compressed image data.int glCreateProgram()
int glCreateShader(int shaderType)
shaderType
- the type of shader to be created. One of:
VERTEX_SHADER
FRAGMENT_SHADER
GEOMETRY_SHADER
TESS_CONTROL_SHADER
TESS_EVALUATION_SHADER
void glCullFace(int mode)
Specifies which polygon faces are culled if CULL_FACE
is enabled. Front-facing polygons are rasterized if either culling is disabled or the
CullFace mode is BACK
while back-facing polygons are rasterized only if either culling is disabled or the CullFace mode is
FRONT
. The initial setting of the CullFace mode is BACK
. Initially, culling is disabled.
mode
- the CullFace mode. One of:
FRONT
BACK
FRONT_AND_BACK
void glDeleteBuffers(java.nio.IntBuffer buffers)
Deletes named buffer objects.
buffers
- an array of buffer objects to be deleted.void glDeleteProgram(int program)
Deletes a program object.
program
- the program object to be deleted.void glDeleteShader(int shader)
Deletes a shader object.
shader
- the shader object to be deleted.void glDeleteTextures(java.nio.IntBuffer textures)
Deletes texture objects. After a texture object is deleted, it has no contents or dimensionality, and its name is again unused. If a texture that is
currently bound to any of the target bindings of BindTexture
is deleted, it is as though BindTexture
had been executed with the
same target and texture zero. Additionally, special care must be taken when deleting a texture if any of the images of the texture are attached to a
framebuffer object.
Unused names in textures that have been marked as used for the purposes of GenTextures
are marked as unused again. Unused names in textures are
silently ignored, as is the name zero.
textures
- contains n
names of texture objects to be deleted.void glDepthFunc(int func)
Specifies the comparison that takes place during the depth buffer test (when DEPTH_TEST
is enabled).
void glDepthMask(boolean flag)
Masks the writing of depth values to the depth buffer. In the initial state, the depth buffer is enabled for writing.
flag
- whether depth values are written or not.void glDepthRange(double nearVal, double farVal)
Sets the depth range for all viewports to the same values.
nearVal
- the near depth range.farVal
- the far depth range.void glDetachShader(int program, int shader)
Detaches a shader object from a program object to which it is attached.
program
- the program object from which to detach the shader object.shader
- the shader object to be detached.void glDisable(int cap)
Disables the specified OpenGL state.
cap
- the OpenGL state to disable.void glDisableVertexAttribArray(int index)
Disables a generic vertex attribute array.
index
- the index of the generic vertex attribute to be disabled.void glDrawArrays(int mode, int first, int count)
Constructs a sequence of geometric primitives by successively transferring elements for count
vertices. Elements first
through
first + count – 1
of each enabled non-instanced array are transferred to the GL.
If an array corresponding to an attribute required by a vertex shader is not enabled, then the corresponding element is taken from the current attribute state. If an array is enabled, the corresponding current vertex attribute value is unaffected by the execution of this function.
mode
- the kind of primitives being constructed.first
- the first vertex to transfer to the GL.count
- the number of vertices after first
to transfer to the GL.void glDrawRangeElements(int mode, int start, int end, int count, int type, long indices)
Implementations denote recommended maximum amounts of vertex and index data, which may be queried by calling glGet with argument
MAX_ELEMENTS_VERTICES
and MAX_ELEMENTS_INDICES
. If end - start + 1 is greater than the value of GL_MAX_ELEMENTS_VERTICES, or if
count is greater than the value of GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced performance. There is no requirement that all vertices
in the range start end be referenced. However, the implementation may partially process unused vertices, reducing performance from what could be
achieved with an optimal index set.
When glDrawRangeElements is called, it uses count sequential elements from an enabled array, starting at start to construct a sequence of geometric primitives. mode specifies what kind of primitives are constructed, and how the array elements construct these primitives. If more than one array is enabled, each is used.
Vertex attributes that are modified by glDrawRangeElements have an unspecified value after glDrawRangeElements returns. Attributes that aren't modified maintain their previous values.
ErrorsIt is an error for indices to lie outside the range start end, but implementations may not check for this situation. Such indices cause implementation-dependent behavior.
mode
- the kind of primitives to render.start
- the minimum array index contained in indices
.end
- the maximum array index contained in indices
.count
- the number of elements to be rendered.type
- the type of the values in indices
.indices
- a pointer to the location where the indices are stored.void glEnable(int cap)
Enables the specified OpenGL state.
cap
- the OpenGL state to enable.void glEnableVertexAttribArray(int index)
Enables a generic vertex attribute array.
index
- the index of the generic vertex attribute to be enabled.void glEndQuery(int target)
Marks the end of the sequence of commands to be tracked for the active query specified by target
.
target
- the query object target.void glGenBuffers(java.nio.IntBuffer buffers)
Generates buffer object names.
buffers
- a buffer in which the generated buffer object names are stored.void glGenTextures(java.nio.IntBuffer textures)
Returns n previously unused texture names in textures. These names are marked as used, for the purposes of GenTextures only, but they acquire texture state and a dimensionality only when they are first bound, just as if they were unused.
textures
- a scalar or buffer in which to place the returned texture names.void glGenQueries(int number, java.nio.IntBuffer ids)
number
- the number of query object names to be generatedids
- a buffer in which the generated query object names are stored.int glGetAttribLocation(int program, java.lang.String name)
program
- the program object to be queried.name
- a null terminated string containing the name of the attribute variable whose location is to be queried.void glGetBoolean(int pname, java.nio.ByteBuffer params)
LWJGL note: The state that corresponds to the state variable may be a single value or an array of values. In the case of an array of values,
LWJGL will not validate if params
has enough space to store that array. Doing so would introduce significant overhead, as the
OpenGL state variables are too many. It is the user's responsibility to avoid JVM crashes by ensuring enough space for the returned values.
pname
- the state variable.params
- a scalar or buffer in which to place the returned data.void glGetBufferSubData(int target, long offset, java.nio.ByteBuffer data)
target
- the target buffer object.offset
- the offset into the buffer object's data store from which data will be returned, measured in bytes.data
- a pointer to the location where buffer object data is returned.int glGetError()
GetError
is called, the code is returned and the flag is cleared, so that a
further error will again record its code. If a call to GetError
returns NO_ERROR
, then there has been no detectable error since
the last call to GetError
(or since the GL was initialized).void glGetFloat(int parameterId, java.nio.FloatBuffer storeValues)
parameterId
- which parameterstoreValues
- storage for the value(s)void glGetInteger(int pname, java.nio.IntBuffer params)
LWJGL note: The state that corresponds to the state variable may be a single value or an array of values. In the case of an array of values,
LWJGL will not validate if params
has enough space to store that array. Doing so would introduce significant overhead, as the
OpenGL state variables are too many. It is the user's responsibility to avoid JVM crashes by ensuring enough space for the returned values.
pname
- the state variable.params
- a scalar or buffer in which to place the returned data.void glGetProgram(int program, int pname, java.nio.IntBuffer params)
Returns a parameter from a program object.
program
- the program object to be queried.pname
- the object parameter.params
- the requested object parameter.java.lang.String glGetProgramInfoLog(int program, int maxSize)
Returns the information log for a program object.
program
- the program object whose information log is to be queried.maxSize
- the size of the character buffer for storing the returned information log.long glGetQueryObjectui64(int query, int pname)
query
- the name of a query objectpname
- the symbolic name of a query object parameterint glGetQueryObjectiv(int query, int pname)
Returns the integer value of a query object parameter.
query
- the name of a query objectpname
- the symbolic name of a query object parameter. One of:
QUERY_RESULT
QUERY_RESULT_AVAILABLE
void glGetShader(int shader, int pname, java.nio.IntBuffer params)
Returns a parameter from a shader object.
shader
- the shader object to be queried.pname
- the object parameter.params
- the requested object parameter.java.lang.String glGetShaderInfoLog(int shader, int maxSize)
Returns the information log for a shader object.
shader
- the shader object whose information log is to be queried.maxSize
- the size of the character buffer for storing the returned information log.java.lang.String glGetString(int name)
Return strings describing properties of the current GL context.
name
- the property to query. One of:
RENDERER
VENDOR
EXTENSIONS
VERSION
SHADING_LANGUAGE_VERSION
int glGetUniformLocation(int program, java.lang.String name)
Returns the location of a uniform variable.
program
- the program object to be queried.name
- a null terminated string containing the name of the uniform variable whose location is to be queried.boolean glIsEnabled(int cap)
Determines if cap
is currently enabled (as with Enable
) or disabled.
cap
- the enable state to query.void glLineWidth(float width)
width
- the line width.void glLinkProgram(int program)
program
- the program object to be linked.void glPixelStorei(int pname, int param)
Sets the integer value of a pixel store parameter.
pname
- the pixel store parameter to set.param
- the parameter valuevoid glPolygonOffset(float factor, float units)
factor
scales the maximum depth slope of the polygon, and units
scales an implementation-dependent constant that relates to the usable
resolution of the depth buffer. The resulting values are summed to produce the polygon offset value.
factor
- the maximum depth slope factor.units
- the constant scale.void glReadPixels(int x, int y, int width, int height, int format, int type, java.nio.ByteBuffer data)
ReadPixels obtains values from the selected read buffer from each pixel with lower left hand corner at (x + i, y + j)
for 0 <= i < width
and 0 <= j < height
; this pixel is said to be the ith pixel in the jth row. If any of these pixels lies outside of the
window allocated to the current GL context, or outside of the image attached to the currently bound read framebuffer object, then the values obtained
for those pixels are undefined. When READ_FRAMEBUFFER_BINDING
is zero, values are also undefined for individual pixels that are not owned by
the current context. Otherwise, ReadPixels
obtains values from the selected buffer, regardless of how those values were placed there.
x
- the left pixel coordinatey
- the lower pixel coordinatewidth
- the number of pixels to read in the x-dimensionheight
- the number of pixels to read in the y-dimensionformat
- the pixel format.type
- the pixel type.data
- a buffer in which to place the returned pixel data.void glReadPixels(int x, int y, int width, int height, int format, int type, long offset)
ReadPixels obtains values from the selected read buffer from each pixel with lower left hand corner at (x + i, y + j)
for 0 <= i < width
and 0 <= j < height
; this pixel is said to be the ith pixel in the jth row. If any of these pixels lies outside of the
window allocated to the current GL context, or outside of the image attached to the currently bound read framebuffer object, then the values obtained
for those pixels are undefined. When READ_FRAMEBUFFER_BINDING
is zero, values are also undefined for individual pixels that are not owned by
the current context. Otherwise, ReadPixels
obtains values from the selected buffer, regardless of how those values were placed there.
x
- the left pixel coordinatey
- the lower pixel coordinatewidth
- the number of pixels to read in the x-dimensionheight
- the number of pixels to read in the y-dimensionformat
- the pixel format.type
- the pixel type.offset
- a buffer in which to place the returned pixel data/void glScissor(int x, int y, int width, int height)
Defines the scissor rectangle for all viewports. The scissor test is enabled or disabled for all viewports using Enable
or Disable
with the symbolic constant SCISSOR_TEST
. When disabled, it is as if the scissor test always passes. When enabled, if
left <= xw < left + width and bottom <= yw < bottom + height for the scissor rectangle, then the scissor
test passes. Otherwise, the test fails and the fragment is discarded.
x
- the left scissor rectangle coordinate.y
- the bottom scissor rectangle coordinate.width
- the scissor rectangle width.height
- the scissor rectangle height.void glShaderSource(int shader, java.lang.String[] strings, java.nio.IntBuffer length)
Sets the source code in shader
to the source code in the array of strings specified by strings
. Any source code previously stored in the
shader object is completely replaced. The number of strings in the array is specified by count
. If length
is NULL
, each string is
assumed to be null terminated. If length
is a value other than NULL
, it points to an array containing a string length for each of the
corresponding elements of strings
. Each element in the length array may contain the length of the corresponding string (the null character is not
counted as part of the string length) or a value less than 0 to indicate that the string is null terminated. The source code strings are not scanned or
parsed at this time; they are simply copied into the specified shader object.
shader
- the shader object whose source code is to be replaced,strings
- an array of pointers to strings containing the source code to be loaded into the shaderlength
- storage for the string lengths, or null for
null-terminated stringsvoid glStencilFuncSeparate(int face, int func, int ref, int mask)
Sets front and/or back function and reference value for stencil testing.
face
- whether front and/or back stencil state is updated. One of:
FRONT
BACK
FRONT_AND_BACK
func
- the test function. The initial value is GL_ALWAYS. One of:
NEVER
LESS
LEQUAL
GREATER
GEQUAL
EQUAL
NOTEQUAL
ALWAYS
ref
- the reference value for the stencil test. ref
is clamped to the range [0, 2n – 1], where n
is the number of bitplanes in the stencil
buffer. The initial value is 0.mask
- a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass)
Sets front and/or back stencil test actions.
face
- whether front and/or back stencil state is updated. One of:
FRONT
BACK
FRONT_AND_BACK
sfail
- the action to take when the stencil test fails. The initial value is GL_KEEP. One of:
KEEP
ZERO
REPLACE
INCR
INCR_WRAP
DECR
DECR_WRAP
INVERT
dpfail
- the stencil action when the stencil test passes, but the depth test fails. The initial value is GL_KEEP.dppass
- the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth
testing is not enabled. The initial value is GL_KEEP.void glTexImage2D(int target, int level, int internalFormat, int width, int height, int border, int format, int type, java.nio.ByteBuffer data)
Specifies a two-dimensional texture image.
target
- the texture target.level
- the level-of-detail number.internalFormat
- the texture internal format.width
- the texture width.height
- the texture height.border
- the texture border width.format
- the texel data format.type
- the texel data type.data
- the texel data.void glTexParameterf(int target, int pname, float param)
Float version of TexParameteri
.
target
- the texture target.pname
- the parameter to set.param
- the parameter value.void glTexParameteri(int target, int pname, int param)
Sets the integer value of a texture parameter, which controls how the texel array is treated when specified or changed, and when applied to a fragment.
target
- the texture target.pname
- the parameter to set.param
- the parameter value.void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, java.nio.ByteBuffer data)
Respecifies a rectangular subregion of an existing texel array. No change is made to the internalformat, width, height, depth, or border parameters of the specified texel array, nor is any change made to texel values outside the specified subregion.
target
- the texture target.level
- the level-of-detail-numberxoffset
- the left coordinate of the texel subregionyoffset
- the bottom coordinate of the texel subregionwidth
- the subregion widthheight
- the subregion heightformat
- the pixel data format.type
- the pixel data type.data
- the pixel data.void glUniform1(int location, java.nio.FloatBuffer value)
Specifies the value of a single float uniform variable or a float uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform1(int location, java.nio.IntBuffer value)
Specifies the value of a single int uniform variable or an int uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform1f(int location, float v0)
Specifies the value of a float uniform variable for the current program object.
location
- the location of the uniform variable to be modified.v0
- the uniform value.void glUniform1i(int location, int v0)
Specifies the value of an int uniform variable for the current program object.
location
- the location of the uniform variable to be modified.v0
- the uniform value.void glUniform2(int location, java.nio.IntBuffer value)
Specifies the value of a single ivec2 uniform variable or an ivec2 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform2(int location, java.nio.FloatBuffer value)
Specifies the value of a single vec2 uniform variable or a vec2 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform2f(int location, float v0, float v1)
Specifies the value of a vec2 uniform variable for the current program object.
location
- the location of the uniform variable to be modified.v0
- the uniform x value.v1
- the uniform y value.void glUniform3(int location, java.nio.IntBuffer value)
Specifies the value of a single ivec3 uniform variable or an ivec3 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform3(int location, java.nio.FloatBuffer value)
Specifies the value of a single vec3 uniform variable or a vec3 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform3f(int location, float v0, float v1, float v2)
Specifies the value of a vec3 uniform variable for the current program object.
location
- the location of the uniform variable to be modified.v0
- the uniform x value.v1
- the uniform y value.v2
- the uniform z value.void glUniform4(int location, java.nio.FloatBuffer value)
Specifies the value of a single vec4 uniform variable or a vec4 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform4(int location, java.nio.IntBuffer value)
Specifies the value of a single ivec4 uniform variable or an ivec4 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniform4f(int location, float v0, float v1, float v2, float v3)
Specifies the value of a vec4 uniform variable for the current program object.
location
- the location of the uniform variable to be modified.v0
- the uniform x value.v1
- the uniform y value.v2
- the uniform z value.v3
- the uniform w value.void glUniformMatrix3(int location, boolean transpose, java.nio.FloatBuffer value)
Specifies the value of a single mat3 uniform variable or a mat3 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.transpose
- whether to transpose the matrix as the values are loaded into the uniform variable.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUniformMatrix4(int location, boolean transpose, java.nio.FloatBuffer value)
Specifies the value of a single mat4 uniform variable or a mat4 uniform variable array for the current program object.
location
- the location of the uniform variable to be modified.transpose
- whether to transpose the matrix as the values are loaded into the uniform variable.value
- a pointer to an array of count
values that will be used to update the specified uniform variable.void glUseProgram(int program)
Installs a program object as part of current rendering state.
program
- the program object whose executables are to be used as part of current rendering state.void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, long pointer)
Specifies the location and organization of a vertex attribute array.
index
- the index of the generic vertex attribute to be modifiedsize
- the number of values per vertex that are stored in the array.type
- the data type of each component in the array. The initial value is GL_FLOAT.normalized
- whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessedstride
- the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0.pointer
- the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the ARRAY_BUFFER
target. The initial value is 0.void glViewport(int x, int y, int width, int height)
In the initial state, width
and height
for each viewport are set to the width and height, respectively, of the window into which the GL is to do
its rendering. If the default framebuffer is bound but no default framebuffer is associated with the GL context, then width
and height
are
initially set to zero.
x
- the left viewport coordinate.y
- the bottom viewport coordinate.width
- the viewport width.height
- the viewport height.