Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class GL44

extends GL43
Class Inheritance
Known Direct Subclasses
org.lwjgl.opengl.GL45
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

The OpenGL functionality up to version 4.4. Includes the deprecated symbols of the Compatibility Profile.

OpenGL 4.4 implementations support revision 4.40 of the OpenGL Shading Language.

Extensions promoted to core in this release:

Field Summary

Modifier and TypeField and Description
public static final int
GL_BUFFER_IMMUTABLE_STORAGE

Accepted by the pname parameter of GetBufferParameter{i|i64}v.

public static final int
GL_BUFFER_STORAGE_FLAGS

Accepted by the pname parameter of GetBufferParameter{i|i64}v.

public static final int
GL_CLEAR_TEXTURE

Accepted by the pname parameter for GetInternalformativ and GetInternalformati64v.

public static final int
GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT

Accepted by the barriers parameter of MemoryBarrier.

public static final int
GL_CLIENT_STORAGE_BIT

Accepted in the flags parameter of BufferStorage and NamedBufferStorageEXT.

public static final int
GL_DYNAMIC_STORAGE_BIT

Accepted in the flags parameter of BufferStorage and NamedBufferStorageEXT.

public static final int
GL_LOCATION_COMPONENT

Accepted in the props array of GetProgramResourceiv.

public static final int
GL_MAP_COHERENT_BIT

Accepted in the flags parameter of BufferStorage and NamedBufferStorageEXT.

public static final int
GL_MAP_PERSISTENT_BIT

Accepted in the flags parameter of BufferStorage and NamedBufferStorageEXT.

public static final int
GL_MAX_VERTEX_ATTRIB_STRIDE

Implementation-dependent state which constrains the maximum value of stride parameters to vertex array pointer-setting commands.

public static final int
GL_MIRROR_CLAMP_TO_EDGE

Accepted by the param parameter of TexParameter{if}, SamplerParameter{if} and SamplerParameter{if}v, and by the params parameter of TexParameter{if}v, TexParameterI{i ui}v and SamplerParameterI{i ui}v when their pname parameter is TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R,

public static final int
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED

Implementations are not required to support primitive restart for separate patch primitives (primitive type PATCHES).

public static final int
public static final int
GL_QUERY_BUFFER_BARRIER_BIT

Accepted in the barriers bitfield in MemoryBarrier.

public static final int
GL_QUERY_BUFFER_BINDING

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
public static final int
GL_TEXTURE_BUFFER_BINDING

Equivalent to TEXTURE_BUFFER_ARB query, but named more consistently.

public static final int
public static final int
Inherited from org.lwjgl.opengl.GL43:
GL_ACTIVE_RESOURCESGL_ACTIVE_VARIABLESGL_ANY_SAMPLES_PASSED_CONSERVATIVEGL_ARRAY_SIZEGL_ARRAY_STRIDEGL_ATOMIC_COUNTER_BUFFER_INDEXGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADERGL_AUTO_GENERATE_MIPMAPGL_BLOCK_INDEXGL_BUFFERGL_BUFFER_BINDINGGL_BUFFER_DATA_SIZEGL_BUFFER_VARIABLEGL_CAVEAT_SUPPORTGL_CLEAR_BUFFERGL_COLOR_COMPONENTSGL_COLOR_ENCODINGGL_COLOR_RENDERABLEGL_COMPRESSED_R11_EACGL_COMPRESSED_RG11_EACGL_COMPRESSED_RGB8_ETC2GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2GL_COMPRESSED_RGBA8_ETC2_EACGL_COMPRESSED_SIGNED_R11_EACGL_COMPRESSED_SIGNED_RG11_EACGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EACGL_COMPRESSED_SRGB8_ETC2GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2GL_COMPUTE_SHADERGL_COMPUTE_SHADER_BITGL_COMPUTE_SUBROUTINEGL_COMPUTE_SUBROUTINE_UNIFORMGL_COMPUTE_TEXTUREGL_COMPUTE_WORK_GROUP_SIZEGL_CONTEXT_FLAG_DEBUG_BITGL_DEBUG_CALLBACK_FUNCTIONGL_DEBUG_CALLBACK_USER_PARAMGL_DEBUG_GROUP_STACK_DEPTHGL_DEBUG_LOGGED_MESSAGESGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTHGL_DEBUG_OUTPUTGL_DEBUG_OUTPUT_SYNCHRONOUSGL_DEBUG_SEVERITY_HIGHGL_DEBUG_SEVERITY_LOWGL_DEBUG_SEVERITY_MEDIUMGL_DEBUG_SEVERITY_NOTIFICATIONGL_DEBUG_SOURCE_APIGL_DEBUG_SOURCE_APPLICATIONGL_DEBUG_SOURCE_OTHERGL_DEBUG_SOURCE_SHADER_COMPILERGL_DEBUG_SOURCE_THIRD_PARTYGL_DEBUG_SOURCE_WINDOW_SYSTEMGL_DEBUG_TYPE_DEPRECATED_BEHAVIORGL_DEBUG_TYPE_ERRORGL_DEBUG_TYPE_MARKERGL_DEBUG_TYPE_OTHERGL_DEBUG_TYPE_PERFORMANCEGL_DEBUG_TYPE_POP_GROUPGL_DEBUG_TYPE_PORTABILITYGL_DEBUG_TYPE_PUSH_GROUPGL_DEBUG_TYPE_UNDEFINED_BEHAVIORGL_DEPTH_COMPONENTSGL_DEPTH_RENDERABLEGL_DEPTH_STENCIL_TEXTURE_MODEGL_DISPATCH_INDIRECT_BUFFERGL_DISPATCH_INDIRECT_BUFFER_BINDINGGL_DISPLAY_LISTGL_FILTERGL_FRAGMENT_SUBROUTINEGL_FRAGMENT_SUBROUTINE_UNIFORMGL_FRAGMENT_TEXTUREGL_FRAMEBUFFER_BLENDGL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONSGL_FRAMEBUFFER_DEFAULT_HEIGHTGL_FRAMEBUFFER_DEFAULT_LAYERSGL_FRAMEBUFFER_DEFAULT_SAMPLESGL_FRAMEBUFFER_DEFAULT_WIDTHGL_FRAMEBUFFER_RENDERABLEGL_FRAMEBUFFER_RENDERABLE_LAYEREDGL_FULL_SUPPORTGL_GEOMETRY_SUBROUTINEGL_GEOMETRY_SUBROUTINE_UNIFORMGL_GEOMETRY_TEXTUREGL_GET_TEXTURE_IMAGE_FORMATGL_GET_TEXTURE_IMAGE_TYPEGL_IMAGE_CLASS_10_10_10_2GL_IMAGE_CLASS_11_11_10GL_IMAGE_CLASS_1_X_16GL_IMAGE_CLASS_1_X_32GL_IMAGE_CLASS_1_X_8GL_IMAGE_CLASS_2_X_16GL_IMAGE_CLASS_2_X_32GL_IMAGE_CLASS_2_X_8GL_IMAGE_CLASS_4_X_16GL_IMAGE_CLASS_4_X_32GL_IMAGE_CLASS_4_X_8GL_IMAGE_COMPATIBILITY_CLASSGL_IMAGE_PIXEL_FORMATGL_IMAGE_PIXEL_TYPEGL_IMAGE_TEXEL_SIZEGL_INTERNALFORMAT_ALPHA_SIZEGL_INTERNALFORMAT_ALPHA_TYPEGL_INTERNALFORMAT_BLUE_SIZEGL_INTERNALFORMAT_BLUE_TYPEGL_INTERNALFORMAT_DEPTH_SIZEGL_INTERNALFORMAT_DEPTH_TYPEGL_INTERNALFORMAT_GREEN_SIZEGL_INTERNALFORMAT_GREEN_TYPEGL_INTERNALFORMAT_PREFERREDGL_INTERNALFORMAT_RED_SIZEGL_INTERNALFORMAT_RED_TYPEGL_INTERNALFORMAT_SHARED_SIZEGL_INTERNALFORMAT_STENCIL_SIZEGL_INTERNALFORMAT_STENCIL_TYPEGL_INTERNALFORMAT_SUPPORTEDGL_IS_PER_PATCHGL_IS_ROW_MAJORGL_LOCATIONGL_LOCATION_INDEXGL_MANUAL_GENERATE_MIPMAPGL_MATRIX_STRIDEGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTSGL_MAX_COMBINED_DIMENSIONSGL_MAX_COMBINED_SHADER_OUTPUT_RESOURCESGL_MAX_COMBINED_SHADER_STORAGE_BLOCKSGL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERSGL_MAX_COMPUTE_ATOMIC_COUNTERSGL_MAX_COMPUTE_IMAGE_UNIFORMSGL_MAX_COMPUTE_SHADER_STORAGE_BLOCKSGL_MAX_COMPUTE_SHARED_MEMORY_SIZEGL_MAX_COMPUTE_TEXTURE_IMAGE_UNITSGL_MAX_COMPUTE_UNIFORM_BLOCKSGL_MAX_COMPUTE_UNIFORM_COMPONENTSGL_MAX_COMPUTE_WORK_GROUP_COUNTGL_MAX_COMPUTE_WORK_GROUP_INVOCATIONSGL_MAX_COMPUTE_WORK_GROUP_SIZEGL_MAX_DEBUG_GROUP_STACK_DEPTHGL_MAX_DEBUG_LOGGED_MESSAGESGL_MAX_DEBUG_MESSAGE_LENGTHGL_MAX_DEPTHGL_MAX_ELEMENT_INDEXGL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKSGL_MAX_FRAMEBUFFER_HEIGHTGL_MAX_FRAMEBUFFER_LAYERSGL_MAX_FRAMEBUFFER_SAMPLESGL_MAX_FRAMEBUFFER_WIDTHGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKSGL_MAX_HEIGHTGL_MAX_LABEL_LENGTHGL_MAX_LAYERSGL_MAX_NAME_LENGTHGL_MAX_NUM_ACTIVE_VARIABLESGL_MAX_NUM_COMPATIBLE_SUBROUTINESGL_MAX_SHADER_STORAGE_BLOCK_SIZEGL_MAX_SHADER_STORAGE_BUFFER_BINDINGSGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKSGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKSGL_MAX_UNIFORM_LOCATIONSGL_MAX_VERTEX_ATTRIB_BINDINGSGL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSETGL_MAX_VERTEX_SHADER_STORAGE_BLOCKSGL_MAX_WIDTHGL_MIPMAPGL_NAME_LENGTHGL_NUM_ACTIVE_VARIABLESGL_NUM_SHADING_LANGUAGE_VERSIONSGL_OFFSETGL_PRIMITIVE_RESTART_FIXED_INDEXGL_PROGRAMGL_PROGRAM_INPUTGL_PROGRAM_OUTPUTGL_PROGRAM_PIPELINEGL_QUERYGL_READ_PIXELSGL_READ_PIXELS_FORMATGL_READ_PIXELS_TYPEGL_REFERENCED_BY_COMPUTE_SHADERGL_REFERENCED_BY_FRAGMENT_SHADERGL_REFERENCED_BY_GEOMETRY_SHADERGL_REFERENCED_BY_TESS_CONTROL_SHADERGL_REFERENCED_BY_TESS_EVALUATION_SHADERGL_REFERENCED_BY_VERTEX_SHADERGL_SAMPLERGL_SHADERGL_SHADER_IMAGE_ATOMICGL_SHADER_IMAGE_LOADGL_SHADER_IMAGE_STOREGL_SHADER_STORAGE_BARRIER_BITGL_SHADER_STORAGE_BLOCKGL_SHADER_STORAGE_BUFFERGL_SHADER_STORAGE_BUFFER_BINDINGGL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENTGL_SHADER_STORAGE_BUFFER_SIZEGL_SHADER_STORAGE_BUFFER_STARTGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TESTGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITEGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TESTGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITEGL_SRGB_READGL_SRGB_WRITEGL_STENCIL_COMPONENTSGL_STENCIL_RENDERABLEGL_TESS_CONTROL_SUBROUTINEGL_TESS_CONTROL_SUBROUTINE_UNIFORMGL_TESS_CONTROL_TEXTUREGL_TESS_EVALUATION_SUBROUTINEGL_TESS_EVALUATION_SUBROUTINE_UNIFORMGL_TESS_EVALUATION_TEXTUREGL_TEXTURE_BUFFER_OFFSETGL_TEXTURE_BUFFER_OFFSET_ALIGNMENTGL_TEXTURE_BUFFER_SIZEGL_TEXTURE_COMPRESSED_BLOCK_HEIGHTGL_TEXTURE_COMPRESSED_BLOCK_SIZEGL_TEXTURE_COMPRESSED_BLOCK_WIDTHGL_TEXTURE_GATHERGL_TEXTURE_GATHER_SHADOWGL_TEXTURE_IMAGE_FORMATGL_TEXTURE_IMAGE_TYPEGL_TEXTURE_IMMUTABLE_LEVELSGL_TEXTURE_SHADOWGL_TEXTURE_VIEWGL_TEXTURE_VIEW_MIN_LAYERGL_TEXTURE_VIEW_MIN_LEVELGL_TEXTURE_VIEW_NUM_LAYERSGL_TEXTURE_VIEW_NUM_LEVELSGL_TOP_LEVEL_ARRAY_SIZEGL_TOP_LEVEL_ARRAY_STRIDEGL_TRANSFORM_FEEDBACK_VARYINGGL_TYPEGL_UNIFORMGL_UNIFORM_BLOCKGL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADERGL_VERTEX_ATTRIB_ARRAY_LONGGL_VERTEX_ATTRIB_BINDINGGL_VERTEX_ATTRIB_RELATIVE_OFFSETGL_VERTEX_BINDING_BUFFERGL_VERTEX_BINDING_DIVISORGL_VERTEX_BINDING_OFFSETGL_VERTEX_BINDING_STRIDEGL_VERTEX_SUBROUTINEGL_VERTEX_SUBROUTINE_UNIFORMGL_VERTEX_TEXTUREGL_VIEW_CLASS_128_BITSGL_VIEW_CLASS_16_BITSGL_VIEW_CLASS_24_BITSGL_VIEW_CLASS_32_BITSGL_VIEW_CLASS_48_BITSGL_VIEW_CLASS_64_BITSGL_VIEW_CLASS_8_BITSGL_VIEW_CLASS_96_BITSGL_VIEW_CLASS_BPTC_FLOATGL_VIEW_CLASS_BPTC_UNORMGL_VIEW_CLASS_RGTC1_REDGL_VIEW_CLASS_RGTC2_RGGL_VIEW_CLASS_S3TC_DXT1_RGBGL_VIEW_CLASS_S3TC_DXT1_RGBAGL_VIEW_CLASS_S3TC_DXT3_RGBAGL_VIEW_CLASS_S3TC_DXT5_RGBAGL_VIEW_COMPATIBILITY_CLASS

Constructor Summary

AccessConstructor and Description
protected
GL44()

Method Summary

Modifier and TypeMethod and Description
public static void
glBindBuffersBase(int target, int
the first binding
first
,
IntBuffer
an array of zeros or names of existing buffers objects
buffers
)

Binds count existing buffer objects to bindings numbered first through first+count-1 in the array of buffer binding points corresponding to target.

public static void
glBindBuffersBase(int target, int first, int[] buffers)

Array version of: BindBuffersBase

public static void
glBindBuffersRange(int target, int
the first binding
first
,
IntBuffer
an array of names of existing buffers objects
buffers
,
PointerBuffer
an array of offsets
offsets
,
PointerBuffer
an array of sizes
sizes
)

Binds count existing buffer objects to bindings numbered first through first+count-1 in the array of buffer binding points corresponding to target.

public static void
glBindBuffersRange(int target, int first, int[] buffers, PointerBuffer offsets, PointerBuffer sizes)

Array version of: BindBuffersRange

public static void
glBindImageTextures(int
the first image unit
first
,
IntBuffer
an array of zeros or names of existing texture objects
textures
)

Binds count existing texture objects to image units numbered first through first+count-1.

public static void
glBindImageTextures(int first, int[] textures)

Array version of: BindImageTextures

public static void
glBindSamplers(int
the first sampler object
first
,
IntBuffer
an array of zeros or names of existing sampler objects
samplers
)

Binds count existing sampler objects to texture image units numbered first through first+count-1.

public static void
glBindSamplers(int first, int[] samplers)

Array version of: BindSamplers

public static void
glBindTextures(int
the first texture objects
first
,
IntBuffer
an array of zeros or names of existing texture objects
textures
)

Binds count existing texture objects to texture image units numbered first through first+count-1.

public static void
glBindTextures(int first, int[] textures)

Array version of: BindTextures

public static void
glBindVertexBuffers(int
the first vertex buffer binding point
first
,
IntBuffer
an array of zeros or names of existing buffers objects
buffers
,
PointerBuffer
an array of offses
offsets
,
IntBuffer
an array of stride values
strides
)

Binds count existing buffer objects to vertex buffer binding points numbered first through first+count-1.

public static void
glBindVertexBuffers(int first, int[] buffers, PointerBuffer offsets, int[] strides)

Array version of: BindVertexBuffers

public static void
glBufferStorage(int target, long
the size of the data store in basic machine units
size
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, ByteBuffer
the address in client memory of the data that should be used to initialize the buffer's data store. If data is NULL, the data store of the buffer is created, but contains undefined data. Otherwise, data should point to an array of at least size basic machine units.
data
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, ShortBuffer
the address in client memory of the data that should be used to initialize the buffer's data store. If data is NULL, the data store of the buffer is created, but contains undefined data. Otherwise, data should point to an array of at least size basic machine units.
data
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, IntBuffer
the address in client memory of the data that should be used to initialize the buffer's data store. If data is NULL, the data store of the buffer is created, but contains undefined data. Otherwise, data should point to an array of at least size basic machine units.
data
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, FloatBuffer
the address in client memory of the data that should be used to initialize the buffer's data store. If data is NULL, the data store of the buffer is created, but contains undefined data. Otherwise, data should point to an array of at least size basic machine units.
data
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, DoubleBuffer
the address in client memory of the data that should be used to initialize the buffer's data store. If data is NULL, the data store of the buffer is created, but contains undefined data. Otherwise, data should point to an array of at least size basic machine units.
data
,
int
the bitwise OR 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 to BufferSubData. If this bit is not set, the buffer content may not be directly updated by the client. The data argument may be used to specify the initial content of the buffer's data store regardless of the presence of the DYNAMIC_STORAGE_BIT. Regardless of the presence of this bit, buffers may always be updated with server-side calls such as CopyBufferSubData and ClearBufferSubData.
  • 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:
  • 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 contains MAP_PERSISTENT_BIT, it must also contain at least one of MAP_READ_BIT or MAP_WRITE_BIT.

It is an error to specify MAP_COHERENT_BIT without also specifying MAP_PERSISTENT_BIT.

flags
)

Creates the data store of a buffer object.

public static void
glBufferStorage(int target, short[] data, int flags)

Array version of: BufferStorage

public static void
glBufferStorage(int target, int[] data, int flags)

Array version of: BufferStorage

public static void
glBufferStorage(int target, float[] data, int flags)

Array version of: BufferStorage

public static void
glBufferStorage(int target, double[] data, int flags)

Array version of: BufferStorage

public static void
glClearTexImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int format, int type, ByteBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Is equivalent to calling ClearTexSubImage with xoffset, yoffset, and zoffset equal to -b and width, height, and depth equal to the dimensions of the texture image plus 2xb (or zero and one for dimensions the texture doesn't have).

public static void
glClearTexImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int format, int type, ShortBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Is equivalent to calling ClearTexSubImage with xoffset, yoffset, and zoffset equal to -b and width, height, and depth equal to the dimensions of the texture image plus 2xb (or zero and one for dimensions the texture doesn't have).

public static void
glClearTexImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int format, int type, IntBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Is equivalent to calling ClearTexSubImage with xoffset, yoffset, and zoffset equal to -b and width, height, and depth equal to the dimensions of the texture image plus 2xb (or zero and one for dimensions the texture doesn't have).

public static void
glClearTexImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int format, int type, FloatBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Is equivalent to calling ClearTexSubImage with xoffset, yoffset, and zoffset equal to -b and width, height, and depth equal to the dimensions of the texture image plus 2xb (or zero and one for dimensions the texture doesn't have).

public static void
glClearTexImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int format, int type, DoubleBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Is equivalent to calling ClearTexSubImage with xoffset, yoffset, and zoffset equal to -b and width, height, and depth equal to the dimensions of the texture image plus 2xb (or zero and one for dimensions the texture doesn't have).

public static void
glClearTexImage(int texture, int level, int format, int type, short[] data)

Array version of: ClearTexImage

public static void
glClearTexImage(int texture, int level, int format, int type, int[] data)

Array version of: ClearTexImage

public static void
glClearTexImage(int texture, int level, int format, int type, float[] data)

Array version of: ClearTexImage

public static void
glClearTexImage(int texture, int level, int format, int type, double[] data)

Array version of: ClearTexImage

public static void
glClearTexSubImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int
the x coordinate of the texel subregion
xoffset
,
int
the y coordinate of the texel subregion
yoffset
,
int
the z coordinate of the texel subregion
zoffset
,
int
the subregion width
width
,
int
the subregion height
height
,
int
the subregion depth
depth
,
int format, int type, ByteBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Fills all or part of a texture image with a constant value.

public static void
glClearTexSubImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int
the x coordinate of the texel subregion
xoffset
,
int
the y coordinate of the texel subregion
yoffset
,
int
the z coordinate of the texel subregion
zoffset
,
int
the subregion width
width
,
int
the subregion height
height
,
int
the subregion depth
depth
,
int format, int type, ShortBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Fills all or part of a texture image with a constant value.

public static void
glClearTexSubImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int
the x coordinate of the texel subregion
xoffset
,
int
the y coordinate of the texel subregion
yoffset
,
int
the z coordinate of the texel subregion
zoffset
,
int
the subregion width
width
,
int
the subregion height
height
,
int
the subregion depth
depth
,
int format, int type, IntBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Fills all or part of a texture image with a constant value.

public static void
glClearTexSubImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int
the x coordinate of the texel subregion
xoffset
,
int
the y coordinate of the texel subregion
yoffset
,
int
the z coordinate of the texel subregion
zoffset
,
int
the subregion width
width
,
int
the subregion height
height
,
int
the subregion depth
depth
,
int format, int type, FloatBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Fills all or part of a texture image with a constant value.

public static void
glClearTexSubImage(int
the texture to clear. It is an error if texture is zero or not the name of a texture object, if texture is a buffer texture, or if the texture image has a compressed internal format
texture
,
int
the texture level to clear
level
,
int
the x coordinate of the texel subregion
xoffset
,
int
the y coordinate of the texel subregion
yoffset
,
int
the z coordinate of the texel subregion
zoffset
,
int
the subregion width
width
,
int
the subregion height
height
,
int
the subregion depth
depth
,
int format, int type, DoubleBuffer
an array of between one and four components of texel data that will be used as the source for the constant fill value. If data is NULL, then the pointer is ignored and the sub-range of the texture image is filled with zeros.
data
)

Fills all or part of a texture image with a constant value.

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)

Array version of: ClearTexSubImage

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)

Array version of: ClearTexSubImage

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)

Array version of: ClearTexSubImage

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

public static void
nglBindBuffersBase(int target, int first, int
the number of bindings
count
,
long buffers)

Unsafe version of: BindBuffersBase

public static void
nglBindBuffersRange(int target, int first, int
the number of bindings
count
,
long buffers, long offsets, long sizes)

Unsafe version of: BindBuffersRange

public static void
nglBindImageTextures(int first, int
the number of image units
count
,
long textures)

Unsafe version of: BindImageTextures

public static void
nglBindSamplers(int first, int
the number of sampler objects
count
,
long samplers)

Unsafe version of: BindSamplers

public static void
nglBindTextures(int first, int
the number of texture objects
count
,
long textures)

Unsafe version of: BindTextures

public static void
nglBindVertexBuffers(int first, int
the number of vertex buffer binding points
count
,
long buffers, long offsets, long strides)

Unsafe version of: BindVertexBuffers

public static void
nglBufferStorage(int target, long
the size of the data store in basic machine units
size
,
long data, int flags)

Unsafe version of: BufferStorage

public static void
nglClearTexImage(int texture, int level, int format, int type, long data)

Unsafe version of: ClearTexImage

public static void
nglClearTexSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, long data)

Unsafe version of: ClearTexSubImage

Inherited from org.lwjgl.opengl.GL43:
glBindVertexBufferglClearBufferDataglClearBufferDataglClearBufferDataglClearBufferDataglClearBufferDataglClearBufferDataglClearBufferDataglClearBufferSubDataglClearBufferSubDataglClearBufferSubDataglClearBufferSubDataglClearBufferSubDataglClearBufferSubDataglClearBufferSubDataglCopyImageSubDataglDebugMessageCallbackglDebugMessageControlglDebugMessageControlglDebugMessageControlglDebugMessageInsertglDebugMessageInsertglDispatchComputeglDispatchComputeIndirectglFramebufferParameteriglGetDebugMessageLogglGetDebugMessageLogglGetFramebufferParameteriglGetFramebufferParameterivglGetFramebufferParameterivglGetInternalformati64glGetInternalformati64vglGetInternalformati64vglGetObjectLabelglGetObjectLabelglGetObjectLabelglGetObjectLabelglGetObjectPtrLabelglGetObjectPtrLabelglGetObjectPtrLabelglGetObjectPtrLabelglGetProgramInterfaceiglGetProgramInterfaceivglGetProgramInterfaceivglGetProgramResourceIndexglGetProgramResourceIndexglGetProgramResourceivglGetProgramResourceivglGetProgramResourceLocationglGetProgramResourceLocationglGetProgramResourceLocationIndexglGetProgramResourceLocationIndexglGetProgramResourceNameglGetProgramResourceNameglGetProgramResourceNameglGetProgramResourceNameglInvalidateBufferDataglInvalidateBufferSubDataglInvalidateFramebufferglInvalidateFramebufferglInvalidateFramebufferglInvalidateSubFramebufferglInvalidateSubFramebufferglInvalidateSubFramebufferglInvalidateTexImageglInvalidateTexSubImageglMultiDrawArraysIndirectglMultiDrawArraysIndirectglMultiDrawArraysIndirectglMultiDrawArraysIndirectglMultiDrawElementsIndirectglMultiDrawElementsIndirectglMultiDrawElementsIndirectglMultiDrawElementsIndirectglObjectLabelglObjectLabelglObjectPtrLabelglObjectPtrLabelglPopDebugGroupglPushDebugGroupglPushDebugGroupglShaderStorageBlockBindingglTexBufferRangeglTexStorage2DMultisampleglTexStorage3DMultisampleglTextureViewglVertexAttribBindingglVertexAttribFormatglVertexAttribIFormatglVertexAttribLFormatglVertexBindingDivisornglClearBufferDatanglClearBufferSubDatanglDebugMessageCallbacknglDebugMessageControlnglDebugMessageInsertnglGetDebugMessageLognglGetFramebufferParameterivnglGetInternalformati64vnglGetObjectLabelnglGetObjectPtrLabelnglGetProgramInterfaceivnglGetProgramResourceIndexnglGetProgramResourceivnglGetProgramResourceLocationnglGetProgramResourceLocationIndexnglGetProgramResourceNamenglInvalidateFramebuffernglInvalidateSubFramebuffernglMultiDrawArraysIndirectnglMultiDrawElementsIndirectnglObjectLabelnglObjectPtrLabelnglPushDebugGroup