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.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.opengl;
import java.nio.*;
import org.lwjgl.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.APIUtil.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* The core OpenGL 3.0 functionality. OpenGL 3.0 implementations are guaranteed to support at least versions 1.10, 1.20 and 1.30 of the shading language,
* although versions 1.10 and 1.20 are deprecated in a forward-compatible context.
*
*
*/
public class GL30 {
/** GetTarget */
public static final int
GL_MAJOR_VERSION = 0x821B,
GL_MINOR_VERSION = 0x821C,
GL_NUM_EXTENSIONS = 0x821D,
GL_CONTEXT_FLAGS = 0x821E,
GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x1;
/** Renamed tokens. */
public static final int
GL_COMPARE_REF_TO_TEXTURE = GL14.GL_COMPARE_R_TO_TEXTURE,
GL_CLIP_DISTANCE0 = GL11.GL_CLIP_PLANE0,
GL_CLIP_DISTANCE1 = GL11.GL_CLIP_PLANE1,
GL_CLIP_DISTANCE2 = GL11.GL_CLIP_PLANE2,
GL_CLIP_DISTANCE3 = GL11.GL_CLIP_PLANE3,
GL_CLIP_DISTANCE4 = GL11.GL_CLIP_PLANE4,
GL_CLIP_DISTANCE5 = GL11.GL_CLIP_PLANE5,
GL_CLIP_DISTANCE6 = 0x3006,
GL_CLIP_DISTANCE7 = 0x3007,
GL_MAX_CLIP_DISTANCES = GL11.GL_MAX_CLIP_PLANES,
GL_MAX_VARYING_COMPONENTS = GL20.GL_MAX_VARYING_FLOATS;
/** Accepted by the {@code pname} parameters of GetVertexAttribdv, GetVertexAttribfv, GetVertexAttribiv, GetVertexAttribIuiv and GetVertexAttribIiv. */
public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
/** Returned by the {@code type} parameter of GetActiveUniform. */
public static final int
GL_SAMPLER_1D_ARRAY = 0x8DC0,
GL_SAMPLER_2D_ARRAY = 0x8DC1,
GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3,
GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4,
GL_SAMPLER_CUBE_SHADOW = 0x8DC5,
GL_UNSIGNED_INT_VEC2 = 0x8DC6,
GL_UNSIGNED_INT_VEC3 = 0x8DC7,
GL_UNSIGNED_INT_VEC4 = 0x8DC8,
GL_INT_SAMPLER_1D = 0x8DC9,
GL_INT_SAMPLER_2D = 0x8DCA,
GL_INT_SAMPLER_3D = 0x8DCB,
GL_INT_SAMPLER_CUBE = 0x8DCC,
GL_INT_SAMPLER_1D_ARRAY = 0x8DCE,
GL_INT_SAMPLER_2D_ARRAY = 0x8DCF,
GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1,
GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2,
GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3,
GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4,
GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6,
GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int
GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904,
GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
/** Accepted by the {@code mode} parameter of BeginConditionalRender. */
public static final int
GL_QUERY_WAIT = 0x8E13,
GL_QUERY_NO_WAIT = 0x8E14,
GL_QUERY_BY_REGION_WAIT = 0x8E15,
GL_QUERY_BY_REGION_NO_WAIT = 0x8E16;
/** Accepted by the {@code access} parameter of MapBufferRange. */
public static final int
GL_MAP_READ_BIT = 0x1,
GL_MAP_WRITE_BIT = 0x2,
GL_MAP_INVALIDATE_RANGE_BIT = 0x4,
GL_MAP_INVALIDATE_BUFFER_BIT = 0x8,
GL_MAP_FLUSH_EXPLICIT_BIT = 0x10,
GL_MAP_UNSYNCHRONIZED_BIT = 0x20;
/** Accepted by the {@code pname} parameter of GetBufferParameteriv. */
public static final int
GL_BUFFER_ACCESS_FLAGS = 0x911F,
GL_BUFFER_MAP_LENGTH = 0x9120,
GL_BUFFER_MAP_OFFSET = 0x9121;
/** Accepted by the {@code target} parameter of ClampColor and the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int
GL_CLAMP_VERTEX_COLOR = 0x891A,
GL_CLAMP_FRAGMENT_COLOR = 0x891B,
GL_CLAMP_READ_COLOR = 0x891C;
/** Accepted by the {@code clamp} parameter of ClampColor. */
public static final int GL_FIXED_ONLY = 0x891D;
/**
* Accepted by the {@code internalformat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorage, and
* returned in the {@code data} parameter of GetTexLevelParameter and GetRenderbufferParameteriv.
*/
public static final int
GL_DEPTH_COMPONENT32F = 0x8CAC,
GL_DEPTH32F_STENCIL8 = 0x8CAD;
/**
* Accepted by the {@code type} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and
* GetTexImage.
*/
public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
/** Accepted by the {@code value} parameter of GetTexLevelParameter. */
public static final int
GL_TEXTURE_RED_TYPE = 0x8C10,
GL_TEXTURE_GREEN_TYPE = 0x8C11,
GL_TEXTURE_BLUE_TYPE = 0x8C12,
GL_TEXTURE_ALPHA_TYPE = 0x8C13,
GL_TEXTURE_LUMINANCE_TYPE = 0x8C14,
GL_TEXTURE_INTENSITY_TYPE = 0x8C15,
GL_TEXTURE_DEPTH_TYPE = 0x8C16;
/** Returned by the {@code params} parameter of GetTexLevelParameter. */
public static final int GL_UNSIGNED_NORMALIZED = 0x8C17;
/** Accepted by the {@code internalFormat} parameter of TexImage1D, TexImage2D, and TexImage3D. */
public static final int
GL_RGBA32F = 0x8814,
GL_RGB32F = 0x8815,
GL_RGBA16F = 0x881A,
GL_RGB16F = 0x881B;
/** Accepted by the {@code internalformat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorage. */
public static final int GL_R11F_G11F_B10F = 0x8C3A;
/**
* Accepted by the {@code type} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, GetTexImage, TexImage3D, TexSubImage1D, TexSubImage2D,
* TexSubImage3D, GetHistogram, GetMinmax, ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D, GetConvolutionFilter, SeparableFilter2D,
* GetSeparableFilter, ColorTable, ColorSubTable, and GetColorTable.
*/
public static final int GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
/** Accepted by the {@code internalformat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorage. */
public static final int GL_RGB9_E5 = 0x8C3D;
/**
* Accepted by the {@code type} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, GetTexImage, TexImage3D, TexSubImage1D, TexSubImage2D,
* TexSubImage3D, GetHistogram, GetMinmax, ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D, GetConvolutionFilter, SeparableFilter2D,
* GetSeparableFilter, ColorTable, ColorSubTable, and GetColorTable.
*/
public static final int GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
/** Accepted by the {@code pname} parameter of GetTexLevelParameterfv and GetTexLevelParameteriv. */
public static final int GL_TEXTURE_SHARED_SIZE = 0x8C3F;
/**
* Accepted by the {@code target} parameter of BindFramebuffer, CheckFramebufferStatus, FramebufferTexture{1D|2D|3D}, FramebufferRenderbuffer, and
* GetFramebufferAttachmentParameteriv.
*/
public static final int
GL_FRAMEBUFFER = 0x8D40,
GL_READ_FRAMEBUFFER = 0x8CA8,
GL_DRAW_FRAMEBUFFER = 0x8CA9;
/**
* Accepted by the {@code target} parameter of BindRenderbuffer, RenderbufferStorage, and GetRenderbufferParameteriv, and returned by
* GetFramebufferAttachmentParameteriv.
*/
public static final int GL_RENDERBUFFER = 0x8D41;
/** Accepted by the {@code internalformat} parameter of RenderbufferStorage. */
public static final int
GL_STENCIL_INDEX1 = 0x8D46,
GL_STENCIL_INDEX4 = 0x8D47,
GL_STENCIL_INDEX8 = 0x8D48,
GL_STENCIL_INDEX16 = 0x8D49;
/** Accepted by the {@code pname} parameter of GetRenderbufferParameteriv. */
public static final int
GL_RENDERBUFFER_WIDTH = 0x8D42,
GL_RENDERBUFFER_HEIGHT = 0x8D43,
GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44,
GL_RENDERBUFFER_RED_SIZE = 0x8D50,
GL_RENDERBUFFER_GREEN_SIZE = 0x8D51,
GL_RENDERBUFFER_BLUE_SIZE = 0x8D52,
GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53,
GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54,
GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55,
GL_RENDERBUFFER_SAMPLES = 0x8CAB;
/** Accepted by the {@code pname} parameter of GetFramebufferAttachmentParameteriv. */
public static final int
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0,
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1,
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2,
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3,
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4,
GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210,
GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211,
GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212,
GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213,
GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214,
GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215,
GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216,
GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
/** Returned in {@code params} by GetFramebufferAttachmentParameteriv. */
public static final int
GL_FRAMEBUFFER_DEFAULT = 0x8218,
GL_INDEX = 0x8222;
/** Accepted by the {@code attachment} parameter of FramebufferTexture{1D|2D|3D}, FramebufferRenderbuffer, and GetFramebufferAttachmentParameteriv. */
public static final int
GL_COLOR_ATTACHMENT0 = 0x8CE0,
GL_COLOR_ATTACHMENT1 = 0x8CE1,
GL_COLOR_ATTACHMENT2 = 0x8CE2,
GL_COLOR_ATTACHMENT3 = 0x8CE3,
GL_COLOR_ATTACHMENT4 = 0x8CE4,
GL_COLOR_ATTACHMENT5 = 0x8CE5,
GL_COLOR_ATTACHMENT6 = 0x8CE6,
GL_COLOR_ATTACHMENT7 = 0x8CE7,
GL_COLOR_ATTACHMENT8 = 0x8CE8,
GL_COLOR_ATTACHMENT9 = 0x8CE9,
GL_COLOR_ATTACHMENT10 = 0x8CEA,
GL_COLOR_ATTACHMENT11 = 0x8CEB,
GL_COLOR_ATTACHMENT12 = 0x8CEC,
GL_COLOR_ATTACHMENT13 = 0x8CED,
GL_COLOR_ATTACHMENT14 = 0x8CEE,
GL_COLOR_ATTACHMENT15 = 0x8CEF,
GL_COLOR_ATTACHMENT16 = 0x8CF0,
GL_COLOR_ATTACHMENT17 = 0x8CF1,
GL_COLOR_ATTACHMENT18 = 0x8CF2,
GL_COLOR_ATTACHMENT19 = 0x8CF3,
GL_COLOR_ATTACHMENT20 = 0x8CF4,
GL_COLOR_ATTACHMENT21 = 0x8CF5,
GL_COLOR_ATTACHMENT22 = 0x8CF6,
GL_COLOR_ATTACHMENT23 = 0x8CF7,
GL_COLOR_ATTACHMENT24 = 0x8CF8,
GL_COLOR_ATTACHMENT25 = 0x8CF9,
GL_COLOR_ATTACHMENT26 = 0x8CFA,
GL_COLOR_ATTACHMENT27 = 0x8CFB,
GL_COLOR_ATTACHMENT28 = 0x8CFC,
GL_COLOR_ATTACHMENT29 = 0x8CFD,
GL_COLOR_ATTACHMENT30 = 0x8CFE,
GL_COLOR_ATTACHMENT31 = 0x8CFF,
GL_DEPTH_ATTACHMENT = 0x8D00,
GL_STENCIL_ATTACHMENT = 0x8D20,
GL_DEPTH_STENCIL_ATTACHMENT = 0x821A;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int GL_MAX_SAMPLES = 0x8D57;
/** Returned by CheckFramebufferStatus(). */
public static final int
GL_FRAMEBUFFER_COMPLETE = 0x8CD5,
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6,
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7,
GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB,
GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC,
GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD,
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56,
GL_FRAMEBUFFER_UNDEFINED = 0x8219;
/** Accepted by the {@code pname} parameters of GetIntegerv, GetFloatv, and GetDoublev. */
public static final int
GL_FRAMEBUFFER_BINDING = 0x8CA6,
GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6,
GL_READ_FRAMEBUFFER_BINDING = 0x8CAA,
GL_RENDERBUFFER_BINDING = 0x8CA7,
GL_MAX_COLOR_ATTACHMENTS = 0x8CDF,
GL_MAX_RENDERBUFFER_SIZE = 0x84E8;
/** Returned by GetError(). */
public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 0x506;
/**
* Accepted by the {@code format} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and
* GetTexImage, by the {@code type} parameter of CopyPixels, by the {@code internalformat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D,
* CopyTexImage2D, and RenderbufferStorage, and returned in the {@code data} parameter of GetTexLevelParameter and GetRenderbufferParameteriv.
*/
public static final int GL_DEPTH_STENCIL = 0x84F9;
/**
* Accepted by the {@code type} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and
* GetTexImage.
*/
public static final int GL_UNSIGNED_INT_24_8 = 0x84FA;
/**
* Accepted by the {@code internalformat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorage, and
* returned in the {@code data} parameter of GetTexLevelParameter and GetRenderbufferParameteriv.
*/
public static final int GL_DEPTH24_STENCIL8 = 0x88F0;
/** Accepted by the {@code value} parameter of GetTexLevelParameter. */
public static final int GL_TEXTURE_STENCIL_SIZE = 0x88F1;
/**
* Accepted by the {@code type} parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, GetTexImage, TexSubImage1D, TexSubImage2D,
* TexSubImage3D, GetHistogram, GetMinmax, ConvolutionFilter1D, ConvolutionFilter2D, GetConvolutionFilter, SeparableFilter2D, GetSeparableFilter,
* ColorTable, ColorSubTable, and GetColorTable.
*
*
Accepted by the {@code type} argument of VertexPointer, NormalPointer, ColorPointer, SecondaryColorPointer, FogCoordPointer, TexCoordPointer, and
* VertexAttribPointer.
*/
public static final int GL_HALF_FLOAT = 0x140B;
/** Accepted by the {@code internalFormat} parameter of TexImage1D, TexImage2D, and TexImage3D. */
public static final int
GL_RGBA32UI = 0x8D70,
GL_RGB32UI = 0x8D71,
GL_RGBA16UI = 0x8D76,
GL_RGB16UI = 0x8D77,
GL_RGBA8UI = 0x8D7C,
GL_RGB8UI = 0x8D7D,
GL_RGBA32I = 0x8D82,
GL_RGB32I = 0x8D83,
GL_RGBA16I = 0x8D88,
GL_RGB16I = 0x8D89,
GL_RGBA8I = 0x8D8E,
GL_RGB8I = 0x8D8F;
/** Accepted by the {@code format} parameter of TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, DrawPixels and ReadPixels. */
public static final int
GL_RED_INTEGER = 0x8D94,
GL_GREEN_INTEGER = 0x8D95,
GL_BLUE_INTEGER = 0x8D96,
GL_ALPHA_INTEGER = 0x8D97,
GL_RGB_INTEGER = 0x8D98,
GL_RGBA_INTEGER = 0x8D99,
GL_BGR_INTEGER = 0x8D9A,
GL_BGRA_INTEGER = 0x8D9B;
/** Accepted by the {@code target} parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, GenerateMipmap, and BindTexture. */
public static final int
GL_TEXTURE_1D_ARRAY = 0x8C18,
GL_TEXTURE_2D_ARRAY = 0x8C1A;
/** Accepted by the {@code target} parameter of TexImage3D, TexSubImage3D, CopyTexSubImage3D, CompressedTexImage3D, and CompressedTexSubImage3D. */
public static final int GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B;
/**
* Accepted by the {@code target} parameter of TexImage2D, TexSubImage2D, CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, and
* CompressedTexSubImage2D.
*/
public static final int GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv. */
public static final int
GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C,
GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D,
GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
/**
* Accepted by the {@code internalformat} parameter of TexImage2D, CopyTexImage2D, and CompressedTexImage2D and the {@code format} parameter of
* CompressedTexSubImage2D.
*/
public static final int
GL_COMPRESSED_RED_RGTC1 = 0x8DBB,
GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC,
GL_COMPRESSED_RG_RGTC2 = 0x8DBD,
GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE;
/** Accepted by the {@code internalFormat} parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D. */
public static final int
GL_R8 = 0x8229,
GL_R16 = 0x822A,
GL_RG8 = 0x822B,
GL_RG16 = 0x822C,
GL_R16F = 0x822D,
GL_R32F = 0x822E,
GL_RG16F = 0x822F,
GL_RG32F = 0x8230,
GL_R8I = 0x8231,
GL_R8UI = 0x8232,
GL_R16I = 0x8233,
GL_R16UI = 0x8234,
GL_R32I = 0x8235,
GL_R32UI = 0x8236,
GL_RG8I = 0x8237,
GL_RG8UI = 0x8238,
GL_RG16I = 0x8239,
GL_RG16UI = 0x823A,
GL_RG32I = 0x823B,
GL_RG32UI = 0x823C,
GL_RG = 0x8227,
GL_COMPRESSED_RED = 0x8225,
GL_COMPRESSED_RG = 0x8226;
/** Accepted by the {@code format} parameter of TexImage3D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and ReadPixels. */
public static final int GL_RG_INTEGER = 0x8228;
/**
* Accepted by the {@code target} parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv,
* BindBufferRange, BindBufferOffset and BindBufferBase.
*/
public static final int GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
/** Accepted by the {@code param} parameter of GetIntegeri_v and GetBooleani_v. */
public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84,
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
/**
* Accepted by the {@code param} parameter of GetIntegeri_v and GetBooleani_v, and by the {@code pname} parameter of GetBooleanv,
* GetDoublev, GetIntegerv, and GetFloatv.
*/
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
/** Accepted by the {@code bufferMode} parameter of TransformFeedbackVaryings. */
public static final int
GL_INTERLEAVED_ATTRIBS = 0x8C8C,
GL_SEPARATE_ATTRIBS = 0x8C8D;
/** Accepted by the {@code target} parameter of BeginQuery, EndQuery, and GetQueryiv. */
public static final int
GL_PRIMITIVES_GENERATED = 0x8C87,
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
/**
* Accepted by the {@code cap} parameter of Enable, Disable, and IsEnabled, and by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and
* GetDoublev.
*/
public static final int GL_RASTERIZER_DISCARD = 0x8C89;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. */
public static final int
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A,
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B,
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
/** Accepted by the {@code pname} parameter of GetProgramiv. */
public static final int
GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83,
GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F,
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int GL_VERTEX_ARRAY_BINDING = 0x85B5;
/**
* Accepted by the {@code cap} parameter of Enable, Disable, and IsEnabled, and by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and
* GetDoublev.
*/
public static final int GL_FRAMEBUFFER_SRGB = 0x8DB9;
static { GL.initialize(); }
protected GL30() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLCapabilities caps) {
return checkFunctions(
caps.glGetStringi, caps.glClearBufferiv, caps.glClearBufferuiv, caps.glClearBufferfv, caps.glClearBufferfi, caps.glVertexAttribI1i,
caps.glVertexAttribI2i, caps.glVertexAttribI3i, caps.glVertexAttribI4i, caps.glVertexAttribI1ui, caps.glVertexAttribI2ui, caps.glVertexAttribI3ui,
caps.glVertexAttribI4ui, caps.glVertexAttribI1iv, caps.glVertexAttribI2iv, caps.glVertexAttribI3iv, caps.glVertexAttribI4iv,
caps.glVertexAttribI1uiv, caps.glVertexAttribI2uiv, caps.glVertexAttribI3uiv, caps.glVertexAttribI4uiv, caps.glVertexAttribI4bv,
caps.glVertexAttribI4sv, caps.glVertexAttribI4ubv, caps.glVertexAttribI4usv, caps.glVertexAttribIPointer, caps.glGetVertexAttribIiv,
caps.glGetVertexAttribIuiv, caps.glUniform1ui, caps.glUniform2ui, caps.glUniform3ui, caps.glUniform4ui, caps.glUniform1uiv, caps.glUniform2uiv,
caps.glUniform3uiv, caps.glUniform4uiv, caps.glGetUniformuiv, caps.glBindFragDataLocation, caps.glGetFragDataLocation,
caps.glBeginConditionalRender, caps.glEndConditionalRender, caps.glMapBufferRange, caps.glFlushMappedBufferRange, caps.glClampColor,
caps.glIsRenderbuffer, caps.glBindRenderbuffer, caps.glDeleteRenderbuffers, caps.glGenRenderbuffers, caps.glRenderbufferStorage,
caps.glRenderbufferStorageMultisample, caps.glGetRenderbufferParameteriv, caps.glIsFramebuffer, caps.glBindFramebuffer, caps.glDeleteFramebuffers,
caps.glGenFramebuffers, caps.glCheckFramebufferStatus, caps.glFramebufferTexture1D, caps.glFramebufferTexture2D, caps.glFramebufferTexture3D,
caps.glFramebufferTextureLayer, caps.glFramebufferRenderbuffer, caps.glGetFramebufferAttachmentParameteriv, caps.glBlitFramebuffer,
caps.glGenerateMipmap, caps.glTexParameterIiv, caps.glTexParameterIuiv, caps.glGetTexParameterIiv, caps.glGetTexParameterIuiv, caps.glColorMaski,
caps.glGetBooleani_v, caps.glGetIntegeri_v, caps.glEnablei, caps.glDisablei, caps.glIsEnabledi, caps.glBindBufferRange, caps.glBindBufferBase,
caps.glBeginTransformFeedback, caps.glEndTransformFeedback, caps.glTransformFeedbackVaryings, caps.glGetTransformFeedbackVarying,
caps.glBindVertexArray, caps.glDeleteVertexArrays, caps.glGenVertexArrays, caps.glIsVertexArray
);
}
// --- [ glGetStringi ] ---
/** Unsafe version of: {@link #glGetStringi GetStringi} */
public static native long nglGetStringi(int name, int index);
/**
*
* @param index the index of the particular element being queried
*/
@NativeType("const GLubyte *")
public static String glGetStringi(@NativeType("GLenum") int name, @NativeType("GLuint") int index) {
long __result = nglGetStringi(name, index);
return memUTF8(__result);
}
// --- [ glClearBufferiv ] ---
/** Unsafe version of: {@link #glClearBufferiv ClearBufferiv} */
public static native void nglClearBufferiv(int buffer, int drawbuffer, long value);
/**
*
*
* Clears an individual buffer of the currently bound framebuffer object to the {@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER} binding.
*
* @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 glClearBufferiv(@NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLint *") IntBuffer value) {
if (CHECKS) {
check(value, 1);
}
nglClearBufferiv(buffer, drawbuffer, memAddress(value));
}
// --- [ glClearBufferuiv ] ---
/** Unsafe version of: {@link #glClearBufferuiv ClearBufferuiv} */
public static native void nglClearBufferuiv(int buffer, int drawbuffer, long value);
/**
*
*
* Clears an individual buffer of the currently bound framebuffer object to the {@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER} binding.
*
* @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 glClearBufferuiv(@NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLint *") IntBuffer value) {
if (CHECKS) {
check(value, 4);
}
nglClearBufferuiv(buffer, drawbuffer, memAddress(value));
}
// --- [ glClearBufferfv ] ---
/** Unsafe version of: {@link #glClearBufferfv ClearBufferfv} */
public static native void nglClearBufferfv(int buffer, int drawbuffer, long value);
/**
*
*
* Clears an individual buffer of the currently bound framebuffer object to the {@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER} binding.
*
* @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 glClearBufferfv(@NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLfloat *") FloatBuffer value) {
if (CHECKS) {
check(value, 1);
}
nglClearBufferfv(buffer, drawbuffer, memAddress(value));
}
// --- [ glClearBufferfi ] ---
/**
*
*
* Clears an individual buffer of the currently bound framebuffer object to the {@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER} binding.
*
* @param buffer the buffer to clear. Must be:
{@link #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 glClearBufferfi(@NativeType("GLenum") int buffer, @NativeType("GLint") int drawbuffer, @NativeType("GLfloat") float depth, @NativeType("GLint") int stencil);
// --- [ glVertexAttribI1i ] ---
/**
*
*
* Specifies the value of a pure integer generic vertex attribute. The y and z components are implicitly set to 0 and w to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
*/
public static native void glVertexAttribI1i(@NativeType("GLuint") int index, @NativeType("GLint") int x);
// --- [ glVertexAttribI2i ] ---
/**
*
*
* Specifies the value of a pure integer generic vertex attribute. The z component is implicitly set to 0 and w to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
*/
public static native void glVertexAttribI2i(@NativeType("GLuint") int index, @NativeType("GLint") int x, @NativeType("GLint") int y);
// --- [ glVertexAttribI3i ] ---
/**
*
*
* Specifies the value of a pure integer generic vertex attribute. The w component is implicitly set to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
* @param z the vertex attribute z component
*/
public static native void glVertexAttribI3i(@NativeType("GLuint") int index, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLint") int z);
// --- [ glVertexAttribI4i ] ---
/**
*
*
* Specifies the value of a pure integer generic vertex attribute.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
* @param z the vertex attribute z component
* @param w the vertex attribute w component
*/
public static native void glVertexAttribI4i(@NativeType("GLuint") int index, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLint") int z, @NativeType("GLint") int w);
// --- [ glVertexAttribI1ui ] ---
/**
*
*
* Specifies the value of an unsigned pure integer generic vertex attribute. The y and z components are implicitly set to 0 and w to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
*/
public static native void glVertexAttribI1ui(@NativeType("GLuint") int index, @NativeType("GLuint") int x);
// --- [ glVertexAttribI2ui ] ---
/**
*
*
* Specifies the value of an unsigned pure integer generic vertex attribute. The z component is implicitly set to 0 and w to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
*/
public static native void glVertexAttribI2ui(@NativeType("GLuint") int index, @NativeType("GLuint") int x, @NativeType("GLuint") int y);
// --- [ glVertexAttribI3ui ] ---
/**
*
*
* Specifies the value of an unsigned pure integer generic vertex attribute. The w component is implicitly set to 1.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
* @param z the vertex attribute z component
*/
public static native void glVertexAttribI3ui(@NativeType("GLuint") int index, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLint") int z);
// --- [ glVertexAttribI4ui ] ---
/**
*
*
* Specifies the value of an unsigned pure integer generic vertex attribute.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param x the vertex attribute x component
* @param y the vertex attribute y component
* @param z the vertex attribute z component
* @param w the vertex attribute w component
*/
public static native void glVertexAttribI4ui(@NativeType("GLuint") int index, @NativeType("GLint") int x, @NativeType("GLint") int y, @NativeType("GLint") int z, @NativeType("GLint") int w);
// --- [ glVertexAttribI1iv ] ---
/** Unsafe version of: {@link #glVertexAttribI1iv VertexAttribI1iv} */
public static native void nglVertexAttribI1iv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI1i VertexAttribI1i}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI1iv(@NativeType("GLuint") int index, @NativeType("const GLint *") IntBuffer v) {
if (CHECKS) {
check(v, 1);
}
nglVertexAttribI1iv(index, memAddress(v));
}
// --- [ glVertexAttribI2iv ] ---
/** Unsafe version of: {@link #glVertexAttribI2iv VertexAttribI2iv} */
public static native void nglVertexAttribI2iv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI2i VertexAttribI2i}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI2iv(@NativeType("GLuint") int index, @NativeType("const GLint *") IntBuffer v) {
if (CHECKS) {
check(v, 2);
}
nglVertexAttribI2iv(index, memAddress(v));
}
// --- [ glVertexAttribI3iv ] ---
/** Unsafe version of: {@link #glVertexAttribI3iv VertexAttribI3iv} */
public static native void nglVertexAttribI3iv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI3i VertexAttribI3i}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI3iv(@NativeType("GLuint") int index, @NativeType("const GLint *") IntBuffer v) {
if (CHECKS) {
check(v, 3);
}
nglVertexAttribI3iv(index, memAddress(v));
}
// --- [ glVertexAttribI4iv ] ---
/** Unsafe version of: {@link #glVertexAttribI4iv VertexAttribI4iv} */
public static native void nglVertexAttribI4iv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI4i VertexAttribI4i}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4iv(@NativeType("GLuint") int index, @NativeType("const GLint *") IntBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4iv(index, memAddress(v));
}
// --- [ glVertexAttribI1uiv ] ---
/** Unsafe version of: {@link #glVertexAttribI1uiv VertexAttribI1uiv} */
public static native void nglVertexAttribI1uiv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI1ui VertexAttribI1ui}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI1uiv(@NativeType("GLuint") int index, @NativeType("const GLuint *") IntBuffer v) {
if (CHECKS) {
check(v, 1);
}
nglVertexAttribI1uiv(index, memAddress(v));
}
// --- [ glVertexAttribI2uiv ] ---
/** Unsafe version of: {@link #glVertexAttribI2uiv VertexAttribI2uiv} */
public static native void nglVertexAttribI2uiv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI2ui VertexAttribI2ui}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI2uiv(@NativeType("GLuint") int index, @NativeType("const GLuint *") IntBuffer v) {
if (CHECKS) {
check(v, 2);
}
nglVertexAttribI2uiv(index, memAddress(v));
}
// --- [ glVertexAttribI3uiv ] ---
/** Unsafe version of: {@link #glVertexAttribI3uiv VertexAttribI3uiv} */
public static native void nglVertexAttribI3uiv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI3ui VertexAttribI3ui}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI3uiv(@NativeType("GLuint") int index, @NativeType("const GLuint *") IntBuffer v) {
if (CHECKS) {
check(v, 3);
}
nglVertexAttribI3uiv(index, memAddress(v));
}
// --- [ glVertexAttribI4uiv ] ---
/** Unsafe version of: {@link #glVertexAttribI4uiv VertexAttribI4uiv} */
public static native void nglVertexAttribI4uiv(int index, long v);
/**
*
*
* Pointer version of {@link #glVertexAttribI4ui VertexAttribI4ui}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4uiv(@NativeType("GLuint") int index, @NativeType("const GLuint *") IntBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4uiv(index, memAddress(v));
}
// --- [ glVertexAttribI4bv ] ---
/** Unsafe version of: {@link #glVertexAttribI4bv VertexAttribI4bv} */
public static native void nglVertexAttribI4bv(int index, long v);
/**
*
*
* Byte version of {@link #glVertexAttribI4iv VertexAttribI4iv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4bv(@NativeType("GLuint") int index, @NativeType("const GLbyte *") ByteBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4bv(index, memAddress(v));
}
// --- [ glVertexAttribI4sv ] ---
/** Unsafe version of: {@link #glVertexAttribI4sv VertexAttribI4sv} */
public static native void nglVertexAttribI4sv(int index, long v);
/**
*
*
* Short version of {@link #glVertexAttribI4iv VertexAttribI4iv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4sv(@NativeType("GLuint") int index, @NativeType("const GLshort *") ShortBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4sv(index, memAddress(v));
}
// --- [ glVertexAttribI4ubv ] ---
/** Unsafe version of: {@link #glVertexAttribI4ubv VertexAttribI4ubv} */
public static native void nglVertexAttribI4ubv(int index, long v);
/**
*
*
* Byte version of {@link #glVertexAttribI4uiv VertexAttribI4uiv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4ubv(@NativeType("GLuint") int index, @NativeType("const GLbyte *") ByteBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4ubv(index, memAddress(v));
}
// --- [ glVertexAttribI4usv ] ---
/** Unsafe version of: {@link #glVertexAttribI4usv VertexAttribI4usv} */
public static native void nglVertexAttribI4usv(int index, long v);
/**
*
*
* Short version of {@link #glVertexAttribI4uiv VertexAttribI4uiv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param v the pure integer vertex attribute buffer
*/
public static void glVertexAttribI4usv(@NativeType("GLuint") int index, @NativeType("const GLshort *") ShortBuffer v) {
if (CHECKS) {
check(v, 4);
}
nglVertexAttribI4usv(index, memAddress(v));
}
// --- [ glVertexAttribIPointer ] ---
/** Unsafe version of: {@link #glVertexAttribIPointer VertexAttribIPointer} */
public static native void nglVertexAttribIPointer(int index, int size, int type, int stride, long pointer);
/**
*
*
* Specifies the location and organization of a pure integer vertex attribute array.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param size the number of values per vertex that are stored in the array. The initial value is 4. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the data type of each component in the array. One of:
{@link GL11#GL_BYTE BYTE}
{@link GL11#GL_UNSIGNED_BYTE UNSIGNED_BYTE}
{@link GL11#GL_SHORT SHORT}
{@link GL11#GL_UNSIGNED_SHORT UNSIGNED_SHORT}
{@link GL11#GL_INT INT}
{@link GL11#GL_UNSIGNED_INT UNSIGNED_INT}
* @param stride the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
* the array. The initial value is 0.
* @param pointer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
* currently bound to the {@link GL15#GL_ARRAY_BUFFER ARRAY_BUFFER} target. The initial value is 0.
*/
public static void glVertexAttribIPointer(@NativeType("GLuint") int index, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLsizei") int stride, @NativeType("const void *") ByteBuffer pointer) {
nglVertexAttribIPointer(index, size, type, stride, memAddress(pointer));
}
/**
*
*
* Specifies the location and organization of a pure integer vertex attribute array.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param size the number of values per vertex that are stored in the array. The initial value is 4. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the data type of each component in the array. One of:
{@link GL11#GL_BYTE BYTE}
{@link GL11#GL_UNSIGNED_BYTE UNSIGNED_BYTE}
{@link GL11#GL_SHORT SHORT}
{@link GL11#GL_UNSIGNED_SHORT UNSIGNED_SHORT}
{@link GL11#GL_INT INT}
{@link GL11#GL_UNSIGNED_INT UNSIGNED_INT}
* @param stride the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
* the array. The initial value is 0.
* @param pointer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
* currently bound to the {@link GL15#GL_ARRAY_BUFFER ARRAY_BUFFER} target. The initial value is 0.
*/
public static void glVertexAttribIPointer(@NativeType("GLuint") int index, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLsizei") int stride, @NativeType("const void *") long pointer) {
nglVertexAttribIPointer(index, size, type, stride, pointer);
}
/**
*
*
* Specifies the location and organization of a pure integer vertex attribute array.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param size the number of values per vertex that are stored in the array. The initial value is 4. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the data type of each component in the array. One of:
{@link GL11#GL_BYTE BYTE}
{@link GL11#GL_UNSIGNED_BYTE UNSIGNED_BYTE}
{@link GL11#GL_SHORT SHORT}
{@link GL11#GL_UNSIGNED_SHORT UNSIGNED_SHORT}
{@link GL11#GL_INT INT}
{@link GL11#GL_UNSIGNED_INT UNSIGNED_INT}
* @param stride the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
* the array. The initial value is 0.
* @param pointer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
* currently bound to the {@link GL15#GL_ARRAY_BUFFER ARRAY_BUFFER} target. The initial value is 0.
*/
public static void glVertexAttribIPointer(@NativeType("GLuint") int index, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLsizei") int stride, @NativeType("const void *") ShortBuffer pointer) {
nglVertexAttribIPointer(index, size, type, stride, memAddress(pointer));
}
/**
*
*
* Specifies the location and organization of a pure integer vertex attribute array.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param size the number of values per vertex that are stored in the array. The initial value is 4. One of:
1
2
3
4
{@link GL12#GL_BGRA BGRA}
* @param type the data type of each component in the array. One of:
{@link GL11#GL_BYTE BYTE}
{@link GL11#GL_UNSIGNED_BYTE UNSIGNED_BYTE}
{@link GL11#GL_SHORT SHORT}
{@link GL11#GL_UNSIGNED_SHORT UNSIGNED_SHORT}
{@link GL11#GL_INT INT}
{@link GL11#GL_UNSIGNED_INT UNSIGNED_INT}
* @param stride the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
* the array. The initial value is 0.
* @param pointer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
* currently bound to the {@link GL15#GL_ARRAY_BUFFER ARRAY_BUFFER} target. The initial value is 0.
*/
public static void glVertexAttribIPointer(@NativeType("GLuint") int index, @NativeType("GLint") int size, @NativeType("GLenum") int type, @NativeType("GLsizei") int stride, @NativeType("const void *") IntBuffer pointer) {
nglVertexAttribIPointer(index, size, type, stride, memAddress(pointer));
}
// --- [ glGetVertexAttribIiv ] ---
/** Unsafe version of: {@link #glGetVertexAttribIiv GetVertexAttribIiv} */
public static native void nglGetVertexAttribIiv(int index, int pname, long params);
/**
*
*
* Returns the value of a pure integer generic vertex attribute parameter.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param pname the symbolic name of the vertex attribute parameter to be queried. Must be:
*
* Returns the value of a pure integer generic vertex attribute parameter.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param pname the symbolic name of the vertex attribute parameter to be queried. Must be:
*
* Unsigned version of {@link #glGetVertexAttribIiv GetVertexAttribIiv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param pname the symbolic name of the vertex attribute parameter to be queried. Must be:
*
* Unsigned version of {@link #glGetVertexAttribIiv GetVertexAttribIiv}.
*
* @param index the index of the pure integer generic vertex attribute to be modified
* @param pname the symbolic name of the vertex attribute parameter to be queried. Must be:
*
* Specifies the value of a uint uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param v0 the uniform value
*/
public static native void glUniform1ui(@NativeType("GLint") int location, @NativeType("GLuint") int v0);
// --- [ glUniform2ui ] ---
/**
*
*
* Specifies the value of a uvec2 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param v0 the uniform x value
* @param v1 the uniform y value
*/
public static native void glUniform2ui(@NativeType("GLint") int location, @NativeType("GLuint") int v0, @NativeType("GLuint") int v1);
// --- [ glUniform3ui ] ---
/**
*
*
* Specifies the value of a uvec3 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param v0 the uniform x value
* @param v1 the uniform y value
* @param v2 the uniform z value
*/
public static native void glUniform3ui(@NativeType("GLint") int location, @NativeType("GLuint") int v0, @NativeType("GLuint") int v1, @NativeType("GLuint") int v2);
// --- [ glUniform4ui ] ---
/**
*
*
* Specifies the value of a uvec4 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param v0 the uniform x value
* @param v1 the uniform y value
* @param v2 the uniform z value
* @param v3 the uniform w value
*/
public static native void glUniform4ui(@NativeType("GLint") int location, @NativeType("GLuint") int v0, @NativeType("GLuint") int v1, @NativeType("GLuint") int v2, @NativeType("GLuint") int v3);
// --- [ glUniform1uiv ] ---
/**
* Unsafe version of: {@link #glUniform1uiv Uniform1uiv}
*
* @param count the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array.
*/
public static native void nglUniform1uiv(int location, int count, long value);
/**
*
*
* Specifies the value of a single uint uniform variable or a uint uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform variable
*/
public static void glUniform1uiv(@NativeType("GLint") int location, @NativeType("const GLuint *") IntBuffer value) {
nglUniform1uiv(location, value.remaining(), memAddress(value));
}
// --- [ glUniform2uiv ] ---
/**
* Unsafe version of: {@link #glUniform2uiv Uniform2uiv}
*
* @param count the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array.
*/
public static native void nglUniform2uiv(int location, int count, long value);
/**
*
*
* Specifies the value of a single uvec2 uniform variable or a uvec2 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform variable
*/
public static void glUniform2uiv(@NativeType("GLint") int location, @NativeType("const GLuint *") IntBuffer value) {
nglUniform2uiv(location, value.remaining() >> 1, memAddress(value));
}
// --- [ glUniform3uiv ] ---
/**
* Unsafe version of: {@link #glUniform3uiv Uniform3uiv}
*
* @param count the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array.
*/
public static native void nglUniform3uiv(int location, int count, long value);
/**
*
*
* Specifies the value of a single uvec3 uniform variable or a uvec3 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform variable
*/
public static void glUniform3uiv(@NativeType("GLint") int location, @NativeType("const GLuint *") IntBuffer value) {
nglUniform3uiv(location, value.remaining() / 3, memAddress(value));
}
// --- [ glUniform4uiv ] ---
/**
* Unsafe version of: {@link #glUniform4uiv Uniform4uiv}
*
* @param count the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array.
*/
public static native void nglUniform4uiv(int location, int count, long value);
/**
*
*
* Specifies the value of a single uvec4 uniform variable or a uvec4 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform variable
*/
public static void glUniform4uiv(@NativeType("GLint") int location, @NativeType("const GLuint *") IntBuffer value) {
nglUniform4uiv(location, value.remaining() >> 2, memAddress(value));
}
// --- [ glGetUniformuiv ] ---
/** Unsafe version of: {@link #glGetUniformuiv GetUniformuiv} */
public static native void nglGetUniformuiv(int program, int location, long params);
/**
*
*
* Returns the uint value(s) of a uniform variable.
*
* @param program the program object to be queried
* @param location the location of the uniform variable to be queried
* @param params the value of the specified uniform variable
*/
public static void glGetUniformuiv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetUniformuiv(program, location, memAddress(params));
}
/**
*
*
* Returns the uint value(s) of a uniform variable.
*
* @param program the program object to be queried
* @param location the location of the uniform variable to be queried
*/
@NativeType("void")
public static int glGetUniformui(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer params = stack.callocInt(1);
nglGetUniformuiv(program, location, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glBindFragDataLocation ] ---
/** Unsafe version of: {@link #glBindFragDataLocation BindFragDataLocation} */
public static native void nglBindFragDataLocation(int program, int colorNumber, long name);
/**
*
*
* Binds a user-defined varying out variable to a fragment shader color number.
*
* @param program the name of the program containing varying out variable whose binding to modify
* @param colorNumber the color number to bind the user-defined varying out variable to
* @param name the name of the user-defined varying out variable whose binding to modify
*/
public static void glBindFragDataLocation(@NativeType("GLuint") int program, @NativeType("GLuint") int colorNumber, @NativeType("const GLchar *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
nglBindFragDataLocation(program, colorNumber, memAddress(name));
}
/**
*
*
* Binds a user-defined varying out variable to a fragment shader color number.
*
* @param program the name of the program containing varying out variable whose binding to modify
* @param colorNumber the color number to bind the user-defined varying out variable to
* @param name the name of the user-defined varying out variable whose binding to modify
*/
public static void glBindFragDataLocation(@NativeType("GLuint") int program, @NativeType("GLuint") int colorNumber, @NativeType("const GLchar *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer nameEncoded = stack.ASCII(name);
nglBindFragDataLocation(program, colorNumber, memAddress(nameEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetFragDataLocation ] ---
/** Unsafe version of: {@link #glGetFragDataLocation GetFragDataLocation} */
public static native int nglGetFragDataLocation(int program, long name);
/**
*
*
* Queries the bindings of color numbers to user-defined varying out variables.
*
* @param program the name of the program containing varying out variable whose binding to query
* @param name the name of the user-defined varying out variable whose binding to query
*/
@NativeType("GLint")
public static int glGetFragDataLocation(@NativeType("GLuint") int program, @NativeType("const GLchar *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
return nglGetFragDataLocation(program, memAddress(name));
}
/**
*
*
* Queries the bindings of color numbers to user-defined varying out variables.
*
* @param program the name of the program containing varying out variable whose binding to query
* @param name the name of the user-defined varying out variable whose binding to query
*/
@NativeType("GLint")
public static int glGetFragDataLocation(@NativeType("GLuint") int program, @NativeType("const GLchar *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer nameEncoded = stack.ASCII(name);
return nglGetFragDataLocation(program, memAddress(nameEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glBeginConditionalRender ] ---
/**
*
*
* Starts conditional rendering.
*
* @param id the name of an occlusion query object whose results are used to determine if the rendering commands are discarded
* @param mode how {@code glBeginConditionalRender} interprets the results of the occlusion query. One of:
* @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:
* @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:
* @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 glFlushMappedBufferRange(@NativeType("GLenum") int target, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long length);
// --- [ glClampColor ] ---
/**
*
*
* Determines if a name corresponds to a renderbuffer object.
*
* @param renderbuffer a value that may be the name of a renderbuffer object
*/
@NativeType("GLboolean")
public static native boolean glIsRenderbuffer(@NativeType("GLuint") int renderbuffer);
// --- [ glBindRenderbuffer ] ---
/**
*
*
* Binds a renderbuffer to a renderbuffer target.
*
* @param target the renderbuffer target of the binding operation. Must be:
{@link #GL_RENDERBUFFER RENDERBUFFER}
* @param renderbuffer the name of the renderbuffer object to bind
*/
public static native void glBindRenderbuffer(@NativeType("GLenum") int target, @NativeType("GLuint") int renderbuffer);
// --- [ glDeleteRenderbuffers ] ---
/**
* Unsafe version of: {@link #glDeleteRenderbuffers DeleteRenderbuffers}
*
* @param n the number of renderbuffer objects to be deleted
*/
public static native void nglDeleteRenderbuffers(int n, long renderbuffers);
/**
*
*
* Establishes data storage, format and dimensions of a renderbuffer object's image.
*
* @param target the target of the allocation. Must be:
{@link #GL_RENDERBUFFER 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 glRenderbufferStorage(@NativeType("GLenum") int target, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glRenderbufferStorageMultisample ] ---
/**
*
*
* Establishes data storage, format, dimensions and sample count of a renderbuffer object's image.
*
*
{@link #glRenderbufferStorage RenderbufferStorage} is equivalent to calling this method with the samples set to zero.
*
* @param target the target of the allocation. Must be:
{@link #GL_RENDERBUFFER 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 glRenderbufferStorageMultisample(@NativeType("GLenum") int target, @NativeType("GLsizei") int samples, @NativeType("GLenum") int internalformat, @NativeType("GLsizei") int width, @NativeType("GLsizei") int height);
// --- [ glGetRenderbufferParameteriv ] ---
/** Unsafe version of: {@link #glGetRenderbufferParameteriv GetRenderbufferParameteriv} */
public static native void nglGetRenderbufferParameteriv(int target, int pname, long params);
/**
*
* @param params an array to receive the value of the queried parameter
*/
public static void glGetRenderbufferParameteriv(@NativeType("GLenum") int target, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetRenderbufferParameteriv(target, pname, memAddress(params));
}
/**
*
*
* Determines if a name corresponds to a framebuffer object.
*
* @param framebuffer a value that may be the name of a framebuffer object
*/
@NativeType("GLboolean")
public static native boolean glIsFramebuffer(@NativeType("GLuint") int framebuffer);
// --- [ glBindFramebuffer ] ---
/**
*
*
* Binds a framebuffer to a framebuffer target.
*
* @param target the framebuffer target of the binding operation. One of:
{@link #GL_FRAMEBUFFER FRAMEBUFFER}
{@link #GL_READ_FRAMEBUFFER READ_FRAMEBUFFER}
{@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER}
* @param framebuffer the name of the framebuffer object to bind
*/
public static native void glBindFramebuffer(@NativeType("GLenum") int target, @NativeType("GLuint") int framebuffer);
// --- [ glDeleteFramebuffers ] ---
/**
* Unsafe version of: {@link #glDeleteFramebuffers DeleteFramebuffers}
*
* @param n the number of framebuffer objects to be deleted
*/
public static native void nglDeleteFramebuffers(int n, long framebuffers);
/**
*
*
* Attaches a level of a 1D texture object as a logical buffer to the currently bound framebuffer object.
*
* @param target the framebuffer target. One of:
{@link #GL_FRAMEBUFFER FRAMEBUFFER}
{@link #GL_READ_FRAMEBUFFER READ_FRAMEBUFFER}
{@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER}
* @param attachment the attachment point of the framebuffer. One of:
* @param textarget the type of texture
* @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 glFramebufferTexture1D(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLenum") int textarget, @NativeType("GLuint") int texture, @NativeType("GLint") int level);
// --- [ glFramebufferTexture2D ] ---
/**
*
*
* Attaches a level of a 2D texture object as a logical buffer to the currently bound framebuffer object.
*
* @param target the framebuffer target. One of:
{@link #GL_FRAMEBUFFER FRAMEBUFFER}
{@link #GL_READ_FRAMEBUFFER READ_FRAMEBUFFER}
{@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER}
* @param attachment the attachment point of the framebuffer. One of:
* @param textarget the type of texture
* @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 glFramebufferTexture2D(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLenum") int textarget, @NativeType("GLuint") int texture, @NativeType("GLint") int level);
// --- [ glFramebufferTexture3D ] ---
/**
*
*
* Attaches a layer of a 3D texture object as a logical buffer to the currently bound framebuffer object.
*
* @param target the framebuffer target. One of:
{@link #GL_FRAMEBUFFER FRAMEBUFFER}
{@link #GL_READ_FRAMEBUFFER READ_FRAMEBUFFER}
{@link #GL_DRAW_FRAMEBUFFER DRAW_FRAMEBUFFER}
* @param attachment the attachment point of the framebuffer. One of:
* @param textarget the type of texture
* @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 a 2-dimensional image within the 3-dimensional texture.
*/
public static native void glFramebufferTexture3D(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLenum") int textarget, @NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int layer);
// --- [ glFramebufferTextureLayer ] ---
/**
*
* @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 glFramebufferTextureLayer(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLuint") int texture, @NativeType("GLint") int level, @NativeType("GLint") int layer);
// --- [ glFramebufferRenderbuffer ] ---
/**
*
* @param renderbuffertarget the renderbuffer target. Must be:
{@link #GL_RENDERBUFFER RENDERBUFFER}
* @param renderbuffer the name of an existing renderbuffer object of type {@code renderbuffertarget} to attach
*/
public static native void glFramebufferRenderbuffer(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLenum") int renderbuffertarget, @NativeType("GLuint") int renderbuffer);
// --- [ glGetFramebufferAttachmentParameteriv ] ---
/** Unsafe version of: {@link #glGetFramebufferAttachmentParameteriv GetFramebufferAttachmentParameteriv} */
public static native void nglGetFramebufferAttachmentParameteriv(int target, int attachment, int pname, long params);
/**
*
* @param params an array to receive the value of the queried parameter
*/
public static void glGetFramebufferAttachmentParameteriv(@NativeType("GLenum") int target, @NativeType("GLenum") int attachment, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetFramebufferAttachmentParameteriv(target, attachment, pname, memAddress(params));
}
/**
*
*
* Copies a block of pixels from the read framebuffer to the draw framebuffer.
*
* @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 glBlitFramebuffer(@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);
// --- [ glGenerateMipmap ] ---
/**
*
*
* Sets the integer value of a texture parameter.
*
* @param target the texture target
* @param pname the symbolic name of a single-valued texture parameter
* @param params the value of {@code pname}
*/
public static void glTexParameterIiv(@NativeType("GLenum") int target, @NativeType("GLenum") int pname, @NativeType("const GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglTexParameterIiv(target, pname, memAddress(params));
}
/**
*
*
* Sets the unsigned integer value of a texture parameter.
*
* @param target the texture target
* @param pname the symbolic name of a single-valued texture parameter
* @param params the value of {@code pname}
*/
public static void glTexParameterIuiv(@NativeType("GLenum") int target, @NativeType("GLenum") int pname, @NativeType("const GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglTexParameterIuiv(target, pname, memAddress(params));
}
/**
*
*
* Returns the integer value of a texture parameter.
*
* @param target the texture target
* @param pname the symbolic name of a texture parameter
* @param params returns the texture parameter value
*/
public static void glGetTexParameterIiv(@NativeType("GLenum") int target, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTexParameterIiv(target, pname, memAddress(params));
}
/**
*
*
* Returns the integer value of a texture parameter.
*
* @param target the texture target
* @param pname the symbolic name of a texture parameter
*/
@NativeType("void")
public static int glGetTexParameterIi(@NativeType("GLenum") int target, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer params = stack.callocInt(1);
nglGetTexParameterIiv(target, pname, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetTexParameterIuiv ] ---
/** Unsafe version of: {@link #glGetTexParameterIuiv GetTexParameterIuiv} */
public static native void nglGetTexParameterIuiv(int target, int pname, long params);
/**
*
*
* Returns the unsigned integer value of a texture parameter.
*
* @param target the texture target
* @param pname the symbolic name of a texture parameter
* @param params returns the texture parameter value
*/
public static void glGetTexParameterIuiv(@NativeType("GLenum") int target, @NativeType("GLenum") int pname, @NativeType("GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetTexParameterIuiv(target, pname, memAddress(params));
}
/**
*
*
* Enables and disables writing of frame buffer color components.
*
* @param buf the index of the draw buffer whose color mask to set
* @param r whether R values are written or not
* @param g whether G values are written or not
* @param b whether B values are written or not
* @param a whether A values are written or not
*/
public static native void glColorMaski(@NativeType("GLuint") int buf, @NativeType("GLboolean") boolean r, @NativeType("GLboolean") boolean g, @NativeType("GLboolean") boolean b, @NativeType("GLboolean") boolean a);
// --- [ glGetBooleani_v ] ---
/** Unsafe version of: {@link #glGetBooleani_v GetBooleani_v} */
public static native void nglGetBooleani_v(int target, int index, long data);
/**
*
*
* Queries the boolean value of an indexed state variable.
*
* @param target the indexed state to query
* @param index the index of the element being queried
* @param data a scalar or buffer in which to place the returned data
*/
public static void glGetBooleani_v(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLboolean *") ByteBuffer data) {
if (CHECKS) {
check(data, 1);
}
nglGetBooleani_v(target, index, memAddress(data));
}
/**
*
*
* Queries the boolean value of an indexed state variable.
*
* @param target the indexed state to query
* @param index the index of the element being queried
*/
@NativeType("void")
public static boolean glGetBooleani(@NativeType("GLenum") int target, @NativeType("GLuint") int index) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer data = stack.calloc(1);
nglGetBooleani_v(target, index, memAddress(data));
return data.get(0) != 0;
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetIntegeri_v ] ---
/** Unsafe version of: {@link #glGetIntegeri_v GetIntegeri_v} */
public static native void nglGetIntegeri_v(int target, int index, long data);
/**
*
*
* Queries the integer value of an indexed state variable.
*
* @param target the indexed state to query
* @param index the index of the element being queried
* @param data a scalar or buffer in which to place the returned data
*/
public static void glGetIntegeri_v(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLint *") IntBuffer data) {
if (CHECKS) {
check(data, 1);
}
nglGetIntegeri_v(target, index, memAddress(data));
}
/**
*
*
* Queries the integer value of an indexed state variable.
*
* @param target the indexed state to query
* @param index the index of the element being queried
*/
@NativeType("void")
public static int glGetIntegeri(@NativeType("GLenum") int target, @NativeType("GLuint") int index) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer data = stack.callocInt(1);
nglGetIntegeri_v(target, index, memAddress(data));
return data.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glEnablei ] ---
/**
*
*
* Enables an indexed capability.
*
* @param cap the indexed capability to enable
* @param index the index to enable
*/
public static native void glEnablei(@NativeType("GLenum") int cap, @NativeType("GLuint") int index);
// --- [ glDisablei ] ---
/**
*
*
* Disables an indexed capability.
*
* @param target the indexed capability to disable
* @param index the index to disable
*/
public static native void glDisablei(@NativeType("GLenum") int target, @NativeType("GLuint") int index);
// --- [ glIsEnabledi ] ---
/**
*
*
* Tests whether an indexed capability is enabled.
*
* @param target the indexed capability to query
* @param index the index to query
*/
@NativeType("GLboolean")
public static native boolean glIsEnabledi(@NativeType("GLenum") int target, @NativeType("GLuint") int index);
// --- [ glBindBufferRange ] ---
/**
*
* @param index the index of the binding point within the array specified by {@code target}
* @param buffer a buffer object to bind to the specified binding point
* @param offset the starting offset in basic machine units into the buffer object {@code buffer}
* @param size the amount of data in machine units that can be read from the buffer object while used as an indexed target
*/
public static native void glBindBufferRange(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLuint") int buffer, @NativeType("GLintptr") long offset, @NativeType("GLsizeiptr") long size);
// --- [ glBindBufferBase ] ---
/**
*
* @param index the index of the binding point within the array specified by {@code target}
* @param buffer a buffer object to bind to the specified binding point
*/
public static native void glBindBufferBase(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLuint") int buffer);
// --- [ glBeginTransformFeedback ] ---
/**
*
*
* Starts transform feedback operation.
*
* @param primitiveMode the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback. One of:
{@link GL11#GL_POINTS POINTS}
{@link GL11#GL_LINES LINES}
{@link GL11#GL_TRIANGLES TRIANGLES}
*/
public static native void glBeginTransformFeedback(@NativeType("GLenum") int primitiveMode);
// --- [ glEndTransformFeedback ] ---
/**
*
*
* Ends transform feedback operation.
*/
public static native void glEndTransformFeedback();
// --- [ glTransformFeedbackVaryings ] ---
/**
* Unsafe version of: {@link #glTransformFeedbackVaryings TransformFeedbackVaryings}
*
* @param count the number of varying variables used for transform feedback
*/
public static native void nglTransformFeedbackVaryings(int program, int count, long varyings, int bufferMode);
/**
*
*
* Specifies values to record in transform feedback buffers.
*
* @param program the target program object
* @param varyings an array of {@code count} zero-terminated strings specifying the names of the varying variables to use for transform feedback
* @param bufferMode the mode used to capture the varying variables when transform feedback is active. One of:
*
* Specifies values to record in transform feedback buffers.
*
* @param program the target program object
* @param varyings an array of {@code count} zero-terminated strings specifying the names of the varying variables to use for transform feedback
* @param bufferMode the mode used to capture the varying variables when transform feedback is active. One of:
*
* Specifies values to record in transform feedback buffers.
*
* @param program the target program object
* @param bufferMode the mode used to capture the varying variables when transform feedback is active. One of:
*/
public static void glTransformFeedbackVaryings(@NativeType("GLuint") int program, @NativeType("const GLchar **") CharSequence varying, @NativeType("GLenum") int bufferMode) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
long varyingsAddress = org.lwjgl.system.APIUtil.apiArray(stack, MemoryUtil::memASCII, varying);
nglTransformFeedbackVaryings(program, 1, varyingsAddress, bufferMode);
org.lwjgl.system.APIUtil.apiArrayFree(varyingsAddress, 1);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetTransformFeedbackVarying ] ---
/**
* Unsafe version of: {@link #glGetTransformFeedbackVarying GetTransformFeedbackVarying}
*
* @param bufSize the maximum number of characters, including the null terminator, that may be written into {@code name}
*/
public static native void nglGetTransformFeedbackVarying(int program, int index, int bufSize, long length, long size, long type, long name);
/**
*
*
* Retrieves information about varying variables selected for transform feedback.
*
* @param program the target program object
* @param index the index of the varying variable whose information to retrieve
* @param length a variable which will receive the number of characters written into {@code name}, excluding the null-terminator. If {@code length} is NULL no length is returned.
* @param size a variable that will receive the size of the varying
* @param type a variable that will receive the type of the varying
* @param name a buffer into which will be written the name of the varying
*/
public static void glGetTransformFeedbackVarying(@NativeType("GLuint") int program, @NativeType("GLuint") int index, @NativeType("GLsizei *") IntBuffer length, @NativeType("GLsizei *") IntBuffer size, @NativeType("GLenum *") IntBuffer type, @NativeType("GLchar *") ByteBuffer name) {
if (CHECKS) {
checkSafe(length, 1);
check(size, 1);
check(type, 1);
}
nglGetTransformFeedbackVarying(program, index, name.remaining(), memAddressSafe(length), memAddress(size), memAddress(type), memAddress(name));
}
/**
*
*
* Retrieves information about varying variables selected for transform feedback.
*
* @param program the target program object
* @param index the index of the varying variable whose information to retrieve
* @param bufSize the maximum number of characters, including the null terminator, that may be written into {@code name}
* @param size a variable that will receive the size of the varying
* @param type a variable that will receive the type of the varying
*/
@NativeType("void")
public static String glGetTransformFeedbackVarying(@NativeType("GLuint") int program, @NativeType("GLuint") int index, @NativeType("GLsizei") int bufSize, @NativeType("GLsizei *") IntBuffer size, @NativeType("GLenum *") IntBuffer type) {
if (CHECKS) {
check(size, 1);
check(type, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer length = stack.ints(0);
ByteBuffer name = stack.malloc(bufSize);
nglGetTransformFeedbackVarying(program, index, bufSize, memAddress(length), memAddress(size), memAddress(type), memAddress(name));
return memASCII(name, length.get(0));
} finally {
stack.setPointer(stackPointer);
}
}
/**
*
*
* Retrieves information about varying variables selected for transform feedback.
*
* @param program the target program object
* @param index the index of the varying variable whose information to retrieve
* @param size a variable that will receive the size of the varying
* @param type a variable that will receive the type of the varying
*/
@NativeType("void")
public static String glGetTransformFeedbackVarying(@NativeType("GLuint") int program, @NativeType("GLuint") int index, @NativeType("GLsizei *") IntBuffer size, @NativeType("GLenum *") IntBuffer type) {
return glGetTransformFeedbackVarying(program, index, GL20.glGetProgrami(program, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH), size, type);
}
// --- [ glBindVertexArray ] ---
/**
*
*
* Binds a vertex array object
*
* @param array the name of the vertex array to bind
*/
public static native void glBindVertexArray(@NativeType("GLuint") int array);
// --- [ glDeleteVertexArrays ] ---
/**
* Unsafe version of: {@link #glDeleteVertexArrays DeleteVertexArrays}
*
* @param n the number of vertex array objects to be deleted
*/
public static native void nglDeleteVertexArrays(int n, long arrays);
/**
*
*
* Deletes vertex array objects.
*
* @param arrays an array containing the n names of the objects to be deleted
*/
public static void glDeleteVertexArrays(@NativeType("const GLuint *") IntBuffer arrays) {
nglDeleteVertexArrays(arrays.remaining(), memAddress(arrays));
}
/**
*
*
* Determines if a name corresponds to a vertex array object.
*
* @param array a value that may be the name of a vertex array object
*/
@NativeType("GLboolean")
public static native boolean glIsVertexArray(@NativeType("GLuint") int array);
/**
*