android.opengl.GLES30.java Source code

Java tutorial

Introduction

Here is the source code for android.opengl.GLES30.java

Source

/*
**
** Copyright 2013, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/

// This source file is automatically generated

package android.opengl;

/** OpenGL ES 3.0
 */
public class GLES30 extends GLES20 {
    public static final int GL_READ_BUFFER = 0x0C02;
    public static final int GL_UNPACK_ROW_LENGTH = 0x0CF2;
    public static final int GL_UNPACK_SKIP_ROWS = 0x0CF3;
    public static final int GL_UNPACK_SKIP_PIXELS = 0x0CF4;
    public static final int GL_PACK_ROW_LENGTH = 0x0D02;
    public static final int GL_PACK_SKIP_ROWS = 0x0D03;
    public static final int GL_PACK_SKIP_PIXELS = 0x0D04;
    public static final int GL_COLOR = 0x1800;
    public static final int GL_DEPTH = 0x1801;
    public static final int GL_STENCIL = 0x1802;
    public static final int GL_RED = 0x1903;
    public static final int GL_RGB8 = 0x8051;
    public static final int GL_RGBA8 = 0x8058;
    public static final int GL_RGB10_A2 = 0x8059;
    public static final int GL_TEXTURE_BINDING_3D = 0x806A;
    public static final int GL_UNPACK_SKIP_IMAGES = 0x806D;
    public static final int GL_UNPACK_IMAGE_HEIGHT = 0x806E;
    public static final int GL_TEXTURE_3D = 0x806F;
    public static final int GL_TEXTURE_WRAP_R = 0x8072;
    public static final int GL_MAX_3D_TEXTURE_SIZE = 0x8073;
    public static final int GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368;
    public static final int GL_MAX_ELEMENTS_VERTICES = 0x80E8;
    public static final int GL_MAX_ELEMENTS_INDICES = 0x80E9;
    public static final int GL_TEXTURE_MIN_LOD = 0x813A;
    public static final int GL_TEXTURE_MAX_LOD = 0x813B;
    public static final int GL_TEXTURE_BASE_LEVEL = 0x813C;
    public static final int GL_TEXTURE_MAX_LEVEL = 0x813D;
    public static final int GL_MIN = 0x8007;
    public static final int GL_MAX = 0x8008;
    public static final int GL_DEPTH_COMPONENT24 = 0x81A6;
    public static final int GL_MAX_TEXTURE_LOD_BIAS = 0x84FD;
    public static final int GL_TEXTURE_COMPARE_MODE = 0x884C;
    public static final int GL_TEXTURE_COMPARE_FUNC = 0x884D;
    public static final int GL_CURRENT_QUERY = 0x8865;
    public static final int GL_QUERY_RESULT = 0x8866;
    public static final int GL_QUERY_RESULT_AVAILABLE = 0x8867;
    public static final int GL_BUFFER_MAPPED = 0x88BC;
    public static final int GL_BUFFER_MAP_POINTER = 0x88BD;
    public static final int GL_STREAM_READ = 0x88E1;
    public static final int GL_STREAM_COPY = 0x88E2;
    public static final int GL_STATIC_READ = 0x88E5;
    public static final int GL_STATIC_COPY = 0x88E6;
    public static final int GL_DYNAMIC_READ = 0x88E9;
    public static final int GL_DYNAMIC_COPY = 0x88EA;
    public static final int GL_MAX_DRAW_BUFFERS = 0x8824;
    public static final int GL_DRAW_BUFFER0 = 0x8825;
    public static final int GL_DRAW_BUFFER1 = 0x8826;
    public static final int GL_DRAW_BUFFER2 = 0x8827;
    public static final int GL_DRAW_BUFFER3 = 0x8828;
    public static final int GL_DRAW_BUFFER4 = 0x8829;
    public static final int GL_DRAW_BUFFER5 = 0x882A;
    public static final int GL_DRAW_BUFFER6 = 0x882B;
    public static final int GL_DRAW_BUFFER7 = 0x882C;
    public static final int GL_DRAW_BUFFER8 = 0x882D;
    public static final int GL_DRAW_BUFFER9 = 0x882E;
    public static final int GL_DRAW_BUFFER10 = 0x882F;
    public static final int GL_DRAW_BUFFER11 = 0x8830;
    public static final int GL_DRAW_BUFFER12 = 0x8831;
    public static final int GL_DRAW_BUFFER13 = 0x8832;
    public static final int GL_DRAW_BUFFER14 = 0x8833;
    public static final int GL_DRAW_BUFFER15 = 0x8834;
    public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
    public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
    public static final int GL_SAMPLER_3D = 0x8B5F;
    public static final int GL_SAMPLER_2D_SHADOW = 0x8B62;
    public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
    public static final int GL_PIXEL_PACK_BUFFER = 0x88EB;
    public static final int GL_PIXEL_UNPACK_BUFFER = 0x88EC;
    public static final int GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
    public static final int GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
    public static final int GL_FLOAT_MAT2x3 = 0x8B65;
    public static final int GL_FLOAT_MAT2x4 = 0x8B66;
    public static final int GL_FLOAT_MAT3x2 = 0x8B67;
    public static final int GL_FLOAT_MAT3x4 = 0x8B68;
    public static final int GL_FLOAT_MAT4x2 = 0x8B69;
    public static final int GL_FLOAT_MAT4x3 = 0x8B6A;
    public static final int GL_SRGB = 0x8C40;
    public static final int GL_SRGB8 = 0x8C41;
    public static final int GL_SRGB8_ALPHA8 = 0x8C43;
    public static final int GL_COMPARE_REF_TO_TEXTURE = 0x884E;
    public static final int GL_MAJOR_VERSION = 0x821B;
    public static final int GL_MINOR_VERSION = 0x821C;
    public static final int GL_NUM_EXTENSIONS = 0x821D;
    public static final int GL_RGBA32F = 0x8814;
    public static final int GL_RGB32F = 0x8815;
    public static final int GL_RGBA16F = 0x881A;
    public static final int GL_RGB16F = 0x881B;
    public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
    public static final int GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
    public static final int GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
    public static final int GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
    public static final int GL_MAX_VARYING_COMPONENTS = 0x8B4B;
    public static final int GL_TEXTURE_2D_ARRAY = 0x8C1A;
    public static final int GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
    public static final int GL_R11F_G11F_B10F = 0x8C3A;
    public static final int GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
    public static final int GL_RGB9_E5 = 0x8C3D;
    public static final int GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
    public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
    public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
    public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
    public static final int GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
    public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
    public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
    public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
    public static final int GL_RASTERIZER_DISCARD = 0x8C89;
    public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
    public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
    public static final int GL_INTERLEAVED_ATTRIBS = 0x8C8C;
    public static final int GL_SEPARATE_ATTRIBS = 0x8C8D;
    public static final int GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
    public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
    public static final int GL_RGBA32UI = 0x8D70;
    public static final int GL_RGB32UI = 0x8D71;
    public static final int GL_RGBA16UI = 0x8D76;
    public static final int GL_RGB16UI = 0x8D77;
    public static final int GL_RGBA8UI = 0x8D7C;
    public static final int GL_RGB8UI = 0x8D7D;
    public static final int GL_RGBA32I = 0x8D82;
    public static final int GL_RGB32I = 0x8D83;
    public static final int GL_RGBA16I = 0x8D88;
    public static final int GL_RGB16I = 0x8D89;
    public static final int GL_RGBA8I = 0x8D8E;
    public static final int GL_RGB8I = 0x8D8F;
    public static final int GL_RED_INTEGER = 0x8D94;
    public static final int GL_RGB_INTEGER = 0x8D98;
    public static final int GL_RGBA_INTEGER = 0x8D99;
    public static final int GL_SAMPLER_2D_ARRAY = 0x8DC1;
    public static final int GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
    public static final int GL_SAMPLER_CUBE_SHADOW = 0x8DC5;
    public static final int GL_UNSIGNED_INT_VEC2 = 0x8DC6;
    public static final int GL_UNSIGNED_INT_VEC3 = 0x8DC7;
    public static final int GL_UNSIGNED_INT_VEC4 = 0x8DC8;
    public static final int GL_INT_SAMPLER_2D = 0x8DCA;
    public static final int GL_INT_SAMPLER_3D = 0x8DCB;
    public static final int GL_INT_SAMPLER_CUBE = 0x8DCC;
    public static final int GL_INT_SAMPLER_2D_ARRAY = 0x8DCF;
    public static final int GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
    public static final int GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
    public static final int GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
    public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
    public static final int GL_BUFFER_ACCESS_FLAGS = 0x911F;
    public static final int GL_BUFFER_MAP_LENGTH = 0x9120;
    public static final int GL_BUFFER_MAP_OFFSET = 0x9121;
    public static final int GL_DEPTH_COMPONENT32F = 0x8CAC;
    public static final int GL_DEPTH32F_STENCIL8 = 0x8CAD;
    public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
    public static final int GL_FRAMEBUFFER_DEFAULT = 0x8218;
    public static final int GL_FRAMEBUFFER_UNDEFINED = 0x8219;
    public static final int GL_DEPTH_STENCIL_ATTACHMENT = 0x821A;
    public static final int GL_DEPTH_STENCIL = 0x84F9;
    public static final int GL_UNSIGNED_INT_24_8 = 0x84FA;
    public static final int GL_DEPTH24_STENCIL8 = 0x88F0;
    public static final int GL_UNSIGNED_NORMALIZED = 0x8C17;
    public static final int GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING;
    public static final int GL_READ_FRAMEBUFFER = 0x8CA8;
    public static final int GL_DRAW_FRAMEBUFFER = 0x8CA9;
    public static final int GL_READ_FRAMEBUFFER_BINDING = 0x8CAA;
    public static final int GL_RENDERBUFFER_SAMPLES = 0x8CAB;
    public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
    public static final int GL_MAX_COLOR_ATTACHMENTS = 0x8CDF;
    public static final int GL_COLOR_ATTACHMENT1 = 0x8CE1;
    public static final int GL_COLOR_ATTACHMENT2 = 0x8CE2;
    public static final int GL_COLOR_ATTACHMENT3 = 0x8CE3;
    public static final int GL_COLOR_ATTACHMENT4 = 0x8CE4;
    public static final int GL_COLOR_ATTACHMENT5 = 0x8CE5;
    public static final int GL_COLOR_ATTACHMENT6 = 0x8CE6;
    public static final int GL_COLOR_ATTACHMENT7 = 0x8CE7;
    public static final int GL_COLOR_ATTACHMENT8 = 0x8CE8;
    public static final int GL_COLOR_ATTACHMENT9 = 0x8CE9;
    public static final int GL_COLOR_ATTACHMENT10 = 0x8CEA;
    public static final int GL_COLOR_ATTACHMENT11 = 0x8CEB;
    public static final int GL_COLOR_ATTACHMENT12 = 0x8CEC;
    public static final int GL_COLOR_ATTACHMENT13 = 0x8CED;
    public static final int GL_COLOR_ATTACHMENT14 = 0x8CEE;
    public static final int GL_COLOR_ATTACHMENT15 = 0x8CEF;
    public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
    public static final int GL_MAX_SAMPLES = 0x8D57;
    public static final int GL_HALF_FLOAT = 0x140B;
    public static final int GL_MAP_READ_BIT = 0x0001;
    public static final int GL_MAP_WRITE_BIT = 0x0002;
    public static final int GL_MAP_INVALIDATE_RANGE_BIT = 0x0004;
    public static final int GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008;
    public static final int GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
    public static final int GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
    public static final int GL_RG = 0x8227;
    public static final int GL_RG_INTEGER = 0x8228;
    public static final int GL_R8 = 0x8229;
    public static final int GL_RG8 = 0x822B;
    public static final int GL_R16F = 0x822D;
    public static final int GL_R32F = 0x822E;
    public static final int GL_RG16F = 0x822F;
    public static final int GL_RG32F = 0x8230;
    public static final int GL_R8I = 0x8231;
    public static final int GL_R8UI = 0x8232;
    public static final int GL_R16I = 0x8233;
    public static final int GL_R16UI = 0x8234;
    public static final int GL_R32I = 0x8235;
    public static final int GL_R32UI = 0x8236;
    public static final int GL_RG8I = 0x8237;
    public static final int GL_RG8UI = 0x8238;
    public static final int GL_RG16I = 0x8239;
    public static final int GL_RG16UI = 0x823A;
    public static final int GL_RG32I = 0x823B;
    public static final int GL_RG32UI = 0x823C;
    public static final int GL_VERTEX_ARRAY_BINDING = 0x85B5;
    public static final int GL_R8_SNORM = 0x8F94;
    public static final int GL_RG8_SNORM = 0x8F95;
    public static final int GL_RGB8_SNORM = 0x8F96;
    public static final int GL_RGBA8_SNORM = 0x8F97;
    public static final int GL_SIGNED_NORMALIZED = 0x8F9C;
    public static final int GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
    public static final int GL_COPY_READ_BUFFER = 0x8F36;
    public static final int GL_COPY_WRITE_BUFFER = 0x8F37;
    public static final int GL_COPY_READ_BUFFER_BINDING = GL_COPY_READ_BUFFER;
    public static final int GL_COPY_WRITE_BUFFER_BINDING = GL_COPY_WRITE_BUFFER;
    public static final int GL_UNIFORM_BUFFER = 0x8A11;
    public static final int GL_UNIFORM_BUFFER_BINDING = 0x8A28;
    public static final int GL_UNIFORM_BUFFER_START = 0x8A29;
    public static final int GL_UNIFORM_BUFFER_SIZE = 0x8A2A;
    public static final int GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
    public static final int GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
    public static final int GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
    public static final int GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
    public static final int GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
    public static final int GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
    public static final int GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
    public static final int GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
    public static final int GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
    public static final int GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36;
    public static final int GL_UNIFORM_TYPE = 0x8A37;
    public static final int GL_UNIFORM_SIZE = 0x8A38;
    public static final int GL_UNIFORM_NAME_LENGTH = 0x8A39;
    public static final int GL_UNIFORM_BLOCK_INDEX = 0x8A3A;
    public static final int GL_UNIFORM_OFFSET = 0x8A3B;
    public static final int GL_UNIFORM_ARRAY_STRIDE = 0x8A3C;
    public static final int GL_UNIFORM_MATRIX_STRIDE = 0x8A3D;
    public static final int GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E;
    public static final int GL_UNIFORM_BLOCK_BINDING = 0x8A3F;
    public static final int GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
    public static final int GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
    public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
    public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
    public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
    public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
    // GL_INVALID_INDEX is defined as 0xFFFFFFFFu in C.
    public static final int GL_INVALID_INDEX = -1;
    public static final int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
    public static final int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
    public static final int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111;
    public static final int GL_OBJECT_TYPE = 0x9112;
    public static final int GL_SYNC_CONDITION = 0x9113;
    public static final int GL_SYNC_STATUS = 0x9114;
    public static final int GL_SYNC_FLAGS = 0x9115;
    public static final int GL_SYNC_FENCE = 0x9116;
    public static final int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
    public static final int GL_UNSIGNALED = 0x9118;
    public static final int GL_SIGNALED = 0x9119;
    public static final int GL_ALREADY_SIGNALED = 0x911A;
    public static final int GL_TIMEOUT_EXPIRED = 0x911B;
    public static final int GL_CONDITION_SATISFIED = 0x911C;
    public static final int GL_WAIT_FAILED = 0x911D;
    public static final int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
    // GL_TIMEOUT_IGNORED is defined as 0xFFFFFFFFFFFFFFFFull in C.
    public static final long GL_TIMEOUT_IGNORED = -1;
    public static final int GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
    public static final int GL_ANY_SAMPLES_PASSED = 0x8C2F;
    public static final int GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
    public static final int GL_SAMPLER_BINDING = 0x8919;
    public static final int GL_RGB10_A2UI = 0x906F;
    public static final int GL_TEXTURE_SWIZZLE_R = 0x8E42;
    public static final int GL_TEXTURE_SWIZZLE_G = 0x8E43;
    public static final int GL_TEXTURE_SWIZZLE_B = 0x8E44;
    public static final int GL_TEXTURE_SWIZZLE_A = 0x8E45;
    public static final int GL_GREEN = 0x1904;
    public static final int GL_BLUE = 0x1905;
    public static final int GL_INT_2_10_10_10_REV = 0x8D9F;
    public static final int GL_TRANSFORM_FEEDBACK = 0x8E22;
    public static final int GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
    public static final int GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
    public static final int GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25;
    public static final int GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
    public static final int GL_PROGRAM_BINARY_LENGTH = 0x8741;
    public static final int GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE;
    public static final int GL_PROGRAM_BINARY_FORMATS = 0x87FF;
    public static final int GL_COMPRESSED_R11_EAC = 0x9270;
    public static final int GL_COMPRESSED_SIGNED_R11_EAC = 0x9271;
    public static final int GL_COMPRESSED_RG11_EAC = 0x9272;
    public static final int GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273;
    public static final int GL_COMPRESSED_RGB8_ETC2 = 0x9274;
    public static final int GL_COMPRESSED_SRGB8_ETC2 = 0x9275;
    public static final int GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
    public static final int GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
    public static final int GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
    public static final int GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
    public static final int GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F;
    public static final int GL_MAX_ELEMENT_INDEX = 0x8D6B;
    public static final int GL_NUM_SAMPLE_COUNTS = 0x9380;
    public static final int GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF;

    native private static void _nativeClassInit();

    static {
        _nativeClassInit();
    }

    // C function void glReadBuffer ( GLenum mode )

    public static native void glReadBuffer(int mode);

    // C function void glDrawRangeElements ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices )

    public static native void glDrawRangeElements(int mode, int start, int end, int count, int type,
            java.nio.Buffer indices);

    // C function void glDrawRangeElements ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLsizei offset )

    public static native void glDrawRangeElements(int mode, int start, int end, int count, int type, int offset);

    // C function void glTexImage3D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels )

    public static native void glTexImage3D(int target, int level, int internalformat, int width, int height,
            int depth, int border, int format, int type, java.nio.Buffer pixels);

    // C function void glTexImage3D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei offset )

    public static native void glTexImage3D(int target, int level, int internalformat, int width, int height,
            int depth, int border, int format, int type, int offset);

    // C function void glTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels )

    public static native void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset,
            int width, int height, int depth, int format, int type, java.nio.Buffer pixels);

    // C function void glTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei offset )

    public static native void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset,
            int width, int height, int depth, int format, int type, int offset);

    // C function void glCopyTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height )

    public static native void glCopyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset,
            int x, int y, int width, int height);

    // C function void glCompressedTexImage3D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data )

    public static native void glCompressedTexImage3D(int target, int level, int internalformat, int width,
            int height, int depth, int border, int imageSize, java.nio.Buffer data);

    // C function void glCompressedTexImage3D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei offset )

    public static native void glCompressedTexImage3D(int target, int level, int internalformat, int width,
            int height, int depth, int border, int imageSize, int offset);

    // C function void glCompressedTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data )

    public static native void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset,
            int zoffset, int width, int height, int depth, int format, int imageSize, java.nio.Buffer data);

    // C function void glCompressedTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei offset )

    public static native void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset,
            int zoffset, int width, int height, int depth, int format, int imageSize, int offset);

    // C function void glGenQueries ( GLsizei n, GLuint *ids )

    public static native void glGenQueries(int n, int[] ids, int offset);

    // C function void glGenQueries ( GLsizei n, GLuint *ids )

    public static native void glGenQueries(int n, java.nio.IntBuffer ids);

    // C function void glDeleteQueries ( GLsizei n, const GLuint *ids )

    public static native void glDeleteQueries(int n, int[] ids, int offset);

    // C function void glDeleteQueries ( GLsizei n, const GLuint *ids )

    public static native void glDeleteQueries(int n, java.nio.IntBuffer ids);

    // C function GLboolean glIsQuery ( GLuint id )

    public static native boolean glIsQuery(int id);

    // C function void glBeginQuery ( GLenum target, GLuint id )

    public static native void glBeginQuery(int target, int id);

    // C function void glEndQuery ( GLenum target )

    public static native void glEndQuery(int target);

    // C function void glGetQueryiv ( GLenum target, GLenum pname, GLint *params )

    public static native void glGetQueryiv(int target, int pname, int[] params, int offset);

    // C function void glGetQueryiv ( GLenum target, GLenum pname, GLint *params )

    public static native void glGetQueryiv(int target, int pname, java.nio.IntBuffer params);

    // C function void glGetQueryObjectuiv ( GLuint id, GLenum pname, GLuint *params )

    public static native void glGetQueryObjectuiv(int id, int pname, int[] params, int offset);

    // C function void glGetQueryObjectuiv ( GLuint id, GLenum pname, GLuint *params )

    public static native void glGetQueryObjectuiv(int id, int pname, java.nio.IntBuffer params);

    // C function GLboolean glUnmapBuffer ( GLenum target )

    public static native boolean glUnmapBuffer(int target);

    // C function void glGetBufferPointerv ( GLenum target, GLenum pname, GLvoid** params )

    /**
     * The {@link java.nio.Buffer} instance returned by this method is guaranteed
     * to be an instance of {@link java.nio.ByteBuffer}.
     */
    public static native java.nio.Buffer glGetBufferPointerv(int target, int pname);

    // C function void glDrawBuffers ( GLsizei n, const GLenum *bufs )

    public static native void glDrawBuffers(int n, int[] bufs, int offset);

    // C function void glDrawBuffers ( GLsizei n, const GLenum *bufs )

    public static native void glDrawBuffers(int n, java.nio.IntBuffer bufs);

    // C function void glUniformMatrix2x3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix2x3fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix2x3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix2x3fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glUniformMatrix3x2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix3x2fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix3x2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix3x2fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glUniformMatrix2x4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix2x4fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix2x4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix2x4fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glUniformMatrix4x2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix4x2fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix4x2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix4x2fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glUniformMatrix3x4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix3x4fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix3x4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix3x4fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glUniformMatrix4x3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix4x3fv(int location, int count, boolean transpose, float[] value,
            int offset);

    // C function void glUniformMatrix4x3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )

    public static native void glUniformMatrix4x3fv(int location, int count, boolean transpose,
            java.nio.FloatBuffer value);

    // C function void glBlitFramebuffer ( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter )

    public static native void glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0,
            int dstX1, int dstY1, int mask, int filter);

    // C function void glRenderbufferStorageMultisample ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height )

    public static native void glRenderbufferStorageMultisample(int target, int samples, int internalformat,
            int width, int height);

    // C function void glFramebufferTextureLayer ( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer )

    public static native void glFramebufferTextureLayer(int target, int attachment, int texture, int level,
            int layer);

    // C function GLvoid * glMapBufferRange ( GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access )

    /**
     * The {@link java.nio.Buffer} instance returned by this method is guaranteed
     * to be an instance of {@link java.nio.ByteBuffer}.
     */
    public static native java.nio.Buffer glMapBufferRange(int target, int offset, int length, int access);

    // C function void glFlushMappedBufferRange ( GLenum target, GLintptr offset, GLsizeiptr length )

    public static native void glFlushMappedBufferRange(int target, int offset, int length);

    // C function void glBindVertexArray ( GLuint array )

    public static native void glBindVertexArray(int array);

    // C function void glDeleteVertexArrays ( GLsizei n, const GLuint *arrays )

    public static native void glDeleteVertexArrays(int n, int[] arrays, int offset);

    // C function void glDeleteVertexArrays ( GLsizei n, const GLuint *arrays )

    public static native void glDeleteVertexArrays(int n, java.nio.IntBuffer arrays);

    // C function void glGenVertexArrays ( GLsizei n, GLuint *arrays )

    public static native void glGenVertexArrays(int n, int[] arrays, int offset);

    // C function void glGenVertexArrays ( GLsizei n, GLuint *arrays )

    public static native void glGenVertexArrays(int n, java.nio.IntBuffer arrays);

    // C function GLboolean glIsVertexArray ( GLuint array )

    public static native boolean glIsVertexArray(int array);

    // C function void glGetIntegeri_v ( GLenum target, GLuint index, GLint *data )

    public static native void glGetIntegeri_v(int target, int index, int[] data, int offset);

    // C function void glGetIntegeri_v ( GLenum target, GLuint index, GLint *data )

    public static native void glGetIntegeri_v(int target, int index, java.nio.IntBuffer data);

    // C function void glBeginTransformFeedback ( GLenum primitiveMode )

    public static native void glBeginTransformFeedback(int primitiveMode);

    // C function void glEndTransformFeedback ( void )

    public static native void glEndTransformFeedback();

    // C function void glBindBufferRange ( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size )

    public static native void glBindBufferRange(int target, int index, int buffer, int offset, int size);

    // C function void glBindBufferBase ( GLenum target, GLuint index, GLuint buffer )

    public static native void glBindBufferBase(int target, int index, int buffer);

    // C function void glTransformFeedbackVaryings ( GLuint program, GLsizei count, const GLchar *varyings, GLenum bufferMode )

    public static native void glTransformFeedbackVaryings(int program, String[] varyings, int bufferMode);

    // C function void glGetTransformFeedbackVarying ( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name )

    public static native void glGetTransformFeedbackVarying(int program, int index, int bufsize, int[] length,
            int lengthOffset, int[] size, int sizeOffset, int[] type, int typeOffset, byte[] name, int nameOffset);

    // C function void glGetTransformFeedbackVarying ( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name )
    /**
     * @deprecated
     * Use the version that takes a ByteBuffer as the last argument, or the versions that return a String.
     * */
    public static native void glGetTransformFeedbackVarying(int program, int index, int bufsize,
            java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, byte name);

    // C function void glGetTransformFeedbackVarying ( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name )

    public static native void glGetTransformFeedbackVarying(int program, int index, int bufsize,
            java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name);

    // C function void glGetTransformFeedbackVarying ( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name )

    public static native String glGetTransformFeedbackVarying(int program, int index, int[] size, int sizeOffset,
            int[] type, int typeOffset);

    // C function void glGetTransformFeedbackVarying ( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name )

    public static native String glGetTransformFeedbackVarying(int program, int index, java.nio.IntBuffer size,
            java.nio.IntBuffer type);

    // C function void glVertexAttribIPointer ( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )

    private static native void glVertexAttribIPointerBounds(int index, int size, int type, int stride,
            java.nio.Buffer pointer, int remaining);

    public static void glVertexAttribIPointer(int index, int size, int type, int stride, java.nio.Buffer pointer) {
        glVertexAttribIPointerBounds(index, size, type, stride, pointer, pointer.remaining());
    }

    // C function void glVertexAttribIPointer ( GLuint index, GLint size, GLenum type, GLsizei stride, GLsizei offset )

    public static native void glVertexAttribIPointer(int index, int size, int type, int stride, int offset);

    // C function void glGetVertexAttribIiv ( GLuint index, GLenum pname, GLint *params )

    public static native void glGetVertexAttribIiv(int index, int pname, int[] params, int offset);

    // C function void glGetVertexAttribIiv ( GLuint index, GLenum pname, GLint *params )

    public static native void glGetVertexAttribIiv(int index, int pname, java.nio.IntBuffer params);

    // C function void glGetVertexAttribIuiv ( GLuint index, GLenum pname, GLuint *params )

    public static native void glGetVertexAttribIuiv(int index, int pname, int[] params, int offset);

    // C function void glGetVertexAttribIuiv ( GLuint index, GLenum pname, GLuint *params )

    public static native void glGetVertexAttribIuiv(int index, int pname, java.nio.IntBuffer params);

    // C function void glVertexAttribI4i ( GLuint index, GLint x, GLint y, GLint z, GLint w )

    public static native void glVertexAttribI4i(int index, int x, int y, int z, int w);

    // C function void glVertexAttribI4ui ( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w )

    public static native void glVertexAttribI4ui(int index, int x, int y, int z, int w);

    // C function void glVertexAttribI4iv ( GLuint index, const GLint *v )

    public static native void glVertexAttribI4iv(int index, int[] v, int offset);

    // C function void glVertexAttribI4iv ( GLuint index, const GLint *v )

    public static native void glVertexAttribI4iv(int index, java.nio.IntBuffer v);

    // C function void glVertexAttribI4uiv ( GLuint index, const GLuint *v )

    public static native void glVertexAttribI4uiv(int index, int[] v, int offset);

    // C function void glVertexAttribI4uiv ( GLuint index, const GLuint *v )

    public static native void glVertexAttribI4uiv(int index, java.nio.IntBuffer v);

    // C function void glGetUniformuiv ( GLuint program, GLint location, GLuint *params )

    public static native void glGetUniformuiv(int program, int location, int[] params, int offset);

    // C function void glGetUniformuiv ( GLuint program, GLint location, GLuint *params )

    public static native void glGetUniformuiv(int program, int location, java.nio.IntBuffer params);

    // C function GLint glGetFragDataLocation ( GLuint program, const GLchar *name )

    public static native int glGetFragDataLocation(int program, String name);

    // C function void glUniform1ui ( GLint location, GLuint v0 )

    public static native void glUniform1ui(int location, int v0);

    // C function void glUniform2ui ( GLint location, GLuint v0, GLuint v1 )

    public static native void glUniform2ui(int location, int v0, int v1);

    // C function void glUniform3ui ( GLint location, GLuint v0, GLuint v1, GLuint v2 )

    public static native void glUniform3ui(int location, int v0, int v1, int v2);

    // C function void glUniform4ui ( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 )

    public static native void glUniform4ui(int location, int v0, int v1, int v2, int v3);

    // C function void glUniform1uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform1uiv(int location, int count, int[] value, int offset);

    // C function void glUniform1uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform1uiv(int location, int count, java.nio.IntBuffer value);

    // C function void glUniform2uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform2uiv(int location, int count, int[] value, int offset);

    // C function void glUniform2uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform2uiv(int location, int count, java.nio.IntBuffer value);

    // C function void glUniform3uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform3uiv(int location, int count, int[] value, int offset);

    // C function void glUniform3uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform3uiv(int location, int count, java.nio.IntBuffer value);

    // C function void glUniform4uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform4uiv(int location, int count, int[] value, int offset);

    // C function void glUniform4uiv ( GLint location, GLsizei count, const GLuint *value )

    public static native void glUniform4uiv(int location, int count, java.nio.IntBuffer value);

    // C function void glClearBufferiv ( GLenum buffer, GLint drawbuffer, const GLint *value )

    public static native void glClearBufferiv(int buffer, int drawbuffer, int[] value, int offset);

    // C function void glClearBufferiv ( GLenum buffer, GLint drawbuffer, const GLint *value )

    public static native void glClearBufferiv(int buffer, int drawbuffer, java.nio.IntBuffer value);

    // C function void glClearBufferuiv ( GLenum buffer, GLint drawbuffer, const GLuint *value )

    public static native void glClearBufferuiv(int buffer, int drawbuffer, int[] value, int offset);

    // C function void glClearBufferuiv ( GLenum buffer, GLint drawbuffer, const GLuint *value )

    public static native void glClearBufferuiv(int buffer, int drawbuffer, java.nio.IntBuffer value);

    // C function void glClearBufferfv ( GLenum buffer, GLint drawbuffer, const GLfloat *value )

    public static native void glClearBufferfv(int buffer, int drawbuffer, float[] value, int offset);

    // C function void glClearBufferfv ( GLenum buffer, GLint drawbuffer, const GLfloat *value )

    public static native void glClearBufferfv(int buffer, int drawbuffer, java.nio.FloatBuffer value);

    // C function void glClearBufferfi ( GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil )

    public static native void glClearBufferfi(int buffer, int drawbuffer, float depth, int stencil);

    // C function const GLubyte * glGetStringi ( GLenum name, GLuint index )

    public static native String glGetStringi(int name, int index);

    // C function void glCopyBufferSubData ( GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size )

    public static native void glCopyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset,
            int size);

    // C function void glGetUniformIndices ( GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices )

    public static native void glGetUniformIndices(int program, String[] uniformNames, int[] uniformIndices,
            int uniformIndicesOffset);

    // C function void glGetUniformIndices ( GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices )

    public static native void glGetUniformIndices(int program, String[] uniformNames,
            java.nio.IntBuffer uniformIndices);

    // C function void glGetActiveUniformsiv ( GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params )

    public static native void glGetActiveUniformsiv(int program, int uniformCount, int[] uniformIndices,
            int uniformIndicesOffset, int pname, int[] params, int paramsOffset);

    // C function void glGetActiveUniformsiv ( GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params )

    public static native void glGetActiveUniformsiv(int program, int uniformCount,
            java.nio.IntBuffer uniformIndices, int pname, java.nio.IntBuffer params);

    // C function GLuint glGetUniformBlockIndex ( GLuint program, const GLchar *uniformBlockName )

    public static native int glGetUniformBlockIndex(int program, String uniformBlockName);

    // C function void glGetActiveUniformBlockiv ( GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params )

    public static native void glGetActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, int[] params,
            int offset);

    // C function void glGetActiveUniformBlockiv ( GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params )

    public static native void glGetActiveUniformBlockiv(int program, int uniformBlockIndex, int pname,
            java.nio.IntBuffer params);

    // C function void glGetActiveUniformBlockName ( GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName )

    public static native void glGetActiveUniformBlockName(int program, int uniformBlockIndex, int bufSize,
            int[] length, int lengthOffset, byte[] uniformBlockName, int uniformBlockNameOffset);

    // C function void glGetActiveUniformBlockName ( GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName )

    public static native void glGetActiveUniformBlockName(int program, int uniformBlockIndex,
            java.nio.Buffer length, java.nio.Buffer uniformBlockName);

    // C function void glGetActiveUniformBlockName ( GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName )

    public static native String glGetActiveUniformBlockName(int program, int uniformBlockIndex);

    // C function void glUniformBlockBinding ( GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding )

    public static native void glUniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding);

    // C function void glDrawArraysInstanced ( GLenum mode, GLint first, GLsizei count, GLsizei instanceCount )

    public static native void glDrawArraysInstanced(int mode, int first, int count, int instanceCount);

    // C function void glDrawElementsInstanced ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount )

    public static native void glDrawElementsInstanced(int mode, int count, int type, java.nio.Buffer indices,
            int instanceCount);

    // C function void glDrawElementsInstanced ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount )

    public static native void glDrawElementsInstanced(int mode, int count, int type, int indicesOffset,
            int instanceCount);

    // C function GLsync glFenceSync ( GLenum condition, GLbitfield flags )

    public static native long glFenceSync(int condition, int flags);

    // C function GLboolean glIsSync ( GLsync sync )

    public static native boolean glIsSync(long sync);

    // C function void glDeleteSync ( GLsync sync )

    public static native void glDeleteSync(long sync);

    // C function GLenum glClientWaitSync ( GLsync sync, GLbitfield flags, GLuint64 timeout )

    public static native int glClientWaitSync(long sync, int flags, long timeout);

    // C function void glWaitSync ( GLsync sync, GLbitfield flags, GLuint64 timeout )

    public static native void glWaitSync(long sync, int flags, long timeout);

    // C function void glGetInteger64v ( GLenum pname, GLint64 *params )

    public static native void glGetInteger64v(int pname, long[] params, int offset);

    // C function void glGetInteger64v ( GLenum pname, GLint64 *params )

    public static native void glGetInteger64v(int pname, java.nio.LongBuffer params);

    // C function void glGetSynciv ( GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values )

    public static native void glGetSynciv(long sync, int pname, int bufSize, int[] length, int lengthOffset,
            int[] values, int valuesOffset);

    // C function void glGetSynciv ( GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values )

    public static native void glGetSynciv(long sync, int pname, int bufSize, java.nio.IntBuffer length,
            java.nio.IntBuffer values);

    // C function void glGetInteger64i_v ( GLenum target, GLuint index, GLint64 *data )

    public static native void glGetInteger64i_v(int target, int index, long[] data, int offset);

    // C function void glGetInteger64i_v ( GLenum target, GLuint index, GLint64 *data )

    public static native void glGetInteger64i_v(int target, int index, java.nio.LongBuffer data);

    // C function void glGetBufferParameteri64v ( GLenum target, GLenum pname, GLint64 *params )

    public static native void glGetBufferParameteri64v(int target, int pname, long[] params, int offset);

    // C function void glGetBufferParameteri64v ( GLenum target, GLenum pname, GLint64 *params )

    public static native void glGetBufferParameteri64v(int target, int pname, java.nio.LongBuffer params);

    // C function void glGenSamplers ( GLsizei count, GLuint *samplers )

    public static native void glGenSamplers(int count, int[] samplers, int offset);

    // C function void glGenSamplers ( GLsizei count, GLuint *samplers )

    public static native void glGenSamplers(int count, java.nio.IntBuffer samplers);

    // C function void glDeleteSamplers ( GLsizei count, const GLuint *samplers )

    public static native void glDeleteSamplers(int count, int[] samplers, int offset);

    // C function void glDeleteSamplers ( GLsizei count, const GLuint *samplers )

    public static native void glDeleteSamplers(int count, java.nio.IntBuffer samplers);

    // C function GLboolean glIsSampler ( GLuint sampler )

    public static native boolean glIsSampler(int sampler);

    // C function void glBindSampler ( GLuint unit, GLuint sampler )

    public static native void glBindSampler(int unit, int sampler);

    // C function void glSamplerParameteri ( GLuint sampler, GLenum pname, GLint param )

    public static native void glSamplerParameteri(int sampler, int pname, int param);

    // C function void glSamplerParameteriv ( GLuint sampler, GLenum pname, const GLint *param )

    public static native void glSamplerParameteriv(int sampler, int pname, int[] param, int offset);

    // C function void glSamplerParameteriv ( GLuint sampler, GLenum pname, const GLint *param )

    public static native void glSamplerParameteriv(int sampler, int pname, java.nio.IntBuffer param);

    // C function void glSamplerParameterf ( GLuint sampler, GLenum pname, GLfloat param )

    public static native void glSamplerParameterf(int sampler, int pname, float param);

    // C function void glSamplerParameterfv ( GLuint sampler, GLenum pname, const GLfloat *param )

    public static native void glSamplerParameterfv(int sampler, int pname, float[] param, int offset);

    // C function void glSamplerParameterfv ( GLuint sampler, GLenum pname, const GLfloat *param )

    public static native void glSamplerParameterfv(int sampler, int pname, java.nio.FloatBuffer param);

    // C function void glGetSamplerParameteriv ( GLuint sampler, GLenum pname, GLint *params )

    public static native void glGetSamplerParameteriv(int sampler, int pname, int[] params, int offset);

    // C function void glGetSamplerParameteriv ( GLuint sampler, GLenum pname, GLint *params )

    public static native void glGetSamplerParameteriv(int sampler, int pname, java.nio.IntBuffer params);

    // C function void glGetSamplerParameterfv ( GLuint sampler, GLenum pname, GLfloat *params )

    public static native void glGetSamplerParameterfv(int sampler, int pname, float[] params, int offset);

    // C function void glGetSamplerParameterfv ( GLuint sampler, GLenum pname, GLfloat *params )

    public static native void glGetSamplerParameterfv(int sampler, int pname, java.nio.FloatBuffer params);

    // C function void glVertexAttribDivisor ( GLuint index, GLuint divisor )

    public static native void glVertexAttribDivisor(int index, int divisor);

    // C function void glBindTransformFeedback ( GLenum target, GLuint id )

    public static native void glBindTransformFeedback(int target, int id);

    // C function void glDeleteTransformFeedbacks ( GLsizei n, const GLuint *ids )

    public static native void glDeleteTransformFeedbacks(int n, int[] ids, int offset);

    // C function void glDeleteTransformFeedbacks ( GLsizei n, const GLuint *ids )

    public static native void glDeleteTransformFeedbacks(int n, java.nio.IntBuffer ids);

    // C function void glGenTransformFeedbacks ( GLsizei n, GLuint *ids )

    public static native void glGenTransformFeedbacks(int n, int[] ids, int offset);

    // C function void glGenTransformFeedbacks ( GLsizei n, GLuint *ids )

    public static native void glGenTransformFeedbacks(int n, java.nio.IntBuffer ids);

    // C function GLboolean glIsTransformFeedback ( GLuint id )

    public static native boolean glIsTransformFeedback(int id);

    // C function void glPauseTransformFeedback ( void )

    public static native void glPauseTransformFeedback();

    // C function void glResumeTransformFeedback ( void )

    public static native void glResumeTransformFeedback();

    // C function void glGetProgramBinary ( GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary )

    public static native void glGetProgramBinary(int program, int bufSize, int[] length, int lengthOffset,
            int[] binaryFormat, int binaryFormatOffset, java.nio.Buffer binary);

    // C function void glGetProgramBinary ( GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary )

    public static native void glGetProgramBinary(int program, int bufSize, java.nio.IntBuffer length,
            java.nio.IntBuffer binaryFormat, java.nio.Buffer binary);

    // C function void glProgramBinary ( GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length )

    public static native void glProgramBinary(int program, int binaryFormat, java.nio.Buffer binary, int length);

    // C function void glProgramParameteri ( GLuint program, GLenum pname, GLint value )

    public static native void glProgramParameteri(int program, int pname, int value);

    // C function void glInvalidateFramebuffer ( GLenum target, GLsizei numAttachments, const GLenum *attachments )

    public static native void glInvalidateFramebuffer(int target, int numAttachments, int[] attachments,
            int offset);

    // C function void glInvalidateFramebuffer ( GLenum target, GLsizei numAttachments, const GLenum *attachments )

    public static native void glInvalidateFramebuffer(int target, int numAttachments,
            java.nio.IntBuffer attachments);

    // C function void glInvalidateSubFramebuffer ( GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height )

    public static native void glInvalidateSubFramebuffer(int target, int numAttachments, int[] attachments,
            int offset, int x, int y, int width, int height);

    // C function void glInvalidateSubFramebuffer ( GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height )

    public static native void glInvalidateSubFramebuffer(int target, int numAttachments,
            java.nio.IntBuffer attachments, int x, int y, int width, int height);

    // C function void glTexStorage2D ( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height )

    public static native void glTexStorage2D(int target, int levels, int internalformat, int width, int height);

    // C function void glTexStorage3D ( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth )

    public static native void glTexStorage3D(int target, int levels, int internalformat, int width, int height,
            int depth);

    // C function void glGetInternalformativ ( GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params )

    public static native void glGetInternalformativ(int target, int internalformat, int pname, int bufSize,
            int[] params, int offset);

    // C function void glGetInternalformativ ( GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params )

    public static native void glGetInternalformativ(int target, int internalformat, int pname, int bufSize,
            java.nio.IntBuffer params);

    // C function void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint offset )

    public static native void glReadPixels(int x, int y, int width, int height, int format, int type, int offset);

}