833 lines
39 KiB
Java
833 lines
39 KiB
Java
/*
|
|
* Copyright (c) 2002-2012 LWJGL Project
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are
|
|
* met:
|
|
*
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* * Neither the name of 'LWJGL' nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
package org.lwjgl.opengl;
|
|
|
|
import org.lwjgl.util.generator.*;
|
|
import org.lwjgl.util.generator.opengl.*;
|
|
|
|
import java.nio.ByteBuffer;
|
|
import java.nio.IntBuffer;
|
|
import java.nio.LongBuffer;
|
|
import javax.lang.model.type.TypeKind;
|
|
|
|
|
|
public interface GL43 {
|
|
|
|
/** No. of supported Shading Language Versions. Accepted by the <pname> parameter of GetIntegerv. */
|
|
int GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9;
|
|
|
|
/** Vertex attrib array has unconverted doubles. Accepted by the <pname> parameter of GetVertexAttribiv. */
|
|
int GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E;
|
|
|
|
// ---------------------------------------------------------------------
|
|
// ----------------------[ ARB_ES3_compatibility ]----------------------
|
|
// ---------------------------------------------------------------------
|
|
|
|
/** Accepted by the <internalformat> parameter of CompressedTexImage2D */
|
|
int GL_COMPRESSED_RGB8_ETC2 = 0x9274,
|
|
GL_COMPRESSED_SRGB8_ETC2 = 0x9275,
|
|
GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276,
|
|
GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277,
|
|
GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278,
|
|
GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279,
|
|
GL_COMPRESSED_R11_EAC = 0x9270,
|
|
GL_COMPRESSED_SIGNED_R11_EAC = 0x9271,
|
|
GL_COMPRESSED_RG11_EAC = 0x9272,
|
|
GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273;
|
|
|
|
/** Accepted by the <target> parameter of Enable and Disable: */
|
|
int GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
|
|
|
|
/**
|
|
* Accepted by the <target> parameter of BeginQuery, EndQuery,
|
|
* GetQueryIndexediv and GetQueryiv:
|
|
*/
|
|
int GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
|
|
|
|
/** Accepted by the <value> parameter of the GetInteger* functions: */
|
|
int GL_MAX_ELEMENT_INDEX = 0x8D6B;
|
|
|
|
// -----------------------------------------------------------------------
|
|
// ----------------------[ ARB_clear_buffer_object ]----------------------
|
|
// -----------------------------------------------------------------------
|
|
|
|
void glClearBufferData(@GLenum int target,
|
|
@GLenum int internalformat,
|
|
@GLenum int format,
|
|
@GLenum int type,
|
|
@Check("1") @Const @GLvoid ByteBuffer data);
|
|
|
|
void glClearBufferSubData(@GLenum int target,
|
|
@GLenum int internalformat,
|
|
@GLintptr long offset,
|
|
@GLsizeiptr long size,
|
|
@GLenum int format,
|
|
@GLenum int type,
|
|
@Check("1") @Const @GLvoid ByteBuffer data);
|
|
|
|
// ------------------------------------------------------------------
|
|
// ----------------------[ ARB_compute_shader ]----------------------
|
|
// ------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <type> parameter of CreateShader and returned in the
|
|
* <params> parameter by GetShaderiv:
|
|
*/
|
|
int GL_COMPUTE_SHADER = 0x91B9;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegerv, GetBooleanv, GetFloatv,
|
|
* GetDoublev and GetInteger64v:
|
|
*/
|
|
int GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB,
|
|
GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC,
|
|
GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD,
|
|
GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262,
|
|
GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263,
|
|
GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264,
|
|
GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265,
|
|
GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266,
|
|
GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegeri_v, GetBooleani_v,
|
|
* GetFloati_v, GetDoublei_v and GetInteger64i_v:
|
|
*/
|
|
|
|
int GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE,
|
|
GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
|
|
|
|
/** Accepted by the <pname> parameter of GetProgramiv: */
|
|
int GL_COMPUTE_WORK_GROUP_SIZE = 0x8267;
|
|
|
|
/** Accepted by the <pname> parameter of GetActiveUniformBlockiv: */
|
|
int GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC;
|
|
|
|
/** Accepted by the <pname> parameter of GetActiveAtomicCounterBufferiv: */
|
|
int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED;
|
|
|
|
/**
|
|
* Accepted by the <target> parameters of BindBuffer, BufferData,
|
|
* BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and
|
|
* GetBufferPointerv:
|
|
*/
|
|
int GL_DISPATCH_INDIRECT_BUFFER = 0x90EE;
|
|
|
|
/**
|
|
* Accepted by the <value> parameter of GetIntegerv, GetBooleanv,
|
|
* GetInteger64v, GetFloatv, and GetDoublev:
|
|
*/
|
|
int GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
|
|
|
|
/** Accepted by the <stages> parameter of UseProgramStages: */
|
|
int GL_COMPUTE_SHADER_BIT = 0x00000020;
|
|
|
|
void glDispatchCompute(@GLuint int num_groups_x,
|
|
@GLuint int num_groups_y,
|
|
@GLuint int num_groups_z);
|
|
|
|
void glDispatchComputeIndirect(@GLintptr long indirect);
|
|
|
|
// --------------------------------------------------------------
|
|
// ----------------------[ ARB_copy_image ]----------------------
|
|
// --------------------------------------------------------------
|
|
|
|
void glCopyImageSubData(
|
|
@GLuint int srcName, @GLenum int srcTarget, int srcLevel,
|
|
int srcX, int srcY, int srcZ,
|
|
@GLuint int dstName, @GLenum int dstTarget, int dstLevel,
|
|
int dstX, int dstY, int dstZ,
|
|
@GLsizei int srcWidth, @GLsizei int srcHeight, @GLsizei int srcDepth);
|
|
|
|
// ----------------------------------------------------------------
|
|
// ----------------------[ KHR_debug_output ]----------------------
|
|
// ----------------------[ ARB_debug_output2 ]---------------------
|
|
// ----------------------[ ARB_debug_group ]-----------------------
|
|
// ----------------------[ ARB_debug_label ]-----------------------
|
|
// ----------------------------------------------------------------
|
|
|
|
/**
|
|
* Tokens accepted by the <target> parameters of Enable, Disable, and
|
|
* IsEnabled:
|
|
*/
|
|
int GL_DEBUG_OUTPUT = 0x92E0,
|
|
GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242;
|
|
|
|
/** Returned by GetIntegerv when <pname> is CONTEXT_FLAGS: */
|
|
int GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002;
|
|
|
|
/**
|
|
* Tokens accepted by the <value> parameters of GetBooleanv, GetIntegerv,
|
|
* GetFloatv, GetDoublev and GetInteger64v:
|
|
*/
|
|
int GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143,
|
|
GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144,
|
|
GL_DEBUG_LOGGED_MESSAGES = 0x9145,
|
|
GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243,
|
|
GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C,
|
|
GL_DEBUG_GROUP_STACK_DEPTH = 0x826D,
|
|
GL_MAX_LABEL_LENGTH = 0x82E8;
|
|
|
|
/** Tokens accepted by the <pname> parameter of GetPointerv: */
|
|
int GL_DEBUG_CALLBACK_FUNCTION = 0x8244,
|
|
GL_DEBUG_CALLBACK_USER_PARAM = 0x8245;
|
|
|
|
/**
|
|
* Tokens accepted or provided by the <source> parameters of
|
|
* DebugMessageControl, DebugMessageInsert and DEBUGPROC, and the <sources>
|
|
* parameter of GetDebugMessageLog:
|
|
*/
|
|
int GL_DEBUG_SOURCE_API = 0x8246,
|
|
GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247,
|
|
GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248,
|
|
GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249,
|
|
GL_DEBUG_SOURCE_APPLICATION = 0x824A,
|
|
GL_DEBUG_SOURCE_OTHER = 0x824B;
|
|
|
|
/**
|
|
* Tokens accepted or provided by the <type> parameters of
|
|
* DebugMessageControl, DebugMessageInsert and DEBUGPROC, and the <types>
|
|
* parameter of GetDebugMessageLog:
|
|
*/
|
|
int GL_DEBUG_TYPE_ERROR = 0x824C,
|
|
GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D,
|
|
GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E,
|
|
GL_DEBUG_TYPE_PORTABILITY = 0x824F,
|
|
GL_DEBUG_TYPE_PERFORMANCE = 0x8250,
|
|
GL_DEBUG_TYPE_OTHER = 0x8251,
|
|
GL_DEBUG_TYPE_MARKER = 0x8268;
|
|
|
|
/**
|
|
* Tokens accepted or provided by the <type> parameters of
|
|
* DebugMessageControl and DEBUGPROC, and the <types> parameter of
|
|
* GetDebugMessageLog:
|
|
*/
|
|
int GL_DEBUG_TYPE_PUSH_GROUP = 0x8269,
|
|
GL_DEBUG_TYPE_POP_GROUP = 0x826A;
|
|
|
|
/**
|
|
* Tokens accepted or provided by the <severity> parameters of
|
|
* DebugMessageControl, DebugMessageInsert and DEBUGPROC callback functions,
|
|
* and the <severities> parameter of GetDebugMessageLog:
|
|
*/
|
|
int GL_DEBUG_SEVERITY_HIGH = 0x9146,
|
|
GL_DEBUG_SEVERITY_MEDIUM = 0x9147,
|
|
GL_DEBUG_SEVERITY_LOW = 0x9148,
|
|
GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B;
|
|
|
|
/**
|
|
* Tokens accepted or provided by the <identifier> parameters of
|
|
* ObjectLabel and GetObjectLabel:
|
|
*/
|
|
int GL_BUFFER = 0x82E0,
|
|
GL_SHADER = 0x82E1,
|
|
GL_PROGRAM = 0x82E2,
|
|
GL_QUERY = 0x82E3,
|
|
GL_PROGRAM_PIPELINE = 0x82E4,
|
|
GL_SAMPLER = 0x82E6,
|
|
GL_DISPLAY_LIST = 0x82E7;
|
|
|
|
// -----------------------------
|
|
|
|
void glDebugMessageControl(@GLenum int source,
|
|
@GLenum int type,
|
|
@GLenum int severity,
|
|
@AutoSize(value = "ids", canBeNull = true) @GLsizei int count,
|
|
@Check(canBeNull = true) @Const @GLuint IntBuffer ids,
|
|
boolean enabled);
|
|
|
|
void glDebugMessageInsert(@GLenum int source,
|
|
@GLenum int type,
|
|
@GLuint int id,
|
|
@GLenum int severity,
|
|
@AutoSize("buf") @GLsizei int length,
|
|
@Const @GLchar ByteBuffer buf);
|
|
|
|
@Alternate("glDebugMessageInsert")
|
|
void glDebugMessageInsert(@GLenum int source,
|
|
@GLenum int type,
|
|
@GLuint int id,
|
|
@GLenum int severity,
|
|
@Constant("buf.length()") @GLsizei int length,
|
|
CharSequence buf);
|
|
|
|
/**
|
|
* The {@code KHRDebugCallback.Handler} implementation passed to this method will be used for
|
|
* KHR_debug messages. If callback is null, any previously registered handler for the current
|
|
* thread will be unregistered and stop receiving messages.
|
|
*
|
|
* @param callback the callback function to use
|
|
*/
|
|
@Code(
|
|
// Create a GlobalRef to the callback object and register it with the current context.
|
|
javaBeforeNative = "\t\tlong userParam = callback == null ? 0 : CallbackUtil.createGlobalRef(callback.getHandler());\n" +
|
|
"\t\tCallbackUtil.registerContextCallbackKHR(userParam);"
|
|
)
|
|
void glDebugMessageCallback(@PointerWrapper(value = "GLDEBUGPROC", canBeNull = true) KHRDebugCallback callback,
|
|
@Constant("userParam") @PointerWrapper("GLvoid *") long userParam);
|
|
|
|
@GLuint
|
|
int glGetDebugMessageLog(@GLuint int count,
|
|
@AutoSize(value = "messageLog", canBeNull = true) @GLsizei int bufsize,
|
|
@Check(value = "count", canBeNull = true) @GLenum IntBuffer sources,
|
|
@Check(value = "count", canBeNull = true) @GLenum IntBuffer types,
|
|
@Check(value = "count", canBeNull = true) @GLuint IntBuffer ids,
|
|
@Check(value = "count", canBeNull = true) @GLenum IntBuffer severities,
|
|
@Check(value = "count", canBeNull = true) @GLsizei IntBuffer lengths,
|
|
@Check(canBeNull = true) @OutParameter @GLchar ByteBuffer messageLog);
|
|
|
|
void glPushDebugGroup(@GLenum int source, @GLuint int id, @AutoSize("message") @GLsizei int length,
|
|
@Const @GLchar ByteBuffer message);
|
|
|
|
@Alternate("glPushDebugGroup")
|
|
void glPushDebugGroup(@GLenum int source, @GLuint int id, @Constant("message.length()") @GLsizei int length,
|
|
CharSequence message);
|
|
|
|
void glPopDebugGroup();
|
|
|
|
void glObjectLabel(@GLenum int identifier, @GLuint int name, @AutoSize(value = "label", canBeNull = true) @GLsizei int length,
|
|
@Check(canBeNull = true) @Const @GLchar ByteBuffer label);
|
|
|
|
@Alternate("glObjectLabel")
|
|
void glObjectLabel(@GLenum int identifier, @GLuint int name, @Constant("label.length()") @GLsizei int length,
|
|
CharSequence label);
|
|
|
|
void glGetObjectLabel(@GLenum int identifier, @GLuint int name, @AutoSize("label") @GLsizei int bufSize,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @GLsizei IntBuffer length,
|
|
@OutParameter @GLchar ByteBuffer label);
|
|
|
|
@Alternate("glGetObjectLabel")
|
|
@GLreturn(value = "label", maxLength = "bufSize")
|
|
void glGetObjectLabel2(@GLenum int identifier, @GLuint int name, @GLsizei int bufSize,
|
|
@OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(label_length)") IntBuffer length,
|
|
@OutParameter @GLchar ByteBuffer label);
|
|
|
|
void glObjectPtrLabel(@PointerWrapper("GLvoid *") org.lwjgl.PointerWrapper ptr, @AutoSize(value = "label", canBeNull = true) @GLsizei int length,
|
|
@Check(canBeNull = true) @Const @GLchar ByteBuffer label);
|
|
|
|
@Alternate("glObjectPtrLabel")
|
|
void glObjectPtrLabel(@PointerWrapper("GLvoid *") org.lwjgl.PointerWrapper ptr, @Constant("label.length()") @GLsizei int length,
|
|
CharSequence label);
|
|
|
|
void glGetObjectPtrLabel(@PointerWrapper("GLvoid *") org.lwjgl.PointerWrapper ptr, @AutoSize("label") @GLsizei int bufSize,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @GLsizei IntBuffer length,
|
|
@OutParameter @GLchar ByteBuffer label);
|
|
|
|
@Alternate("glGetObjectPtrLabel")
|
|
@GLreturn(value = "label", maxLength = "bufSize")
|
|
void glGetObjectPtrLabel2(@PointerWrapper("GLvoid *") org.lwjgl.PointerWrapper ptr, @GLsizei int bufSize,
|
|
@OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(label_length)") IntBuffer length,
|
|
@OutParameter @GLchar ByteBuffer label);
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ----------------------[ ARB_explicit_uniform_location ]----------------------
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
|
|
* GetFloatv, GetDoublev, and GetInteger64v:
|
|
*/
|
|
int GL_MAX_UNIFORM_LOCATIONS = 0x826E;
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ----------------------[ ARB_framebuffer_no_attachment ]----------------------
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of FramebufferParameteri,
|
|
* GetFramebufferParameteriv, NamedFramebufferParameteriEXT, and
|
|
* GetNamedFramebufferParameterivEXT:
|
|
*/
|
|
int GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310,
|
|
GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311,
|
|
GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312,
|
|
GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313,
|
|
GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
|
|
* GetInteger64v, GetFloatv, and GetDoublev:
|
|
*/
|
|
int GL_MAX_FRAMEBUFFER_WIDTH = 0x9315,
|
|
GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316,
|
|
GL_MAX_FRAMEBUFFER_LAYERS = 0x9317,
|
|
GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318;
|
|
|
|
void glFramebufferParameteri(@GLenum int target, @GLenum int pname, int param);
|
|
|
|
@StripPostfix("params")
|
|
void glGetFramebufferParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
|
|
|
|
@Alternate("glGetFramebufferParameteriv")
|
|
@GLreturn("params")
|
|
@StripPostfix(value = "params", hasPostfix = false)
|
|
void glGetFramebufferParameteriv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ----------------------[ ARB_internalformat_query2 ]----------------------
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetInternalformativ
|
|
* and GetInternalformati64v:
|
|
*/
|
|
int GL_INTERNALFORMAT_SUPPORTED = 0x826F,
|
|
GL_INTERNALFORMAT_PREFERRED = 0x8270,
|
|
GL_INTERNALFORMAT_RED_SIZE = 0x8271,
|
|
GL_INTERNALFORMAT_GREEN_SIZE = 0x8272,
|
|
GL_INTERNALFORMAT_BLUE_SIZE = 0x8273,
|
|
GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274,
|
|
GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275,
|
|
GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276,
|
|
GL_INTERNALFORMAT_SHARED_SIZE = 0x8277,
|
|
GL_INTERNALFORMAT_RED_TYPE = 0x8278,
|
|
GL_INTERNALFORMAT_GREEN_TYPE = 0x8279,
|
|
GL_INTERNALFORMAT_BLUE_TYPE = 0x827A,
|
|
GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B,
|
|
GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C,
|
|
GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D,
|
|
GL_MAX_WIDTH = 0x827E,
|
|
GL_MAX_HEIGHT = 0x827F,
|
|
GL_MAX_DEPTH = 0x8280,
|
|
GL_MAX_LAYERS = 0x8281,
|
|
GL_MAX_COMBINED_DIMENSIONS = 0x8282,
|
|
GL_COLOR_COMPONENTS = 0x8283,
|
|
GL_DEPTH_COMPONENTS = 0x8284,
|
|
GL_STENCIL_COMPONENTS = 0x8285,
|
|
GL_COLOR_RENDERABLE = 0x8286,
|
|
GL_DEPTH_RENDERABLE = 0x8287,
|
|
GL_STENCIL_RENDERABLE = 0x8288,
|
|
GL_FRAMEBUFFER_RENDERABLE = 0x8289,
|
|
GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A,
|
|
GL_FRAMEBUFFER_BLEND = 0x828B,
|
|
GL_READ_PIXELS = 0x828C,
|
|
GL_READ_PIXELS_FORMAT = 0x828D,
|
|
GL_READ_PIXELS_TYPE = 0x828E,
|
|
GL_TEXTURE_IMAGE_FORMAT = 0x828F,
|
|
GL_TEXTURE_IMAGE_TYPE = 0x8290,
|
|
GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291,
|
|
GL_GET_TEXTURE_IMAGE_TYPE = 0x8292,
|
|
GL_MIPMAP = 0x8293,
|
|
GL_MANUAL_GENERATE_MIPMAP = 0x8294,
|
|
GL_AUTO_GENERATE_MIPMAP = 0x8295,
|
|
GL_COLOR_ENCODING = 0x8296,
|
|
GL_SRGB_READ = 0x8297,
|
|
GL_SRGB_WRITE = 0x8298,
|
|
GL_SRGB_DECODE_ARB = 0x8299,
|
|
GL_FILTER = 0x829A,
|
|
GL_VERTEX_TEXTURE = 0x829B,
|
|
GL_TESS_CONTROL_TEXTURE = 0x829C,
|
|
GL_TESS_EVALUATION_TEXTURE = 0x829D,
|
|
GL_GEOMETRY_TEXTURE = 0x829E,
|
|
GL_FRAGMENT_TEXTURE = 0x829F,
|
|
GL_COMPUTE_TEXTURE = 0x82A0,
|
|
GL_TEXTURE_SHADOW = 0x82A1,
|
|
GL_TEXTURE_GATHER = 0x82A2,
|
|
GL_TEXTURE_GATHER_SHADOW = 0x82A3,
|
|
GL_SHADER_IMAGE_LOAD = 0x82A4,
|
|
GL_SHADER_IMAGE_STORE = 0x82A5,
|
|
GL_SHADER_IMAGE_ATOMIC = 0x82A6,
|
|
GL_IMAGE_TEXEL_SIZE = 0x82A7,
|
|
GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8,
|
|
GL_IMAGE_PIXEL_FORMAT = 0x82A9,
|
|
GL_IMAGE_PIXEL_TYPE = 0x82AA,
|
|
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC,
|
|
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD,
|
|
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE,
|
|
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF,
|
|
GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1,
|
|
GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2,
|
|
GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3,
|
|
GL_CLEAR_BUFFER = 0x82B4,
|
|
GL_TEXTURE_VIEW = 0x82B5,
|
|
GL_VIEW_COMPATIBILITY_CLASS = 0x82B6;
|
|
|
|
/**
|
|
* Returned as possible responses for various <pname> queries
|
|
* to GetInternalformativ and GetInternalformati64v
|
|
*/
|
|
int GL_FULL_SUPPORT = 0x82B7,
|
|
GL_CAVEAT_SUPPORT = 0x82B8,
|
|
GL_IMAGE_CLASS_4_X_32 = 0x82B9,
|
|
GL_IMAGE_CLASS_2_X_32 = 0x82BA,
|
|
GL_IMAGE_CLASS_1_X_32 = 0x82BB,
|
|
GL_IMAGE_CLASS_4_X_16 = 0x82BC,
|
|
GL_IMAGE_CLASS_2_X_16 = 0x82BD,
|
|
GL_IMAGE_CLASS_1_X_16 = 0x82BE,
|
|
GL_IMAGE_CLASS_4_X_8 = 0x82BF,
|
|
GL_IMAGE_CLASS_2_X_8 = 0x82C0,
|
|
GL_IMAGE_CLASS_1_X_8 = 0x82C1,
|
|
GL_IMAGE_CLASS_11_11_10 = 0x82C2,
|
|
GL_IMAGE_CLASS_10_10_10_2 = 0x82C3,
|
|
GL_VIEW_CLASS_128_BITS = 0x82C4,
|
|
GL_VIEW_CLASS_96_BITS = 0x82C5,
|
|
GL_VIEW_CLASS_64_BITS = 0x82C6,
|
|
GL_VIEW_CLASS_48_BITS = 0x82C7,
|
|
GL_VIEW_CLASS_32_BITS = 0x82C8,
|
|
GL_VIEW_CLASS_24_BITS = 0x82C9,
|
|
GL_VIEW_CLASS_16_BITS = 0x82CA,
|
|
GL_VIEW_CLASS_8_BITS = 0x82CB,
|
|
GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC,
|
|
GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD,
|
|
GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE,
|
|
GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF,
|
|
GL_VIEW_CLASS_RGTC1_RED = 0x82D0,
|
|
GL_VIEW_CLASS_RGTC2_RG = 0x82D1,
|
|
GL_VIEW_CLASS_BPTC_UNORM = 0x82D2,
|
|
GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3;
|
|
|
|
@StripPostfix("params")
|
|
void glGetInternalformati64v(@GLenum int target, @GLenum int internalformat,
|
|
@GLenum int pname, @AutoSize("params") @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params);
|
|
|
|
@Alternate("glGetInternalformati64v")
|
|
@GLreturn("params")
|
|
@StripPostfix(value = "params", hasPostfix = false)
|
|
void glGetInternalformati64v2(@GLenum int target, @GLenum int internalformat,
|
|
@GLenum int pname, @Constant("1") @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params);
|
|
|
|
// ----------------------------------------------------------------------
|
|
// ----------------------[ ARB_invalidate_subdata ]----------------------
|
|
// ----------------------------------------------------------------------
|
|
|
|
void glInvalidateTexSubImage(@GLuint int texture, int level,
|
|
int xoffset, int yoffset, int zoffset,
|
|
@GLsizei int width, @GLsizei int height, @GLsizei int depth);
|
|
|
|
void glInvalidateTexImage(@GLuint int texture, int level);
|
|
|
|
void glInvalidateBufferSubData(@GLuint int buffer, @GLintptr long offset, @GLsizeiptr long length);
|
|
|
|
void glInvalidateBufferData(@GLuint int buffer);
|
|
|
|
void glInvalidateFramebuffer(@GLenum int target,
|
|
@AutoSize("attachments") @GLsizei int numAttachments,
|
|
@Const @GLenum IntBuffer attachments);
|
|
|
|
void glInvalidateSubFramebuffer(@GLenum int target,
|
|
@AutoSize("attachments") @GLsizei int numAttachments,
|
|
@Const @GLenum IntBuffer attachments,
|
|
int x, int y, @GLsizei int width, @GLsizei int height);
|
|
|
|
// -----------------------------------------------------------------------
|
|
// ----------------------[ ARB_multi_draw_indirect ]----------------------
|
|
// -----------------------------------------------------------------------
|
|
|
|
void glMultiDrawArraysIndirect(@GLenum int mode,
|
|
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
|
@GLsizei int primcount,
|
|
@GLsizei int stride);
|
|
|
|
@Alternate("glMultiDrawArraysIndirect")
|
|
void glMultiDrawArraysIndirect(@GLenum int mode,
|
|
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 : stride >> 2) * primcount") @Const @GLvoid(TypeKind.INT) IntBuffer indirect,
|
|
@GLsizei int primcount,
|
|
@GLsizei int stride);
|
|
|
|
void glMultiDrawElementsIndirect(@GLenum int mode,
|
|
@GLenum int type,
|
|
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
|
@GLsizei int primcount,
|
|
@GLsizei int stride);
|
|
|
|
@Alternate("glMultiDrawElementsIndirect")
|
|
void glMultiDrawElementsIndirect(@GLenum int mode,
|
|
@GLenum int type,
|
|
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 : stride >> 2) * primcount") @Const @GLvoid(TypeKind.INT) IntBuffer indirect,
|
|
@GLsizei int primcount,
|
|
@GLsizei int stride);
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// ----------------------[ ARB_program_interface_query ]----------------------
|
|
// ---------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <programInterface> parameter of GetProgramInterfaceiv,
|
|
* GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv,
|
|
* GetProgramResourceLocation, and GetProgramResourceLocationIndex:
|
|
*/
|
|
int GL_UNIFORM = 0x92E1,
|
|
GL_UNIFORM_BLOCK = 0x92E2,
|
|
GL_PROGRAM_INPUT = 0x92E3,
|
|
GL_PROGRAM_OUTPUT = 0x92E4,
|
|
GL_BUFFER_VARIABLE = 0x92E5,
|
|
GL_SHADER_STORAGE_BLOCK = 0x92E6,
|
|
GL_VERTEX_SUBROUTINE = 0x92E8,
|
|
GL_TESS_CONTROL_SUBROUTINE = 0x92E9,
|
|
GL_TESS_EVALUATION_SUBROUTINE = 0x92EA,
|
|
GL_GEOMETRY_SUBROUTINE = 0x92EB,
|
|
GL_FRAGMENT_SUBROUTINE = 0x92EC,
|
|
GL_COMPUTE_SUBROUTINE = 0x92ED,
|
|
GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE,
|
|
GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF,
|
|
GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0,
|
|
GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1,
|
|
GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2,
|
|
GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3,
|
|
GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4;
|
|
|
|
/** Accepted by the <pname> parameter of GetProgramInterfaceiv: */
|
|
int GL_ACTIVE_RESOURCES = 0x92F5,
|
|
GL_MAX_NAME_LENGTH = 0x92F6,
|
|
GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7,
|
|
GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8;
|
|
|
|
/** Accepted in the <props> array of GetProgramResourceiv: */
|
|
int GL_NAME_LENGTH = 0x92F9,
|
|
GL_TYPE = 0x92FA,
|
|
GL_ARRAY_SIZE = 0x92FB,
|
|
GL_OFFSET = 0x92FC,
|
|
GL_BLOCK_INDEX = 0x92FD,
|
|
GL_ARRAY_STRIDE = 0x92FE,
|
|
GL_MATRIX_STRIDE = 0x92FF,
|
|
GL_IS_ROW_MAJOR = 0x9300,
|
|
GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301,
|
|
GL_BUFFER_BINDING = 0x9302,
|
|
GL_BUFFER_DATA_SIZE = 0x9303,
|
|
GL_NUM_ACTIVE_VARIABLES = 0x9304,
|
|
GL_ACTIVE_VARIABLES = 0x9305,
|
|
GL_REFERENCED_BY_VERTEX_SHADER = 0x9306,
|
|
GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307,
|
|
GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308,
|
|
GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309,
|
|
GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A,
|
|
GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B,
|
|
GL_TOP_LEVEL_ARRAY_SIZE = 0x930C,
|
|
GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D,
|
|
GL_LOCATION = 0x930E,
|
|
GL_LOCATION_INDEX = 0x930F,
|
|
GL_IS_PER_PATCH = 0x92E7;
|
|
|
|
@StripPostfix("params")
|
|
void glGetProgramInterfaceiv(@GLuint int program, @GLenum int programInterface,
|
|
@GLenum int pname, @Check("1") @OutParameter IntBuffer params);
|
|
|
|
@Alternate("glGetProgramInterfaceiv")
|
|
@GLreturn("params")
|
|
@StripPostfix(value = "params", hasPostfix = false)
|
|
void glGetProgramInterfaceiv2(@GLuint int program, @GLenum int programInterface,
|
|
@GLenum int pname, @OutParameter IntBuffer params);
|
|
|
|
@GLuint
|
|
int glGetProgramResourceIndex(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated @Const @GLchar ByteBuffer name);
|
|
|
|
@Alternate("glGetProgramResourceIndex")
|
|
@GLuint
|
|
int glGetProgramResourceIndex(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated CharSequence name);
|
|
|
|
void glGetProgramResourceName(@GLuint int program, @GLenum int programInterface,
|
|
@GLuint int index, @AutoSize(value = "name", canBeNull = true) @GLsizei int bufSize, @Check(value = "1", canBeNull = true) @OutParameter @GLsizei IntBuffer length,
|
|
@Check(canBeNull = true) @OutParameter @GLchar ByteBuffer name);
|
|
|
|
@Alternate("glGetProgramResourceName")
|
|
@GLreturn(value = "name", maxLength = "bufSize")
|
|
void glGetProgramResourceName2(@GLuint int program, @GLenum int programInterface,
|
|
@GLuint int index, @GLsizei int bufSize,
|
|
@OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(name_length)") IntBuffer length,
|
|
@OutParameter @GLchar ByteBuffer name);
|
|
|
|
@StripPostfix("params")
|
|
void glGetProgramResourceiv(@GLuint int program, @GLenum int programInterface,
|
|
@GLuint int index, @AutoSize("props") @GLsizei int propCount,
|
|
@Const @GLenum IntBuffer props, @AutoSize("params") @GLsizei int bufSize,
|
|
@Check(value = "1", canBeNull = true) @OutParameter @GLsizei IntBuffer length, @OutParameter IntBuffer params);
|
|
|
|
int glGetProgramResourceLocation(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated @Const @GLchar ByteBuffer name);
|
|
|
|
@Alternate("glGetProgramResourceLocation")
|
|
int glGetProgramResourceLocation(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated CharSequence name);
|
|
|
|
int glGetProgramResourceLocationIndex(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated @Const @GLchar ByteBuffer name);
|
|
|
|
@Alternate("glGetProgramResourceLocationIndex")
|
|
int glGetProgramResourceLocationIndex(@GLuint int program, @GLenum int programInterface,
|
|
@NullTerminated CharSequence name);
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// ----------------------[ ARB_shader_storage_buffer_object ]----------------------
|
|
// --------------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <target> parameters of BindBuffer, BufferData,
|
|
* BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and
|
|
* GetBufferPointerv:
|
|
*/
|
|
int GL_SHADER_STORAGE_BUFFER = 0x90D2;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegerv, GetIntegeri_v,
|
|
* GetBooleanv, GetInteger64v, GetFloatv, GetDoublev, GetBooleani_v,
|
|
* GetIntegeri_v, GetFloati_v, GetDoublei_v, and GetInteger64i_v:
|
|
*/
|
|
int GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegeri_v, GetBooleani_v,
|
|
* GetIntegeri_v, GetFloati_v, GetDoublei_v, and GetInteger64i_v:
|
|
*/
|
|
int GL_SHADER_STORAGE_BUFFER_START = 0x90D4,
|
|
GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
|
|
* GetInteger64v, GetFloatv, and GetDoublev:
|
|
*/
|
|
int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6,
|
|
GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7,
|
|
GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8,
|
|
GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9,
|
|
GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA,
|
|
GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB,
|
|
GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC,
|
|
GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD,
|
|
GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE,
|
|
GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
|
|
|
|
/** Accepted in the <barriers> bitfield in glMemoryBarrier: */
|
|
int GL_SHADER_STORAGE_BARRIER_BIT = 0x2000;
|
|
|
|
/**
|
|
* Alias for the existing token
|
|
* MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS:
|
|
*/
|
|
int GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
|
|
|
|
void glShaderStorageBlockBinding(@GLuint int program, @GLuint int storageBlockIndex,
|
|
@GLuint int storageBlockBinding);
|
|
|
|
// ---------------------------------------------------------------------
|
|
// ----------------------[ ARB_stencil_texturing ]----------------------
|
|
// ---------------------------------------------------------------------
|
|
|
|
/** Accepted by the <pname> parameter of TexParameter* and GetTexParameter*: */
|
|
int GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
|
|
|
|
// ------------------------------------------------------------------------
|
|
// ----------------------[ ARB_texture_buffer_range ]----------------------
|
|
// ------------------------------------------------------------------------
|
|
|
|
/** Accepted by the <pname> parameter of GetTexLevelParameter: */
|
|
int GL_TEXTURE_BUFFER_OFFSET = 0x919D,
|
|
GL_TEXTURE_BUFFER_SIZE = 0x919E;
|
|
|
|
/**
|
|
* Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
|
|
* and GetDoublev:
|
|
*/
|
|
int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F;
|
|
|
|
void glTexBufferRange(@GLenum int target,
|
|
@GLenum int internalformat,
|
|
@GLuint int buffer,
|
|
@GLintptr long offset,
|
|
@GLsizeiptr long size);
|
|
|
|
// -------------------------------------------------------------------------------
|
|
// ----------------------[ ARB_texture_storage_multisample ]----------------------
|
|
// -------------------------------------------------------------------------------
|
|
|
|
void glTexStorage2DMultisample(@GLenum int target,
|
|
@GLsizei int samples,
|
|
@GLenum int internalformat,
|
|
@GLsizei int width,
|
|
@GLsizei int height,
|
|
boolean fixedsamplelocations);
|
|
|
|
void glTexStorage3DMultisample(@GLenum int target,
|
|
@GLsizei int samples,
|
|
@GLenum int internalformat,
|
|
@GLsizei int width,
|
|
@GLsizei int height,
|
|
@GLsizei int depth,
|
|
boolean fixedsamplelocations);
|
|
|
|
// ----------------------------------------------------------------
|
|
// ----------------------[ ARB_texture_view ]----------------------
|
|
// ----------------------------------------------------------------
|
|
|
|
/**
|
|
* Accepted by the <pname> parameters of GetTexParameterfv and
|
|
* GetTexParameteriv:
|
|
*/
|
|
int GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB,
|
|
GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC,
|
|
GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD,
|
|
GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE,
|
|
GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
|
|
|
|
void glTextureView(@GLuint int texture, @GLenum int target, @GLuint int origtexture,
|
|
@GLenum int internalformat,
|
|
@GLuint int minlevel, @GLuint int numlevels,
|
|
@GLuint int minlayer, @GLuint int numlayers);
|
|
|
|
// -------------------------------------------------------------------------
|
|
// ----------------------[ ARB_vertex_attrib_binding ]----------------------
|
|
// -------------------------------------------------------------------------
|
|
|
|
/** Accepted by the <pname> parameter of GetVertexAttrib*v: */
|
|
int GL_VERTEX_ATTRIB_BINDING = 0x82D4,
|
|
GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
|
|
|
|
/**
|
|
* Accepted by the <target> parameter of GetBooleani_v, GetIntegeri_v,
|
|
* GetFloati_v, GetDoublei_v, and GetInteger64i_v:
|
|
*/
|
|
int GL_VERTEX_BINDING_DIVISOR = 0x82D6,
|
|
GL_VERTEX_BINDING_OFFSET = 0x82D7,
|
|
GL_VERTEX_BINDING_STRIDE = 0x82D8;
|
|
|
|
/** Accepted by the <pname> parameter of GetIntegerv, ... */
|
|
int GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9,
|
|
GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
|
|
|
|
void glBindVertexBuffer(@GLuint int bindingindex, @GLuint int buffer, @GLintptr long offset,
|
|
@GLsizei int stride);
|
|
|
|
void glVertexAttribFormat(@GLuint int attribindex, int size, @GLenum int type,
|
|
boolean normalized, @GLuint int relativeoffset);
|
|
|
|
void glVertexAttribIFormat(@GLuint int attribindex, int size, @GLenum int type,
|
|
@GLuint int relativeoffset);
|
|
|
|
void glVertexAttribLFormat(@GLuint int attribindex, int size, @GLenum int type,
|
|
@GLuint int relativeoffset);
|
|
|
|
void glVertexAttribBinding(@GLuint int attribindex, @GLuint int bindingindex);
|
|
|
|
void glVertexBindingDivisor(@GLuint int bindingindex, @GLuint int divisor);
|
|
|
|
} |