Class GL44
- java.lang.Object
-
- org.lwjgl.opengl.GL44
-
public class GL44 extends java.lang.Object
The core OpenGL 4.4 functionality. OpenGL 4.4 implementations support revision 4.40 of the OpenGL Shading Language.Extensions promoted to core in this release:
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_BUFFER_IMMUTABLE_STORAGE
GL_BUFFER_STORAGE_FLAGSAccepted by thepname
parameter ofGetBufferParameter{i|i64}v
.static int
GL_CLEAR_TEXTURE
static int
GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT
Accepted by thebarriers
parameter ofMemoryBarrier
.static int
GL_CLIENT_STORAGE_BIT
GL_DYNAMIC_STORAGE_BITstatic int
GL_LOCATION_COMPONENT
Accepted in theprops
array ofGetProgramResourceiv
.static int
GL_MAP_COHERENT_BIT
GL_MAP_PERSISTENT_BITstatic int
GL_MAX_VERTEX_ATTRIB_STRIDE
Implementation-dependent state which constrains the maximum value of stride parameters to vertex array pointer-setting commands.static int
GL_MIRROR_CLAMP_TO_EDGE
Accepted by theparam
parameter of TexParameter{if}, SamplerParameter{if} and SamplerParameter{if}v, and by theparams
parameter of TexParameter{if}v, TexParameterI{i ui}v and SamplerParameterI{i ui}v when theirpname
parameter isTEXTURE_WRAP_S
,TEXTURE_WRAP_T
, orTEXTURE_WRAP_R
,static int
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED
Implementations are not required to support primitive restart for separate patch primitives (primitive type PATCHES).static int
GL_QUERY_BUFFER
Accepted by thetarget
parameter ofBindBuffer
,BufferData
,BufferSubData
,MapBuffer
,UnmapBuffer
,MapBufferRange
,GetBufferSubData
,GetBufferParameteriv
,GetBufferParameteri64v
,GetBufferPointerv
,ClearBufferSubData
, and thereadtarget
andwritetarget
parameters ofCopyBufferSubData
.static int
GL_QUERY_BUFFER_BARRIER_BIT
Accepted in thebarriers
bitfield inMemoryBarrier
.static int
GL_QUERY_BUFFER_BINDING
static int
GL_QUERY_RESULT_NO_WAIT
Accepted by thepname
parameter ofGetQueryObjectiv
,GetQueryObjectuiv
,GetQueryObjecti64v
andGetQueryObjectui64v
.static int
GL_TEXTURE_BUFFER_BINDING
Equivalent toTEXTURE_BUFFER_ARB
query, but named more consistently.static int
GL_TRANSFORM_FEEDBACK_BUFFER_INDEX
GL_TRANSFORM_FEEDBACK_BUFFER_STRIDEAccepted in theprops
array ofGetProgramResourceiv
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static void
glBindBuffersBase(int target, int first, int[] buffers)
static void
glBindBuffersBase(int target, int first, java.nio.IntBuffer buffers)
static void
glBindBuffersRange(int target, int first, int[] buffers, org.lwjgl.PointerBuffer offsets, org.lwjgl.PointerBuffer sizes)
static void
glBindBuffersRange(int target, int first, java.nio.IntBuffer buffers, org.lwjgl.PointerBuffer offsets, org.lwjgl.PointerBuffer sizes)
static void
glBindImageTextures(int first, int[] textures)
static void
glBindImageTextures(int first, java.nio.IntBuffer textures)
static void
glBindSamplers(int first, int[] samplers)
static void
glBindSamplers(int first, java.nio.IntBuffer samplers)
static void
glBindTextures(int first, int[] textures)
static void
glBindTextures(int first, java.nio.IntBuffer textures)
static void
glBindVertexBuffers(int first, int[] buffers, org.lwjgl.PointerBuffer offsets, int[] strides)
static void
glBindVertexBuffers(int first, java.nio.IntBuffer buffers, org.lwjgl.PointerBuffer offsets, java.nio.IntBuffer strides)
static void
glBufferStorage(int target, java.nio.ByteBuffer data, int flags)
static void
glBufferStorage(int target, double[] data, int flags)
static void
glBufferStorage(int target, java.nio.DoubleBuffer data, int flags)
static void
glBufferStorage(int target, float[] data, int flags)
static void
glBufferStorage(int target, java.nio.FloatBuffer data, int flags)
static void
glBufferStorage(int target, int[] data, int flags)
static void
glBufferStorage(int target, java.nio.IntBuffer data, int flags)
static void
glBufferStorage(int target, long size, int flags)
static void
glBufferStorage(int target, short[] data, int flags)
static void
glBufferStorage(int target, java.nio.ShortBuffer data, int flags)
static void
glClearTexImage(int texture, int level, int format, int type, java.nio.ByteBuffer data)
static void
glClearTexImage(int texture, int level, int format, int type, double[] data)
static void
glClearTexImage(int texture, int level, int format, int type, java.nio.DoubleBuffer data)
static void
glClearTexImage(int texture, int level, int format, int type, float[] data)
static void
glClearTexImage(int texture, int level, int format, int type, java.nio.FloatBuffer data)
static void
glClearTexImage(int texture, int level, int format, int type, int[] data)
static void
glClearTexImage(int texture, int level, int format, int type, java.nio.IntBuffer data)
static void
glClearTexImage(int texture, int level, int format, int type, short[] data)
static void
glClearTexImage(int texture, int level, int format, int type, java.nio.ShortBuffer data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.ByteBuffer data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, double[] data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.DoubleBuffer data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, float[] data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.FloatBuffer data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int[] data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.IntBuffer data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, short[] data)
static void
glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.ShortBuffer data)
-
-
-
Field Detail
-
GL_MAX_VERTEX_ATTRIB_STRIDE
Implementation-dependent state which constrains the maximum value of stride parameters to vertex array pointer-setting commands.
-
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED
Implementations are not required to support primitive restart for separate patch primitives (primitive type PATCHES). Support can be queried by calling GetBooleanv with the symbolic constant PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED. A value of FALSE indicates that primitive restart is treated as disabled when drawing patches, no matter the value of the enables. A value of TRUE indicates that primitive restart behaves normally for patches.
-
GL_TEXTURE_BUFFER_BINDING
Equivalent toTEXTURE_BUFFER_ARB
query, but named more consistently.
-
GL_BUFFER_IMMUTABLE_STORAGE, GL_BUFFER_STORAGE_FLAGS
Accepted by thepname
parameter ofGetBufferParameter{i|i64}v
.
-
GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT
Accepted by thebarriers
parameter ofMemoryBarrier
.
-
GL_LOCATION_COMPONENT, GL_TRANSFORM_FEEDBACK_BUFFER_INDEX, GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE
Accepted in theprops
array ofGetProgramResourceiv
.
-
GL_QUERY_RESULT_NO_WAIT
Accepted by thepname
parameter ofGetQueryObjectiv
,GetQueryObjectuiv
,GetQueryObjecti64v
andGetQueryObjectui64v
.
-
GL_QUERY_BUFFER
Accepted by thetarget
parameter ofBindBuffer
,BufferData
,BufferSubData
,MapBuffer
,UnmapBuffer
,MapBufferRange
,GetBufferSubData
,GetBufferParameteriv
,GetBufferParameteri64v
,GetBufferPointerv
,ClearBufferSubData
, and thereadtarget
andwritetarget
parameters ofCopyBufferSubData
.
-
GL_QUERY_BUFFER_BARRIER_BIT
Accepted in thebarriers
bitfield inMemoryBarrier
.
-
GL_MIRROR_CLAMP_TO_EDGE
Accepted by theparam
parameter of TexParameter{if}, SamplerParameter{if} and SamplerParameter{if}v, and by theparams
parameter of TexParameter{if}v, TexParameterI{i ui}v and SamplerParameterI{i ui}v when theirpname
parameter isTEXTURE_WRAP_S
,TEXTURE_WRAP_T
, orTEXTURE_WRAP_R
,
-
-
Method Detail
-
glBufferStorage
public static void glBufferStorage(int target, long size, int flags)
Creates the data store of a buffer object.The data store of the buffer object bound to
target
is allocated as a result of a call to this function and cannot be de-allocated until the buffer is deleted with a call toDeleteBuffers
. Such a store may not be re-allocated through further calls toBufferStorage
orBufferData
.BufferStorage
deletes any existing data store. If any portion of the buffer object is mapped in the current context or any context current to another thread, it is as thoughUnmapBuffer
is executed in each such context prior to deleting the existing data store.- Parameters:
target
- the buffer object target. One of:size
- the size of the data store in basic machine unitsflags
- the bitwiseOR
of flags describing the intended usage of the buffer object's data store by the application. Valid flags and their meanings are as follows:DYNAMIC_STORAGE_BIT
– The contents of the data store may be updated after creation through calls toBufferSubData
. If this bit is not set, the buffer content may not be directly updated by the client. Thedata
argument may be used to specify the initial content of the buffer's data store regardless of the presence of theDYNAMIC_STORAGE_BIT
. Regardless of the presence of this bit, buffers may always be updated with server-side calls such asCopyBufferSubData
andClearBufferSubData
.MAP_READ_BIT
– The buffer's data store may be mapped by the client for read access and a pointer in the client's address space obtained that may be read from.MAP_WRITE_BIT
– The buffer's data store may be mapped by the client for write access and a pointer in the client's address space obtained that may be written to.MAP_PERSISTENT_BIT
– The client may request that the server read from or write to the buffer while it is mapped. The client's pointer to the data store remains valid so long as the data store is mapped, even during execution of drawing or dispatch commands.MAP_COHERENT_BIT
– Shared access to buffers that are simultaneously mapped for client access and are used by the server will be coherent, so long as that mapping is performed using MapBufferRange. That is, data written to the store by either the client or server will be immediately visible to the other with no further action taken by the application. In particular:- If
MAP_COHERENT_BIT
is not set and the client performs a write followed by a call to theMemoryBarrier
command with theCLIENT_MAPPED_BUFFER_BARRIER_BIT
set, then in subsequent commands the server will see the writes. - If
MAP_COHERENT_BIT
is set and the client performs a write, then in subsequent commands the server will see the writes. - If
MAP_COHERENT_BIT
is not set and the server performs a write, the application must callMemoryBarrier
with theCLIENT_MAPPED_BUFFER_BARRIER_BIT
set and then callFenceSync
withSYNC_GPU_COMMANDS_COMPLETE
(orFinish
). Then the CPU will see the writes after the sync is complete. - If
MAP_COHERENT_BIT
is set and the server does a write, the app must callFenceSync
withSYNC_GPU_COMMANDS_COMPLETE
(orFinish
). Then the CPU will see the writes after the sync is complete.
- If
CLIENT_STORAGE_BIT
– When all other criteria for the buffer storage allocation are met, this bit may be used by an implementation to determine whether to use storage that is local to the server or to the client to serve as the backing store for the buffer.
If
flags
containsMAP_PERSISTENT_BIT
, it must also contain at least one ofMAP_READ_BIT
orMAP_WRITE_BIT
.It is an error to specify
MAP_COHERENT_BIT
without also specifyingMAP_PERSISTENT_BIT
.
-
glBufferStorage
public static void glBufferStorage(int target, java.nio.ByteBuffer data, int flags) public static void glBufferStorage(int target, java.nio.ShortBuffer data, int flags) public static void glBufferStorage(int target, java.nio.IntBuffer data, int flags) public static void glBufferStorage(int target, java.nio.FloatBuffer data, int flags) public static void glBufferStorage(int target, java.nio.DoubleBuffer data, int flags)
Creates the data store of a buffer object.The data store of the buffer object bound to
target
is allocated as a result of a call to this function and cannot be de-allocated until the buffer is deleted with a call toDeleteBuffers
. Such a store may not be re-allocated through further calls toBufferStorage
orBufferData
.BufferStorage
deletes any existing data store. If any portion of the buffer object is mapped in the current context or any context current to another thread, it is as thoughUnmapBuffer
is executed in each such context prior to deleting the existing data store.- Parameters:
target
- the buffer object target. One of:data
- the address in client memory of the data that should be used to initialize the buffer's data store. Ifdata
isNULL
, the data store of the buffer is created, but contains undefined data. Otherwise,data
should point to an array of at leastsize
basic machine units.flags
- the bitwiseOR
of flags describing the intended usage of the buffer object's data store by the application. Valid flags and their meanings are as follows:DYNAMIC_STORAGE_BIT
– The contents of the data store may be updated after creation through calls toBufferSubData
. If this bit is not set, the buffer content may not be directly updated by the client. Thedata
argument may be used to specify the initial content of the buffer's data store regardless of the presence of theDYNAMIC_STORAGE_BIT
. Regardless of the presence of this bit, buffers may always be updated with server-side calls such asCopyBufferSubData
andClearBufferSubData
.MAP_READ_BIT
– The buffer's data store may be mapped by the client for read access and a pointer in the client's address space obtained that may be read from.MAP_WRITE_BIT
– The buffer's data store may be mapped by the client for write access and a pointer in the client's address space obtained that may be written to.MAP_PERSISTENT_BIT
– The client may request that the server read from or write to the buffer while it is mapped. The client's pointer to the data store remains valid so long as the data store is mapped, even during execution of drawing or dispatch commands.MAP_COHERENT_BIT
– Shared access to buffers that are simultaneously mapped for client access and are used by the server will be coherent, so long as that mapping is performed using MapBufferRange. That is, data written to the store by either the client or server will be immediately visible to the other with no further action taken by the application. In particular:- If
MAP_COHERENT_BIT
is not set and the client performs a write followed by a call to theMemoryBarrier
command with theCLIENT_MAPPED_BUFFER_BARRIER_BIT
set, then in subsequent commands the server will see the writes. - If
MAP_COHERENT_BIT
is set and the client performs a write, then in subsequent commands the server will see the writes. - If
MAP_COHERENT_BIT
is not set and the server performs a write, the application must callMemoryBarrier
with theCLIENT_MAPPED_BUFFER_BARRIER_BIT
set and then callFenceSync
withSYNC_GPU_COMMANDS_COMPLETE
(orFinish
). Then the CPU will see the writes after the sync is complete. - If
MAP_COHERENT_BIT
is set and the server does a write, the app must callFenceSync
withSYNC_GPU_COMMANDS_COMPLETE
(orFinish
). Then the CPU will see the writes after the sync is complete.
- If
CLIENT_STORAGE_BIT
– When all other criteria for the buffer storage allocation are met, this bit may be used by an implementation to determine whether to use storage that is local to the server or to the client to serve as the backing store for the buffer.
If
flags
containsMAP_PERSISTENT_BIT
, it must also contain at least one ofMAP_READ_BIT
orMAP_WRITE_BIT
.It is an error to specify
MAP_COHERENT_BIT
without also specifyingMAP_PERSISTENT_BIT
.
-
glClearTexSubImage
public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.ByteBuffer data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.ShortBuffer data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.IntBuffer data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.FloatBuffer data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, java.nio.DoubleBuffer data)
Fills all or part of a texture image with a constant value.Arguments
xoffset
,yoffset
, andzoffset
specify the lower left texel coordinates of awidth
-wide byheight
-high bydepth
-deep rectangular subregion of the texel array and are interpreted as they are inTexSubImage3D
.For 1D array textures,
yoffset
is interpreted as the first layer to be cleared andheight
is the number of layers to clear. For 2D array textures,zoffset
is interpreted as the first layer to be cleared anddepth
is the number of layers to clear. Cube map textures are treated as an array of six slices in the z-dimension, where the value ofzoffset
is interpreted as specifying the cube map face for the correspondinglayer
anddepth
is the number of faces to clear. For cube map array textures,zoffset
is the first layer-face to clear, anddepth
is the number of layer-faces to clear. Each layer-face is translated into an array layer and a cube map face.Negative values of
xoffset
,yoffset
, andzoffset
correspond to the coordinates of border texels.- Parameters:
texture
- the texture to clear. It is an error iftexture
is zero or not the name of a texture object, iftexture
is a buffer texture, or if the texture image has a compressed internal formatlevel
- the texture level to clearxoffset
- the x coordinate of the texel subregionyoffset
- the y coordinate of the texel subregionzoffset
- the z coordinate of the texel subregionwidth
- the subregion widthheight
- the subregion heightdepth
- the subregion depthformat
- the format of the source data. One of:type
- the type of the source data. One of:data
- an array of between one and four components of texel data that will be used as the source for the constant fill value. Ifdata
isNULL
, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
-
glClearTexImage
public static void glClearTexImage(int texture, int level, int format, int type, java.nio.ByteBuffer data) public static void glClearTexImage(int texture, int level, int format, int type, java.nio.ShortBuffer data) public static void glClearTexImage(int texture, int level, int format, int type, java.nio.IntBuffer data) public static void glClearTexImage(int texture, int level, int format, int type, java.nio.FloatBuffer data) public static void glClearTexImage(int texture, int level, int format, int type, java.nio.DoubleBuffer data)
Is equivalent to callingClearTexSubImage
withxoffset
,yoffset
, andzoffset
equal to -b
andwidth
,height
, anddepth
equal to the dimensions of the texture image plus2xb
(or zero and one for dimensions the texture doesn't have).- Parameters:
texture
- the texture to clear. It is an error iftexture
is zero or not the name of a texture object, iftexture
is a buffer texture, or if the texture image has a compressed internal formatlevel
- the texture level to clearformat
- the format of the source data. One of:type
- the type of the source data. One of:data
- an array of between one and four components of texel data that will be used as the source for the constant fill value. Ifdata
isNULL
, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
-
glBindBuffersBase
public static void glBindBuffersBase(int target, int first, java.nio.IntBuffer buffers)
Bindscount
existing buffer objects to bindings numberedfirst
throughfirst+count-1
in the array of buffer binding points corresponding totarget
. Ifbuffers
is notNULL
, it specifies an array ofcount
values, each of which must be zero or the name of an existing buffer object. It is equivalent to:for ( i = 0; i < count; i++ ) { if ( buffers == NULL ) { glBindBufferBase(target, first + i, 0); } else { glBindBufferBase(target, first + i, buffers[i]); } }
except that the single general buffer binding corresponding to
target
is unmodified, and that buffers will not be created if they do not exist.- Parameters:
target
- the buffer object target. One of:first
- the first bindingbuffers
- an array of zeros or names of existing buffers objects
-
glBindBuffersRange
public static void glBindBuffersRange(int target, int first, java.nio.IntBuffer buffers, org.lwjgl.PointerBuffer offsets, org.lwjgl.PointerBuffer sizes)
Bindscount
existing buffer objects to bindings numberedfirst
throughfirst+count-1
in the array of buffer binding points corresponding totarget
.offsets
andsizes
specify arrays ofcount
values indicating the range of each buffer to bind. Ifbuffers
isNULL
, all bindings fromfirst
throughfirst+count-1
are reset to their unbound (zero) state. In this case, the offsets and sizes associated with the binding points are set to default values, ignoringoffsets
andsizes
. It is equivalent to:for ( i = 0; i < count; i++ ) { if ( buffers == NULL ) { glBindBufferRange(target, first + i, 0, 0, 0); } else { glBindBufferRange(target, first + i, buffers[i], offsets[i], sizes[i]); } }
except that the single general buffer binding corresponding to
target
is unmodified, and that buffers will not be created if they do not exist.The values specified in
buffers
,offsets
, andsizes
will be checked separately for each binding point. When values for a specific binding point are invalid, the state for that binding point will be unchanged and an error will be generated. However, state for other binding points will still be changed if their corresponding values are valid.- Parameters:
target
- the buffer object target. One of:first
- the first bindingbuffers
- an array of names of existing buffers objectsoffsets
- an array of offsetssizes
- an array of sizes
-
glBindTextures
public static void glBindTextures(int first, java.nio.IntBuffer textures)
Bindscount
existing texture objects to texture image units numberedfirst
throughfirst+count-1
. Iftextures
is notNULL
, it specifies an array ofcount
values, each of which must be zero or the name of an existing texture object. When an entry intextures
is the name of an existing texture object, that object is bound to corresponding texture unit for the target specified when the texture object was created. When an entry intextures
is zero, each of the targets enumerated at the beginning of this section is reset to its default texture for the corresponding texture image unit. Iftextures
isNULL
, each target of each affected texture image unit fromfirst
throughfirst+count-1
is reset to its default texture.BindTextures
is equivalent to:for ( i = 0; i < count; i++ ) { uint texture; if ( textures == NULL ) { texture = 0; } else { texture = textures[i]; } ActiveTexture(TEXTURE0 + first + i); if ( texture != 0 ) { enum target; // target of texture object textures[i] BindTexture(target, textures[i]); } else { for ( target in all supported targets ) { BindTexture(target, 0); } } }
except that the active texture selector retains its original value upon completion of the command, and that textures will not be created if they do not exist.
The values specified in
textures
will be checked separately for each texture image unit. When a value for a specific texture image unit is invalid, the state for that texture image unit will be unchanged and an error will be generated. However, state for other texture image units will still be changed if their corresponding values are valid.- Parameters:
first
- the first texture objectstextures
- an array of zeros or names of existing texture objects
-
glBindSamplers
public static void glBindSamplers(int first, java.nio.IntBuffer samplers)
Bindscount
existing sampler objects to texture image units numberedfirst
throughfirst+count-1
. Ifsamplers
is notNULL
, it specifies an array ofcount
values, each of which must be zero or the name of an existing sampler object. Ifsamplers
isNULL
, each affected texture image unit fromfirst
throughfirst+count-1
will be reset to have no bound sampler object.BindSamplers
is equivalent to:for ( i = 0; i < count; i++ ) { if ( samplers == NULL ) { glBindSampler(first + i, 0); } else { glBindSampler(first + i, samplers[i]); } }
The values specified in
samplers
will be checked separately for each texture image unit. When a value for a specific texture image unit is invalid, the state for that texture image unit will be unchanged and an error will be generated. However, state for other texture image units will still be changed if their corresponding values are valid.- Parameters:
first
- the first sampler objectsamplers
- an array of zeros or names of existing sampler objects
-
glBindImageTextures
public static void glBindImageTextures(int first, java.nio.IntBuffer textures)
Bindscount
existing texture objects to image units numberedfirst
throughfirst+count-1
. Iftextures
is notNULL
, it specifies an array ofcount
values, each of which must be zero or the name of an existing texture object. Iftextures
isNULL
, each affected image unit fromfirst
throughfirst+count-1
will be reset to have no bound texture object.When binding a non-zero texture object to an image unit, the image unit
level
,layered
,layer
, andaccess
parameters are set to zero,TRUE
, zero, andREAD_WRITE
, respectively. The image unitformat
parameter is taken from the internal format of the texture image at level zero of the texture object identified bytextures
. For cube map textures, the internal format of theTEXTURE_CUBE_MAP_POSITIVE_X
image of level zero is used. For multisample, multisample array, buffer, and rectangle textures, the internal format of the single texture level is used.When unbinding a texture object from an image unit, the image unit parameters
level
,layered
,layer
, andformat
will be reset to their default values of zero,FALSE
, 0, andR8
, respectively.BindImageTextures
is equivalent to:for ( i = 0; i < count; i++ ) { if ( textures == NULL || textures[i] = 0 ) { glBindImageTexture(first + i, 0, 0, FALSE, 0, READ_ONLY, R8); } else { glBindImageTexture(first + i, textures[i], 0, TRUE, 0, READ_WRITE, lookupInternalFormat(textures[i])); } }
where
lookupInternalFormat
returns the internal format of the specified texture object.The values specified in
textures
will be checked separately for each image unit. When a value for a specific image unit is invalid, the state for that image unit will be unchanged and an error will be generated. However, state for other image units will still be changed if their corresponding values are valid.- Parameters:
first
- the first image unittextures
- an array of zeros or names of existing texture objects
-
glBindVertexBuffers
public static void glBindVertexBuffers(int first, java.nio.IntBuffer buffers, org.lwjgl.PointerBuffer offsets, java.nio.IntBuffer strides)
Bindscount
existing buffer objects to vertex buffer binding points numberedfirst
throughfirst+count-1
. Ifbuffers
is notNULL
, it specifies an array ofcount
values, each of which must be zero or the name of an existing buffer object.offsets
andstrides
specify arrays ofcount
values indicating the offset of the first element and stride between elements in each buffer, respectively. Ifbuffers
isNULL
, each affected vertex buffer binding point fromfirst
throughfirst+count-1
will be reset to have no bound buffer object. In this case, the offsets and strides associated with the binding points are set to default values, ignoringoffsets
andstrides
.BindVertexBuffers
is equivalent to:for ( i = 0; i < count; i++ ) { if ( buffers == NULL ) { glBindVertexBuffer(first + i, 0, 0, 16); } else { glBindVertexBuffer(first + i, buffers[i], offsets[i], strides[i]); } }
except that buffers will not be created if they do not exist.
The values specified in
buffers
,offsets
, andstrides
will be checked separately for each vertex buffer binding point. When a value for a specific binding point is invalid, the state for that binding point will be unchanged and an error will be generated. However, state for other binding points will still be changed if their corresponding values are valid.- Parameters:
first
- the first vertex buffer binding pointbuffers
- an array of zeros or names of existing buffers objectsoffsets
- an array of offsesstrides
- an array of stride values
-
glBufferStorage
public static void glBufferStorage(int target, short[] data, int flags) public static void glBufferStorage(int target, int[] data, int flags) public static void glBufferStorage(int target, float[] data, int flags) public static void glBufferStorage(int target, double[] data, int flags)
Array version of:BufferStorage
-
glClearTexSubImage
public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, short[] data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int[] data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, float[] data) public static void glClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, double[] data)
Array version of:ClearTexSubImage
-
glClearTexImage
public static void glClearTexImage(int texture, int level, int format, int type, short[] data) public static void glClearTexImage(int texture, int level, int format, int type, int[] data) public static void glClearTexImage(int texture, int level, int format, int type, float[] data) public static void glClearTexImage(int texture, int level, int format, int type, double[] data)
Array version of:ClearTexImage
-
glBindBuffersBase
public static void glBindBuffersBase(int target, int first, int[] buffers)
Array version of:BindBuffersBase
-
glBindBuffersRange
public static void glBindBuffersRange(int target, int first, int[] buffers, org.lwjgl.PointerBuffer offsets, org.lwjgl.PointerBuffer sizes)
Array version of:BindBuffersRange
-
glBindTextures
public static void glBindTextures(int first, int[] textures)
Array version of:BindTextures
-
glBindSamplers
public static void glBindSamplers(int first, int[] samplers)
Array version of:BindSamplers
-
glBindImageTextures
public static void glBindImageTextures(int first, int[] textures)
Array version of:BindImageTextures
-
glBindVertexBuffers
public static void glBindVertexBuffers(int first, int[] buffers, org.lwjgl.PointerBuffer offsets, int[] strides)
Array version of:BindVertexBuffers
-
-