Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
*/
public class GL40 {
/**
* Accepted by the {@code target} parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv,
* MapBufferRange, FlushMappedBufferRange, GetBufferParameteriv, and CopyBufferSubData.
*/
public static final int GL_DRAW_INDIRECT_BUFFER = 0x8F3F;
/** Accepted by the {@code value} parameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev. */
public static final int GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
/** Accepted by the {@code pname} parameter of GetProgramiv. */
public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, GetDoublev, and GetInteger64v. */
public static final int
GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A,
GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B,
GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C,
GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D;
/** Returned in the {@code type} parameter of GetActiveUniform, and GetTransformFeedbackVarying. */
public static final int
GL_DOUBLE_VEC2 = 0x8FFC,
GL_DOUBLE_VEC3 = 0x8FFD,
GL_DOUBLE_VEC4 = 0x8FFE,
GL_DOUBLE_MAT2 = 0x8F46,
GL_DOUBLE_MAT3 = 0x8F47,
GL_DOUBLE_MAT4 = 0x8F48,
GL_DOUBLE_MAT2x3 = 0x8F49,
GL_DOUBLE_MAT2x4 = 0x8F4A,
GL_DOUBLE_MAT3x2 = 0x8F4B,
GL_DOUBLE_MAT3x4 = 0x8F4C,
GL_DOUBLE_MAT4x2 = 0x8F4D,
GL_DOUBLE_MAT4x3 = 0x8F4E;
/**
* 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_SAMPLE_SHADING = 0x8C36;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. */
public static final int GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37;
/** Accepted by the {@code pname} parameter of GetProgramStageiv. */
public static final int
GL_ACTIVE_SUBROUTINES = 0x8DE5,
GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6,
GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47,
GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48,
GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, GetDoublev, and GetInteger64v. */
public static final int
GL_MAX_SUBROUTINES = 0x8DE7,
GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8;
/** Accepted by the {@code pname} parameter of GetActiveSubroutineUniformiv. */
public static final int
GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A,
GL_COMPATIBLE_SUBROUTINES = 0x8E4B;
/** Accepted by the {@code mode} parameter of Begin and all vertex array functions that implicitly call Begin. */
public static final int GL_PATCHES = 0xE;
/** Accepted by the {@code pname} parameter of PatchParameteri, GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, and GetInteger64v. */
public static final int GL_PATCH_VERTICES = 0x8E72;
/** Accepted by the {@code pname} parameter of PatchParameterfv, GetBooleanv, GetDoublev, GetFloatv, and GetIntegerv, and GetInteger64v. */
public static final int
GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73,
GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74;
/** Accepted by the {@code pname} parameter of GetProgramiv. */
public static final int
GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75,
GL_TESS_GEN_MODE = 0x8E76,
GL_TESS_GEN_SPACING = 0x8E77,
GL_TESS_GEN_VERTEX_ORDER = 0x8E78,
GL_TESS_GEN_POINT_MODE = 0x8E79;
/** Returned by GetProgramiv when {@code pname} is TESS_GEN_MODE. */
public static final int GL_ISOLINES = 0x8E7A;
/** Returned by GetProgramiv when {@code pname} is TESS_GEN_SPACING. */
public static final int
GL_FRACTIONAL_ODD = 0x8E7B,
GL_FRACTIONAL_EVEN = 0x8E7C;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, and GetInteger64v. */
public static final int
GL_MAX_PATCH_VERTICES = 0x8E7D,
GL_MAX_TESS_GEN_LEVEL = 0x8E7E,
GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F,
GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80,
GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81,
GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82,
GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83,
GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84,
GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85,
GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86,
GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89,
GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A,
GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C,
GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D,
GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E,
GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F;
/** Accepted by the {@code pname} parameter of GetActiveUniformBlockiv. */
public static final int
GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0,
GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1;
/** Accepted by the {@code type} parameter of CreateShader and returned by the {@code params} parameter of GetShaderiv. */
public static final int
GL_TESS_EVALUATION_SHADER = 0x8E87,
GL_TESS_CONTROL_SHADER = 0x8E88;
/** Accepted by the {@code target} parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, BindTexture, and GenerateMipmap. */
public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv. */
public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A;
/** Accepted by the {@code target} parameter of TexImage3D, TexSubImage3D, CompressedTeximage3D, CompressedTexSubImage3D and CopyTexSubImage3D. */
public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B;
/** Returned by the {@code type} parameter of GetActiveUniform. */
public static final int
GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C,
GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D,
GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E,
GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */
public static final int
GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E,
GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F;
/** Accepted by the {@code target} parameter of BindTransformFeedback. */
public static final int GL_TRANSFORM_FEEDBACK = 0x8E22;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. */
public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23,
GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24,
GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25;
/** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. */
public static final int
GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70,
GL_MAX_VERTEX_STREAMS = 0x8E71;
static { GL.initialize(); }
protected GL40() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLCapabilities caps) {
return checkFunctions(
caps.glBlendEquationi, caps.glBlendEquationSeparatei, caps.glBlendFunci, caps.glBlendFuncSeparatei, caps.glDrawArraysIndirect,
caps.glDrawElementsIndirect, caps.glUniform1d, caps.glUniform2d, caps.glUniform3d, caps.glUniform4d, caps.glUniform1dv, caps.glUniform2dv,
caps.glUniform3dv, caps.glUniform4dv, caps.glUniformMatrix2dv, caps.glUniformMatrix3dv, caps.glUniformMatrix4dv, caps.glUniformMatrix2x3dv,
caps.glUniformMatrix2x4dv, caps.glUniformMatrix3x2dv, caps.glUniformMatrix3x4dv, caps.glUniformMatrix4x2dv, caps.glUniformMatrix4x3dv,
caps.glGetUniformdv, caps.glMinSampleShading, caps.glGetSubroutineUniformLocation, caps.glGetSubroutineIndex, caps.glGetActiveSubroutineUniformiv,
caps.glGetActiveSubroutineUniformName, caps.glGetActiveSubroutineName, caps.glUniformSubroutinesuiv, caps.glGetUniformSubroutineuiv,
caps.glGetProgramStageiv, caps.glPatchParameteri, caps.glPatchParameterfv, caps.glBindTransformFeedback, caps.glDeleteTransformFeedbacks,
caps.glGenTransformFeedbacks, caps.glIsTransformFeedback, caps.glPauseTransformFeedback, caps.glResumeTransformFeedback,
caps.glDrawTransformFeedback, caps.glDrawTransformFeedbackStream, caps.glBeginQueryIndexed, caps.glEndQueryIndexed, caps.glGetQueryIndexediv
);
}
// --- [ glBlendEquationi ] ---
/**
*
*
* Specifies the equation used for both the RGB blend equation and the Alpha blend equation for the specified draw buffer.
*
* @param buf the index of the draw buffer for which to set the blend equation
* @param mode how source and destination colors are combined. One of:
*
* Sets the RGB blend equation and the alpha blend equation separately for the specified draw buffer.
*
* @param buf the index of the draw buffer for which to set the blend equations
* @param modeRGB the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. One of:
*
* Specifies pixel arithmetic for the specified draw buffer.
*
* @param buf the index of the draw buffer for which to set the blend function
* @param sfactor how the red, green, blue, and alpha source blending factors are computed
* @param dfactor how the red, green, blue, and alpha destination blending factors are computed
*/
public static native void glBlendFunci(@NativeType("GLuint") int buf, @NativeType("GLenum") int sfactor, @NativeType("GLenum") int dfactor);
// --- [ glBlendFuncSeparatei ] ---
/**
*
*
* Specifies pixel arithmetic for RGB and alpha components separately for the specified draw buffer.
*
* @param buf the index of the draw buffer for which to set the blend functions
* @param srcRGB how the red, green, and blue blending factors are computed
* @param dstRGB how the red, green, and blue destination blending factors are computed
* @param srcAlpha how the alpha source blending factor is computed
* @param dstAlpha how the alpha destination blending factor is computed
*/
public static native void glBlendFuncSeparatei(@NativeType("GLuint") int buf, @NativeType("GLenum") int srcRGB, @NativeType("GLenum") int dstRGB, @NativeType("GLenum") int srcAlpha, @NativeType("GLenum") int dstAlpha);
// --- [ glDrawArraysIndirect ] ---
/** Unsafe version of: {@link #glDrawArraysIndirect DrawArraysIndirect} */
public static native void nglDrawArraysIndirect(int mode, long indirect);
/**
*
*
* Renders primitives from array data, taking parameters from memory.
*
*
{@code glDrawArraysIndirect} behaves similarly to {@link GL42#glDrawArraysInstancedBaseInstance DrawArraysInstancedBaseInstance}, except that the parameters to
* glDrawArraysInstancedBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
*
* Renders primitives from array data, taking parameters from memory.
*
*
{@code glDrawArraysIndirect} behaves similarly to {@link GL42#glDrawArraysInstancedBaseInstance DrawArraysInstancedBaseInstance}, except that the parameters to
* glDrawArraysInstancedBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
*
* Renders primitives from array data, taking parameters from memory.
*
*
{@code glDrawArraysIndirect} behaves similarly to {@link GL42#glDrawArraysInstancedBaseInstance DrawArraysInstancedBaseInstance}, except that the parameters to
* glDrawArraysInstancedBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
*
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42#glDrawElementsInstancedBaseVertexBaseInstance DrawElementsInstancedBaseVertexBaseInstance}, execpt that the parameters to
* glDrawElementsInstancedBaseVertexBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
*
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42#glDrawElementsInstancedBaseVertexBaseInstance DrawElementsInstancedBaseVertexBaseInstance}, execpt that the parameters to
* glDrawElementsInstancedBaseVertexBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
* @param type the type of data in the buffer bound to the {@link GL15#GL_ELEMENT_ARRAY_BUFFER ELEMENT_ARRAY_BUFFER} binding. One of:
{@link GL11#GL_UNSIGNED_BYTE UNSIGNED_BYTE}
{@link GL11#GL_UNSIGNED_SHORT UNSIGNED_SHORT}
{@link GL11#GL_UNSIGNED_INT UNSIGNED_INT}
* @param indirect the address of a structure containing the draw parameters
*/
public static void glDrawElementsIndirect(@NativeType("GLenum") int mode, @NativeType("GLenum") int type, @NativeType("const void *") long indirect) {
nglDrawElementsIndirect(mode, type, indirect);
}
/**
*
*
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42#glDrawElementsInstancedBaseVertexBaseInstance DrawElementsInstancedBaseVertexBaseInstance}, execpt that the parameters to
* glDrawElementsInstancedBaseVertexBaseInstance are stored in memory at the address given by {@code indirect}.
*
*
The parameters addressed by {@code indirect} are packed into a structure that takes the form (in C):
*
* Specifies the value of a double uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param x the uniform x value
*/
public static native void glUniform1d(@NativeType("GLint") int location, @NativeType("GLdouble") double x);
// --- [ glUniform2d ] ---
/**
*
*
* Specifies the value of a dvec2 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param x the uniform x value
* @param y the uniform y value
*/
public static native void glUniform2d(@NativeType("GLint") int location, @NativeType("GLdouble") double x, @NativeType("GLdouble") double y);
// --- [ glUniform3d ] ---
/**
*
*
* Specifies the value of a dvec3 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param x the uniform x value
* @param y the uniform y value
* @param z the uniform z value
*/
public static native void glUniform3d(@NativeType("GLint") int location, @NativeType("GLdouble") double x, @NativeType("GLdouble") double y, @NativeType("GLdouble") double z);
// --- [ glUniform4d ] ---
/**
*
*
* Specifies the value of a dvec4 uniform variable for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param x the uniform x value
* @param y the uniform y value
* @param z the uniform z value
* @param w the uniform w value
*/
public static native void glUniform4d(@NativeType("GLint") int location, @NativeType("GLdouble") double x, @NativeType("GLdouble") double y, @NativeType("GLdouble") double z, @NativeType("GLdouble") double w);
// --- [ glUniform1dv ] ---
/**
* Unsafe version of: {@link #glUniform1dv Uniform1dv}
*
* @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 nglUniform1dv(int location, int count, long value);
/**
*
*
* Specifies the value of a single double uniform variable or a double 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 glUniform1dv(@NativeType("GLint") int location, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniform1dv(location, value.remaining(), memAddress(value));
}
// --- [ glUniform2dv ] ---
/**
* Unsafe version of: {@link #glUniform2dv Uniform2dv}
*
* @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 nglUniform2dv(int location, int count, long value);
/**
*
*
* Specifies the value of a single dvec2 uniform variable or a dvec2 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 glUniform2dv(@NativeType("GLint") int location, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniform2dv(location, value.remaining() >> 1, memAddress(value));
}
// --- [ glUniform3dv ] ---
/**
* Unsafe version of: {@link #glUniform3dv Uniform3dv}
*
* @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 nglUniform3dv(int location, int count, long value);
/**
*
*
* Specifies the value of a single dvec3 uniform variable or a dvec3 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 glUniform3dv(@NativeType("GLint") int location, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniform3dv(location, value.remaining() / 3, memAddress(value));
}
// --- [ glUniform4dv ] ---
/**
* Unsafe version of: {@link #glUniform4dv Uniform4dv}
*
* @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 nglUniform4dv(int location, int count, long value);
/**
*
*
* Specifies the value of a single dvec4 uniform variable or a dvec4 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 glUniform4dv(@NativeType("GLint") int location, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniform4dv(location, value.remaining() >> 2, memAddress(value));
}
// --- [ glUniformMatrix2dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix2dv UniformMatrix2dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix2dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat2 uniform variable or a dmat2 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix2dv(location, value.remaining() >> 2, transpose, memAddress(value));
}
// --- [ glUniformMatrix3dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix3dv UniformMatrix3dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix3dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat3 uniform variable or a dmat3 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix3dv(location, value.remaining() / 9, transpose, memAddress(value));
}
// --- [ glUniformMatrix4dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix4dv UniformMatrix4dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix4dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat4 uniform variable or a dmat4 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix4dv(location, value.remaining() >> 4, transpose, memAddress(value));
}
// --- [ glUniformMatrix2x3dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix2x3dv UniformMatrix2x3dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix2x3dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat2x3 uniform variable or a dmat2x3 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix2x3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix2x3dv(location, value.remaining() / 6, transpose, memAddress(value));
}
// --- [ glUniformMatrix2x4dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix2x4dv UniformMatrix2x4dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix2x4dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat2x4 uniform variable or a dmat2x4 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix2x4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix2x4dv(location, value.remaining() >> 3, transpose, memAddress(value));
}
// --- [ glUniformMatrix3x2dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix3x2dv UniformMatrix3x2dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix3x2dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat3x2 uniform variable or a dmat3x2 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix3x2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix3x2dv(location, value.remaining() / 6, transpose, memAddress(value));
}
// --- [ glUniformMatrix3x4dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix3x4dv UniformMatrix3x4dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix3x4dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat3x4 uniform variable or a dmat3x4 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix3x4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix3x4dv(location, value.remaining() / 12, transpose, memAddress(value));
}
// --- [ glUniformMatrix4x2dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix4x2dv UniformMatrix4x2dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix4x2dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat4x2 uniform variable or a dmat4x2 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix4x2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix4x2dv(location, value.remaining() >> 3, transpose, memAddress(value));
}
// --- [ glUniformMatrix4x3dv ] ---
/**
* Unsafe version of: {@link #glUniformMatrix4x3dv UniformMatrix4x3dv}
*
* @param count the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
*/
public static native void nglUniformMatrix4x3dv(int location, int count, boolean transpose, long value);
/**
*
*
* Specifies the value of a single dmat4x3 uniform variable or a dmat4x3 uniform variable array for the current program object.
*
* @param location the location of the uniform variable to be modified
* @param transpose whether to transpose the matrix as the values are loaded into the uniform variable
* @param value a pointer to an array of {@code count} values that will be used to update the specified uniform matrix variable
*/
public static void glUniformMatrix4x3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("const GLdouble *") DoubleBuffer value) {
nglUniformMatrix4x3dv(location, value.remaining() / 12, transpose, memAddress(value));
}
// --- [ glGetUniformdv ] ---
/** Unsafe version of: {@link #glGetUniformdv GetUniformdv} */
public static native void nglGetUniformdv(int program, int location, long params);
/**
*
*
* Returns the double 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 glGetUniformdv(@NativeType("GLuint") int program, @NativeType("GLint") int location, @NativeType("GLdouble *") DoubleBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetUniformdv(program, location, memAddress(params));
}
/**
*
*
* Returns the double 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 double glGetUniformd(@NativeType("GLuint") int program, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
DoubleBuffer params = stack.callocDouble(1);
nglGetUniformdv(program, location, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glMinSampleShading ] ---
/**
*
*
* Specifies the minimum rate at which sample shading takes place.
*
* @param value the rate at which samples are shaded within each covered pixel
*/
public static native void glMinSampleShading(@NativeType("GLfloat") float value);
// --- [ glGetSubroutineUniformLocation ] ---
/** Unsafe version of: {@link #glGetSubroutineUniformLocation GetSubroutineUniformLocation} */
public static native int nglGetSubroutineUniformLocation(int program, int shadertype, long name);
/**
*
*
* Retrieves the location of a subroutine uniform of a given shader stage within a program.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for subroutine uniform index. One of:
* @param name the name of the subroutine uniform whose index to query.
*/
@NativeType("GLint")
public static int glGetSubroutineUniformLocation(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("const GLchar *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
return nglGetSubroutineUniformLocation(program, shadertype, memAddress(name));
}
/**
*
*
* Retrieves the location of a subroutine uniform of a given shader stage within a program.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for subroutine uniform index. One of:
* @param name the name of the subroutine uniform whose index to query.
*/
@NativeType("GLint")
public static int glGetSubroutineUniformLocation(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("const GLchar *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer nameEncoded = stack.ASCII(name);
return nglGetSubroutineUniformLocation(program, shadertype, memAddress(nameEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetSubroutineIndex ] ---
/** Unsafe version of: {@link #glGetSubroutineIndex GetSubroutineIndex} */
public static native int nglGetSubroutineIndex(int program, int shadertype, long name);
/**
*
*
* Retrieves the index of a subroutine function of a given shader stage within a program.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for subroutine function index. One of:
* @param name the name of the subroutine function whose index to query
*/
@NativeType("GLuint")
public static int glGetSubroutineIndex(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("const GLchar *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
return nglGetSubroutineIndex(program, shadertype, memAddress(name));
}
/**
*
*
* Retrieves the index of a subroutine function of a given shader stage within a program.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for subroutine function index. One of:
* @param name the name of the subroutine function whose index to query
*/
@NativeType("GLuint")
public static int glGetSubroutineIndex(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("const GLchar *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer nameEncoded = stack.ASCII(name);
return nglGetSubroutineIndex(program, shadertype, memAddress(nameEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetActiveSubroutineUniformiv ] ---
/** Unsafe version of: {@link #glGetActiveSubroutineUniformiv GetActiveSubroutineUniformiv} */
public static native void nglGetActiveSubroutineUniformiv(int program, int shadertype, int index, int pname, long values);
/**
*
*
* Queries a property of an active shader subroutine uniform.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
* @param values the address of a buffer into which the queried value or values will be placed
*/
public static void glGetActiveSubroutineUniformiv(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer values) {
if (CHECKS) {
check(values, 1);
}
nglGetActiveSubroutineUniformiv(program, shadertype, index, pname, memAddress(values));
}
/**
*
*
* Queries a property of an active shader subroutine uniform.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
*/
@NativeType("void")
public static int glGetActiveSubroutineUniformi(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer values = stack.callocInt(1);
nglGetActiveSubroutineUniformiv(program, shadertype, index, pname, memAddress(values));
return values.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetActiveSubroutineUniformName ] ---
/**
* Unsafe version of: {@link #glGetActiveSubroutineUniformName GetActiveSubroutineUniformName}
*
* @param bufsize the size of the buffer whose address is given in {@code name}
*/
public static native void nglGetActiveSubroutineUniformName(int program, int shadertype, int index, int bufsize, long length, long name);
/**
*
*
* Queries the name of an active shader subroutine uniform.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
* @param index the index of the shader subroutine uniform
* @param length the address of a variable into which is written the number of characters copied into {@code name}
* @param name the address of a buffer that will receive the name of the specified shader subroutine uniform
*/
public static void glGetActiveSubroutineUniformName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLsizei *") IntBuffer length, @NativeType("GLchar *") ByteBuffer name) {
if (CHECKS) {
checkSafe(length, 1);
}
nglGetActiveSubroutineUniformName(program, shadertype, index, name.remaining(), memAddressSafe(length), memAddress(name));
}
/**
*
*
* Queries the name of an active shader subroutine uniform.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
* @param index the index of the shader subroutine uniform
* @param bufsize the size of the buffer whose address is given in {@code name}
*/
@NativeType("void")
public static String glGetActiveSubroutineUniformName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLsizei") int bufsize) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer length = stack.ints(0);
ByteBuffer name = stack.malloc(bufsize);
nglGetActiveSubroutineUniformName(program, shadertype, index, bufsize, memAddress(length), memAddress(name));
return memASCII(name, length.get(0));
} finally {
stack.setPointer(stackPointer);
}
}
/**
*
*
* Queries the name of an active shader subroutine uniform.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
* @param index the index of the shader subroutine uniform
*/
@NativeType("void")
public static String glGetActiveSubroutineUniformName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index) {
return glGetActiveSubroutineUniformName(program, shadertype, index, glGetActiveSubroutineUniformi(program, shadertype, index, GL31.GL_UNIFORM_NAME_LENGTH));
}
// --- [ glGetActiveSubroutineName ] ---
/**
* Unsafe version of: {@link #glGetActiveSubroutineName GetActiveSubroutineName}
*
* @param bufsize the size of the buffer whose address is given in {@code name}
*/
public static native void nglGetActiveSubroutineName(int program, int shadertype, int index, int bufsize, long length, long name);
/**
*
*
* Queries the name of an active shader subroutine.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query the subroutine name. One of:
* @param index the index of the shader subroutine uniform
* @param length a variable which is to receive the length of the shader subroutine uniform name
* @param name an array into which the name of the shader subroutine uniform will be written
*/
public static void glGetActiveSubroutineName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLsizei *") IntBuffer length, @NativeType("GLchar *") ByteBuffer name) {
if (CHECKS) {
checkSafe(length, 1);
}
nglGetActiveSubroutineName(program, shadertype, index, name.remaining(), memAddressSafe(length), memAddress(name));
}
/**
*
*
* Queries the name of an active shader subroutine.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query the subroutine name. One of:
* @param index the index of the shader subroutine uniform
* @param bufsize the size of the buffer whose address is given in {@code name}
*/
@NativeType("void")
public static String glGetActiveSubroutineName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @NativeType("GLsizei") int bufsize) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer length = stack.ints(0);
ByteBuffer name = stack.malloc(bufsize);
nglGetActiveSubroutineName(program, shadertype, index, bufsize, memAddress(length), memAddress(name));
return memASCII(name, length.get(0));
} finally {
stack.setPointer(stackPointer);
}
}
/**
*
*
* Queries the name of an active shader subroutine.
*
* @param program the name of the program containing the subroutine
* @param shadertype the shader stage from which to query the subroutine name. One of:
* @param index the index of the shader subroutine uniform
*/
@NativeType("void")
public static String glGetActiveSubroutineName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index) {
return glGetActiveSubroutineName(program, shadertype, index, glGetProgramStagei(program, shadertype, GL_ACTIVE_SUBROUTINE_MAX_LENGTH));
}
// --- [ glUniformSubroutinesuiv ] ---
/**
* Unsafe version of: {@link #glUniformSubroutinesuiv UniformSubroutinesuiv}
*
* @param count the number of uniform indices stored in {@code indices}
*/
public static native void nglUniformSubroutinesuiv(int shadertype, int count, long indices);
/**
*
* @param indices an array holding the indices to load into the shader subroutine variables
*/
public static void glUniformSubroutinesuiv(@NativeType("GLenum") int shadertype, @NativeType("const GLuint *") IntBuffer indices) {
nglUniformSubroutinesuiv(shadertype, indices.remaining(), memAddress(indices));
}
/**
*
*
* Retrieves the value of a subroutine uniform of a given shader stage of the current program.
*
* @param shadertype the shader stage from which to query for subroutine uniform index. One of:
* @param location the location of the subroutine uniform
* @param params a variable to receive the value or values of the subroutine uniform
*/
public static void glGetUniformSubroutineuiv(@NativeType("GLenum") int shadertype, @NativeType("GLint") int location, @NativeType("GLuint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetUniformSubroutineuiv(shadertype, location, memAddress(params));
}
/**
*
*
* Retrieves the value of a subroutine uniform of a given shader stage of the current program.
*
* @param shadertype the shader stage from which to query for subroutine uniform index. One of:
*
* Retrieves properties of a program object corresponding to a specified shader stage.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
* @param values a variable into which the queried value or values will be placed
*/
public static void glGetProgramStageiv(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer values) {
if (CHECKS) {
check(values, 1);
}
nglGetProgramStageiv(program, shadertype, pname, memAddress(values));
}
/**
*
*
* Retrieves properties of a program object corresponding to a specified shader stage.
*
* @param program the name of the program containing shader stage
* @param shadertype the shader stage from which to query for the subroutine parameter. One of:
*
* Specifies the integer value of the specified parameter for patch primitives.
*
* @param pname the name of the parameter to set. Must be:
{@link #GL_PATCH_VERTICES PATCH_VERTICES}
* @param value the new value for the parameter given by {@code pname}
*/
public static native void glPatchParameteri(@NativeType("GLenum") int pname, @NativeType("GLint") int value);
// --- [ glPatchParameterfv ] ---
/** Unsafe version of: {@link #glPatchParameterfv PatchParameterfv} */
public static native void nglPatchParameterfv(int pname, long values);
/**
*
* @param values an array containing the new values for the parameter given by {@code pname}
*/
public static void glPatchParameterfv(@NativeType("GLenum") int pname, @NativeType("const GLfloat *") FloatBuffer values) {
if (CHECKS) {
if (DEBUG) {
check(values, GL11.glGetInteger(GL_PATCH_VERTICES));
}
}
nglPatchParameterfv(pname, memAddress(values));
}
// --- [ glBindTransformFeedback ] ---
/**
*
*
* Binds a transform feedback object.
*
* @param target the target to which to bind the transform feedback object {@code id}. Must be:
{@link #GL_TRANSFORM_FEEDBACK TRANSFORM_FEEDBACK}
* @param id the name of a transform feedback object
*/
public static native void glBindTransformFeedback(@NativeType("GLenum") int target, @NativeType("GLuint") int id);
// --- [ glDeleteTransformFeedbacks ] ---
/**
* Unsafe version of: {@link #glDeleteTransformFeedbacks DeleteTransformFeedbacks}
*
* @param n the number of transform feedback objects to delete
*/
public static native void nglDeleteTransformFeedbacks(int n, long ids);
/**
*
*
* Reserves transform feedback object names.
*
* @param ids an array of into which the reserved names will be written
*/
public static void glGenTransformFeedbacks(@NativeType("GLuint *") IntBuffer ids) {
nglGenTransformFeedbacks(ids.remaining(), memAddress(ids));
}
/**
*
*
* Determines if a name corresponds to a transform feedback object.
*
* @param id a value that may be the name of a transform feedback object
*/
@NativeType("GLboolean")
public static native boolean glIsTransformFeedback(@NativeType("GLuint") int id);
// --- [ glPauseTransformFeedback ] ---
/**
*
*
* Pauses transform feedback operations for the currently bound transform feedback object.
*
*
When transform feedback operations are paused, transform feedback is still considered active and changing most transform feedback state related to the
* object results in an error. However, a new transform feedback object may be bound while transform feedback is paused. The error {@link GL11#GL_INVALID_OPERATION INVALID_OPERATION}
* is generated by PauseTransformFeedback if the currently bound transform feedback is not active or is paused.
*
*
When transform feedback is active and not paused, all geometric primitives generated must be compatible with the value of {@code primitiveMode} passed
* to {@link GL30#glBeginTransformFeedback BeginTransformFeedback}. The error {@link GL11#GL_INVALID_OPERATION INVALID_OPERATION} is generated by {@link GL11#glBegin Begin} or any operation that implicitly calls {@link GL11#glBegin Begin}
* (such as {@link GL11#glDrawElements DrawElements}) if {@code mode} is not one of the allowed modes. If a geometry shader is active, its output primitive type is used instead
* of the {@code mode} parameter passed to {@link GL11#glBegin Begin} for the purposes of this error check. Any primitive type may be used while transform feedback is
* paused.
*
* Resumes transform feedback operations for the currently bound transform feedback object.
*
*
The error {@link GL11#GL_INVALID_OPERATION INVALID_OPERATION} is generated by {@link #glResumeTransformFeedback ResumeTransformFeedback} if the currently bound transform feedback is not active or is not paused.
* @param id the name of a transform feedback object from which to retrieve a primitive count
*/
public static native void glDrawTransformFeedback(@NativeType("GLenum") int mode, @NativeType("GLuint") int id);
// --- [ glDrawTransformFeedbackStream ] ---
/**
*
*
* Renders primitives using a count derived from a specifed stream of a transform feedback object.
*
* @param mode what kind of primitives to render. One of:
* @param id the name of a transform feedback object from which to retrieve a primitive count
* @param stream the index of the transform feedback stream from which to retrieve a primitive count
*/
public static native void glDrawTransformFeedbackStream(@NativeType("GLenum") int mode, @NativeType("GLuint") int id, @NativeType("GLuint") int stream);
// --- [ glBeginQueryIndexed ] ---
/**
*
*
* Begins a query object on an indexed target
*
* @param target the target type of query object established between {@code glBeginQueryIndexed} and the subsequent {@link #glEndQueryIndexed EndQueryIndexed}. One of:
* @param index the index of the query target upon which to begin the query
* @param id the name of a query object
*/
public static native void glBeginQueryIndexed(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLuint") int id);
// --- [ glEndQueryIndexed ] ---
/**
*
* @param index the index of the query target upon which to end the query
*/
public static native void glEndQueryIndexed(@NativeType("GLenum") int target, @NativeType("GLuint") int index);
// --- [ glGetQueryIndexediv ] ---
/** Unsafe version of: {@link #glGetQueryIndexediv GetQueryIndexediv} */
public static native void nglGetQueryIndexediv(int target, int index, int pname, long params);
/**
*
* @param index the index of the query object target
* @param pname the symbolic name of a query object target parameter
* @param params the requested data
*/
public static void glGetQueryIndexediv(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLenum") int pname, @NativeType("GLint *") IntBuffer params) {
if (CHECKS) {
check(params, 1);
}
nglGetQueryIndexediv(target, index, pname, memAddress(params));
}
/**
*
* @param index the index of the query object target
* @param pname the symbolic name of a query object target parameter
*/
@NativeType("void")
public static int glGetQueryIndexedi(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer params = stack.callocInt(1);
nglGetQueryIndexediv(target, index, pname, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
/**
*