Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
*/
public class GL45 {
/** Accepted by the {@code depth} parameter of {@link #glClipControl ClipControl}. */
public static final int
GL_NEGATIVE_ONE_TO_ONE = 0x935E,
GL_ZERO_TO_ONE = 0x935F;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int
GL_CLIP_ORIGIN = 0x935C,
GL_CLIP_DEPTH_MODE = 0x935D;
/** Accepted by the {@code mode} parameter of {@link GL30#glBeginConditionalRender BeginConditionalRender}. */
public static final int
GL_QUERY_WAIT_INVERTED = 0x8E17,
GL_QUERY_NO_WAIT_INVERTED = 0x8E18,
GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19,
GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, and GetInteger64v. */
public static final int
GL_MAX_CULL_DISTANCES = 0x82F9,
GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA;
/** Accepted by the {@code pname} parameter of GetTextureParameter{if}v and GetTextureParameterI{i ui}v. */
public static final int GL_TEXTURE_TARGET = 0x1006;
/** Accepted by the {@code pname} parameter of GetQueryObjectiv. */
public static final int GL_QUERY_TARGET = 0x82EA;
/** Accepted by the {@code pname} parameter of GetIntegerv, GetFloatv, GetBooleanv GetDoublev and GetInteger64v. */
public static final int GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB;
/** Returned in {@code data} by GetIntegerv, GetFloatv, GetBooleanv GetDoublev and GetInteger64v when {@code pname} is {@link #GL_CONTEXT_RELEASE_BEHAVIOR CONTEXT_RELEASE_BEHAVIOR}. */
public static final int GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC;
/** Returned by {@link #glGetGraphicsResetStatus GetGraphicsResetStatus}. */
public static final int
GL_GUILTY_CONTEXT_RESET = 0x8253,
GL_INNOCENT_CONTEXT_RESET = 0x8254,
GL_UNKNOWN_CONTEXT_RESET = 0x8255;
/** Accepted by the {@code value} parameter of GetBooleanv, GetIntegerv, and GetFloatv. */
public static final int GL_RESET_NOTIFICATION_STRATEGY = 0x8256;
/** Returned by GetIntegerv and related simple queries when {@code value} is {@link #GL_RESET_NOTIFICATION_STRATEGY RESET_NOTIFICATION_STRATEGY}. */
public static final int
GL_LOSE_CONTEXT_ON_RESET = 0x8252,
GL_NO_RESET_NOTIFICATION = 0x8261;
/** Returned by GetIntegerv when {@code pname} is CONTEXT_FLAGS. */
public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x4;
/** Returned by {@link GL11#glGetError GetError}. */
public static final int GL_CONTEXT_LOST = 0x507;
static { GL.initialize(); }
protected GL45() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLCapabilities caps, java.util.Set ext) {
return checkFunctions(
caps.glClipControl, caps.glCreateTransformFeedbacks, caps.glTransformFeedbackBufferBase, caps.glTransformFeedbackBufferRange,
caps.glGetTransformFeedbackiv, caps.glGetTransformFeedbacki_v, caps.glGetTransformFeedbacki64_v, caps.glCreateBuffers, caps.glNamedBufferStorage,
caps.glNamedBufferData, caps.glNamedBufferSubData, caps.glCopyNamedBufferSubData, caps.glClearNamedBufferData, caps.glClearNamedBufferSubData,
caps.glMapNamedBuffer, caps.glMapNamedBufferRange, caps.glUnmapNamedBuffer, caps.glFlushMappedNamedBufferRange, caps.glGetNamedBufferParameteriv,
caps.glGetNamedBufferParameteri64v, caps.glGetNamedBufferPointerv, caps.glGetNamedBufferSubData, caps.glCreateFramebuffers,
caps.glNamedFramebufferRenderbuffer, caps.glNamedFramebufferParameteri, caps.glNamedFramebufferTexture, caps.glNamedFramebufferTextureLayer,
caps.glNamedFramebufferDrawBuffer, caps.glNamedFramebufferDrawBuffers, caps.glNamedFramebufferReadBuffer, caps.glInvalidateNamedFramebufferData,
caps.glInvalidateNamedFramebufferSubData, caps.glClearNamedFramebufferiv, caps.glClearNamedFramebufferuiv, caps.glClearNamedFramebufferfv,
caps.glClearNamedFramebufferfi, caps.glBlitNamedFramebuffer, caps.glCheckNamedFramebufferStatus, caps.glGetNamedFramebufferParameteriv,
caps.glGetNamedFramebufferAttachmentParameteriv, caps.glCreateRenderbuffers, caps.glNamedRenderbufferStorage,
caps.glNamedRenderbufferStorageMultisample, caps.glGetNamedRenderbufferParameteriv, caps.glCreateTextures, caps.glTextureBuffer,
caps.glTextureBufferRange, caps.glTextureStorage1D, caps.glTextureStorage2D, caps.glTextureStorage3D, caps.glTextureStorage2DMultisample,
caps.glTextureStorage3DMultisample, caps.glTextureSubImage1D, caps.glTextureSubImage2D, caps.glTextureSubImage3D,
caps.glCompressedTextureSubImage1D, caps.glCompressedTextureSubImage2D, caps.glCompressedTextureSubImage3D, caps.glCopyTextureSubImage1D,
caps.glCopyTextureSubImage2D, caps.glCopyTextureSubImage3D, caps.glTextureParameterf, caps.glTextureParameterfv, caps.glTextureParameteri,
caps.glTextureParameterIiv, caps.glTextureParameterIuiv, caps.glTextureParameteriv, caps.glGenerateTextureMipmap, caps.glBindTextureUnit,
caps.glGetTextureImage, caps.glGetCompressedTextureImage, caps.glGetTextureLevelParameterfv, caps.glGetTextureLevelParameteriv,
caps.glGetTextureParameterfv, caps.glGetTextureParameterIiv, caps.glGetTextureParameterIuiv, caps.glGetTextureParameteriv,
caps.glCreateVertexArrays, caps.glDisableVertexArrayAttrib, caps.glEnableVertexArrayAttrib, caps.glVertexArrayElementBuffer,
caps.glVertexArrayVertexBuffer, caps.glVertexArrayVertexBuffers, caps.glVertexArrayAttribFormat, caps.glVertexArrayAttribIFormat,
caps.glVertexArrayAttribLFormat, caps.glVertexArrayAttribBinding, caps.glVertexArrayBindingDivisor, caps.glGetVertexArrayiv,
caps.glGetVertexArrayIndexediv, caps.glGetVertexArrayIndexed64iv, caps.glCreateSamplers, caps.glCreateProgramPipelines, caps.glCreateQueries,
caps.glGetQueryBufferObjectiv, caps.glGetQueryBufferObjectuiv, caps.glGetQueryBufferObjecti64v, caps.glGetQueryBufferObjectui64v,
caps.glMemoryBarrierByRegion, caps.glGetTextureSubImage, caps.glGetCompressedTextureSubImage, caps.glTextureBarrier, caps.glGetGraphicsResetStatus,
caps.glReadnPixels, caps.glGetnUniformfv, caps.glGetnUniformiv, caps.glGetnUniformuiv
);
}
// --- [ glClipControl ] ---
/**
*
These parameters update the clip control origin and depth mode respectively. The initial value of the clip control origin is {@link GL20#GL_LOWER_LEFT LOWER_LEFT} and the
* initial value of the depth mode is {@link #GL_NEGATIVE_ONE_TO_ONE NEGATIVE_ONE_TO_ONE}.
*
*
The error {@link GL11#GL_INVALID_OPERATION INVALID_OPERATION} is generated if ClipControl is executed between the execution of {@link GL11#glBegin Begin} and the corresponding
* execution of {@link GL11#glEnd End}.
*/
public static native void glClipControl(@NativeType("GLenum") int origin, @NativeType("GLenum") int depth);
// --- [ glCreateTransformFeedbacks ] ---
/**
* Unsafe version of: {@link #glCreateTransformFeedbacks CreateTransformFeedbacks}
*
* @param n the number of transform feedback object names to create
*/
public static native void nglCreateTransformFeedbacks(int n, long ids);
/**
*
*
* Returns {@code n} previously unused transform feedback object names in {@code ids}, each representing a new state vector.
*
* @param ids the buffer in which to return the names
*/
public static void glCreateTransformFeedbacks(@NativeType("GLuint *") IntBuffer ids) {
nglCreateTransformFeedbacks(ids.remaining(), memAddress(ids));
}
/**
*
*
* Binds a buffer object to a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param index the transform feedback stream index
* @param buffer the name of an existing buffer object
*/
public static native void glTransformFeedbackBufferBase(@NativeType("GLuint") int xfb, @NativeType("GLuint") int index, @NativeType("GLuint") int buffer);
// --- [ glTransformFeedbackBufferRange ] ---
/**
*
*
* Binds a region of a buffer object to a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param index the transform feedback stream index
* @param buffer the name of an existing buffer object
* @param offset the starting offset in basic machine units into the buffer object
* @param size the amount of data in machine units
*/
public static native void glTransformFeedbackBufferRange(@NativeType("GLuint") int xfb, @NativeType("GLuint") int index, @NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size);
// --- [ glGetTransformFeedbackiv ] ---
/** Unsafe version of: {@link #glGetTransformFeedbackiv GetTransformFeedbackiv} */
public static native void nglGetTransformFeedbackiv(int xfb, int pname, long param);
/**
*
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. One of:
* @param param the buffer in which to return the parameter value
*/
public static void glGetTransformFeedbackiv(@NativeType("GLuint") int xfb, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetTransformFeedbackiv(xfb, pname, memAddress(param));
}
/**
*
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. One of:
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. Must be:
* @param index the transform feedback stream index
* @param param the buffer in which to return the parameter value
*/
public static void glGetTransformFeedbacki_v(@NativeType("GLuint") int xfb, @NativeType("GLenum") int pname, @NativeType("GLuint") int index, @NativeType("GLint *") IntBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetTransformFeedbacki_v(xfb, pname, index, memAddress(param));
}
/**
*
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. Must be:
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. One of:
* @param index the transform feedback stream index
* @param param the buffer in which to return the parameter value
*/
public static void glGetTransformFeedbacki64_v(@NativeType("GLuint") int xfb, @NativeType("GLenum") int pname, @NativeType("GLuint") int index, @NativeType("GLint64 *") LongBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetTransformFeedbacki64_v(xfb, pname, index, memAddress(param));
}
/**
*
*
* Returns information about a transform feedback object.
*
* @param xfb zero or the name of an existing transform feedback object
* @param pname the parameter to query. One of:
* @param index the transform feedback stream index
*/
@NativeType("void")
public static long glGetTransformFeedbacki64(@NativeType("GLuint") int xfb, @NativeType("GLenum") int pname, @NativeType("GLuint") int index) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
LongBuffer param = stack.callocLong(1);
nglGetTransformFeedbacki64_v(xfb, pname, index, memAddress(param));
return param.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glCreateBuffers ] ---
/**
* Unsafe version of: {@link #glCreateBuffers CreateBuffers}
*
* @param n the number of buffer names to create
*/
public static native void nglCreateBuffers(int n, long buffers);
/**
*
*
* Returns {@code n} previously unused buffer names in {@code buffers}, each representing a new buffer object initialized as if it had been bound to an
* unspecified target.
*
* @param buffers the buffer in which to return the names
*/
public static void glCreateBuffers(@NativeType("GLuint *") IntBuffer buffers) {
nglCreateBuffers(buffers.remaining(), memAddress(buffers));
}
/**
*
*
* Returns {@code n} previously unused buffer names in {@code buffers}, each representing a new buffer object initialized as if it had been bound to an
* unspecified target.
*/
@NativeType("void")
public static int glCreateBuffers() {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer buffers = stack.callocInt(1);
nglCreateBuffers(1, memAddress(buffers));
return buffers.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glNamedBufferStorage ] ---
/**
* Unsafe version of: {@link #glNamedBufferStorage NamedBufferStorage}
*
* @param size the size of the data store in basic machine units
*/
public static native void nglNamedBufferStorage(int buffer, long size, long data, int flags);
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param size the size of the data store in basic machine units
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("GLsizeiptr") long size, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, size, NULL, flags);
}
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param data the address in client memory of the data that should be used to initialize the buffer's data store. If {@code data} is {@code NULL}, the data store of the
* buffer is created, but contains undefined data. Otherwise, {@code data} should point to an array of at least {@code size} basic machine units.
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("const void *") ByteBuffer data, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, data.remaining(), memAddress(data), flags);
}
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param data the address in client memory of the data that should be used to initialize the buffer's data store. If {@code data} is {@code NULL}, the data store of the
* buffer is created, but contains undefined data. Otherwise, {@code data} should point to an array of at least {@code size} basic machine units.
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("const void *") ShortBuffer data, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, data.remaining() << 1, memAddress(data), flags);
}
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param data the address in client memory of the data that should be used to initialize the buffer's data store. If {@code data} is {@code NULL}, the data store of the
* buffer is created, but contains undefined data. Otherwise, {@code data} should point to an array of at least {@code size} basic machine units.
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("const void *") IntBuffer data, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, data.remaining() << 2, memAddress(data), flags);
}
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param data the address in client memory of the data that should be used to initialize the buffer's data store. If {@code data} is {@code NULL}, the data store of the
* buffer is created, but contains undefined data. Otherwise, {@code data} should point to an array of at least {@code size} basic machine units.
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("const void *") FloatBuffer data, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, data.remaining() << 2, memAddress(data), flags);
}
/**
*
*
* DSA version of {@link GL44#glBufferStorage BufferStorage}.
*
* @param buffer the buffer object name
* @param data the address in client memory of the data that should be used to initialize the buffer's data store. If {@code data} is {@code NULL}, the data store of the
* buffer is created, but contains undefined data. Otherwise, {@code data} should point to an array of at least {@code size} basic machine units.
* @param flags the bitwise {@code 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:
*
*
*
{@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT} – The contents of the data store may be updated after creation through calls to
* {@link GL15#glBufferSubData BufferSubData}. If this bit is not set, the buffer content may not be directly updated by the client. The {@code data}
* argument may be used to specify the initial content of the buffer's data store regardless of the presence of the {@link GL44#GL_DYNAMIC_STORAGE_BIT DYNAMIC_STORAGE_BIT}.
* Regardless of the presence of this bit, buffers may always be updated with server-side calls such as {@link GL31#glCopyBufferSubData CopyBufferSubData} and
* {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
{@link GL30#GL_MAP_READ_BIT 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.
*
{@link GL30#GL_MAP_WRITE_BIT 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.
*
{@link GL44#GL_MAP_PERSISTENT_BIT 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.
*
{@link GL44#GL_MAP_COHERENT_BIT 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 {@code MAP_COHERENT_BIT} is not set and the client performs a write followed by a call to the {@link GL42#glMemoryBarrier MemoryBarrier} command with
* the {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is set and the client performs a write, then in subsequent commands the server will see the writes.
*
If {@code MAP_COHERENT_BIT} is not set and the server performs a write, the application must call {@link GL42#glMemoryBarrier MemoryBarrier} with the
* {@link GL44#GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT CLIENT_MAPPED_BUFFER_BARRIER_BIT} set and then call {@link GL32#glFenceSync FenceSync} with {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or
* {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
If {@code MAP_COHERENT_BIT} is set and the server does a write, the app must call {@link GL32#glFenceSync FenceSync} with
* {@link GL32#GL_SYNC_GPU_COMMANDS_COMPLETE SYNC_GPU_COMMANDS_COMPLETE} (or {@link GL11#glFinish Finish}). Then the CPU will see the writes after the sync is complete.
*
*
{@link GL44#GL_CLIENT_STORAGE_BIT 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 {@code flags} contains {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}, it must also contain at least one of {@link GL30#GL_MAP_READ_BIT MAP_READ_BIT} or {@link GL30#GL_MAP_WRITE_BIT MAP_WRITE_BIT}.
*
*
It is an error to specify {@link GL44#GL_MAP_COHERENT_BIT MAP_COHERENT_BIT} without also specifying {@link GL44#GL_MAP_PERSISTENT_BIT MAP_PERSISTENT_BIT}.
*/
public static void glNamedBufferStorage(@NativeType("GLuint") int buffer, @NativeType("const void *") DoubleBuffer data, @NativeType("GLbitfield") int flags) {
nglNamedBufferStorage(buffer, data.remaining() << 3, memAddress(data), flags);
}
// --- [ glNamedBufferData ] ---
/**
* Unsafe version of: {@link #glNamedBufferData NamedBufferData}
*
* @param size the size in bytes of the buffer object's new data store
*/
public static native void nglNamedBufferData(int buffer, long size, long data, int usage);
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param size the size in bytes of the buffer object's new data store
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("GLsizeiptr") long size, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, size, NULL, usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") ByteBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining(), memAddress(data), usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") ShortBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining() << 1, memAddress(data), usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") IntBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining() << 2, memAddress(data), usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") LongBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining() << 3, memAddress(data), usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") FloatBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining() << 2, memAddress(data), usage);
}
/**
*
*
* DSA version of {@link GL15#glBufferData BufferData}.
*
* @param buffer
* @param data a pointer to data that will be copied into the data store for initialization, or {@code NULL} if no data is to be copied
* @param usage the expected usage pattern of the data store. One of:
{@link GL15#GL_STREAM_DRAW STREAM_DRAW}
{@link GL15#GL_STREAM_READ STREAM_READ}
{@link GL15#GL_STREAM_COPY STREAM_COPY}
{@link GL15#GL_STATIC_DRAW STATIC_DRAW}
{@link GL15#GL_STATIC_READ STATIC_READ}
{@link GL15#GL_STATIC_COPY STATIC_COPY}
{@link GL15#GL_DYNAMIC_DRAW DYNAMIC_DRAW}
{@link GL15#GL_DYNAMIC_READ DYNAMIC_READ}
{@link GL15#GL_DYNAMIC_COPY DYNAMIC_COPY}
*/
public static void glNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("const void *") DoubleBuffer data, @NativeType("GLenum") int usage) {
nglNamedBufferData(buffer, data.remaining() << 3, memAddress(data), usage);
}
// --- [ glNamedBufferSubData ] ---
/**
* Unsafe version of: {@link #glNamedBufferSubData NamedBufferSubData}
*
* @param size the size in bytes of the data store region being replaced
*/
public static native void nglNamedBufferSubData(int buffer, long offset, long size, long data);
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") ByteBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining(), memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") ShortBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining() << 1, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") IntBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining() << 2, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") LongBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining() << 3, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") FloatBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining() << 2, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glBufferSubData BufferSubData}.
*
* @param buffer
* @param offset the offset into the buffer object's data store where data replacement will begin, measured in bytes
* @param data a pointer to the new data that will be copied into the data store
*/
public static void glNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("const void *") DoubleBuffer data) {
nglNamedBufferSubData(buffer, offset, data.remaining() << 3, memAddress(data));
}
// --- [ glCopyNamedBufferSubData ] ---
/**
*
*
* DSA version of {@link GL31#glCopyBufferSubData CopyBufferSubData}.
*
* @param readBuffer the source buffer object name
* @param writeBuffer the destination buffer object name
* @param readOffset the source buffer object offset, in bytes
* @param writeOffset the destination buffer object offset, in bytes
* @param size the number of bytes to copy
*/
public static native void glCopyNamedBufferSubData(@NativeType("GLuint") int readBuffer, @NativeType("GLuint") int writeBuffer, @NativeType("GLintptr") long readOffset, @NativeType("GLintptr") long writeOffset, @NativeType("GLsizeiptr") long size);
// --- [ glClearNamedBufferData ] ---
/** Unsafe version of: {@link #glClearNamedBufferData ClearNamedBufferData} */
public static native void nglClearNamedBufferData(int buffer, int internalformat, int format, int type, long data);
/**
*
*
* DSA version of {@link GL43#glClearBufferData ClearBufferData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ByteBuffer data) {
nglClearNamedBufferData(buffer, internalformat, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferData ClearBufferData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ShortBuffer data) {
nglClearNamedBufferData(buffer, internalformat, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferData ClearBufferData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") IntBuffer data) {
nglClearNamedBufferData(buffer, internalformat, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferData ClearBufferData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") FloatBuffer data) {
nglClearNamedBufferData(buffer, internalformat, format, type, memAddressSafe(data));
}
// --- [ glClearNamedBufferSubData ] ---
/** Unsafe version of: {@link #glClearNamedBufferSubData ClearNamedBufferSubData} */
public static native void nglClearNamedBufferSubData(int buffer, int internalformat, long offset, long size, int format, int type, long data);
/**
*
*
* DSA version of {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param offset the offset, in basic machine units into the buffer object's data store at which to start filling
* @param size the size, in basic machine units of the range of the data store to fill
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ByteBuffer data) {
nglClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param offset the offset, in basic machine units into the buffer object's data store at which to start filling
* @param size the size, in basic machine units of the range of the data store to fill
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ShortBuffer data) {
nglClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param offset the offset, in basic machine units into the buffer object's data store at which to start filling
* @param size the size, in basic machine units of the range of the data store to fill
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") IntBuffer data) {
nglClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, memAddressSafe(data));
}
/**
*
*
* DSA version of {@link GL43#glClearBufferSubData ClearBufferSubData}.
*
* @param buffer the buffer object name
* @param internalformat the internal format with which the data will be stored in the buffer object
* @param offset the offset, in basic machine units into the buffer object's data store at which to start filling
* @param size the size, in basic machine units of the range of the data store to fill
* @param format the format of the data in memory addressed by {@code data}. One of:
{@link GL11#GL_STENCIL_INDEX STENCIL_INDEX}
{@link GL11#GL_DEPTH_COMPONENT DEPTH_COMPONENT}
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
{@link GL11#GL_RED RED}
{@link GL11#GL_GREEN GREEN}
{@link GL11#GL_BLUE BLUE}
{@link GL11#GL_ALPHA ALPHA}
{@link GL30#GL_RG RG}
{@link GL11#GL_RGB RGB}
{@link GL11#GL_RGBA RGBA}
{@link GL12#GL_BGR BGR}
{@link GL12#GL_BGRA BGRA}
{@link GL11#GL_LUMINANCE LUMINANCE}
{@link GL11#GL_LUMINANCE_ALPHA LUMINANCE_ALPHA}
{@link GL30#GL_RED_INTEGER RED_INTEGER}
{@link GL30#GL_GREEN_INTEGER GREEN_INTEGER}
{@link GL30#GL_BLUE_INTEGER BLUE_INTEGER}
{@link GL30#GL_ALPHA_INTEGER ALPHA_INTEGER}
{@link GL30#GL_RG_INTEGER RG_INTEGER}
{@link GL30#GL_RGB_INTEGER RGB_INTEGER}
{@link GL30#GL_RGBA_INTEGER RGBA_INTEGER}
{@link GL30#GL_BGR_INTEGER BGR_INTEGER}
{@link GL30#GL_BGRA_INTEGER BGRA_INTEGER}
* @param type the type of the data in memory addressed by {@code data}. One of:
* @param data the buffer containing the data to be used as the source of the constant fill value. The elements of data are converted by the GL into the format
* specified by internalformat, and then used to fill the specified range of the destination buffer. If data is {@code NULL}, then it is ignored and the
* sub-range of the buffer is filled with zeros.
*/
public static void glClearNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLenum") int internalformat, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") FloatBuffer data) {
nglClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, memAddressSafe(data));
}
// --- [ glMapNamedBuffer ] ---
/** Unsafe version of: {@link #glMapNamedBuffer MapNamedBuffer} */
public static native long nglMapNamedBuffer(int buffer, int access);
/**
*
*
* DSA version of {@link GL15#glMapBuffer MapBuffer}.
*
* @param buffer the buffer object name
* @param access the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. One of:
{@link GL15#GL_READ_ONLY READ_ONLY}
{@link GL15#GL_WRITE_ONLY WRITE_ONLY}
{@link GL15#GL_READ_WRITE READ_WRITE}
*/
@NativeType("void *")
public static ByteBuffer glMapNamedBuffer(@NativeType("GLuint") int buffer, @NativeType("GLenum") int access) {
long __result = nglMapNamedBuffer(buffer, access);
return memByteBuffer(__result, glGetNamedBufferParameteri(buffer, GL15.GL_BUFFER_SIZE));
}
/**
*
*
* DSA version of {@link GL15#glMapBuffer MapBuffer}.
*
* @param buffer the buffer object name
* @param access the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. One of:
{@link GL15#GL_READ_ONLY READ_ONLY}
{@link GL15#GL_WRITE_ONLY WRITE_ONLY}
{@link GL15#GL_READ_WRITE READ_WRITE}
*/
@NativeType("void *")
public static ByteBuffer glMapNamedBuffer(@NativeType("GLuint") int buffer, @NativeType("GLenum") int access, ByteBuffer old_buffer) {
long __result = nglMapNamedBuffer(buffer, access);
int length = glGetNamedBufferParameteri(buffer, GL15.GL_BUFFER_SIZE);
return apiGetMappedBuffer(old_buffer, __result, length);
}
/**
*
*
* DSA version of {@link GL15#glMapBuffer MapBuffer}.
*
* @param buffer the buffer object name
* @param access the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. One of:
{@link GL15#GL_READ_ONLY READ_ONLY}
{@link GL15#GL_WRITE_ONLY WRITE_ONLY}
{@link GL15#GL_READ_WRITE READ_WRITE}
*/
@NativeType("void *")
public static ByteBuffer glMapNamedBuffer(@NativeType("GLuint") int buffer, @NativeType("GLenum") int access, long length, ByteBuffer old_buffer) {
long __result = nglMapNamedBuffer(buffer, access);
return apiGetMappedBuffer(old_buffer, __result, (int)length);
}
// --- [ glMapNamedBufferRange ] ---
/** Unsafe version of: {@link #glMapNamedBufferRange MapNamedBufferRange} */
public static native long nglMapNamedBufferRange(int buffer, long offset, long length, int access);
/**
*
*
* DSA version of {@link GL30#glMapBufferRange MapBufferRange}.
*
* @param buffer the buffer object name
* @param offset the starting offset within the buffer of the range to be mapped
* @param length the length of the range to be mapped
* @param access a combination of access flags indicating the desired access to the range. One or more of:
*
* DSA version of {@link GL30#glMapBufferRange MapBufferRange}.
*
* @param buffer the buffer object name
* @param offset the starting offset within the buffer of the range to be mapped
* @param length the length of the range to be mapped
* @param access a combination of access flags indicating the desired access to the range. One or more of:
*
* DSA version of {@link GL30#glFlushMappedBufferRange FlushMappedBufferRange}.
*
* @param buffer the buffer object name
* @param offset the start of the buffer subrange, in basic machine units
* @param length the length of the buffer subrange, in basic machine units
*/
public static native void glFlushMappedNamedBufferRange(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long length);
// --- [ glGetNamedBufferParameteriv ] ---
/** Unsafe version of: {@link #glGetNamedBufferParameteriv GetNamedBufferParameteriv} */
public static native void nglGetNamedBufferParameteriv(int buffer, int pname, long params);
/**
*
*
* DSA version of {@link GL15#glGetBufferParameteriv GetBufferParameteriv}.
*
* @param buffer the buffer object name
* @param pname the symbolic name of a buffer object parameter. One of:
*
* DSA version of {@link GL15#glGetBufferParameteriv GetBufferParameteriv}.
*
* @param buffer the buffer object name
* @param pname the symbolic name of a buffer object parameter. One of:
*
* DSA version of {@link GL32#glGetBufferParameteri64v GetBufferParameteri64v}.
*
* @param buffer the buffer object name
* @param pname the symbolic name of a buffer object parameter. One of:
*
* DSA version of {@link GL32#glGetBufferParameteri64v GetBufferParameteri64v}.
*
* @param buffer the buffer object name
* @param pname the symbolic name of a buffer object parameter. One of:
*
* DSA version of {@link GL15#glGetBufferPointerv GetBufferPointerv}.
*
* @param buffer the buffer object name
* @param pname the pointer to be returned. Must be:
*
* DSA version of {@link GL15#glGetBufferPointerv GetBufferPointerv}.
*
* @param buffer the buffer object name
* @param pname the pointer to be returned. Must be:
*/
@NativeType("void")
public static long glGetNamedBufferPointer(@NativeType("GLuint") int buffer, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
PointerBuffer params = stack.callocPointer(1);
nglGetNamedBufferPointerv(buffer, pname, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetNamedBufferSubData ] ---
/**
* Unsafe version of: {@link #glGetNamedBufferSubData GetNamedBufferSubData}
*
* @param size the size in bytes of the data store region being returned
*/
public static native void nglGetNamedBufferSubData(int buffer, long offset, long size, long data);
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") ByteBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining(), memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") ShortBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining() << 1, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") IntBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining() << 2, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") LongBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining() << 3, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") FloatBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining() << 2, memAddress(data));
}
/**
*
*
* DSA version of {@link GL15#glGetBufferSubData GetBufferSubData}.
*
* @param buffer the buffer object name
* @param offset the offset into the buffer object's data store from which data will be returned, measured in bytes
* @param data a pointer to the location where buffer object data is returned
*/
public static void glGetNamedBufferSubData(@NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("void *") DoubleBuffer data) {
nglGetNamedBufferSubData(buffer, offset, data.remaining() << 3, memAddress(data));
}
// --- [ glCreateFramebuffers ] ---
/**
* Unsafe version of: {@link #glCreateFramebuffers CreateFramebuffers}
*
* @param n the number of framebuffer names to create
*/
public static native void nglCreateFramebuffers(int n, long framebuffers);
/**
*
*
* Returns {@code n} previously unused framebuffer names in {@code framebuffers}, each representing a new framebuffer object.
*
* @param framebuffers the buffer in which to store the framebuffer names
*/
public static void glCreateFramebuffers(@NativeType("GLuint *") IntBuffer framebuffers) {
nglCreateFramebuffers(framebuffers.remaining(), memAddress(framebuffers));
}
/**
*
*
* DSA version of {@link GL30#glFramebufferRenderbuffer FramebufferRenderbuffer}.
*
* @param framebuffer the framebuffer name
* @param attachment the attachment point of the framebuffer. One of:
* @param renderbuffertarget the renderbuffer target. Must be:
{@link GL30#GL_RENDERBUFFER RENDERBUFFER}
* @param renderbuffer the name of an existing renderbuffer object of type {@code renderbuffertarget} to attach
*/
public static native void glNamedFramebufferRenderbuffer(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int attachment, @NativeType("GLenum") int renderbuffertarget, @NativeType("GLuint") int renderbuffer);
// --- [ glNamedFramebufferParameteri ] ---
/**
*
*
* DSA version of {@link GL43#glFramebufferParameteri FramebufferParameteri}.
*
* @param framebuffer the framebuffer name
* @param pname a token indicating the parameter to be modified. One of:
* @param param the new value for the parameter named {@code pname}
*/
public static native void glNamedFramebufferParameteri(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int pname, @NativeType("GLint") int param);
// --- [ glNamedFramebufferTexture ] ---
/**
*
*
* DSA version of {@link GL32#glFramebufferTexture FramebufferTexture}.
*
* @param framebuffer the framebuffer name
* @param attachment the attachment point of the framebuffer
* @param texture the texture object to attach to the framebuffer attachment point named by {@code attachment}
* @param level the mipmap level of {@code texture} to attach
*/
public static native void glNamedFramebufferTexture(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int attachment, @NativeType("GLuint") int texture, @NativeType("GLint") int level);
// --- [ glNamedFramebufferTextureLayer ] ---
/**
*
*
* DSA version of {@link GL30#glFramebufferTextureLayer FramebufferTextureLayer}.
*
* @param framebuffer the framebuffer name
* @param attachment the attachment point of the framebuffer. One of:
* @param texture the texture object to attach to the framebuffer attachment point named by {@code attachment}
* @param level the mipmap level of {@code texture} to attach
* @param layer the layer of {@code texture} to attach.
*/
public static native void glNamedFramebufferTextureLayer(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int attachment, @NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int layer);
// --- [ glNamedFramebufferDrawBuffer ] ---
/**
*
*/
public static native void glNamedFramebufferDrawBuffer(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int buf);
// --- [ glNamedFramebufferDrawBuffers ] ---
/**
* Unsafe version of: {@link #glNamedFramebufferDrawBuffers NamedFramebufferDrawBuffers}
*
* @param n the number of buffers in {@code bufs}
*/
public static native void nglNamedFramebufferDrawBuffers(int framebuffer, int n, long bufs);
/**
*
*
* DSA version of {@link GL20#glDrawBuffers DrawBuffers}.
*
* @param framebuffer the framebuffer name
* @param bufs an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. One of:
*
* DSA version of {@link GL11#glReadBuffer ReadBuffer}.
*
* @param framebuffer the framebuffer name
* @param src the color buffer to read from. One of:
*/
public static native void glNamedFramebufferReadBuffer(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int src);
// --- [ glInvalidateNamedFramebufferData ] ---
/**
* Unsafe version of: {@link #glInvalidateNamedFramebufferData InvalidateNamedFramebufferData}
*
* @param numAttachments the number of entries in the {@code attachments} array
*/
public static native void nglInvalidateNamedFramebufferData(int framebuffer, int numAttachments, long attachments);
/**
*
*
* DSA version of {@link GL43#glInvalidateFramebuffer InvalidateFramebuffer}.
*
* @param framebuffer the framebuffer name
* @param attachments the address of an array identifying the attachments to be invalidated
*/
public static void glInvalidateNamedFramebufferData(@NativeType("GLuint") int framebuffer, @NativeType("const GLenum *") IntBuffer attachments) {
nglInvalidateNamedFramebufferData(framebuffer, attachments.remaining(), memAddress(attachments));
}
/**
*
*
* DSA version of {@link GL43#glInvalidateFramebuffer InvalidateFramebuffer}.
*
* @param framebuffer the framebuffer name
*/
public static void glInvalidateNamedFramebufferData(@NativeType("GLuint") int framebuffer, @NativeType("const GLenum *") int attachment) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer attachments = stack.ints(attachment);
nglInvalidateNamedFramebufferData(framebuffer, 1, memAddress(attachments));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glInvalidateNamedFramebufferSubData ] ---
/**
* Unsafe version of: {@link #glInvalidateNamedFramebufferSubData InvalidateNamedFramebufferSubData}
*
* @param numAttachments the number of entries in the {@code attachments} array
*/
public static native void nglInvalidateNamedFramebufferSubData(int framebuffer, int numAttachments, long attachments, int x, int y, int width, int height);
/**
*
*
* DSA version of {@link GL43#glInvalidateSubFramebuffer InvalidateSubFramebuffer}.
*
* @param framebuffer the framebuffer name
* @param attachments an array identifying the attachments to be invalidated
* @param x the X offset of the region to be invalidated
* @param y the Y offset of the region to be invalidated
* @param width the width of the region to be invalidated
* @param height the height of the region to be invalidated
*/
public static void glInvalidateNamedFramebufferSubData(@NativeType("GLuint") int framebuffer, @NativeType("const GLenum *") IntBuffer attachments, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height) {
nglInvalidateNamedFramebufferSubData(framebuffer, attachments.remaining(), memAddress(attachments), x, y, width, height);
}
/**
*
*
* DSA version of {@link GL43#glInvalidateSubFramebuffer InvalidateSubFramebuffer}.
*
* @param framebuffer the framebuffer name
* @param x the X offset of the region to be invalidated
* @param y the Y offset of the region to be invalidated
* @param width the width of the region to be invalidated
* @param height the height of the region to be invalidated
*/
public static void glInvalidateNamedFramebufferSubData(@NativeType("GLuint") int framebuffer, @NativeType("const GLenum *") int attachment, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer attachments = stack.ints(attachment);
nglInvalidateNamedFramebufferSubData(framebuffer, 1, memAddress(attachments), x, y, width, height);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glClearNamedFramebufferiv ] ---
/** Unsafe version of: {@link #glClearNamedFramebufferiv ClearNamedFramebufferiv} */
public static native void nglClearNamedFramebufferiv(int framebuffer, int buffer, int drawbuffer, long value);
/**
*
*
* DSA version of {@link GL30#glClearBufferiv ClearBufferiv}.
*
* @param framebuffer the framebuffer name
* @param buffer the buffer to clear. One of:
{@link GL11#GL_COLOR COLOR}
{@link GL11#GL_STENCIL STENCIL}
* @param drawbuffer the draw buffer to clear
* @param value for color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to. For stencil buffers, a pointer to a
* single stencil value to clear the buffer to.
*/
public static void glClearNamedFramebufferiv(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLint *") IntBuffer value) {
if (CHECKS) {
check(value, 1);
}
nglClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, memAddress(value));
}
// --- [ glClearNamedFramebufferuiv ] ---
/** Unsafe version of: {@link #glClearNamedFramebufferuiv ClearNamedFramebufferuiv} */
public static native void nglClearNamedFramebufferuiv(int framebuffer, int buffer, int drawbuffer, long value);
/**
*
*
* DSA version of {@link GL30#glClearBufferuiv ClearBufferuiv}.
*
* @param framebuffer the framebuffer name
* @param buffer the buffer to clear. Must be:
{@link GL11#GL_COLOR COLOR}
* @param drawbuffer the draw buffer to clear
* @param value a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to
*/
public static void glClearNamedFramebufferuiv(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLint *") IntBuffer value) {
if (CHECKS) {
check(value, 4);
}
nglClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, memAddress(value));
}
// --- [ glClearNamedFramebufferfv ] ---
/** Unsafe version of: {@link #glClearNamedFramebufferfv ClearNamedFramebufferfv} */
public static native void nglClearNamedFramebufferfv(int framebuffer, int buffer, int drawbuffer, long value);
/**
*
*
* DSA version of {@link GL30#glClearBufferfv ClearBufferfv}.
*
* @param framebuffer the framebuffer name
* @param buffer the buffer to clear. One of:
{@link GL11#GL_COLOR COLOR}
{@link GL11#GL_DEPTH DEPTH}
* @param drawbuffer the draw buffer to clear
* @param value for color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to. For depth buffers, a pointer to a
* single depth value to clear the buffer to.
*/
public static void glClearNamedFramebufferfv(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLfloat *") FloatBuffer value) {
if (CHECKS) {
check(value, 1);
}
nglClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, memAddress(value));
}
// --- [ glClearNamedFramebufferfi ] ---
/**
*
*
* DSA version of {@link GL30#glClearBufferfi ClearBufferfi}.
*
* @param framebuffer the framebuffer name
* @param buffer the buffer to clear. Must be:
{@link GL30#GL_DEPTH_STENCIL DEPTH_STENCIL}
* @param drawbuffer the draw buffer to clear
* @param depth the depth value to clear the buffer to
* @param stencil the stencil value to clear the buffer to
*/
public static native void glClearNamedFramebufferfi(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLfloat") float depth, @NativeType("GLint") int stencil);
// --- [ glBlitNamedFramebuffer ] ---
/**
*
*
* DSA version of {@link GL30#glBlitFramebuffer BlitFramebuffer}.
*
* @param readFramebuffer the source framebuffer name
* @param drawFramebuffer the destination framebuffer name
* @param srcX0 the lower-left coordinate of the source rectangle within the read buffer
* @param srcY0 the upper-left coordinate of the source rectangle within the read buffer
* @param srcX1 the lower-right coordinate of the source rectangle within the read buffer
* @param srcY1 the upper-right coordinate of the source rectangle within the read buffer
* @param dstX0 the lower-left coordinate of the destination rectangle within the write buffer
* @param dstY0 the upper-left coordinate of the destination rectangle within the write buffer
* @param dstX1 the lower-right coordinate of the destination rectangle within the write buffer
* @param dstY1 the upper-right coordinate of the destination rectangle within the write buffer
* @param mask the bitwise OR of the flags indicating which buffers are to be copied. One of:
* @param filter the interpolation to be applied if the image is stretched. One of:
{@link GL11#GL_NEAREST NEAREST}
{@link GL11#GL_LINEAR LINEAR}
*/
public static native void glBlitNamedFramebuffer(@NativeType("GLuint") int readFramebuffer, @NativeType("GLuint") int drawFramebuffer, @NativeType("GLint") int srcX0, @NativeType("GLint") int srcY0, @NativeType("GLint") int srcX1, @NativeType("GLint") int srcY1, @NativeType("GLint") int dstX0, @NativeType("GLint") int dstY0, @NativeType("GLint") int dstX1, @NativeType("GLint") int dstY1, @NativeType("GLbitfield") int mask, @NativeType("GLenum") int filter);
// --- [ glCheckNamedFramebufferStatus ] ---
/**
*
*
* DSA version of {@link GL30#glCheckFramebufferStatus CheckFramebufferStatus}.
*
* @param framebuffer the framebuffer name
* @param target the target of the framebuffer completeness check. One of:
{@link GL30#GL_FRAMEBUFFER FRAMEBUFFER}
{@link GL30#GL_READ_FRAMEBUFFER READ_FRAMEBUFFER}
{@link GL30#GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER}
*/
@NativeType("GLenum")
public static native int glCheckNamedFramebufferStatus(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int target);
// --- [ glGetNamedFramebufferParameteriv ] ---
/** Unsafe version of: {@link #glGetNamedFramebufferParameteriv GetNamedFramebufferParameteriv} */
public static native void nglGetNamedFramebufferParameteriv(int framebuffer, int pname, long params);
/**
*
*
* DSA version of {@link GL43#glGetFramebufferParameteriv GetFramebufferParameteriv}.
*
* @param framebuffer the framebuffer name
* @param pname a token indicating the parameter to be retrieved. One of:
* @param params a variable to receive the value of the parameter named {@code pname}
*/
public static void glGetNamedFramebufferParameteriv(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetNamedFramebufferParameteriv(framebuffer, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL43#glGetFramebufferParameteriv GetFramebufferParameteriv}.
*
* @param framebuffer the framebuffer name
* @param pname a token indicating the parameter to be retrieved. One of:
*
* DSA version of {@link GL30#glGetFramebufferAttachmentParameteriv GetFramebufferAttachmentParameteriv}.
*
* @param framebuffer the framebuffer name
* @param attachment the attachment within {@code target}. One of:
* @param params an array to receive the value of the queried parameter
*/
public static void glGetNamedFramebufferAttachmentParameteriv(@NativeType("GLuint") int framebuffer, @NativeType("GLenum") int attachment, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL30#glGetFramebufferAttachmentParameteriv GetFramebufferAttachmentParameteriv}.
*
* @param framebuffer the framebuffer name
* @param attachment the attachment within {@code target}. One of:
*
* Returns {@code n} previously unused renderbuffer names in {@code renderbuffers}, each representing a new renderbuffer object.
*
* @param renderbuffers the buffer in which to store the created renderbuffer names
*/
public static void glCreateRenderbuffers(@NativeType("GLuint *") IntBuffer renderbuffers) {
nglCreateRenderbuffers(renderbuffers.remaining(), memAddress(renderbuffers));
}
/**
*
*
* DSA version of {@link GL30#glRenderbufferStorage RenderbufferStorage}.
*
* @param renderbuffer
* @param internalformat the internal format to use for the renderbuffer object's image. Must be a color-renderable, depth-renderable, or stencil-renderable format.
* @param width the width of the renderbuffer, in pixels
* @param height the height of the renderbuffer, in pixels
*/
public static native void glNamedRenderbufferStorage(@NativeType("GLuint") int renderbuffer, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glNamedRenderbufferStorageMultisample ] ---
/**
*
*
* DSA version of {@link GL30#glRenderbufferStorageMultisample RenderbufferStorageMultisample}.
*
* @param renderbuffer
* @param samples the number of samples to be used for the renderbuffer object's storage
* @param internalformat the internal format to use for the renderbuffer object's image. Must be a color-renderable, depth-renderable, or stencil-renderable format.
* @param width the width of the renderbuffer, in pixels
* @param height the height of the renderbuffer, in pixels
*/
public static native void glNamedRenderbufferStorageMultisample(@NativeType("GLuint") int renderbuffer, @NativeType("GLsizei") int samples, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glGetNamedRenderbufferParameteriv ] ---
/** Unsafe version of: {@link #glGetNamedRenderbufferParameteriv GetNamedRenderbufferParameteriv} */
public static native void nglGetNamedRenderbufferParameteriv(int renderbuffer, int pname, long params);
/**
*
*
* DSA version of {@link GL30#glGetRenderbufferParameteriv GetRenderbufferParameteriv}.
*
* @param renderbuffer
* @param pname the parameter whose value to retrieve from the renderbuffer bound to {@code target}. One of:
* @param params an array to receive the value of the queried parameter
*/
public static void glGetNamedRenderbufferParameteriv(@NativeType("GLuint") int renderbuffer, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetNamedRenderbufferParameteriv(renderbuffer, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL30#glGetRenderbufferParameteriv GetRenderbufferParameteriv}.
*
* @param renderbuffer
* @param pname the parameter whose value to retrieve from the renderbuffer bound to {@code target}. One of:
*/
@NativeType("void")
public static int glGetNamedRenderbufferParameteri(@NativeType("GLuint") int renderbuffer, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer params = stack.callocInt(1);
nglGetNamedRenderbufferParameteriv(renderbuffer, pname, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glCreateTextures ] ---
/**
* Unsafe version of: {@link #glCreateTextures CreateTextures}
*
* @param n the number of texture names to create
*/
public static native void nglCreateTextures(int target, int n, long textures);
/**
*
*
* Returns {@code n} previously unused texture names in {@code textures}, each representing a new texture object.
*
* @param target the texture target. One of:
* @param textures the buffer in which to store the created texture names
*/
public static void glCreateTextures(@NativeType("GLenum") int target, @NativeType("GLuint *") IntBuffer textures) {
nglCreateTextures(target, textures.remaining(), memAddress(textures));
}
/**
*
*
* Returns {@code n} previously unused texture names in {@code textures}, each representing a new texture object.
*
* @param target the texture target. One of:
*
* DSA version of {@link GL31#glTexBuffer TexBuffer}.
*
* @param texture the texture name
* @param internalformat the sized internal format of the data in the store belonging to {@code buffer}
* @param buffer the name of the buffer object whose storage to attach to the active buffer texture
*/
public static native void glTextureBuffer(@NativeType("GLuint") int texture, @NativeType("GLenum") int internalformat, @NativeType("GLuint") int buffer);
// --- [ glTextureBufferRange ] ---
/**
*
*
* DSA version of {@link GL43#glTexBufferRange TexBufferRange}.
*
* @param texture the texture name
* @param internalformat the internal format of the data in the store belonging to {@code buffer}
* @param buffer the name of the buffer object whose storage to attach to the active buffer texture
* @param offset the offset of the start of the range of the buffer's data store to attach
* @param size the size of the range of the buffer's data store to attach
*/
public static native void glTextureBufferRange(@NativeType("GLuint") int texture, @NativeType("GLenum") int internalformat, @NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size);
// --- [ glTextureStorage1D ] ---
/**
*
*
* DSA version of {@link GL42#glTexStorage1D TexStorage1D}.
*
* @param texture the texture name
* @param levels the number of texture levels
* @param internalformat the sized internal format to be used to store texture image data
* @param width the width of the texture, in texels
*/
public static native void glTextureStorage1D(@NativeType("GLuint") int texture, @NativeType("GLsizei") int levels, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width);
// --- [ glTextureStorage2D ] ---
/**
*
*
* DSA version of {@link GL42#glTexStorage2D TexStorage2D}.
*
* @param texture the texture name
* @param levels the number of texture levels
* @param internalformat the sized internal format to be used to store texture image data
* @param width the width of the texture, in texels
* @param height the height of the texture, in texels
*/
public static native void glTextureStorage2D(@NativeType("GLuint") int texture, @NativeType("GLsizei") int levels, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glTextureStorage3D ] ---
/**
*
*
* DSA version of {@link GL42#glTexStorage3D TexStorage3D}.
*
* @param texture the texture name
* @param levels the number of texture levels
* @param internalformat the sized internal format to be used to store texture image data
* @param width the width of the texture, in texels
* @param height the height of the texture, in texels
* @param depth the depth of the texture, in texels
*/
public static native void glTextureStorage3D(@NativeType("GLuint") int texture, @NativeType("GLsizei") int levels, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth);
// --- [ glTextureStorage2DMultisample ] ---
/**
*
*
* DSA version of {@link GL43#glTexStorage2DMultisample TexStorage2DMultisample}.
*
* @param texture the texture name
* @param samples the number of samples in the texture
* @param internalformat the sized internal format to be used to store texture image data
* @param width the width of the texture, in texels
* @param height the height of the texture, in texels
* @param fixedsamplelocations whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
* depend on the internal format or size of the image
*/
public static native void glTextureStorage2DMultisample(@NativeType("GLuint") int texture, @NativeType("GLsizei") int samples, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLboolean") boolean fixedsamplelocations);
// --- [ glTextureStorage3DMultisample ] ---
/**
*
*
* DSA version of {@link GL43#glTexStorage3DMultisample TexStorage3DMultisample}.
*
* @param texture the texture name
* @param samples the number of samples in the texture
* @param internalformat the sized internal format to be used to store texture image data
* @param width the width of the texture, in texels
* @param height the height of the texture, in texels
* @param depth the depth of the texture, in texels
* @param fixedsamplelocations whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
* depend on the internal format or size of the image
*/
public static native void glTextureStorage3DMultisample(@NativeType("GLuint") int texture, @NativeType("GLsizei") int samples, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLboolean") boolean fixedsamplelocations);
// --- [ glTextureSubImage1D ] ---
/** Unsafe version of: {@link #glTextureSubImage1D TextureSubImage1D} */
public static native void nglTextureSubImage1D(int texture, int level, int xoffset, int width, int format, int type, long pixels);
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ByteBuffer pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") long pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, pixels);
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ShortBuffer pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") IntBuffer pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") FloatBuffer pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage1D TexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param width the subregion width
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") DoubleBuffer pixels) {
nglTextureSubImage1D(texture, level, xoffset, width, format, type, memAddress(pixels));
}
// --- [ glTextureSubImage2D ] ---
/** Unsafe version of: {@link #glTextureSubImage2D TextureSubImage2D} */
public static native void nglTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels);
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ByteBuffer pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") long pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ShortBuffer pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") IntBuffer pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") FloatBuffer pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glTexSubImage2D TexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the left coordinate of the texel subregion
* @param yoffset the bottom coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") DoubleBuffer pixels) {
nglTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, memAddress(pixels));
}
// --- [ glTextureSubImage3D ] ---
/** Unsafe version of: {@link #glTextureSubImage3D TextureSubImage3D} */
public static native void nglTextureSubImage3D(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, long pixels);
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ByteBuffer pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") long pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") ShortBuffer pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") IntBuffer pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") FloatBuffer pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL12#glTexSubImage3D TexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail-number
* @param xoffset the x coordinate of the texel subregion
* @param yoffset the y coordinate of the texel subregion
* @param zoffset the z coordinate of the texel subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel data format. One of:
* @param pixels the pixel data
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") DoubleBuffer pixels) {
nglTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(pixels));
}
// --- [ glCompressedTextureSubImage1D ] ---
/**
* Unsafe version of: {@link #glCompressedTextureSubImage1D CompressedTextureSubImage1D}
*
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
*/
public static native void nglCompressedTextureSubImage1D(int texture, int level, int xoffset, int width, int format, int imageSize, long data);
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage1D CompressedTexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param width the width of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLsizei") int imageSize, @NativeType("const void *") long data) {
nglCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data);
}
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage1D CompressedTexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param width the width of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("const void *") ByteBuffer data) {
nglCompressedTextureSubImage1D(texture, level, xoffset, width, format, data.remaining(), memAddress(data));
}
// --- [ glCompressedTextureSubImage2D ] ---
/**
* Unsafe version of: {@link #glCompressedTextureSubImage2D CompressedTextureSubImage2D}
*
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
*/
public static native void nglCompressedTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, long data);
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage2D CompressedTexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param yoffset a texel offset in the y direction within the texture array
* @param width the width of the texture subimage
* @param height the height of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLsizei") int imageSize, @NativeType("const void *") long data) {
nglCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data);
}
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage2D CompressedTexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param yoffset a texel offset in the y direction within the texture array
* @param width the width of the texture subimage
* @param height the height of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("const void *") ByteBuffer data) {
nglCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, data.remaining(), memAddress(data));
}
// --- [ glCompressedTextureSubImage3D ] ---
/**
* Unsafe version of: {@link #glCompressedTextureSubImage3D CompressedTextureSubImage3D}
*
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
*/
public static native void nglCompressedTextureSubImage3D(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, long data);
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage3D CompressedTexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param yoffset a texel offset in the y direction within the texture array
* @param zoffset a texel offset in the z direction within the texture array
* @param width the width of the texture subimage
* @param height the height of the texture subimage
* @param depth the depth of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param imageSize the number of unsigned bytes of image data starting at the address specified by {@code data}
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLsizei") int imageSize, @NativeType("const void *") long data) {
nglCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
}
/**
*
*
* DSA version of {@link GL13#glCompressedTexSubImage3D CompressedTexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param xoffset a texel offset in the x direction within the texture array
* @param yoffset a texel offset in the y direction within the texture array
* @param zoffset a texel offset in the z direction within the texture array
* @param width the width of the texture subimage
* @param height the height of the texture subimage
* @param depth the depth of the texture subimage
* @param format the format of the compressed image data stored at address {@code data}. One of:
* @param data a pointer to the compressed image data
*/
public static void glCompressedTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("const void *") ByteBuffer data) {
nglCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, data.remaining(), memAddress(data));
}
// --- [ glCopyTextureSubImage1D ] ---
/**
*
*
* DSA version of {@link GL11#glCopyTexSubImage1D CopyTexSubImage1D}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param xoffset the left texel coordinate of the texture subregion to update
* @param x the left framebuffer pixel coordinate
* @param y the lower framebuffer pixel coordinate
* @param width the texture subregion width
*/
public static native void glCopyTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width);
// --- [ glCopyTextureSubImage2D ] ---
/**
*
*
* DSA version of {@link GL11#glCopyTexSubImage2D CopyTexSubImage2D}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param xoffset the left texel coordinate of the texture subregion to update
* @param yoffset the lower texel coordinate of the texture subregion to update
* @param x the left framebuffer pixel coordinate
* @param y the lower framebuffer pixel coordinate
* @param width the texture subregion width
* @param height the texture subregion height
*/
public static native void glCopyTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glCopyTextureSubImage3D ] ---
/**
*
*
* DSA version of {@link GL12#glCopyTexSubImage3D CopyTexSubImage3D}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param xoffset the x coordinate of the texture subregion to update
* @param yoffset the y coordinate of the texture subregion to update
* @param zoffset the z coordinate of the texture subregion to update
* @param x the left framebuffer pixel coordinate
* @param y the lower framebuffer pixel coordinate
* @param width the texture subregion width
* @param height the texture subregion height
*/
public static native void glCopyTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glTextureParameterf ] ---
/**
*
*
* DSA version of {@link GL11#glTexParameterf TexParameterf}.
*
* @param texture the texture name
* @param pname the parameter to set
* @param param the parameter value
*/
public static native void glTextureParameterf(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLfloat") float param);
// --- [ glTextureParameterfv ] ---
/** Unsafe version of: {@link #glTextureParameterfv TextureParameterfv} */
public static native void nglTextureParameterfv(int texture, int pname, long params);
/**
*
*
* DSA version of {@link GL11#glTexParameterfv TexParameterfv}.
*
* @param texture the texture name
* @param pname the parameter to set
* @param params the parameter value
*/
public static void glTextureParameterfv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("const GLfloat *") FloatBuffer params) {
if (CHECKS) {
check(params, 4);
}
nglTextureParameterfv(texture, pname, memAddress(params));
}
// --- [ glTextureParameteri ] ---
/**
*
* @param param the parameter value
*/
public static native void glTextureParameteri(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLint") int param);
// --- [ glTextureParameterIiv ] ---
/** Unsafe version of: {@link #glTextureParameterIiv TextureParameterIiv} */
public static native void nglTextureParameterIiv(int texture, int pname, long params);
/**
*
*
* DSA version of {@link GL30#glTexParameterIiv TexParameterIiv}.
*
* @param texture the texture name
* @param pname the symbolic name of a single-valued texture parameter
* @param params the value of {@code pname}
*/
public static void glTextureParameterIiv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("const GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglTextureParameterIiv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL30#glTexParameterIuiv TexParameterIuiv}.
*
* @param texture the texture name
* @param pname the symbolic name of a single-valued texture parameter
* @param params the value of {@code pname}
*/
public static void glTextureParameterIuiv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("const GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglTextureParameterIuiv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL11#glTexParameteriv TexParameteriv}.
*
* @param texture the texture name
* @param pname the parameter to set
* @param params the parameter value
*/
public static void glTextureParameteriv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("const GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 4);
}
nglTextureParameteriv(texture, pname, memAddress(params));
}
// --- [ glGenerateTextureMipmap ] ---
/**
*
*
* Binds an existing texture object to the texture unit numbered {@code unit}.
*
*
{@code texture} must be zero or the name of an existing texture object. When {@code texture} is the name of an existing texture object, that object is
* bound to the target, in the corresponding texture unit, that was specified when the object was created. When {@code texture} 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.
*
* @param unit the texture unit number
* @param texture the texture name
*/
public static native void glBindTextureUnit(@NativeType("GLuint") int unit, @NativeType("GLuint") int texture);
// --- [ glGetTextureImage ] ---
/**
* Unsafe version of: {@link #glGetTextureImage GetTextureImage}
*
* @param bufSize the size of the buffer to receive the retrieved pixel data
*/
public static native void nglGetTextureImage(int texture, int level, int format, int type, int bufSize, long pixels);
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param bufSize the size of the buffer to receive the retrieved pixel data
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long pixels) {
nglGetTextureImage(texture, level, format, type, bufSize, pixels);
}
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer pixels) {
nglGetTextureImage(texture, level, format, type, pixels.remaining(), memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ShortBuffer pixels) {
nglGetTextureImage(texture, level, format, type, pixels.remaining() << 1, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") IntBuffer pixels) {
nglGetTextureImage(texture, level, format, type, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") FloatBuffer pixels) {
nglGetTextureImage(texture, level, format, type, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* DSA version of {@link GL11#glGetTexImage GetTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") DoubleBuffer pixels) {
nglGetTextureImage(texture, level, format, type, pixels.remaining() << 3, memAddress(pixels));
}
// --- [ glGetCompressedTextureImage ] ---
/**
* Unsafe version of: {@link #glGetCompressedTextureImage GetCompressedTextureImage}
*
* @param bufSize the size of the buffer to receive the retrieved pixel data
*/
public static native void nglGetCompressedTextureImage(int texture, int level, int bufSize, long pixels);
/**
*
*
* DSA version of {@link GL13#glGetCompressedTexImage GetCompressedTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param bufSize the size of the buffer to receive the retrieved pixel data
* @param pixels a buffer in which to return the compressed texture image
*/
public static void glGetCompressedTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLsizei") int bufSize, @NativeType("void *") long pixels) {
nglGetCompressedTextureImage(texture, level, bufSize, pixels);
}
/**
*
*
* DSA version of {@link GL13#glGetCompressedTexImage GetCompressedTexImage}.
*
* @param texture the texture name
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param pixels a buffer in which to return the compressed texture image
*/
public static void glGetCompressedTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("void *") ByteBuffer pixels) {
if (CHECKS) {
if (DEBUG) {
check(pixels, glGetTextureLevelParameteri(texture, level, GL13.GL_TEXTURE_COMPRESSED_IMAGE_SIZE));
}
}
nglGetCompressedTextureImage(texture, level, pixels.remaining(), memAddress(pixels));
}
// --- [ glGetTextureLevelParameterfv ] ---
/** Unsafe version of: {@link #glGetTextureLevelParameterfv GetTextureLevelParameterfv} */
public static native void nglGetTextureLevelParameterfv(int texture, int level, int pname, long params);
/**
*
*
* DSA version of {@link GL11#glGetTexLevelParameterfv GetTexLevelParameterfv}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param pname the parameter to query
* @param params a scalar or buffer in which to place the returned data
*/
public static void glGetTextureLevelParameterfv(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int pname, @NativeType("GLfloat *") FloatBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureLevelParameterfv(texture, level, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL11#glGetTexLevelParameteriv GetTexLevelParameteriv}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param pname the parameter to query. One of:
* @param params a scalar or buffer in which to place the returned data
*/
public static void glGetTextureLevelParameteriv(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureLevelParameteriv(texture, level, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL11#glGetTexLevelParameteriv GetTexLevelParameteriv}.
*
* @param texture the texture name
* @param level the level-of-detail number
* @param pname the parameter to query. One of:
*
* DSA version of {@link GL11#glGetTexParameterfv GetTexParameterfv}.
*
* @param texture the texture name
* @param pname the parameter to query
* @param params a scalar or buffer in which to place the returned data
*/
public static void glGetTextureParameterfv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLfloat *") FloatBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureParameterfv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL30#glGetTexParameterIiv GetTexParameterIiv}.
*
* @param texture the texture name
* @param pname the symbolic name of a texture parameter
* @param params returns the texture parameter value
*/
public static void glGetTextureParameterIiv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureParameterIiv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL30#glGetTexParameterIuiv GetTexParameterIuiv}.
*
* @param texture the texture name
* @param pname the symbolic name of a texture parameter
* @param params returns the texture parameter value
*/
public static void glGetTextureParameterIuiv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureParameterIuiv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL11#glGetTexParameteriv GetTexParameteriv}.
*
* @param texture the texture name
* @param pname the parameter to query. One of:
* @param params a scalar or buffer in which to place the returned data
*/
public static void glGetTextureParameteriv(@NativeType("GLuint") int texture, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTextureParameteriv(texture, pname, memAddress(params));
}
/**
*
*
* DSA version of {@link GL11#glGetTexParameteriv GetTexParameteriv}.
*
* @param texture the texture name
* @param pname the parameter to query. One of:
*
* DSA version of {@link GL20#glDisableVertexAttribArray DisableVertexAttribArray}.
*
* @param vaobj the vertex array object name
* @param index the index of the generic vertex attribute to be disabled
*/
public static native void glDisableVertexArrayAttrib(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int index);
// --- [ glEnableVertexArrayAttrib ] ---
/**
*
*
* DSA version of {@link GL20#glEnableVertexAttribArray EnableVertexAttribArray}.
*
* @param vaobj the vertex array object name
* @param index the index of the generic vertex attribute to be enabled
*/
public static native void glEnableVertexArrayAttrib(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int index);
// --- [ glVertexArrayElementBuffer ] ---
/**
*
*
* Binds a buffer object to the element array buffer bind point of a vertex array object.
*
* @param vaobj the vertex array object name
* @param buffer the buffer object name. If {@code buffer} is zero, any existing element array buffer binding to {@code vaobj} is removed.
*/
public static native void glVertexArrayElementBuffer(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int buffer);
// --- [ glVertexArrayVertexBuffer ] ---
/**
*
*
* DSA version of {@link GL43#glBindVertexBuffer BindVertexBuffer}.
*
* @param vaobj the vertex array object name
* @param bindingindex the index of the vertex buffer binding point to which to bind the buffer
* @param buffer the name of an existing buffer to bind to the vertex buffer binding point
* @param offset the offset of the first element of the buffer
* @param stride the distance between elements within the buffer
*/
public static native void glVertexArrayVertexBuffer(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int bindingindex, @NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("GLsizei") int stride);
// --- [ glVertexArrayVertexBuffers ] ---
/**
* Unsafe version of: {@link #glVertexArrayVertexBuffers VertexArrayVertexBuffers}
*
* @param count the number of vertex buffer binding points
*/
public static native void nglVertexArrayVertexBuffers(int vaobj, int first, int count, long buffers, long offsets, long strides);
/**
*
*
* DSA version of {@link GL43#glVertexAttribFormat VertexAttribFormat}.
*
* @param vaobj the vertex array object name
* @param attribindex the generic vertex attribute array being described
* @param size the number of values per vertex that are stored in the array. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the type of the data stored in the array
* @param normalized if true then integer data is normalized to the range [-1, 1] or [0, 1] if it is signed or unsigned, respectively. If false then integer data is
* directly converted to floating point.
* @param relativeoffset the offset, measured in basic machine units of the first element relative to the start of the vertex buffer binding this attribute fetches from
*/
public static native void glVertexArrayAttribFormat(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int attribindex, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLboolean") boolean normalized, @NativeType("GLuint") int relativeoffset);
// --- [ glVertexArrayAttribIFormat ] ---
/**
*
*
* DSA version of {@link GL43#glVertexAttribIFormat VertexAttribIFormat}.
*
* @param vaobj the vertex array object name
* @param attribindex the generic vertex attribute array being described
* @param size the number of values per vertex that are stored in the array. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the type of the data stored in the array
* @param relativeoffset the offset, measured in basic machine units of the first element relative to the start of the vertex buffer binding this attribute fetches from
*/
public static native void glVertexArrayAttribIFormat(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int attribindex, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLuint") int relativeoffset);
// --- [ glVertexArrayAttribLFormat ] ---
/**
*
*
* DSA version of {@link GL43#glVertexAttribLFormat VertexAttribLFormat}.
*
* @param vaobj the vertex array object name
* @param attribindex the generic vertex attribute array being described
* @param size the number of values per vertex that are stored in the array. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the type of the data stored in the array
* @param relativeoffset the offset, measured in basic machine units of the first element relative to the start of the vertex buffer binding this attribute fetches from
*/
public static native void glVertexArrayAttribLFormat(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int attribindex, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLuint") int relativeoffset);
// --- [ glVertexArrayAttribBinding ] ---
/**
*
*
* DSA version of {@link GL43#glVertexAttribBinding VertexAttribBinding}.
*
* @param vaobj the vertex array object name
* @param attribindex the index of the attribute to associate with a vertex buffer binding
* @param bindingindex the index of the vertex buffer binding with which to associate the generic vertex attribute
*/
public static native void glVertexArrayAttribBinding(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int attribindex, @NativeType("GLuint") int bindingindex);
// --- [ glVertexArrayBindingDivisor ] ---
/**
*
*
* DSA version of {@link GL43#glVertexBindingDivisor VertexBindingDivisor}.
*
* @param vaobj the vertex array object name
* @param bindingindex the index of the generic vertex attribute
* @param divisor the number of instances that will pass between updates of the generic attribute at slot {@code index}
*/
public static native void glVertexArrayBindingDivisor(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int bindingindex, @NativeType("GLuint") int divisor);
// --- [ glGetVertexArrayiv ] ---
/** Unsafe version of: {@link #glGetVertexArrayiv GetVertexArrayiv} */
public static native void nglGetVertexArrayiv(int vaobj, int pname, long param);
/**
*
* @param param the buffer in which to return the parameter values
*/
public static void glGetVertexArrayiv(@NativeType("GLuint") int vaobj, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetVertexArrayiv(vaobj, pname, memAddress(param));
}
/**
*
*
* Queries parameters of an attribute of a vertex array object.
*
* @param vaobj the vertex array object name
* @param index the attribute to query
* @param pname the parameter to query. One of:
* @param param the buffer in which to return the parameter values
*/
public static void glGetVertexArrayIndexediv(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int index, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetVertexArrayIndexediv(vaobj, index, pname, memAddress(param));
}
/**
*
*
* Queries parameters of an attribute of a vertex array object.
*
* @param vaobj the vertex array object name
* @param index the attribute to query
* @param pname the parameter to query. One of:
*
* Queries parameters of an attribute of a vertex array object.
*
* @param vaobj the vertex array object name
* @param index the attribute to query
* @param pname the parameter to query. Must be:
* @param param the buffer in which to return the parameter values
*/
public static void glGetVertexArrayIndexed64iv(@NativeType("GLuint") int vaobj, @NativeType("GLuint") int index, @NativeType("GLenum") int pname, @NativeType("GLint64 *") LongBuffer param) {
if (CHECKS) {
check(param, 1);
}
nglGetVertexArrayIndexed64iv(vaobj, index, pname, memAddress(param));
}
/**
*
*
* Queries parameters of an attribute of a vertex array object.
*
* @param vaobj the vertex array object name
* @param index the attribute to query
* @param pname the parameter to query. Must be:
*
* Returns {@code n} previously unused sampler names in {@code samplers}, each representing a new sampler object.
*
* @param samplers the buffer in which to return the created sampler object names
*/
public static void glCreateSamplers(@NativeType("GLuint *") IntBuffer samplers) {
nglCreateSamplers(samplers.remaining(), memAddress(samplers));
}
/**
*
*
* Returns {@code n} previously unused program pipeline names in {@code pipelines}, each representing a new program pipeline object.
*
* @param pipelines the buffer in which to return the created program pipeline names
*/
public static void glCreateProgramPipelines(@NativeType("GLuint *") IntBuffer pipelines) {
nglCreateProgramPipelines(pipelines.remaining(), memAddress(pipelines));
}
/**
*
*
* Returns {@code n} previously unused program pipeline names in {@code pipelines}, each representing a new program pipeline object.
*/
@NativeType("void")
public static int glCreateProgramPipelines() {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer pipelines = stack.callocInt(1);
nglCreateProgramPipelines(1, memAddress(pipelines));
return pipelines.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glCreateQueries ] ---
/**
* Unsafe version of: {@link #glCreateQueries CreateQueries}
*
* @param n the number of query object names to create
*/
public static native void nglCreateQueries(int target, int n, long ids);
/**
*
*
* Returns {@code n} previously unused query object names in {@code ids}, each representing a new query object with the specified {@code target}.
*
* @param target the query target. One of:
* @param ids the buffer in which to return the created query object names
*/
public static void glCreateQueries(@NativeType("GLenum") int target, @NativeType("GLuint *") IntBuffer ids) {
nglCreateQueries(target, ids.remaining(), memAddress(ids));
}
/**
*
*
* Returns {@code n} previously unused query object names in {@code ids}, each representing a new query object with the specified {@code target}.
*
* @param target the query target. One of:
*
* Queries the state of a query object.
*
* @param id the name of a query object
* @param buffer the name of a buffer object
* @param pname the state to query
* @param offset the offset into {@code buffer} at which the queried value is written
*/
public static native void glGetQueryBufferObjectiv(@NativeType("GLuint") int id, @NativeType("GLuint") int buffer, @NativeType("GLenum") int pname, @NativeType("GLintptr") long offset);
// --- [ glGetQueryBufferObjectuiv ] ---
/**
*
*
* Unsigned version of {@link #glGetQueryBufferObjectiv GetQueryBufferObjectiv}.
*
* @param id the name of a query object
* @param buffer the name of a buffer object
* @param pname the state to query
* @param offset the offset into {@code buffer} at which the queried value is written
*/
public static native void glGetQueryBufferObjectuiv(@NativeType("GLuint") int id, @NativeType("GLuint") int buffer, @NativeType("GLenum") int pname, @NativeType("GLintptr") long offset);
// --- [ glGetQueryBufferObjecti64v ] ---
/**
*
*
* 64bit version of {@link #glGetQueryBufferObjectiv GetQueryBufferObjectiv}.
*
* @param id the name of a query object
* @param buffer the name of a buffer object
* @param pname the state to query
* @param offset the offset into {@code buffer} at which the queried value is written
*/
public static native void glGetQueryBufferObjecti64v(@NativeType("GLuint") int id, @NativeType("GLuint") int buffer, @NativeType("GLenum") int pname, @NativeType("GLintptr") long offset);
// --- [ glGetQueryBufferObjectui64v ] ---
/**
*
*
* 64bit version of {@link #glGetQueryBufferObjectuiv GetQueryBufferObjectuiv}.
*
* @param id the name of a query object
* @param buffer the name of a buffer object
* @param pname the state to query
* @param offset the offset into {@code buffer} at which the queried value is written
*/
public static native void glGetQueryBufferObjectui64v(@NativeType("GLuint") int id, @NativeType("GLuint") int buffer, @NativeType("GLenum") int pname, @NativeType("GLintptr") long offset);
// --- [ glMemoryBarrierByRegion ] ---
/**
*
*
* Behaves like {@link GL42#glMemoryBarrier MemoryBarrier}, with two differences:
*
*
First, it narrows the region under consideration so that only reads/writes of prior fragment shaders that are invoked for a smaller region of the
* framebuffer will be completed/reflected prior to subsequent reads/write of following fragment shaders. The size of the region is implementation
* dependent and may be as small as one framebuffer pixel.
*
*
Second, it only applies to memory transactions that may be read by or written by a fragment shader.
*
*
When barriers is {@link GL42#GL_ALL_BARRIER_BITS ALL_BARRIER_BITS}, shader memory accesses will be synchronized relative to all these barrier bits, but not to other
* barrier bits specific to {@link GL42#glMemoryBarrier MemoryBarrier}. This implies that reads/writes for scatter/gather-like algorithms may or may not be
* completed/reflected after a MemoryBarrierByRegion command. However, for uses such as deferred shading, where a linked list of visible
* surfaces with the head at a framebuffer address may be constructed, and the entirety of the list is only dependent on previous executions at that
* framebuffer address, MemoryBarrierByRegion may be significantly more efficient than {@link GL42#glMemoryBarrier MemoryBarrier}.
*
* @param barriers the barriers to insert. One or more of:
*/
public static native void glMemoryBarrierByRegion(@NativeType("GLbitfield") int barriers);
// --- [ glGetTextureSubImage ] ---
/**
* Unsafe version of: {@link #glGetTextureSubImage GetTextureSubImage}
*
* @param bufSize the size of the buffer to receive the retrieved pixel data
*/
public static native void nglGetTextureSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int bufSize, long pixels);
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param bufSize the size of the buffer to receive the retrieved pixel data
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
}
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.remaining(), memAddress(pixels));
}
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ShortBuffer pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.remaining() << 1, memAddress(pixels));
}
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") IntBuffer pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") FloatBuffer pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* Obtains sub-regions of a texture image from a texture object.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param format the pixel format. One of:
* @param pixels the buffer in which to place the returned data
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") DoubleBuffer pixels) {
nglGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.remaining() << 3, memAddress(pixels));
}
// --- [ glGetCompressedTextureSubImage ] ---
/**
* Unsafe version of: {@link #glGetCompressedTextureSubImage GetCompressedTextureSubImage}
*
* @param bufSize the size of the buffer to receive the retrieved pixel data
*/
public static native void nglGetCompressedTextureSubImage(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int bufSize, long pixels);
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param bufSize the size of the buffer to receive the retrieved pixel data
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLsizei") int bufSize, @NativeType("void *") long pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
}
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("void *") ByteBuffer pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, pixels.remaining(), memAddress(pixels));
}
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("void *") ShortBuffer pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, pixels.remaining() << 1, memAddress(pixels));
}
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("void *") IntBuffer pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("void *") FloatBuffer pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* Obtains a sub-region of a compressed texture image.
*
* @param texture the source texture object name
* @param level the level-of-detail number
* @param xoffset the x-position of the subregion
* @param yoffset the y-position of the subregion
* @param zoffset the z-position of the subregion
* @param width the subregion width
* @param height the subregion height
* @param depth the subregion depth
* @param pixels the buffer in which to place the returned data
*/
public static void glGetCompressedTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("void *") DoubleBuffer pixels) {
nglGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, pixels.remaining() << 3, memAddress(pixels));
}
// --- [ glTextureBarrier ] ---
/**
*
*
* Guarantees that writes have completed and caches have been invalidated before subsequent Draws are executed.
*/
public static native void glTextureBarrier();
// --- [ glGetGraphicsResetStatus ] ---
/**
*
*
* Indicates if the GL context has been in a reset state at any point since the last call to GetGraphicsResetStatus:
*
*
*
{@link GL11#GL_NO_ERROR NO_ERROR} indicates that the GL context has not been in a reset state since the last call.
*
{@link #GL_GUILTY_CONTEXT_RESET GUILTY_CONTEXT_RESET} indicates that a reset has been detected that is attributable to the current GL context.
*
{@link #GL_INNOCENT_CONTEXT_RESET INNOCENT_CONTEXT_RESET} indicates a reset has been detected that is not attributable to the current GL context.
*
{@link #GL_UNKNOWN_CONTEXT_RESET UNKNOWN_CONTEXT_RESET} indicates a detected graphics reset whose cause is unknown.
*
*
*
If a reset status other than NO_ERROR is returned and subsequent calls return NO_ERROR, the context reset was encountered and completed. If a reset
* status is repeatedly returned, the context may be in the process of resetting.
*
*
Reset notification behavior is determined at context creation time, and may be queried by calling GetIntegerv with the symbolic constant
* {@link #GL_RESET_NOTIFICATION_STRATEGY RESET_NOTIFICATION_STRATEGY}.
*
*
If the reset notification behavior is {@link #GL_NO_RESET_NOTIFICATION NO_RESET_NOTIFICATION}, then the implementation will never deliver notification of reset events, and
* GetGraphicsResetStatus will always return NO_ERROR.
*
*
If the behavior is {@link #GL_LOSE_CONTEXT_ON_RESET LOSE_CONTEXT_ON_RESET}, a graphics reset will result in a lost context and require creating a new context as described
* above. In this case GetGraphicsResetStatus will return an appropriate value from those described above.
*
*
If a graphics reset notification occurs in a context, a notification must also occur in all other contexts which share objects with that context.
*
*
After a graphics reset has occurred on a context, subsequent GL commands on that context (or any context which shares with that context) will generate a
* {@link #GL_CONTEXT_LOST CONTEXT_LOST} error. Such commands will not have side effects (in particular, they will not modify memory passed by pointer for query results,
* and may not block indefinitely or cause termination of the application. Exceptions to this behavior include:
*
*
*
{@link GL11#glGetError GetError} and GetGraphicsResetStatus behave normally following a graphics reset, so that the application can determine a reset has
* occurred, and when it is safe to destroy and recreate the context.
*
Any commands which might cause a polling application to block indefinitely will generate a CONTEXT_LOST error, but will also return a value
* indicating completion to the application.
*
*/
@NativeType("GLenum")
public static native int glGetGraphicsResetStatus();
// --- [ glGetnMapdv ] ---
/**
* Unsafe version of: {@link #glGetnMapdv GetnMapdv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnMapdv(int target, int query, int bufSize, long data);
/**
*
*
* Robust version of {@link GL11#glGetMapdv GetMapdv}
*
* @param target the evaluator map
* @param query the information to query
* @param data a buffer in which to place the returned data
*/
public static void glGetnMapdv(@NativeType("GLenum") int target, @NativeType("GLenum") int query, @NativeType("GLdouble *") DoubleBuffer data) {
nglGetnMapdv(target, query, data.remaining(), memAddress(data));
}
/**
*
*
* Robust version of {@link GL11#glGetMapdv GetMapdv}
*
* @param target the evaluator map
* @param query the information to query
*/
@NativeType("void")
public static double glGetnMapd(@NativeType("GLenum") int target, @NativeType("GLenum") int query) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
DoubleBuffer data = stack.callocDouble(1);
nglGetnMapdv(target, query, 1, memAddress(data));
return data.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnMapfv ] ---
/**
* Unsafe version of: {@link #glGetnMapfv GetnMapfv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnMapfv(int target, int query, int bufSize, long data);
/**
*
*
* Robust version of {@link GL11#glGetMapfv GetMapfv}
*
* @param target the evaluator map
* @param query the information to query
* @param data a buffer in which to place the returned data
*/
public static void glGetnMapfv(@NativeType("GLenum") int target, @NativeType("GLenum") int query, @NativeType("GLfloat *") FloatBuffer data) {
nglGetnMapfv(target, query, data.remaining(), memAddress(data));
}
/**
*
*
* Robust version of {@link GL11#glGetMapfv GetMapfv}
*
* @param target the evaluator map
* @param query the information to query
*/
@NativeType("void")
public static float glGetnMapf(@NativeType("GLenum") int target, @NativeType("GLenum") int query) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
FloatBuffer data = stack.callocFloat(1);
nglGetnMapfv(target, query, 1, memAddress(data));
return data.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnMapiv ] ---
/**
* Unsafe version of: {@link #glGetnMapiv GetnMapiv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnMapiv(int target, int query, int bufSize, long data);
/**
*
* @param data a buffer in which to place the returned data
*/
public static void glGetnMapiv(@NativeType("GLenum") int target, @NativeType("GLenum") int query, @NativeType("GLint *") IntBuffer data) {
nglGetnMapiv(target, query, data.remaining(), memAddress(data));
}
/**
*
*/
@NativeType("void")
public static int glGetnMapi(@NativeType("GLenum") int target, @NativeType("GLenum") int query) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer data = stack.callocInt(1);
nglGetnMapiv(target, query, 1, memAddress(data));
return data.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnPixelMapfv ] ---
/**
* Unsafe version of: {@link #glGetnPixelMapfv GetnPixelMapfv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnPixelMapfv(int map, int bufSize, long data);
/**
*
*
* Robust version of {@link GL11#glGetPixelMapfv GetPixelMapfv}
*
* @param map the pixel map parameter to query. One of:
{@link GL11#GL_PIXEL_MAP_I_TO_I PIXEL_MAP_I_TO_I}
{@link GL11#GL_PIXEL_MAP_S_TO_S PIXEL_MAP_S_TO_S}
{@link GL11#GL_PIXEL_MAP_I_TO_R PIXEL_MAP_I_TO_R}
{@link GL11#GL_PIXEL_MAP_I_TO_G PIXEL_MAP_I_TO_G}
{@link GL11#GL_PIXEL_MAP_I_TO_B PIXEL_MAP_I_TO_B}
{@link GL11#GL_PIXEL_MAP_I_TO_A PIXEL_MAP_I_TO_A}
{@link GL11#GL_PIXEL_MAP_R_TO_R PIXEL_MAP_R_TO_R}
{@link GL11#GL_PIXEL_MAP_G_TO_G PIXEL_MAP_G_TO_G}
{@link GL11#GL_PIXEL_MAP_B_TO_B PIXEL_MAP_B_TO_B}
{@link GL11#GL_PIXEL_MAP_A_TO_A PIXEL_MAP_A_TO_A}
* @param data a buffer in which to place the returned data
*/
public static void glGetnPixelMapfv(@NativeType("GLenum") int map, @NativeType("GLfloat *") FloatBuffer data) {
nglGetnPixelMapfv(map, data.remaining(), memAddress(data));
}
// --- [ glGetnPixelMapuiv ] ---
/**
* Unsafe version of: {@link #glGetnPixelMapuiv GetnPixelMapuiv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnPixelMapuiv(int map, int bufSize, long data);
/**
*
*
* Robust version of {@link GL11#glGetPixelMapuiv GetPixelMapuiv}
*
* @param map the pixel map parameter to query
* @param data a buffer in which to place the returned data
*/
public static void glGetnPixelMapuiv(@NativeType("GLenum") int map, @NativeType("GLuint *") IntBuffer data) {
nglGetnPixelMapuiv(map, data.remaining(), memAddress(data));
}
// --- [ glGetnPixelMapusv ] ---
/**
* Unsafe version of: {@link #glGetnPixelMapusv GetnPixelMapusv}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglGetnPixelMapusv(int map, int bufSize, long data);
/**
*
*
* Robust version of {@link GL11#glGetPixelMapusv GetPixelMapusv}
*
* @param map the pixel map parameter to query
* @param data a buffer in which to place the returned data
*/
public static void glGetnPixelMapusv(@NativeType("GLenum") int map, @NativeType("GLushort *") ShortBuffer data) {
nglGetnPixelMapusv(map, data.remaining(), memAddress(data));
}
// --- [ glGetnPolygonStipple ] ---
/**
* Unsafe version of: {@link #glGetnPolygonStipple GetnPolygonStipple}
*
* @param bufSize the maximum number of bytes to write into {@code pattern}
*/
public static native void nglGetnPolygonStipple(int bufSize, long pattern);
/**
*
*
* Robust version of {@link GL11#glGetPolygonStipple GetPolygonStipple}
*
* @param bufSize the maximum number of bytes to write into {@code pattern}
* @param pattern a buffer in which to place the returned pattern
*/
public static void glGetnPolygonStipple(@NativeType("GLsizei") int bufSize, @NativeType("GLubyte *") long pattern) {
nglGetnPolygonStipple(bufSize, pattern);
}
/**
*
*
* Robust version of {@link GL11#glGetPolygonStipple GetPolygonStipple}
*
* @param pattern a buffer in which to place the returned pattern
*/
public static void glGetnPolygonStipple(@NativeType("GLubyte *") ByteBuffer pattern) {
nglGetnPolygonStipple(pattern.remaining(), memAddress(pattern));
}
// --- [ glGetnTexImage ] ---
/**
* Unsafe version of: {@link #glGetnTexImage GetnTexImage}
*
* @param bufSize the maximum number of bytes to write into {@code img}
*/
public static native void nglGetnTexImage(int tex, int level, int format, int type, int bufSize, long img);
/**
*
* @param bufSize the maximum number of bytes to write into {@code img}
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long img) {
nglGetnTexImage(tex, level, format, type, bufSize, img);
}
/**
*
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer img) {
nglGetnTexImage(tex, level, format, type, img.remaining(), memAddress(img));
}
/**
*
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ShortBuffer img) {
nglGetnTexImage(tex, level, format, type, img.remaining() << 1, memAddress(img));
}
/**
*
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") IntBuffer img) {
nglGetnTexImage(tex, level, format, type, img.remaining() << 2, memAddress(img));
}
/**
*
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") FloatBuffer img) {
nglGetnTexImage(tex, level, format, type, img.remaining() << 2, memAddress(img));
}
/**
*
* @param img a buffer in which to place the returned data
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") DoubleBuffer img) {
nglGetnTexImage(tex, level, format, type, img.remaining() << 3, memAddress(img));
}
// --- [ glReadnPixels ] ---
/**
* Unsafe version of: {@link #glReadnPixels ReadnPixels}
*
* @param bufSize the maximum number of bytes to write into {@code data}
*/
public static native void nglReadnPixels(int x, int y, int width, int height, int format, int type, int bufSize, long pixels);
/**
*
*
* Behaves identically to {@link GL11#glReadPixels ReadPixels} except that it does not write more than {@code bufSize} bytes into {@code data}
*
* @param x the left pixel coordinate
* @param y the lower pixel coordinate
* @param width the number of pixels to read in the x-dimension
* @param height the number of pixels to read in the y-dimension
* @param format the pixel format. One of:
* @param bufSize the maximum number of bytes to write into {@code data}
* @param pixels a buffer in which to place the returned pixel data
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long pixels) {
nglReadnPixels(x, y, width, height, format, type, bufSize, pixels);
}
/**
*
*
* Behaves identically to {@link GL11#glReadPixels ReadPixels} except that it does not write more than {@code bufSize} bytes into {@code data}
*
* @param x the left pixel coordinate
* @param y the lower pixel coordinate
* @param width the number of pixels to read in the x-dimension
* @param height the number of pixels to read in the y-dimension
* @param format the pixel format. One of:
* @param pixels a buffer in which to place the returned pixel data
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer pixels) {
nglReadnPixels(x, y, width, height, format, type, pixels.remaining(), memAddress(pixels));
}
/**
*
*
* Behaves identically to {@link GL11#glReadPixels ReadPixels} except that it does not write more than {@code bufSize} bytes into {@code data}
*
* @param x the left pixel coordinate
* @param y the lower pixel coordinate
* @param width the number of pixels to read in the x-dimension
* @param height the number of pixels to read in the y-dimension
* @param format the pixel format. One of:
* @param pixels a buffer in which to place the returned pixel data
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ShortBuffer pixels) {
nglReadnPixels(x, y, width, height, format, type, pixels.remaining() << 1, memAddress(pixels));
}
/**
*
*
* Behaves identically to {@link GL11#glReadPixels ReadPixels} except that it does not write more than {@code bufSize} bytes into {@code data}
*
* @param x the left pixel coordinate
* @param y the lower pixel coordinate
* @param width the number of pixels to read in the x-dimension
* @param height the number of pixels to read in the y-dimension
* @param format the pixel format. One of:
* @param pixels a buffer in which to place the returned pixel data
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") IntBuffer pixels) {
nglReadnPixels(x, y, width, height, format, type, pixels.remaining() << 2, memAddress(pixels));
}
/**
*
*
* Behaves identically to {@link GL11#glReadPixels ReadPixels} except that it does not write more than {@code bufSize} bytes into {@code data}
*
* @param x the left pixel coordinate
* @param y the lower pixel coordinate
* @param width the number of pixels to read in the x-dimension
* @param height the number of pixels to read in the y-dimension
* @param format the pixel format. One of:
* @param pixels a buffer in which to place the returned pixel data
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") FloatBuffer pixels) {
nglReadnPixels(x, y, width, height, format, type, pixels.remaining() << 2, memAddress(pixels));
}
// --- [ glGetnColorTable ] ---
/**
* Unsafe version of: {@link #glGetnColorTable GetnColorTable}
*
* @param bufSize the maximum number of bytes to write into {@code table}
*/
public static native void nglGetnColorTable(int target, int format, int type, int bufSize, long table);
/**
*
* @param bufSize the maximum number of bytes to write into {@code table}
* @param table a buffer in which to place the returned data
*/
public static void glGetnColorTable(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long table) {
nglGetnColorTable(target, format, type, bufSize, table);
}
/**
*
* @param table a buffer in which to place the returned data
*/
public static void glGetnColorTable(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer table) {
nglGetnColorTable(target, format, type, table.remaining(), memAddress(table));
}
/**
*
* @param table a buffer in which to place the returned data
*/
public static void glGetnColorTable(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ShortBuffer table) {
nglGetnColorTable(target, format, type, table.remaining() << 1, memAddress(table));
}
/**
*
* @param table a buffer in which to place the returned data
*/
public static void glGetnColorTable(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") IntBuffer table) {
nglGetnColorTable(target, format, type, table.remaining() << 2, memAddress(table));
}
/**
*
* @param table a buffer in which to place the returned data
*/
public static void glGetnColorTable(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") FloatBuffer table) {
nglGetnColorTable(target, format, type, table.remaining() << 2, memAddress(table));
}
// --- [ glGetnConvolutionFilter ] ---
/**
* Unsafe version of: {@link #glGetnConvolutionFilter GetnConvolutionFilter}
*
* @param bufSize the maximum number of bytes to write into {@code image}
*/
public static native void nglGetnConvolutionFilter(int target, int format, int type, int bufSize, long image);
/**
*
* @param bufSize the maximum number of bytes to write into {@code image}
* @param image a buffer in which to place the returned data
*/
public static void glGetnConvolutionFilter(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long image) {
nglGetnConvolutionFilter(target, format, type, bufSize, image);
}
/**
*
* @param image a buffer in which to place the returned data
*/
public static void glGetnConvolutionFilter(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer image) {
nglGetnConvolutionFilter(target, format, type, image.remaining(), memAddress(image));
}
// --- [ glGetnSeparableFilter ] ---
/**
* Unsafe version of: {@link #glGetnSeparableFilter GetnSeparableFilter}
*
* @param rowBufSize the maximum number of bytes to write into {@code row}
* @param columnBufSize the maximum number of bytes to write into {@code column}
*/
public static native void nglGetnSeparableFilter(int target, int format, int type, int rowBufSize, long row, int columnBufSize, long column, long span);
/**
*
* @param rowBufSize the maximum number of bytes to write into {@code row}
* @param row a buffer in which to return the filter row
* @param columnBufSize the maximum number of bytes to write into {@code column}
* @param column a buffer in which to return the filter column
* @param span
*/
public static void glGetnSeparableFilter(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int rowBufSize, @NativeType("void *") long row, @NativeType("GLsizei") int columnBufSize, @NativeType("void *") long column, @NativeType("void *") ByteBuffer span) {
nglGetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, memAddressSafe(span));
}
/**
*
* @param row a buffer in which to return the filter row
* @param column a buffer in which to return the filter column
* @param span
*/
public static void glGetnSeparableFilter(@NativeType("GLenum") int target, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer row, @NativeType("void *") ByteBuffer column, @NativeType("void *") ByteBuffer span) {
nglGetnSeparableFilter(target, format, type, row.remaining(), memAddress(row), column.remaining(), memAddress(column), memAddressSafe(span));
}
// --- [ glGetnHistogram ] ---
/**
* Unsafe version of: {@link #glGetnHistogram GetnHistogram}
*
* @param bufSize the maximum number of bytes to write into {@code values}
*/
public static native void nglGetnHistogram(int target, boolean reset, int format, int type, int bufSize, long values);
/**
*
*
* Robust version of {@link ARBImaging#glGetHistogram GetHistogram}
*
* @param target the histogram target. Must be:
{@link ARBImaging#GL_HISTOGRAM HISTOGRAM}
* @param reset if {@link GL11#GL_TRUE TRUE}, then all counters of all elements of the histogram are reset to zero. Counters are reset whether returned or not.
* @param format the pixel data format. One of:
* @param bufSize the maximum number of bytes to write into {@code values}
* @param values a buffer in which to place the returned data
*/
public static void glGetnHistogram(@NativeType("GLenum") int target, @NativeType("GLboolean") boolean reset, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long values) {
nglGetnHistogram(target, reset, format, type, bufSize, values);
}
/**
*
*
* Robust version of {@link ARBImaging#glGetHistogram GetHistogram}
*
* @param target the histogram target. Must be:
{@link ARBImaging#GL_HISTOGRAM HISTOGRAM}
* @param reset if {@link GL11#GL_TRUE TRUE}, then all counters of all elements of the histogram are reset to zero. Counters are reset whether returned or not.
* @param format the pixel data format. One of:
* @param values a buffer in which to place the returned data
*/
public static void glGetnHistogram(@NativeType("GLenum") int target, @NativeType("GLboolean") boolean reset, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer values) {
nglGetnHistogram(target, reset, format, type, values.remaining(), memAddress(values));
}
// --- [ glGetnMinmax ] ---
/**
* Unsafe version of: {@link #glGetnMinmax GetnMinmax}
*
* @param bufSize the maximum number of bytes to write into {@code values}
*/
public static native void nglGetnMinmax(int target, boolean reset, int format, int type, int bufSize, long values);
/**
*
*
* Robust version of {@link ARBImaging#glGetMinmax GetMinmax}
*
* @param target the minmax target. Must be:
{@link ARBImaging#GL_MINMAX MINMAX}
* @param reset If {@link GL11#GL_TRUE TRUE}, then each minimum value is reset to the maximum representable value, and each maximum value is reset to the minimum
* representable value. All values are reset, whether returned or not.
* @param format the pixel data format. One of:
* @param bufSize the maximum number of bytes to write into {@code values}
* @param values a buffer in which to place the returned data
*/
public static void glGetnMinmax(@NativeType("GLenum") int target, @NativeType("GLboolean") boolean reset, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("GLsizei") int bufSize, @NativeType("void *") long values) {
nglGetnMinmax(target, reset, format, type, bufSize, values);
}
/**
*
*
* Robust version of {@link ARBImaging#glGetMinmax GetMinmax}
*
* @param target the minmax target. Must be:
{@link ARBImaging#GL_MINMAX MINMAX}
* @param reset If {@link GL11#GL_TRUE TRUE}, then each minimum value is reset to the maximum representable value, and each maximum value is reset to the minimum
* representable value. All values are reset, whether returned or not.
* @param format the pixel data format. One of:
* @param values a buffer in which to place the returned data
*/
public static void glGetnMinmax(@NativeType("GLenum") int target, @NativeType("GLboolean") boolean reset, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") ByteBuffer values) {
nglGetnMinmax(target, reset, format, type, values.remaining(), memAddress(values));
}
// --- [ glGetnCompressedTexImage ] ---
/**
* Unsafe version of: {@link #glGetnCompressedTexImage GetnCompressedTexImage}
*
* @param bufSize the maximum number of bytes to write into {@code img}
*/
public static native void nglGetnCompressedTexImage(int target, int level, int bufSize, long img);
/**
*
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param bufSize the maximum number of bytes to write into {@code img}
* @param img a buffer in which to place the returned data
*/
public static void glGetnCompressedTexImage(@NativeType("GLenum") int target, @NativeType("GLint") int level, @NativeType("GLsizei") int bufSize, @NativeType("void *") long img) {
nglGetnCompressedTexImage(target, level, bufSize, img);
}
/**
*
* @param level the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
* @param img a buffer in which to place the returned data
*/
public static void glGetnCompressedTexImage(@NativeType("GLenum") int target, @NativeType("GLint") int level, @NativeType("void *") ByteBuffer img) {
if (CHECKS) {
if (DEBUG) {
check(img, GL11.glGetTexLevelParameteri(target, level, GL13.GL_TEXTURE_COMPRESSED_IMAGE_SIZE));
}
}
nglGetnCompressedTexImage(target, level, img.remaining(), memAddress(img));
}
// --- [ glGetnUniformfv ] ---
/**
* Unsafe version of: {@link #glGetnUniformfv GetnUniformfv}
*
* @param bufSize the maximum number of bytes to write to {@code params}
*/
public static native void nglGetnUniformfv(int program, int location, int bufSize, long params);
/**
*
*
* Returns the value or values of a uniform of the default uniform block.
*
* @param program the program object
* @param location the uniform location
* @param params the buffer in which to place the returned data
*/
public static void glGetnUniformfv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLfloat *") FloatBuffer params) {
nglGetnUniformfv(program, location, params.remaining(), memAddress(params));
}
/**
*
*
* Returns the value or values of a uniform of the default uniform block.
*
* @param program the program object
* @param location the uniform location
*/
@NativeType("void")
public static float glGetnUniformf(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
FloatBuffer params = stack.callocFloat(1);
nglGetnUniformfv(program, location, 1, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnUniformdv ] ---
/**
* Unsafe version of: {@link #glGetnUniformdv GetnUniformdv}
*
* @param bufSize the maximum number of bytes to write to {@code params}
*/
public static native void nglGetnUniformdv(int program, int location, int bufSize, long params);
/**
*
*
* Double version of {@link #glGetnUniformfv GetnUniformfv}.
*
* @param program the program object
* @param location the uniform location
* @param params the buffer in which to place the returned data
*/
public static void glGetnUniformdv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLdouble *") DoubleBuffer params) {
nglGetnUniformdv(program, location, params.remaining(), memAddress(params));
}
/**
*
*
* Double version of {@link #glGetnUniformfv GetnUniformfv}.
*
* @param program the program object
* @param location the uniform location
*/
@NativeType("void")
public static double glGetnUniformd(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
DoubleBuffer params = stack.callocDouble(1);
nglGetnUniformdv(program, location, 1, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnUniformiv ] ---
/**
* Unsafe version of: {@link #glGetnUniformiv GetnUniformiv}
*
* @param bufSize the maximum number of bytes to write to {@code params}
*/
public static native void nglGetnUniformiv(int program, int location, int bufSize, long params);
/**
*
*
* Integer version of {@link #glGetnUniformfv GetnUniformfv}.
*
* @param program the program object
* @param location the uniform location
* @param params the buffer in which to place the returned data
*/
public static void glGetnUniformiv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLfloat *") FloatBuffer params) {
nglGetnUniformiv(program, location, params.remaining(), memAddress(params));
}
/**
*
*
* Integer version of {@link #glGetnUniformfv GetnUniformfv}.
*
* @param program the program object
* @param location the uniform location
*/
@NativeType("void")
public static float glGetnUniformi(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
FloatBuffer params = stack.callocFloat(1);
nglGetnUniformiv(program, location, 1, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetnUniformuiv ] ---
/**
* Unsafe version of: {@link #glGetnUniformuiv GetnUniformuiv}
*
* @param bufSize the maximum number of bytes to write to {@code params}
*/
public static native void nglGetnUniformuiv(int program, int location, int bufSize, long params);
/**
*
*
* Unsigned version of {@link #glGetnUniformiv GetnUniformiv}.
*
* @param program the program object
* @param location the uniform location
* @param params the buffer in which to place the returned data
*/
public static void glGetnUniformuiv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLfloat *") FloatBuffer params) {
nglGetnUniformuiv(program, location, params.remaining(), memAddress(params));
}
/**
*
*
* Array version of: {@link #glInvalidateNamedFramebufferSubData InvalidateNamedFramebufferSubData}
*/
public static void glInvalidateNamedFramebufferSubData(@NativeType("GLuint") int framebuffer, @NativeType("const GLenum *") int[] attachments, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height) {
long __functionAddress = GL.getICD().glInvalidateNamedFramebufferSubData;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, framebuffer, attachments.length, attachments, x, y, width, height);
}
/**
*
*
* Array version of: {@link #glTextureSubImage1D TextureSubImage1D}
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") short[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage1D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, width, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage1D TextureSubImage1D}
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") int[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage1D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, width, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage1D TextureSubImage1D}
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") float[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage1D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, width, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage1D TextureSubImage1D}
*/
public static void glTextureSubImage1D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLsizei") int width, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") double[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage1D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, width, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage2D TextureSubImage2D}
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") short[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage2D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage2D TextureSubImage2D}
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") int[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage2D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage2D TextureSubImage2D}
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") float[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage2D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage2D TextureSubImage2D}
*/
public static void glTextureSubImage2D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") double[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage2D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage3D TextureSubImage3D}
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") short[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage3D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage3D TextureSubImage3D}
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") int[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage3D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage3D TextureSubImage3D}
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") float[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage3D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glTextureSubImage3D TextureSubImage3D}
*/
public static void glTextureSubImage3D(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("const void *") double[] pixels) {
long __functionAddress = GL.getICD().glTextureSubImage3D;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureImage GetTextureImage}
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") short[] pixels) {
long __functionAddress = GL.getICD().glGetTextureImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, format, type, pixels.length << 1, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureImage GetTextureImage}
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") int[] pixels) {
long __functionAddress = GL.getICD().glGetTextureImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, format, type, pixels.length << 2, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureImage GetTextureImage}
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") float[] pixels) {
long __functionAddress = GL.getICD().glGetTextureImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, format, type, pixels.length << 2, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureImage GetTextureImage}
*/
public static void glGetTextureImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") double[] pixels) {
long __functionAddress = GL.getICD().glGetTextureImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, format, type, pixels.length << 3, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureSubImage GetTextureSubImage}
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") short[] pixels) {
long __functionAddress = GL.getICD().glGetTextureSubImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length << 1, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureSubImage GetTextureSubImage}
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") int[] pixels) {
long __functionAddress = GL.getICD().glGetTextureSubImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length << 2, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureSubImage GetTextureSubImage}
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") float[] pixels) {
long __functionAddress = GL.getICD().glGetTextureSubImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length << 2, pixels);
}
/**
*
*
* Array version of: {@link #glGetTextureSubImage GetTextureSubImage}
*/
public static void glGetTextureSubImage(@NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int xoffset, @NativeType("GLint") int yoffset, @NativeType("GLint") int zoffset, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLsizei") int depth, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") double[] pixels) {
long __functionAddress = GL.getICD().glGetTextureSubImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length << 3, pixels);
}
/**
*
*
* Array version of: {@link #glGetnTexImage GetnTexImage}
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") short[] img) {
long __functionAddress = GL.getICD().glGetnTexImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, tex, level, format, type, img.length << 1, img);
}
/**
*
*
* Array version of: {@link #glGetnTexImage GetnTexImage}
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") int[] img) {
long __functionAddress = GL.getICD().glGetnTexImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, tex, level, format, type, img.length << 2, img);
}
/**
*
*
* Array version of: {@link #glGetnTexImage GetnTexImage}
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") float[] img) {
long __functionAddress = GL.getICD().glGetnTexImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, tex, level, format, type, img.length << 2, img);
}
/**
*
*
* Array version of: {@link #glGetnTexImage GetnTexImage}
*/
public static void glGetnTexImage(@NativeType("GLenum") int tex, @NativeType("GLint") int level, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") double[] img) {
long __functionAddress = GL.getICD().glGetnTexImage;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, tex, level, format, type, img.length << 3, img);
}
/**
*
*
* Array version of: {@link #glReadnPixels ReadnPixels}
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") short[] pixels) {
long __functionAddress = GL.getICD().glReadnPixels;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, x, y, width, height, format, type, pixels.length << 1, pixels);
}
/**
*
*
* Array version of: {@link #glReadnPixels ReadnPixels}
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") int[] pixels) {
long __functionAddress = GL.getICD().glReadnPixels;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, x, y, width, height, format, type, pixels.length << 2, pixels);
}
/**
*
*
* Array version of: {@link #glReadnPixels ReadnPixels}
*/
public static void glReadnPixels(@NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height, @NativeType("GLenum") int format, @NativeType("GLenum") int type, @NativeType("void *") float[] pixels) {
long __functionAddress = GL.getICD().glReadnPixels;
if (CHECKS) {
check(__functionAddress);
}
callPV(__functionAddress, x, y, width, height, format, type, pixels.length << 2, pixels);
}
/**
*