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 GL40C extends GL33C {
/**
* 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 GL40C() {
throw new UnsupportedOperationException();
}
// --- [ 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:
*
* @see Reference Page
*/
public static native void glBlendEquationi(@NativeType("GLuint") int buf, @NativeType("GLenum") int mode);
// --- [ glBlendEquationSeparatei ] ---
/**
* 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:
*
* @see Reference Page
*/
public static native void glBlendEquationSeparatei(@NativeType("GLuint") int buf, @NativeType("GLenum") int modeRGB, @NativeType("GLenum") int modeAlpha);
// --- [ glBlendFunci ] ---
/**
* 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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
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 GL42C#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):
* @param indirect a structure containing the draw parameters
*
* @see Reference Page
*/
public static void glDrawArraysIndirect(@NativeType("GLenum") int mode, @NativeType("void const *") ByteBuffer indirect) {
if (CHECKS) {
check(indirect, 4 * 4);
}
nglDrawArraysIndirect(mode, memAddress(indirect));
}
/**
* Renders primitives from array data, taking parameters from memory.
*
*
{@code glDrawArraysIndirect} behaves similarly to {@link GL42C#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):
* @param indirect a structure containing the draw parameters
*
* @see Reference Page
*/
public static void glDrawArraysIndirect(@NativeType("GLenum") int mode, @NativeType("void const *") long indirect) {
nglDrawArraysIndirect(mode, indirect);
}
/**
* Renders primitives from array data, taking parameters from memory.
*
*
{@code glDrawArraysIndirect} behaves similarly to {@link GL42C#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):
* @param indirect a structure containing the draw parameters
*
* @see Reference Page
*/
public static void glDrawArraysIndirect(@NativeType("GLenum") int mode, @NativeType("void const *") IntBuffer indirect) {
if (CHECKS) {
check(indirect, (4 * 4) >> 2);
}
nglDrawArraysIndirect(mode, memAddress(indirect));
}
// --- [ glDrawElementsIndirect ] ---
/** Unsafe version of: {@link #glDrawElementsIndirect DrawElementsIndirect} */
public static native void nglDrawElementsIndirect(int mode, int type, long indirect);
/**
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42C#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
*
* @see Reference Page
*/
public static void glDrawElementsIndirect(@NativeType("GLenum") int mode, @NativeType("GLenum") int type, @NativeType("void const *") ByteBuffer indirect) {
if (CHECKS) {
check(indirect, 5 * 4);
}
nglDrawElementsIndirect(mode, type, memAddress(indirect));
}
/**
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42C#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
*
* @see Reference Page
*/
public static void glDrawElementsIndirect(@NativeType("GLenum") int mode, @NativeType("GLenum") int type, @NativeType("void const *") long indirect) {
nglDrawElementsIndirect(mode, type, indirect);
}
/**
* Renders indexed primitives from array data, taking parameters from memory.
*
*
{@code glDrawElementsIndirect} behaves similarly to {@link GL42C#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
*
* @see Reference Page
*/
public static void glDrawElementsIndirect(@NativeType("GLenum") int mode, @NativeType("GLenum") int type, @NativeType("void const *") IntBuffer indirect) {
if (CHECKS) {
check(indirect, (5 * 4) >> 2);
}
nglDrawElementsIndirect(mode, type, memAddress(indirect));
}
// --- [ glUniform1d ] ---
/**
* 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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
public static void glUniform1dv(@NativeType("GLint") int location, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniform2dv(@NativeType("GLint") int location, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniform3dv(@NativeType("GLint") int location, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniform4dv(@NativeType("GLint") int location, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix2x3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix2x4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix3x2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix3x4dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix4x2dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
public static void glUniformMatrix4x3dv(@NativeType("GLint") int location, @NativeType("GLboolean") boolean transpose, @NativeType("GLdouble const *") 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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
@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
*
* @see Reference Page
*/
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.
*
* @see Reference Page
*/
@NativeType("GLint")
public static int glGetSubroutineUniformLocation(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLchar const *") 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.
*
* @see Reference Page
*/
@NativeType("GLint")
public static int glGetSubroutineUniformLocation(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLchar const *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nglGetSubroutineUniformLocation(program, shadertype, 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
*
* @see Reference Page
*/
@NativeType("GLuint")
public static int glGetSubroutineIndex(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLchar const *") 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
*
* @see Reference Page
*/
@NativeType("GLuint")
public static int glGetSubroutineIndex(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLchar const *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nglGetSubroutineIndex(program, shadertype, 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
*
* @see Reference Page
*/
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:
*
* @see Reference Page
*/
@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
*
* @see Reference Page
*/
public static void glGetActiveSubroutineUniformName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @Nullable @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}
*
* @see Reference Page
*/
@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
*
* @see Reference Page
*/
@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
*
* @see Reference Page
*/
public static void glGetActiveSubroutineName(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLuint") int index, @Nullable @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}
*
* @see Reference Page
*/
@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
*
* @see Reference Page
*/
@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);
/**
* Loads active subroutine uniforms.
*
* @param shadertype the shader stage to update. One of:
* @param indices an array holding the indices to load into the shader subroutine variables
*
* @see Reference Page
*/
public static void glUniformSubroutinesuiv(@NativeType("GLenum") int shadertype, @NativeType("GLuint const *") IntBuffer indices) {
nglUniformSubroutinesuiv(shadertype, indices.remaining(), memAddress(indices));
}
/**
* Loads active subroutine uniforms.
*
* @param shadertype the shader stage to update. One of:
*
* @see Reference Page
*/
public static void glUniformSubroutinesui(@NativeType("GLenum") int shadertype, @NativeType("GLuint const *") int index) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer indices = stack.ints(index);
nglUniformSubroutinesuiv(shadertype, 1, memAddress(indices));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetUniformSubroutineuiv ] ---
/** Unsafe version of: {@link #glGetUniformSubroutineuiv GetUniformSubroutineuiv} */
public static native void nglGetUniformSubroutineuiv(int shadertype, int location, long 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:
* @param location the location of the subroutine uniform
* @param params a variable to receive the value or values of the subroutine uniform
*
* @see Reference Page
*/
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:
* @param location the location of the subroutine uniform
*
* @see Reference Page
*/
@NativeType("void")
public static int glGetUniformSubroutineui(@NativeType("GLenum") int shadertype, @NativeType("GLint") int location) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer params = stack.callocInt(1);
nglGetUniformSubroutineuiv(shadertype, location, memAddress(params));
return params.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGetProgramStageiv ] ---
/** Unsafe version of: {@link #glGetProgramStageiv GetProgramStageiv} */
public static native void nglGetProgramStageiv(int program, int shadertype, int pname, long 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:
* @param values a variable into which the queried value or values will be placed
*
* @see Reference Page
*/
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:
*
* @see Reference Page
*/
@NativeType("void")
public static int glGetProgramStagei(@NativeType("GLuint") int program, @NativeType("GLenum") int shadertype, @NativeType("GLenum") int pname) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer values = stack.callocInt(1);
nglGetProgramStageiv(program, shadertype, pname, memAddress(values));
return values.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glPatchParameteri ] ---
/**
* 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}
*
* @see Reference Page
*/
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);
/**
* Specifies an array of float values for the specified parameter for patch primitives.
*
* @param pname the name of the parameter to set. One of:
* @param values an array containing the new values for the parameter given by {@code pname}
*
* @see Reference Page
*/
public static void glPatchParameterfv(@NativeType("GLenum") int pname, @NativeType("GLfloat const *") 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
*
* @see Reference Page
*/
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);
/**
* Deletes transform feedback objects.
*
* @param ids an array of names of transform feedback objects to delete
*
* @see Reference Page
*/
public static void glDeleteTransformFeedbacks(@NativeType("GLuint const *") IntBuffer ids) {
nglDeleteTransformFeedbacks(ids.remaining(), memAddress(ids));
}
/**
* Deletes transform feedback objects.
*
* @see Reference Page
*/
public static void glDeleteTransformFeedbacks(@NativeType("GLuint const *") int id) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer ids = stack.ints(id);
nglDeleteTransformFeedbacks(1, memAddress(ids));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glGenTransformFeedbacks ] ---
/**
* Unsafe version of: {@link #glGenTransformFeedbacks GenTransformFeedbacks}
*
* @param n the number of transform feedback object names to reserve
*/
public static native void nglGenTransformFeedbacks(int n, long ids);
/**
* Reserves transform feedback object names.
*
* @param ids an array of into which the reserved names will be written
*
* @see Reference Page
*/
public static void glGenTransformFeedbacks(@NativeType("GLuint *") IntBuffer ids) {
nglGenTransformFeedbacks(ids.remaining(), memAddress(ids));
}
/**
* Reserves transform feedback object names.
*
* @see Reference Page
*/
@NativeType("void")
public static int glGenTransformFeedbacks() {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
IntBuffer ids = stack.callocInt(1);
nglGenTransformFeedbacks(1, memAddress(ids));
return ids.get(0);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glIsTransformFeedback ] ---
/**
* Determines if a name corresponds to a transform feedback object.
*
* @param id a value that may be the name of a transform feedback object
*
* @see Reference Page
*/
@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 GL30C#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 GL11C#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.
*
* @see Reference Page
*/
public static native void glPauseTransformFeedback();
// --- [ glResumeTransformFeedback ] ---
/**
* 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.
*
* @see Reference Page
*/
public static native void glResumeTransformFeedback();
// --- [ glDrawTransformFeedback ] ---
/**
* Render primitives using a count derived from 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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
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
*
* @see Reference Page
*/
public static native void glBeginQueryIndexed(@NativeType("GLenum") int target, @NativeType("GLuint") int index, @NativeType("GLuint") int id);
// --- [ glEndQueryIndexed ] ---
/**
* Ends a query object on an indexed target
*
* @param target the target type of query object to be concluded. One of:
* @param index the index of the query target upon which to end the query
*
* @see Reference Page
*/
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);
/**
* Returns parameters of an indexed query object target.
*
* @param target a query object target. One of:
* @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
*
* @see Reference Page
*/
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));
}
/**
* Returns parameters of an indexed query object target.
*
* @param target a query object target. One of: