diff options
author | Carsten Weisse <[email protected]> | 2007-03-17 15:59:54 +0000 |
---|---|---|
committer | Carsten Weisse <[email protected]> | 2007-03-17 15:59:54 +0000 |
commit | c756095ed86f66911ded3685a5d88efc2a2c5d5b (patch) | |
tree | 0f6f3e641a40746922046537f9c29e3919523bc4 /lib/lwjgl | |
parent | 8e9cfb3081da27d55219360771d69265829bc9eb (diff) |
original lwjgl1.0 classes
Diffstat (limited to 'lib/lwjgl')
-rw-r--r-- | lib/lwjgl/patch/org/lwjgl/BufferChecks.java | 266 | ||||
-rw-r--r-- | lib/lwjgl/patch/org/lwjgl/opengl/GL11.java | 3023 | ||||
-rw-r--r-- | lib/lwjgl/patch/org/lwjgl/opengl/GLChecks.java | 239 |
3 files changed, 3528 insertions, 0 deletions
diff --git a/lib/lwjgl/patch/org/lwjgl/BufferChecks.java b/lib/lwjgl/patch/org/lwjgl/BufferChecks.java new file mode 100644 index 0000000..daac4f2 --- /dev/null +++ b/lib/lwjgl/patch/org/lwjgl/BufferChecks.java @@ -0,0 +1,266 @@ +/* + * Copyright (c) 2002-2004 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl; + +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.DoubleBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import java.nio.ShortBuffer; +import java.nio.LongBuffer; + +/** + * <p>A class to check buffer boundaries in general. If there is unsufficient space + * in the buffer when the call is made then a buffer overflow would otherwise + * occur and cause unexpected behaviour, a crash, or worse, a security risk. + * </p> + * @author cix_foo <[email protected]> + * @author elias_naur <[email protected]> + * @version $Revision: 1.1 $ + * $Id: BufferChecks.java,v 1.1 2007-03-17 15:59:54 cawe Exp $ + */ +public class BufferChecks { + /** Static methods only! */ + private BufferChecks() { + } + + /** + * Default buffer size for most buffer checks. + */ + private static final int DEFAULT_BUFFER_SIZE = 4; + + /** + * Helper methods to ensure a function pointer is not-null (0) + */ + public static void checkFunctionAddress(long pointer) { + if (pointer == 0) { + throw new IllegalStateException("Function is not supported"); + } + } + + /** + * Helper methods to ensure a ByteBuffer is null-terminated + */ + public static void checkNullTerminated(ByteBuffer buf) { + if (buf.get(buf.limit() - 1) != 0) { + throw new IllegalArgumentException("Missing null termination"); + } + } + + public static void checkNotNull(Object o) { + if (o == null) + throw new IllegalArgumentException("Null argument"); + } + + /** + * Helper methods to ensure a buffer is direct or null. + */ + public static void checkDirectOrNull(ByteBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + public static void checkDirectOrNull(ShortBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + public static void checkDirectOrNull(IntBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + public static void checkDirectOrNull(LongBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + public static void checkDirectOrNull(FloatBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + public static void checkDirectOrNull(DoubleBuffer buf) { + if (buf != null) { + checkDirect(buf); + } + } + + /** + * Helper methods to ensure a buffer is direct (and, implicitly, non-null). + */ + public static void checkDirectBuffer(Buffer buf) { + if (buf instanceof FloatBuffer) + checkDirect((FloatBuffer)buf); + else if (buf instanceof ByteBuffer) + checkDirect((ByteBuffer)buf); + else if (buf instanceof ShortBuffer) + checkDirect((ShortBuffer)buf); + else if (buf instanceof IntBuffer) + checkDirect((IntBuffer)buf); + else if (buf instanceof LongBuffer) + checkDirect((LongBuffer)buf); + else if (buf instanceof DoubleBuffer) + checkDirect((DoubleBuffer)buf); + else + throw new IllegalStateException("Unsupported buffer type"); + } + + public static void checkDirect(ByteBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("ByteBuffer is not direct"); + } + } + + public static void checkDirect(ShortBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("ShortBuffer is not direct"); + } + } + + public static void checkDirect(IntBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("IntBuffer is not direct"); + } + } + + public static void checkDirect(LongBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("LongBuffer is not direct"); + } + } + + public static void checkDirect(FloatBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("FloatBuffer is not direct"); + } + } + + public static void checkDirect(DoubleBuffer buf) { + if (!buf.isDirect()) { + throw new IllegalArgumentException("DoubleBuffer is not direct"); + } + } + + /** + * This is a separate call to help inline checkBufferSize. + */ + private static void throwBufferSizeException(Buffer buf, int size) { + throw new IllegalArgumentException("Number of remaining buffer elements is " + buf.remaining() + ", must be at least " + size); + } + + /** + * Helper method to ensure a buffer is big enough to receive data from a + * glGet* operation. + * + * @param buf + * The buffer to check + * @param size + * The minimum buffer size + * @throws IllegalArgumentException + */ + private static void checkBufferSize(Buffer buf, int size) { + if (buf.remaining() < size) { + throwBufferSizeException(buf, size); + } + } + + public static void checkBuffer(ByteBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + public static void checkBuffer(ShortBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + public static void checkBuffer(IntBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + public static void checkBuffer(LongBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + public static void checkBuffer(FloatBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + public static void checkBuffer(DoubleBuffer buf, int size) { + checkBufferSize(buf, size); + checkDirect(buf); + } + + /** + * Helper methods to ensure a buffer is big enough to receive data from a + * glGet* operation. To avoid unnecessarily complex buffer size checking + * we've just set the bar artificially high and insist that any receiving + * buffer has at least 4 remaining(). + * + * @param buf + * The buffer to check + * @throws IllegalArgumentException + */ + public static void checkBuffer(ByteBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } + + public static void checkBuffer(ShortBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } + + public static void checkBuffer(IntBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } + + public static void checkBuffer(LongBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } + + public static void checkBuffer(FloatBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } + + public static void checkBuffer(DoubleBuffer buf) { + checkBuffer(buf, DEFAULT_BUFFER_SIZE); + } +} diff --git a/lib/lwjgl/patch/org/lwjgl/opengl/GL11.java b/lib/lwjgl/patch/org/lwjgl/opengl/GL11.java new file mode 100644 index 0000000..31a7005 --- /dev/null +++ b/lib/lwjgl/patch/org/lwjgl/opengl/GL11.java @@ -0,0 +1,3023 @@ +/* MACHINE GENERATED FILE, DO NOT EDIT */ + +package org.lwjgl.opengl; + +import org.lwjgl.LWJGLException; +import org.lwjgl.BufferChecks; +import java.nio.*; + +public final class GL11 { + public static final int GL_ACCUM = 0x100; + public static final int GL_LOAD = 0x101; + public static final int GL_RETURN = 0x102; + public static final int GL_MULT = 0x103; + public static final int GL_ADD = 0x104; + public static final int GL_NEVER = 0x200; + public static final int GL_LESS = 0x201; + public static final int GL_EQUAL = 0x202; + public static final int GL_LEQUAL = 0x203; + public static final int GL_GREATER = 0x204; + public static final int GL_NOTEQUAL = 0x205; + public static final int GL_GEQUAL = 0x206; + public static final int GL_ALWAYS = 0x207; + public static final int GL_CURRENT_BIT = 0x1; + public static final int GL_POINT_BIT = 0x2; + public static final int GL_LINE_BIT = 0x4; + public static final int GL_POLYGON_BIT = 0x8; + public static final int GL_POLYGON_STIPPLE_BIT = 0x10; + public static final int GL_PIXEL_MODE_BIT = 0x20; + public static final int GL_LIGHTING_BIT = 0x40; + public static final int GL_FOG_BIT = 0x80; + public static final int GL_DEPTH_BUFFER_BIT = 0x100; + public static final int GL_ACCUM_BUFFER_BIT = 0x200; + public static final int GL_STENCIL_BUFFER_BIT = 0x400; + public static final int GL_VIEWPORT_BIT = 0x800; + public static final int GL_TRANSFORM_BIT = 0x1000; + public static final int GL_ENABLE_BIT = 0x2000; + public static final int GL_COLOR_BUFFER_BIT = 0x4000; + public static final int GL_HINT_BIT = 0x8000; + public static final int GL_EVAL_BIT = 0x10000; + public static final int GL_LIST_BIT = 0x20000; + public static final int GL_TEXTURE_BIT = 0x40000; + public static final int GL_SCISSOR_BIT = 0x80000; + public static final int GL_ALL_ATTRIB_BITS = 0xfffff; + public static final int GL_POINTS = 0x0; + public static final int GL_LINES = 0x1; + public static final int GL_LINE_LOOP = 0x2; + public static final int GL_LINE_STRIP = 0x3; + public static final int GL_TRIANGLES = 0x4; + public static final int GL_TRIANGLE_STRIP = 0x5; + public static final int GL_TRIANGLE_FAN = 0x6; + public static final int GL_QUADS = 0x7; + public static final int GL_QUAD_STRIP = 0x8; + public static final int GL_POLYGON = 0x9; + public static final int GL_ZERO = 0x0; + public static final int GL_ONE = 0x1; + public static final int GL_SRC_COLOR = 0x300; + public static final int GL_ONE_MINUS_SRC_COLOR = 0x301; + public static final int GL_SRC_ALPHA = 0x302; + public static final int GL_ONE_MINUS_SRC_ALPHA = 0x303; + public static final int GL_DST_ALPHA = 0x304; + public static final int GL_ONE_MINUS_DST_ALPHA = 0x305; + public static final int GL_DST_COLOR = 0x306; + public static final int GL_ONE_MINUS_DST_COLOR = 0x307; + public static final int GL_SRC_ALPHA_SATURATE = 0x308; + public static final int GL_CONSTANT_COLOR = 0x8001; + public static final int GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; + public static final int GL_CONSTANT_ALPHA = 0x8003; + public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; + public static final int GL_TRUE = 0x1; + public static final int GL_FALSE = 0x0; + public static final int GL_CLIP_PLANE0 = 0x3000; + public static final int GL_CLIP_PLANE1 = 0x3001; + public static final int GL_CLIP_PLANE2 = 0x3002; + public static final int GL_CLIP_PLANE3 = 0x3003; + public static final int GL_CLIP_PLANE4 = 0x3004; + public static final int GL_CLIP_PLANE5 = 0x3005; + public static final int GL_BYTE = 0x1400; + public static final int GL_UNSIGNED_BYTE = 0x1401; + public static final int GL_SHORT = 0x1402; + public static final int GL_UNSIGNED_SHORT = 0x1403; + public static final int GL_INT = 0x1404; + public static final int GL_UNSIGNED_INT = 0x1405; + public static final int GL_FLOAT = 0x1406; + public static final int GL_2_BYTES = 0x1407; + public static final int GL_3_BYTES = 0x1408; + public static final int GL_4_BYTES = 0x1409; + public static final int GL_DOUBLE = 0x140a; + public static final int GL_NONE = 0x0; + public static final int GL_FRONT_LEFT = 0x400; + public static final int GL_FRONT_RIGHT = 0x401; + public static final int GL_BACK_LEFT = 0x402; + public static final int GL_BACK_RIGHT = 0x403; + public static final int GL_FRONT = 0x404; + public static final int GL_BACK = 0x405; + public static final int GL_LEFT = 0x406; + public static final int GL_RIGHT = 0x407; + public static final int GL_FRONT_AND_BACK = 0x408; + public static final int GL_AUX0 = 0x409; + public static final int GL_AUX1 = 0x40a; + public static final int GL_AUX2 = 0x40b; + public static final int GL_AUX3 = 0x40c; + public static final int GL_NO_ERROR = 0x0; + public static final int GL_INVALID_ENUM = 0x500; + public static final int GL_INVALID_VALUE = 0x501; + public static final int GL_INVALID_OPERATION = 0x502; + public static final int GL_STACK_OVERFLOW = 0x503; + public static final int GL_STACK_UNDERFLOW = 0x504; + public static final int GL_OUT_OF_MEMORY = 0x505; + public static final int GL_2D = 0x600; + public static final int GL_3D = 0x601; + public static final int GL_3D_COLOR = 0x602; + public static final int GL_3D_COLOR_TEXTURE = 0x603; + public static final int GL_4D_COLOR_TEXTURE = 0x604; + public static final int GL_PASS_THROUGH_TOKEN = 0x700; + public static final int GL_POINT_TOKEN = 0x701; + public static final int GL_LINE_TOKEN = 0x702; + public static final int GL_POLYGON_TOKEN = 0x703; + public static final int GL_BITMAP_TOKEN = 0x704; + public static final int GL_DRAW_PIXEL_TOKEN = 0x705; + public static final int GL_COPY_PIXEL_TOKEN = 0x706; + public static final int GL_LINE_RESET_TOKEN = 0x707; + public static final int GL_EXP = 0x800; + public static final int GL_EXP2 = 0x801; + public static final int GL_CW = 0x900; + public static final int GL_CCW = 0x901; + public static final int GL_COEFF = 0xa00; + public static final int GL_ORDER = 0xa01; + public static final int GL_DOMAIN = 0xa02; + public static final int GL_CURRENT_COLOR = 0xb00; + public static final int GL_CURRENT_INDEX = 0xb01; + public static final int GL_CURRENT_NORMAL = 0xb02; + public static final int GL_CURRENT_TEXTURE_COORDS = 0xb03; + public static final int GL_CURRENT_RASTER_COLOR = 0xb04; + public static final int GL_CURRENT_RASTER_INDEX = 0xb05; + public static final int GL_CURRENT_RASTER_TEXTURE_COORDS = 0xb06; + public static final int GL_CURRENT_RASTER_POSITION = 0xb07; + public static final int GL_CURRENT_RASTER_POSITION_VALID = 0xb08; + public static final int GL_CURRENT_RASTER_DISTANCE = 0xb09; + public static final int GL_POINT_SMOOTH = 0xb10; + public static final int GL_POINT_SIZE = 0xb11; + public static final int GL_POINT_SIZE_RANGE = 0xb12; + public static final int GL_POINT_SIZE_GRANULARITY = 0xb13; + public static final int GL_LINE_SMOOTH = 0xb20; + public static final int GL_LINE_WIDTH = 0xb21; + public static final int GL_LINE_WIDTH_RANGE = 0xb22; + public static final int GL_LINE_WIDTH_GRANULARITY = 0xb23; + public static final int GL_LINE_STIPPLE = 0xb24; + public static final int GL_LINE_STIPPLE_PATTERN = 0xb25; + public static final int GL_LINE_STIPPLE_REPEAT = 0xb26; + public static final int GL_LIST_MODE = 0xb30; + public static final int GL_MAX_LIST_NESTING = 0xb31; + public static final int GL_LIST_BASE = 0xb32; + public static final int GL_LIST_INDEX = 0xb33; + public static final int GL_POLYGON_MODE = 0xb40; + public static final int GL_POLYGON_SMOOTH = 0xb41; + public static final int GL_POLYGON_STIPPLE = 0xb42; + public static final int GL_EDGE_FLAG = 0xb43; + public static final int GL_CULL_FACE = 0xb44; + public static final int GL_CULL_FACE_MODE = 0xb45; + public static final int GL_FRONT_FACE = 0xb46; + public static final int GL_LIGHTING = 0xb50; + public static final int GL_LIGHT_MODEL_LOCAL_VIEWER = 0xb51; + public static final int GL_LIGHT_MODEL_TWO_SIDE = 0xb52; + public static final int GL_LIGHT_MODEL_AMBIENT = 0xb53; + public static final int GL_SHADE_MODEL = 0xb54; + public static final int GL_COLOR_MATERIAL_FACE = 0xb55; + public static final int GL_COLOR_MATERIAL_PARAMETER = 0xb56; + public static final int GL_COLOR_MATERIAL = 0xb57; + public static final int GL_FOG = 0xb60; + public static final int GL_FOG_INDEX = 0xb61; + public static final int GL_FOG_DENSITY = 0xb62; + public static final int GL_FOG_START = 0xb63; + public static final int GL_FOG_END = 0xb64; + public static final int GL_FOG_MODE = 0xb65; + public static final int GL_FOG_COLOR = 0xb66; + public static final int GL_DEPTH_RANGE = 0xb70; + public static final int GL_DEPTH_TEST = 0xb71; + public static final int GL_DEPTH_WRITEMASK = 0xb72; + public static final int GL_DEPTH_CLEAR_VALUE = 0xb73; + public static final int GL_DEPTH_FUNC = 0xb74; + public static final int GL_ACCUM_CLEAR_VALUE = 0xb80; + public static final int GL_STENCIL_TEST = 0xb90; + public static final int GL_STENCIL_CLEAR_VALUE = 0xb91; + public static final int GL_STENCIL_FUNC = 0xb92; + public static final int GL_STENCIL_VALUE_MASK = 0xb93; + public static final int GL_STENCIL_FAIL = 0xb94; + public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0xb95; + public static final int GL_STENCIL_PASS_DEPTH_PASS = 0xb96; + public static final int GL_STENCIL_REF = 0xb97; + public static final int GL_STENCIL_WRITEMASK = 0xb98; + public static final int GL_MATRIX_MODE = 0xba0; + public static final int GL_NORMALIZE = 0xba1; + public static final int GL_VIEWPORT = 0xba2; + public static final int GL_MODELVIEW_STACK_DEPTH = 0xba3; + public static final int GL_PROJECTION_STACK_DEPTH = 0xba4; + public static final int GL_TEXTURE_STACK_DEPTH = 0xba5; + public static final int GL_MODELVIEW_MATRIX = 0xba6; + public static final int GL_PROJECTION_MATRIX = 0xba7; + public static final int GL_TEXTURE_MATRIX = 0xba8; + public static final int GL_ATTRIB_STACK_DEPTH = 0xbb0; + public static final int GL_CLIENT_ATTRIB_STACK_DEPTH = 0xbb1; + public static final int GL_ALPHA_TEST = 0xbc0; + public static final int GL_ALPHA_TEST_FUNC = 0xbc1; + public static final int GL_ALPHA_TEST_REF = 0xbc2; + public static final int GL_DITHER = 0xbd0; + public static final int GL_BLEND_DST = 0xbe0; + public static final int GL_BLEND_SRC = 0xbe1; + public static final int GL_BLEND = 0xbe2; + public static final int GL_LOGIC_OP_MODE = 0xbf0; + public static final int GL_INDEX_LOGIC_OP = 0xbf1; + public static final int GL_COLOR_LOGIC_OP = 0xbf2; + public static final int GL_AUX_BUFFERS = 0xc00; + public static final int GL_DRAW_BUFFER = 0xc01; + public static final int GL_READ_BUFFER = 0xc02; + public static final int GL_SCISSOR_BOX = 0xc10; + public static final int GL_SCISSOR_TEST = 0xc11; + public static final int GL_INDEX_CLEAR_VALUE = 0xc20; + public static final int GL_INDEX_WRITEMASK = 0xc21; + public static final int GL_COLOR_CLEAR_VALUE = 0xc22; + public static final int GL_COLOR_WRITEMASK = 0xc23; + public static final int GL_INDEX_MODE = 0xc30; + public static final int GL_RGBA_MODE = 0xc31; + public static final int GL_DOUBLEBUFFER = 0xc32; + public static final int GL_STEREO = 0xc33; + public static final int GL_RENDER_MODE = 0xc40; + public static final int GL_PERSPECTIVE_CORRECTION_HINT = 0xc50; + public static final int GL_POINT_SMOOTH_HINT = 0xc51; + public static final int GL_LINE_SMOOTH_HINT = 0xc52; + public static final int GL_POLYGON_SMOOTH_HINT = 0xc53; + public static final int GL_FOG_HINT = 0xc54; + public static final int GL_TEXTURE_GEN_S = 0xc60; + public static final int GL_TEXTURE_GEN_T = 0xc61; + public static final int GL_TEXTURE_GEN_R = 0xc62; + public static final int GL_TEXTURE_GEN_Q = 0xc63; + public static final int GL_PIXEL_MAP_I_TO_I = 0xc70; + public static final int GL_PIXEL_MAP_S_TO_S = 0xc71; + public static final int GL_PIXEL_MAP_I_TO_R = 0xc72; + public static final int GL_PIXEL_MAP_I_TO_G = 0xc73; + public static final int GL_PIXEL_MAP_I_TO_B = 0xc74; + public static final int GL_PIXEL_MAP_I_TO_A = 0xc75; + public static final int GL_PIXEL_MAP_R_TO_R = 0xc76; + public static final int GL_PIXEL_MAP_G_TO_G = 0xc77; + public static final int GL_PIXEL_MAP_B_TO_B = 0xc78; + public static final int GL_PIXEL_MAP_A_TO_A = 0xc79; + public static final int GL_PIXEL_MAP_I_TO_I_SIZE = 0xcb0; + public static final int GL_PIXEL_MAP_S_TO_S_SIZE = 0xcb1; + public static final int GL_PIXEL_MAP_I_TO_R_SIZE = 0xcb2; + public static final int GL_PIXEL_MAP_I_TO_G_SIZE = 0xcb3; + public static final int GL_PIXEL_MAP_I_TO_B_SIZE = 0xcb4; + public static final int GL_PIXEL_MAP_I_TO_A_SIZE = 0xcb5; + public static final int GL_PIXEL_MAP_R_TO_R_SIZE = 0xcb6; + public static final int GL_PIXEL_MAP_G_TO_G_SIZE = 0xcb7; + public static final int GL_PIXEL_MAP_B_TO_B_SIZE = 0xcb8; + public static final int GL_PIXEL_MAP_A_TO_A_SIZE = 0xcb9; + public static final int GL_UNPACK_SWAP_BYTES = 0xcf0; + public static final int GL_UNPACK_LSB_FIRST = 0xcf1; + public static final int GL_UNPACK_ROW_LENGTH = 0xcf2; + public static final int GL_UNPACK_SKIP_ROWS = 0xcf3; + public static final int GL_UNPACK_SKIP_PIXELS = 0xcf4; + public static final int GL_UNPACK_ALIGNMENT = 0xcf5; + public static final int GL_PACK_SWAP_BYTES = 0xd00; + public static final int GL_PACK_LSB_FIRST = 0xd01; + public static final int GL_PACK_ROW_LENGTH = 0xd02; + public static final int GL_PACK_SKIP_ROWS = 0xd03; + public static final int GL_PACK_SKIP_PIXELS = 0xd04; + public static final int GL_PACK_ALIGNMENT = 0xd05; + public static final int GL_MAP_COLOR = 0xd10; + public static final int GL_MAP_STENCIL = 0xd11; + public static final int GL_INDEX_SHIFT = 0xd12; + public static final int GL_INDEX_OFFSET = 0xd13; + public static final int GL_RED_SCALE = 0xd14; + public static final int GL_RED_BIAS = 0xd15; + public static final int GL_ZOOM_X = 0xd16; + public static final int GL_ZOOM_Y = 0xd17; + public static final int GL_GREEN_SCALE = 0xd18; + public static final int GL_GREEN_BIAS = 0xd19; + public static final int GL_BLUE_SCALE = 0xd1a; + public static final int GL_BLUE_BIAS = 0xd1b; + public static final int GL_ALPHA_SCALE = 0xd1c; + public static final int GL_ALPHA_BIAS = 0xd1d; + public static final int GL_DEPTH_SCALE = 0xd1e; + public static final int GL_DEPTH_BIAS = 0xd1f; + public static final int GL_MAX_EVAL_ORDER = 0xd30; + public static final int GL_MAX_LIGHTS = 0xd31; + public static final int GL_MAX_CLIP_PLANES = 0xd32; + public static final int GL_MAX_TEXTURE_SIZE = 0xd33; + public static final int GL_MAX_PIXEL_MAP_TABLE = 0xd34; + public static final int GL_MAX_ATTRIB_STACK_DEPTH = 0xd35; + public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 0xd36; + public static final int GL_MAX_NAME_STACK_DEPTH = 0xd37; + public static final int GL_MAX_PROJECTION_STACK_DEPTH = 0xd38; + public static final int GL_MAX_TEXTURE_STACK_DEPTH = 0xd39; + public static final int GL_MAX_VIEWPORT_DIMS = 0xd3a; + public static final int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0xd3b; + public static final int GL_SUBPIXEL_BITS = 0xd50; + public static final int GL_INDEX_BITS = 0xd51; + public static final int GL_RED_BITS = 0xd52; + public static final int GL_GREEN_BITS = 0xd53; + public static final int GL_BLUE_BITS = 0xd54; + public static final int GL_ALPHA_BITS = 0xd55; + public static final int GL_DEPTH_BITS = 0xd56; + public static final int GL_STENCIL_BITS = 0xd57; + public static final int GL_ACCUM_RED_BITS = 0xd58; + public static final int GL_ACCUM_GREEN_BITS = 0xd59; + public static final int GL_ACCUM_BLUE_BITS = 0xd5a; + public static final int GL_ACCUM_ALPHA_BITS = 0xd5b; + public static final int GL_NAME_STACK_DEPTH = 0xd70; + public static final int GL_AUTO_NORMAL = 0xd80; + public static final int GL_MAP1_COLOR_4 = 0xd90; + public static final int GL_MAP1_INDEX = 0xd91; + public static final int GL_MAP1_NORMAL = 0xd92; + public static final int GL_MAP1_TEXTURE_COORD_1 = 0xd93; + public static final int GL_MAP1_TEXTURE_COORD_2 = 0xd94; + public static final int GL_MAP1_TEXTURE_COORD_3 = 0xd95; + public static final int GL_MAP1_TEXTURE_COORD_4 = 0xd96; + public static final int GL_MAP1_VERTEX_3 = 0xd97; + public static final int GL_MAP1_VERTEX_4 = 0xd98; + public static final int GL_MAP2_COLOR_4 = 0xdb0; + public static final int GL_MAP2_INDEX = 0xdb1; + public static final int GL_MAP2_NORMAL = 0xdb2; + public static final int GL_MAP2_TEXTURE_COORD_1 = 0xdb3; + public static final int GL_MAP2_TEXTURE_COORD_2 = 0xdb4; + public static final int GL_MAP2_TEXTURE_COORD_3 = 0xdb5; + public static final int GL_MAP2_TEXTURE_COORD_4 = 0xdb6; + public static final int GL_MAP2_VERTEX_3 = 0xdb7; + public static final int GL_MAP2_VERTEX_4 = 0xdb8; + public static final int GL_MAP1_GRID_DOMAIN = 0xdd0; + public static final int GL_MAP1_GRID_SEGMENTS = 0xdd1; + public static final int GL_MAP2_GRID_DOMAIN = 0xdd2; + public static final int GL_MAP2_GRID_SEGMENTS = 0xdd3; + public static final int GL_TEXTURE_1D = 0xde0; + public static final int GL_TEXTURE_2D = 0xde1; + public static final int GL_FEEDBACK_BUFFER_POINTER = 0xdf0; + public static final int GL_FEEDBACK_BUFFER_SIZE = 0xdf1; + public static final int GL_FEEDBACK_BUFFER_TYPE = 0xdf2; + public static final int GL_SELECTION_BUFFER_POINTER = 0xdf3; + public static final int GL_SELECTION_BUFFER_SIZE = 0xdf4; + public static final int GL_TEXTURE_WIDTH = 0x1000; + public static final int GL_TEXTURE_HEIGHT = 0x1001; + public static final int GL_TEXTURE_INTERNAL_FORMAT = 0x1003; + public static final int GL_TEXTURE_BORDER_COLOR = 0x1004; + public static final int GL_TEXTURE_BORDER = 0x1005; + public static final int GL_DONT_CARE = 0x1100; + public static final int GL_FASTEST = 0x1101; + public static final int GL_NICEST = 0x1102; + public static final int GL_LIGHT0 = 0x4000; + public static final int GL_LIGHT1 = 0x4001; + public static final int GL_LIGHT2 = 0x4002; + public static final int GL_LIGHT3 = 0x4003; + public static final int GL_LIGHT4 = 0x4004; + public static final int GL_LIGHT5 = 0x4005; + public static final int GL_LIGHT6 = 0x4006; + public static final int GL_LIGHT7 = 0x4007; + public static final int GL_AMBIENT = 0x1200; + public static final int GL_DIFFUSE = 0x1201; + public static final int GL_SPECULAR = 0x1202; + public static final int GL_POSITION = 0x1203; + public static final int GL_SPOT_DIRECTION = 0x1204; + public static final int GL_SPOT_EXPONENT = 0x1205; + public static final int GL_SPOT_CUTOFF = 0x1206; + public static final int GL_CONSTANT_ATTENUATION = 0x1207; + public static final int GL_LINEAR_ATTENUATION = 0x1208; + public static final int GL_QUADRATIC_ATTENUATION = 0x1209; + public static final int GL_COMPILE = 0x1300; + public static final int GL_COMPILE_AND_EXECUTE = 0x1301; + public static final int GL_CLEAR = 0x1500; + public static final int GL_AND = 0x1501; + public static final int GL_AND_REVERSE = 0x1502; + public static final int GL_COPY = 0x1503; + public static final int GL_AND_INVERTED = 0x1504; + public static final int GL_NOOP = 0x1505; + public static final int GL_XOR = 0x1506; + public static final int GL_OR = 0x1507; + public static final int GL_NOR = 0x1508; + public static final int GL_EQUIV = 0x1509; + public static final int GL_INVERT = 0x150a; + public static final int GL_OR_REVERSE = 0x150b; + public static final int GL_COPY_INVERTED = 0x150c; + public static final int GL_OR_INVERTED = 0x150d; + public static final int GL_NAND = 0x150e; + public static final int GL_SET = 0x150f; + public static final int GL_EMISSION = 0x1600; + public static final int GL_SHININESS = 0x1601; + public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602; + public static final int GL_COLOR_INDEXES = 0x1603; + public static final int GL_MODELVIEW = 0x1700; + public static final int GL_PROJECTION = 0x1701; + public static final int GL_TEXTURE = 0x1702; + 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_COLOR_INDEX = 0x1900; + public static final int GL_STENCIL_INDEX = 0x1901; + public static final int GL_DEPTH_COMPONENT = 0x1902; + public static final int GL_RED = 0x1903; + public static final int GL_GREEN = 0x1904; + public static final int GL_BLUE = 0x1905; + public static final int GL_ALPHA = 0x1906; + public static final int GL_RGB = 0x1907; + public static final int GL_RGBA = 0x1908; + public static final int GL_LUMINANCE = 0x1909; + public static final int GL_LUMINANCE_ALPHA = 0x190a; + public static final int GL_BITMAP = 0x1a00; + public static final int GL_POINT = 0x1b00; + public static final int GL_LINE = 0x1b01; + public static final int GL_FILL = 0x1b02; + public static final int GL_RENDER = 0x1c00; + public static final int GL_FEEDBACK = 0x1c01; + public static final int GL_SELECT = 0x1c02; + public static final int GL_FLAT = 0x1d00; + public static final int GL_SMOOTH = 0x1d01; + public static final int GL_KEEP = 0x1e00; + public static final int GL_REPLACE = 0x1e01; + public static final int GL_INCR = 0x1e02; + public static final int GL_DECR = 0x1e03; + public static final int GL_VENDOR = 0x1f00; + public static final int GL_RENDERER = 0x1f01; + public static final int GL_VERSION = 0x1f02; + public static final int GL_EXTENSIONS = 0x1f03; + public static final int GL_S = 0x2000; + public static final int GL_T = 0x2001; + public static final int GL_R = 0x2002; + public static final int GL_Q = 0x2003; + public static final int GL_MODULATE = 0x2100; + public static final int GL_DECAL = 0x2101; + public static final int GL_TEXTURE_ENV_MODE = 0x2200; + public static final int GL_TEXTURE_ENV_COLOR = 0x2201; + public static final int GL_TEXTURE_ENV = 0x2300; + public static final int GL_EYE_LINEAR = 0x2400; + public static final int GL_OBJECT_LINEAR = 0x2401; + public static final int GL_SPHERE_MAP = 0x2402; + public static final int GL_TEXTURE_GEN_MODE = 0x2500; + public static final int GL_OBJECT_PLANE = 0x2501; + public static final int GL_EYE_PLANE = 0x2502; + public static final int GL_NEAREST = 0x2600; + public static final int GL_LINEAR = 0x2601; + public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700; + public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701; + public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702; + public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703; + public static final int GL_TEXTURE_MAG_FILTER = 0x2800; + public static final int GL_TEXTURE_MIN_FILTER = 0x2801; + public static final int GL_TEXTURE_WRAP_S = 0x2802; + public static final int GL_TEXTURE_WRAP_T = 0x2803; + public static final int GL_CLAMP = 0x2900; + public static final int GL_REPEAT = 0x2901; + public static final int GL_CLIENT_PIXEL_STORE_BIT = 0x1; + public static final int GL_CLIENT_VERTEX_ARRAY_BIT = 0x2; + public static final int GL_ALL_CLIENT_ATTRIB_BITS = 0xffffffff; + public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038; + public static final int GL_POLYGON_OFFSET_UNITS = 0x2a00; + public static final int GL_POLYGON_OFFSET_POINT = 0x2a01; + public static final int GL_POLYGON_OFFSET_LINE = 0x2a02; + public static final int GL_POLYGON_OFFSET_FILL = 0x8037; + public static final int GL_ALPHA4 = 0x803b; + public static final int GL_ALPHA8 = 0x803c; + public static final int GL_ALPHA12 = 0x803d; + public static final int GL_ALPHA16 = 0x803e; + public static final int GL_LUMINANCE4 = 0x803f; + public static final int GL_LUMINANCE8 = 0x8040; + public static final int GL_LUMINANCE12 = 0x8041; + public static final int GL_LUMINANCE16 = 0x8042; + public static final int GL_LUMINANCE4_ALPHA4 = 0x8043; + public static final int GL_LUMINANCE6_ALPHA2 = 0x8044; + public static final int GL_LUMINANCE8_ALPHA8 = 0x8045; + public static final int GL_LUMINANCE12_ALPHA4 = 0x8046; + public static final int GL_LUMINANCE12_ALPHA12 = 0x8047; + public static final int GL_LUMINANCE16_ALPHA16 = 0x8048; + public static final int GL_INTENSITY = 0x8049; + public static final int GL_INTENSITY4 = 0x804a; + public static final int GL_INTENSITY8 = 0x804b; + public static final int GL_INTENSITY12 = 0x804c; + public static final int GL_INTENSITY16 = 0x804d; + public static final int GL_R3_G3_B2 = 0x2a10; + public static final int GL_RGB4 = 0x804f; + public static final int GL_RGB5 = 0x8050; + public static final int GL_RGB8 = 0x8051; + public static final int GL_RGB10 = 0x8052; + public static final int GL_RGB12 = 0x8053; + public static final int GL_RGB16 = 0x8054; + public static final int GL_RGBA2 = 0x8055; + public static final int GL_RGBA4 = 0x8056; + public static final int GL_RGB5_A1 = 0x8057; + public static final int GL_RGBA8 = 0x8058; + public static final int GL_RGB10_A2 = 0x8059; + public static final int GL_RGBA12 = 0x805a; + public static final int GL_RGBA16 = 0x805b; + public static final int GL_TEXTURE_RED_SIZE = 0x805c; + public static final int GL_TEXTURE_GREEN_SIZE = 0x805d; + public static final int GL_TEXTURE_BLUE_SIZE = 0x805e; + public static final int GL_TEXTURE_ALPHA_SIZE = 0x805f; + public static final int GL_TEXTURE_LUMINANCE_SIZE = 0x8060; + public static final int GL_TEXTURE_INTENSITY_SIZE = 0x8061; + public static final int GL_PROXY_TEXTURE_1D = 0x8063; + public static final int GL_PROXY_TEXTURE_2D = 0x8064; + public static final int GL_TEXTURE_PRIORITY = 0x8066; + public static final int GL_TEXTURE_RESIDENT = 0x8067; + public static final int GL_TEXTURE_BINDING_1D = 0x8068; + public static final int GL_TEXTURE_BINDING_2D = 0x8069; + public static final int GL_VERTEX_ARRAY = 0x8074; + public static final int GL_NORMAL_ARRAY = 0x8075; + public static final int GL_COLOR_ARRAY = 0x8076; + public static final int GL_INDEX_ARRAY = 0x8077; + public static final int GL_TEXTURE_COORD_ARRAY = 0x8078; + public static final int GL_EDGE_FLAG_ARRAY = 0x8079; + public static final int GL_VERTEX_ARRAY_SIZE = 0x807a; + public static final int GL_VERTEX_ARRAY_TYPE = 0x807b; + public static final int GL_VERTEX_ARRAY_STRIDE = 0x807c; + public static final int GL_NORMAL_ARRAY_TYPE = 0x807e; + public static final int GL_NORMAL_ARRAY_STRIDE = 0x807f; + public static final int GL_COLOR_ARRAY_SIZE = 0x8081; + public static final int GL_COLOR_ARRAY_TYPE = 0x8082; + public static final int GL_COLOR_ARRAY_STRIDE = 0x8083; + public static final int GL_INDEX_ARRAY_TYPE = 0x8085; + public static final int GL_INDEX_ARRAY_STRIDE = 0x8086; + public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088; + public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089; + public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808a; + public static final int GL_EDGE_FLAG_ARRAY_STRIDE = 0x808c; + public static final int GL_VERTEX_ARRAY_POINTER = 0x808e; + public static final int GL_NORMAL_ARRAY_POINTER = 0x808f; + public static final int GL_COLOR_ARRAY_POINTER = 0x8090; + public static final int GL_INDEX_ARRAY_POINTER = 0x8091; + public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092; + public static final int GL_EDGE_FLAG_ARRAY_POINTER = 0x8093; + public static final int GL_V2F = 0x2a20; + public static final int GL_V3F = 0x2a21; + public static final int GL_C4UB_V2F = 0x2a22; + public static final int GL_C4UB_V3F = 0x2a23; + public static final int GL_C3F_V3F = 0x2a24; + public static final int GL_N3F_V3F = 0x2a25; + public static final int GL_C4F_N3F_V3F = 0x2a26; + public static final int GL_T2F_V3F = 0x2a27; + public static final int GL_T4F_V4F = 0x2a28; + public static final int GL_T2F_C4UB_V3F = 0x2a29; + public static final int GL_T2F_C3F_V3F = 0x2a2a; + public static final int GL_T2F_N3F_V3F = 0x2a2b; + public static final int GL_T2F_C4F_N3F_V3F = 0x2a2c; + public static final int GL_T4F_C4F_N3F_V4F = 0x2a2d; + public static final int GL_LOGIC_OP = 0xbf1; + public static final int GL_TEXTURE_COMPONENTS = 0x1003; + + private GL11() { + } + + + public static void glAccum(int op, float value) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glAccum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAccum(op, value, function_pointer); + } + private static native void nglAccum(int op, float value, long function_pointer); + + public static void glAlphaFunc(int func, float ref) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glAlphaFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAlphaFunc(func, ref, function_pointer); + } + private static native void nglAlphaFunc(int func, float ref, long function_pointer); + + public static void glClearColor(float red, float green, float blue, float alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClearColor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearColor(red, green, blue, alpha, function_pointer); + } + private static native void nglClearColor(float red, float green, float blue, float alpha, long function_pointer); + + public static void glClearAccum(float red, float green, float blue, float alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClearAccum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearAccum(red, green, blue, alpha, function_pointer); + } + private static native void nglClearAccum(float red, float green, float blue, float alpha, long function_pointer); + + public static void glClear(int mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClear_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClear(mask, function_pointer); + } + private static native void nglClear(int mask, long function_pointer); + + public static void glCallLists(ByteBuffer lists) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(lists); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_BYTE, lists, lists.position(), function_pointer); + } + public static void glCallLists(IntBuffer lists) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(lists); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_INT, lists, lists.position() << 2, function_pointer); + } + public static void glCallLists(ShortBuffer lists) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(lists); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_SHORT, lists, lists.position() << 1, function_pointer); + } + private static native void nglCallLists(int n, int type, Buffer lists, int lists_position, long function_pointer); + + public static void glCallList(int list) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCallList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCallList(list, function_pointer); + } + private static native void nglCallList(int list, long function_pointer); + + public static void glBlendFunc(int sfactor, int dfactor) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glBlendFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendFunc(sfactor, dfactor, function_pointer); + } + private static native void nglBlendFunc(int sfactor, int dfactor, long function_pointer); + + public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glBitmap_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(bitmap, (((width + 7)/8)*height)); + nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position(), function_pointer); + } + private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_position, long function_pointer); + public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, long bitmap_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glBitmap_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglBitmapBO(width, height, xorig, yorig, xmove, ymove, bitmap_buffer_offset, function_pointer); + } + private static native void nglBitmapBO(int width, int height, float xorig, float yorig, float xmove, float ymove, long bitmap_buffer_offset, long function_pointer); + + public static void glBindTexture(int target, int texture) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glBindTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindTexture(target, texture, function_pointer); + } + private static native void nglBindTexture(int target, int texture, long function_pointer); + + public static void glPrioritizeTextures(IntBuffer textures, FloatBuffer priorities) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPrioritizeTextures_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(textures); + BufferChecks.checkBuffer(priorities, textures.remaining()); + nglPrioritizeTextures((textures.remaining()), textures, textures.position(), priorities, priorities.position(), function_pointer); + } + private static native void nglPrioritizeTextures(int n, IntBuffer textures, int textures_position, FloatBuffer priorities, int priorities_position, long function_pointer); + + public static boolean glAreTexturesResident(IntBuffer textures, ByteBuffer residences) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glAreTexturesResident_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(textures); + BufferChecks.checkBuffer(residences, textures.remaining()); + boolean __result = nglAreTexturesResident((textures.remaining()), textures, textures.position(), residences, residences.position(), function_pointer); + return __result; + } + private static native boolean nglAreTexturesResident(int n, IntBuffer textures, int textures_position, ByteBuffer residences, int residences_position, long function_pointer); + + public static void glBegin(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glBegin_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBegin(mode, function_pointer); + } + private static native void nglBegin(int mode, long function_pointer); + + public static void glEnd() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEnd_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnd(function_pointer); + } + private static native void nglEnd(long function_pointer); + + public static void glArrayElement(int i) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glArrayElement_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglArrayElement(i, function_pointer); + } + private static native void nglArrayElement(int i, long function_pointer); + + public static void glClearDepth(double depth) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClearDepth_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearDepth(depth, function_pointer); + } + private static native void nglClearDepth(double depth, long function_pointer); + + public static void glDeleteLists(int list, int range) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDeleteLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteLists(list, range, function_pointer); + } + private static native void nglDeleteLists(int list, int range, long function_pointer); + + public static void glDeleteTextures(IntBuffer textures) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDeleteTextures_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(textures); + nglDeleteTextures((textures.remaining()), textures, textures.position(), function_pointer); + } + private static native void nglDeleteTextures(int n, IntBuffer textures, int textures_position, long function_pointer); + + public static void glCullFace(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCullFace_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCullFace(mode, function_pointer); + } + private static native void nglCullFace(int mode, long function_pointer); + + public static void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCopyTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height, function_pointer); + } + private static native void nglCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height, long function_pointer); + + public static void glCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCopyTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexSubImage1D(target, level, xoffset, x, y, width, function_pointer); + } + private static native void nglCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width, long function_pointer); + + public static void glCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCopyTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexImage2D(target, level, internalFormat, x, y, width, height, border, function_pointer); + } + private static native void nglCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border, long function_pointer); + + public static void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCopyTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexImage1D(target, level, internalFormat, x, y, width, border, function_pointer); + } + private static native void nglCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border, long function_pointer); + + public static void glCopyPixels(int x, int y, int width, int height, int type) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glCopyPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyPixels(x, y, width, height, type, function_pointer); + } + private static native void nglCopyPixels(int x, int y, int width, int height, int type, long function_pointer); + + public static void glColorPointer(int size, int stride, DoubleBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glColorPointer_pointer = pointer; + nglColorPointer(size, GL11.GL_DOUBLE, stride, pointer, pointer.position() << 3, function_pointer); + } + public static void glColorPointer(int size, int stride, FloatBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glColorPointer_pointer = pointer; + nglColorPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); + } + public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glColorPointer_pointer = pointer; + nglColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pointer, pointer.position(), function_pointer); + } + private static native void nglColorPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glColorPointer(int size, int type, int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglColorPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); + } + private static native void nglColorPointerBO(int size, int type, int stride, long pointer_buffer_offset, long function_pointer); + + public static void glColorMaterial(int face, int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorMaterial_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorMaterial(face, mode, function_pointer); + } + private static native void nglColorMaterial(int face, int mode, long function_pointer); + + public static void glColorMask(boolean red, boolean green, boolean blue, boolean alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColorMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorMask(red, green, blue, alpha, function_pointer); + } + private static native void nglColorMask(boolean red, boolean green, boolean blue, boolean alpha, long function_pointer); + + public static void glColor3b(byte red, byte green, byte blue) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor3b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3b(red, green, blue, function_pointer); + } + private static native void nglColor3b(byte red, byte green, byte blue, long function_pointer); + + public static void glColor3f(float red, float green, float blue) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3f(red, green, blue, function_pointer); + } + private static native void nglColor3f(float red, float green, float blue, long function_pointer); + + public static void glColor3d(double red, double green, double blue) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor3d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3d(red, green, blue, function_pointer); + } + private static native void nglColor3d(double red, double green, double blue, long function_pointer); + + public static void glColor3ub(byte red, byte green, byte blue) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor3ub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3ub(red, green, blue, function_pointer); + } + private static native void nglColor3ub(byte red, byte green, byte blue, long function_pointer); + + public static void glColor4b(byte red, byte green, byte blue, byte alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor4b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4b(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4b(byte red, byte green, byte blue, byte alpha, long function_pointer); + + public static void glColor4f(float red, float green, float blue, float alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4f(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4f(float red, float green, float blue, float alpha, long function_pointer); + + public static void glColor4d(double red, double green, double blue, double alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor4d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4d(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4d(double red, double green, double blue, double alpha, long function_pointer); + + public static void glColor4ub(byte red, byte green, byte blue, byte alpha) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glColor4ub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4ub(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4ub(byte red, byte green, byte blue, byte alpha, long function_pointer); + + public static void glClipPlane(int plane, DoubleBuffer equation) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClipPlane_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(equation, 4); + nglClipPlane(plane, equation, equation.position(), function_pointer); + } + private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_position, long function_pointer); + + public static void glClearStencil(int s) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glClearStencil_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearStencil(s, function_pointer); + } + private static native void nglClearStencil(int s, long function_pointer); + + public static void glEvalPoint1(int i) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalPoint1_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalPoint1(i, function_pointer); + } + private static native void nglEvalPoint1(int i, long function_pointer); + + public static void glEvalPoint2(int i, int j) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalPoint2_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalPoint2(i, j, function_pointer); + } + private static native void nglEvalPoint2(int i, int j, long function_pointer); + + public static void glEvalMesh1(int mode, int i1, int i2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalMesh1_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalMesh1(mode, i1, i2, function_pointer); + } + private static native void nglEvalMesh1(int mode, int i1, int i2, long function_pointer); + + public static void glEvalMesh2(int mode, int i1, int i2, int j1, int j2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalMesh2_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalMesh2(mode, i1, i2, j1, j2, function_pointer); + } + private static native void nglEvalMesh2(int mode, int i1, int i2, int j1, int j2, long function_pointer); + + public static void glEvalCoord1f(float u) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalCoord1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord1f(u, function_pointer); + } + private static native void nglEvalCoord1f(float u, long function_pointer); + + public static void glEvalCoord1d(double u) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalCoord1d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord1d(u, function_pointer); + } + private static native void nglEvalCoord1d(double u, long function_pointer); + + public static void glEvalCoord2f(float u, float v) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalCoord2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord2f(u, v, function_pointer); + } + private static native void nglEvalCoord2f(float u, float v, long function_pointer); + + public static void glEvalCoord2d(double u, double v) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEvalCoord2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord2d(u, v, function_pointer); + } + private static native void nglEvalCoord2d(double u, double v, long function_pointer); + + public static void glEnableClientState(int cap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEnableClientState_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnableClientState(cap, function_pointer); + } + private static native void nglEnableClientState(int cap, long function_pointer); + + public static void glDisableClientState(int cap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDisableClientState_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisableClientState(cap, function_pointer); + } + private static native void nglDisableClientState(int cap, long function_pointer); + + public static void glEnable(int cap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEnable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnable(cap, function_pointer); + } + private static native void nglEnable(int cap, long function_pointer); + + public static void glDisable(int cap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDisable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisable(cap, function_pointer); + } + private static native void nglDisable(int cap, long function_pointer); + + public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEdgeFlagPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glEdgeFlagPointer_pointer = pointer; + nglEdgeFlagPointer(stride, pointer, pointer.position(), function_pointer); + } + private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glEdgeFlagPointer(int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEdgeFlagPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglEdgeFlagPointerBO(stride, pointer_buffer_offset, function_pointer); + } + private static native void nglEdgeFlagPointerBO(int stride, long pointer_buffer_offset, long function_pointer); + + public static void glEdgeFlag(boolean flag) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEdgeFlag_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEdgeFlag(flag, function_pointer); + } + private static native void nglEdgeFlag(boolean flag, long function_pointer); + + public static void glDrawPixels(int width, int height, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglDrawPixels(width, height, format, type, pixels, pixels.position(), function_pointer); + } + public static void glDrawPixels(int width, int height, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglDrawPixels(width, height, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1, function_pointer); + } + private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glDrawPixels(int width, int height, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglDrawPixelsBO(width, height, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglDrawPixelsBO(int width, int height, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glDrawElements(int mode, ByteBuffer indices) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureElementVBOdisabled(caps); + BufferChecks.checkDirect(indices); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_BYTE, indices, indices.position(), function_pointer); + } + public static void glDrawElements(int mode, IntBuffer indices) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureElementVBOdisabled(caps); + BufferChecks.checkDirect(indices); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2, function_pointer); + } + public static void glDrawElements(int mode, ShortBuffer indices) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureElementVBOdisabled(caps); + BufferChecks.checkDirect(indices); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1, function_pointer); + } + private static native void nglDrawElements(int mode, int count, int type, Buffer indices, int indices_position, long function_pointer); + public static void glDrawElements(int mode, int count, int type, long indices_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureElementVBOenabled(caps); + nglDrawElementsBO(mode, count, type, indices_buffer_offset, function_pointer); + } + private static native void nglDrawElementsBO(int mode, int count, int type, long indices_buffer_offset, long function_pointer); + + public static void glDrawBuffer(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawBuffer(mode, function_pointer); + } + private static native void nglDrawBuffer(int mode, long function_pointer); + + public static void glDrawArrays(int mode, int first, int count) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDrawArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawArrays(mode, first, count, function_pointer); + } + private static native void nglDrawArrays(int mode, int first, int count, long function_pointer); + + public static void glDepthRange(double zNear, double zFar) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDepthRange_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthRange(zNear, zFar, function_pointer); + } + private static native void nglDepthRange(double zNear, double zFar, long function_pointer); + + public static void glDepthMask(boolean flag) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDepthMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthMask(flag, function_pointer); + } + private static native void nglDepthMask(boolean flag, long function_pointer); + + public static void glDepthFunc(int func) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glDepthFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthFunc(func, function_pointer); + } + private static native void nglDepthFunc(int func, long function_pointer); + + public static void glFeedbackBuffer(int type, FloatBuffer buffer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFeedbackBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(buffer); + nglFeedbackBuffer((buffer.remaining()), type, buffer, buffer.position(), function_pointer); + } + private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_position, long function_pointer); + + public static void glGetPixelMap(int map, FloatBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(values, 256); + nglGetPixelMapfv(map, values, values.position(), function_pointer); + } + private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_position, long function_pointer); + public static void glGetPixelMapfv(int map, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglGetPixelMapfvBO(map, values_buffer_offset, function_pointer); + } + private static native void nglGetPixelMapfvBO(int map, long values_buffer_offset, long function_pointer); + + public static void glGetPixelMapu(int map, IntBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(values, 256); + nglGetPixelMapuiv(map, values, values.position(), function_pointer); + } + private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_position, long function_pointer); + public static void glGetPixelMapuiv(int map, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglGetPixelMapuivBO(map, values_buffer_offset, function_pointer); + } + private static native void nglGetPixelMapuivBO(int map, long values_buffer_offset, long function_pointer); + + public static void glGetPixelMapu(int map, ShortBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(values, 256); + nglGetPixelMapusv(map, values, values.position(), function_pointer); + } + private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_position, long function_pointer); + public static void glGetPixelMapusv(int map, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglGetPixelMapusvBO(map, values_buffer_offset, function_pointer); + } + private static native void nglGetPixelMapusvBO(int map, long values_buffer_offset, long function_pointer); + + public static void glGetMaterial(int face, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetMaterialfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetMaterialfv(face, pname, params, params.position(), function_pointer); + } + private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetMaterial(int face, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetMaterialiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetMaterialiv(face, pname, params, params.position(), function_pointer); + } + private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGetMap(int target, int query, FloatBuffer v) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(v, 256); + nglGetMapfv(target, query, v, v.position(), function_pointer); + } + private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_position, long function_pointer); + + public static void glGetMap(int target, int query, DoubleBuffer v) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetMapdv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(v, 256); + nglGetMapdv(target, query, v, v.position(), function_pointer); + } + private static native void nglGetMapdv(int target, int query, DoubleBuffer v, int v_position, long function_pointer); + + public static void glGetMap(int target, int query, IntBuffer v) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetMapiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(v, 256); + nglGetMapiv(target, query, v, v.position(), function_pointer); + } + private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_position, long function_pointer); + + public static void glGetLight(int light, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetLightfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetLightfv(light, pname, params, params.position(), function_pointer); + } + private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetLight(int light, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetLightiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetLightiv(light, pname, params, params.position(), function_pointer); + } + private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_position, long function_pointer); + + public static int glGetError() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetError_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetError(function_pointer); + return __result; + } + private static native int nglGetError(long function_pointer); + + public static void glGetClipPlane(int plane, DoubleBuffer equation) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetClipPlane_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(equation, 4); + nglGetClipPlane(plane, equation, equation.position(), function_pointer); + } + private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_position, long function_pointer); + + public static void glGetBoolean(int pname, ByteBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetBooleanv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 16); + nglGetBooleanv(pname, params, params.position(), function_pointer); + } + private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_position, long function_pointer); + + public static void glGetDouble(int pname, DoubleBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetDoublev_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 16); + nglGetDoublev(pname, params, params.position(), function_pointer); + } + private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_position, long function_pointer); + + public static void glGetFloat(int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetFloatv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 16); + nglGetFloatv(pname, params, params.position(), function_pointer); + } + private static native void nglGetFloatv(int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetInteger(int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetIntegerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 16); + nglGetIntegerv(pname, params, params.position(), function_pointer); + } + private static native void nglGetIntegerv(int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGenTextures(IntBuffer textures) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGenTextures_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(textures); + nglGenTextures((textures.remaining()), textures, textures.position(), function_pointer); + } + private static native void nglGenTextures(int n, IntBuffer textures, int textures_position, long function_pointer); + + public static int glGenLists(int range) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGenLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGenLists(range, function_pointer); + return __result; + } + private static native int nglGenLists(int range, long function_pointer); + + public static void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFrustum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFrustum(left, right, bottom, top, zNear, zFar, function_pointer); + } + private static native void nglFrustum(double left, double right, double bottom, double top, double zNear, double zFar, long function_pointer); + + public static void glFrontFace(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFrontFace_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFrontFace(mode, function_pointer); + } + private static native void nglFrontFace(int mode, long function_pointer); + + public static void glFogf(int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFogf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogf(pname, param, function_pointer); + } + private static native void nglFogf(int pname, float param, long function_pointer); + + public static void glFogi(int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFogi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogi(pname, param, function_pointer); + } + private static native void nglFogi(int pname, int param, long function_pointer); + + public static void glFog(int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFogfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglFogfv(pname, params, params.position(), function_pointer); + } + private static native void nglFogfv(int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glFog(int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFogiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglFogiv(pname, params, params.position(), function_pointer); + } + private static native void nglFogiv(int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glFlush() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFlush_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFlush(function_pointer); + } + private static native void nglFlush(long function_pointer); + + public static void glFinish() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glFinish_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFinish(function_pointer); + } + private static native void nglFinish(long function_pointer); + + public static java.nio.ByteBuffer glGetPointer(int pname, long result_size) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPointerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetPointerv(pname, result_size, function_pointer); + return __result; + } + private static native java.nio.ByteBuffer nglGetPointerv(int pname, long result_size, long function_pointer); + + public static boolean glIsEnabled(int cap) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glIsEnabled_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsEnabled(cap, function_pointer); + return __result; + } + private static native boolean nglIsEnabled(int cap, long function_pointer); + + public static void glInterleavedArrays(int format, int stride, ByteBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position(), function_pointer); + } + public static void glInterleavedArrays(int format, int stride, DoubleBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 3, function_pointer); + } + public static void glInterleavedArrays(int format, int stride, FloatBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 2, function_pointer); + } + public static void glInterleavedArrays(int format, int stride, IntBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 2, function_pointer); + } + public static void glInterleavedArrays(int format, int stride, ShortBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 1, function_pointer); + } + private static native void nglInterleavedArrays(int format, int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glInterleavedArrays(int format, int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglInterleavedArraysBO(format, stride, pointer_buffer_offset, function_pointer); + } + private static native void nglInterleavedArraysBO(int format, int stride, long pointer_buffer_offset, long function_pointer); + + public static void glInitNames() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glInitNames_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInitNames(function_pointer); + } + private static native void nglInitNames(long function_pointer); + + public static void glHint(int target, int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glHint_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglHint(target, mode, function_pointer); + } + private static native void nglHint(int target, int mode, long function_pointer); + + public static void glGetTexParameter(int target, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexParameterfv(target, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetTexParameter(int target, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexParameteriv(target, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGetTexLevelParameter(int target, int level, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexLevelParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexLevelParameterfv(target, level, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetTexLevelParameter(int target, int level, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexLevelParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexLevelParameteriv(target, level, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); + nglGetTexImage(target, level, format, type, pixels, pixels.position(), function_pointer); + } + public static void glGetTexImage(int target, int level, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 3, function_pointer); + } + public static void glGetTexImage(int target, int level, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glGetTexImage(int target, int level, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1, function_pointer); + } + private static native void nglGetTexImage(int target, int level, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glGetTexImage(int target, int level, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglGetTexImageBO(target, level, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglGetTexImageBO(int target, int level, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glGetTexGen(int coord, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexGeniv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexGeniv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexGeniv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGetTexGen(int coord, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexGenfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexGenfv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexGenfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glGetTexGen(int coord, int pname, DoubleBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexGendv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexGendv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexGendv(int coord, int pname, DoubleBuffer params, int params_position, long function_pointer); + + public static void glGetTexEnv(int coord, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexEnviv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexEnviv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glGetTexEnv(int coord, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetTexEnvfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglGetTexEnvfv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static java.lang.String glGetString(int name) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetString_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.lang.String __result = nglGetString(name, function_pointer); + return __result; + } + private static native java.lang.String nglGetString(int name, long function_pointer); + + public static void glGetPolygonStipple(ByteBuffer mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(mask, 1024); + nglGetPolygonStipple(mask, mask.position(), function_pointer); + } + private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_position, long function_pointer); + public static void glGetPolygonStipple(long mask_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glGetPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglGetPolygonStippleBO(mask_buffer_offset, function_pointer); + } + private static native void nglGetPolygonStippleBO(long mask_buffer_offset, long function_pointer); + + public static boolean glIsList(int list) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glIsList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsList(list, function_pointer); + return __result; + } + private static native boolean nglIsList(int list, long function_pointer); + + public static void glMaterialf(int face, int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMaterialf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMaterialf(face, pname, param, function_pointer); + } + private static native void nglMaterialf(int face, int pname, float param, long function_pointer); + + public static void glMateriali(int face, int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMateriali_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMateriali(face, pname, param, function_pointer); + } + private static native void nglMateriali(int face, int pname, int param, long function_pointer); + + public static void glMaterial(int face, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMaterialfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglMaterialfv(face, pname, params, params.position(), function_pointer); + } + private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glMaterial(int face, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMaterialiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglMaterialiv(face, pname, params, params.position(), function_pointer); + } + private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glMapGrid1f(int un, float u1, float u2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMapGrid1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid1f(un, u1, u2, function_pointer); + } + private static native void nglMapGrid1f(int un, float u1, float u2, long function_pointer); + + public static void glMapGrid1d(int un, double u1, double u2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMapGrid1d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid1d(un, u1, u2, function_pointer); + } + private static native void nglMapGrid1d(int un, double u1, double u2, long function_pointer); + + public static void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMapGrid2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid2f(un, u1, u2, vn, v1, v2, function_pointer); + } + private static native void nglMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2, long function_pointer); + + public static void glMapGrid2d(int un, double u1, double u2, int vn, double v1, double v2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMapGrid2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid2d(un, u1, u2, vn, v1, v2, function_pointer); + } + private static native void nglMapGrid2d(int un, double u1, double u2, int vn, double v1, double v2, long function_pointer); + + public static void glMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMap2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(points); + nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position(), function_pointer); + } + private static native void nglMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points, int points_position, long function_pointer); + + public static void glMap2d(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, DoubleBuffer points) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMap2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(points); + nglMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position(), function_pointer); + } + private static native void nglMap2d(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, DoubleBuffer points, int points_position, long function_pointer); + + public static void glMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMap1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(points); + nglMap1f(target, u1, u2, stride, order, points, points.position(), function_pointer); + } + private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_position, long function_pointer); + + public static void glMap1d(int target, double u1, double u2, int stride, int order, DoubleBuffer points) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMap1d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(points); + nglMap1d(target, u1, u2, stride, order, points, points.position(), function_pointer); + } + private static native void nglMap1d(int target, double u1, double u2, int stride, int order, DoubleBuffer points, int points_position, long function_pointer); + + public static void glLogicOp(int opcode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLogicOp_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLogicOp(opcode, function_pointer); + } + private static native void nglLogicOp(int opcode, long function_pointer); + + public static void glLoadName(int name) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLoadName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadName(name, function_pointer); + } + private static native void nglLoadName(int name, long function_pointer); + + public static void glLoadMatrix(FloatBuffer m) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLoadMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(m, 16); + nglLoadMatrixf(m, m.position(), function_pointer); + } + private static native void nglLoadMatrixf(FloatBuffer m, int m_position, long function_pointer); + + public static void glLoadMatrix(DoubleBuffer m) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLoadMatrixd_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(m, 16); + nglLoadMatrixd(m, m.position(), function_pointer); + } + private static native void nglLoadMatrixd(DoubleBuffer m, int m_position, long function_pointer); + + public static void glLoadIdentity() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLoadIdentity_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadIdentity(function_pointer); + } + private static native void nglLoadIdentity(long function_pointer); + + public static void glListBase(int base) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glListBase_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglListBase(base, function_pointer); + } + private static native void nglListBase(int base, long function_pointer); + + public static void glLineWidth(float width) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLineWidth_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLineWidth(width, function_pointer); + } + private static native void nglLineWidth(float width, long function_pointer); + + public static void glLineStipple(int factor, short pattern) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLineStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLineStipple(factor, pattern, function_pointer); + } + private static native void nglLineStipple(int factor, short pattern, long function_pointer); + + public static void glLightModelf(int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightModelf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModelf(pname, param, function_pointer); + } + private static native void nglLightModelf(int pname, float param, long function_pointer); + + public static void glLightModeli(int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightModeli_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModeli(pname, param, function_pointer); + } + private static native void nglLightModeli(int pname, int param, long function_pointer); + + public static void glLightModel(int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightModelfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglLightModelfv(pname, params, params.position(), function_pointer); + } + private static native void nglLightModelfv(int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glLightModel(int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightModeliv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglLightModeliv(pname, params, params.position(), function_pointer); + } + private static native void nglLightModeliv(int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glLightf(int light, int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightf(light, pname, param, function_pointer); + } + private static native void nglLightf(int light, int pname, float param, long function_pointer); + + public static void glLighti(int light, int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLighti_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLighti(light, pname, param, function_pointer); + } + private static native void nglLighti(int light, int pname, int param, long function_pointer); + + public static void glLight(int light, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglLightfv(light, pname, params, params.position(), function_pointer); + } + private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glLight(int light, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glLightiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglLightiv(light, pname, params, params.position(), function_pointer); + } + private static native void nglLightiv(int light, int pname, IntBuffer params, int params_position, long function_pointer); + + public static boolean glIsTexture(int texture) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glIsTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsTexture(texture, function_pointer); + return __result; + } + private static native boolean nglIsTexture(int texture, long function_pointer); + + public static void glMatrixMode(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMatrixMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixMode(mode, function_pointer); + } + private static native void nglMatrixMode(int mode, long function_pointer); + + public static void glPolygonStipple(ByteBuffer mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(mask, 1024); + nglPolygonStipple(mask, mask.position(), function_pointer); + } + private static native void nglPolygonStipple(ByteBuffer mask, int mask_position, long function_pointer); + public static void glPolygonStipple(long mask_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglPolygonStippleBO(mask_buffer_offset, function_pointer); + } + private static native void nglPolygonStippleBO(long mask_buffer_offset, long function_pointer); + + public static void glPolygonOffset(float factor, float units) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPolygonOffset_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonOffset(factor, units, function_pointer); + } + private static native void nglPolygonOffset(float factor, float units, long function_pointer); + + public static void glPolygonMode(int face, int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPolygonMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonMode(face, mode, function_pointer); + } + private static native void nglPolygonMode(int face, int mode, long function_pointer); + + public static void glPointSize(float size) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPointSize_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointSize(size, function_pointer); + } + private static native void nglPointSize(float size, long function_pointer); + + public static void glPixelZoom(float xfactor, float yfactor) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelZoom_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelZoom(xfactor, yfactor, function_pointer); + } + private static native void nglPixelZoom(float xfactor, float yfactor, long function_pointer); + + public static void glPixelTransferf(int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelTransferf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelTransferf(pname, param, function_pointer); + } + private static native void nglPixelTransferf(int pname, float param, long function_pointer); + + public static void glPixelTransferi(int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelTransferi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelTransferi(pname, param, function_pointer); + } + private static native void nglPixelTransferi(int pname, int param, long function_pointer); + + public static void glPixelStoref(int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelStoref_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelStoref(pname, param, function_pointer); + } + private static native void nglPixelStoref(int pname, float param, long function_pointer); + + public static void glPixelStorei(int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelStorei_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelStorei(pname, param, function_pointer); + } + private static native void nglPixelStorei(int pname, int param, long function_pointer); + + public static void glPixelMap(int map, FloatBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkDirect(values); + nglPixelMapfv(map, (values.remaining()), values, values.position(), function_pointer); + } + private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_position, long function_pointer); + public static void glPixelMapfv(int map, int mapsize, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglPixelMapfvBO(map, mapsize, values_buffer_offset, function_pointer); + } + private static native void nglPixelMapfvBO(int map, int mapsize, long values_buffer_offset, long function_pointer); + + public static void glPixelMapu(int map, IntBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkDirect(values); + nglPixelMapuiv(map, (values.remaining()), values, values.position(), function_pointer); + } + private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_position, long function_pointer); + public static void glPixelMapuiv(int map, int mapsize, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglPixelMapuivBO(map, mapsize, values_buffer_offset, function_pointer); + } + private static native void nglPixelMapuivBO(int map, int mapsize, long values_buffer_offset, long function_pointer); + + public static void glPixelMapu(int map, ShortBuffer values) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkDirect(values); + nglPixelMapusv(map, (values.remaining()), values, values.position(), function_pointer); + } + private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_position, long function_pointer); + public static void glPixelMapusv(int map, int mapsize, long values_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglPixelMapusvBO(map, mapsize, values_buffer_offset, function_pointer); + } + private static native void nglPixelMapusvBO(int map, int mapsize, long values_buffer_offset, long function_pointer); + + public static void glPassThrough(float token) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPassThrough_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPassThrough(token, function_pointer); + } + private static native void nglPassThrough(float token, long function_pointer); + + public static void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glOrtho_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglOrtho(left, right, bottom, top, zNear, zFar, function_pointer); + } + private static native void nglOrtho(double left, double right, double bottom, double top, double zNear, double zFar, long function_pointer); + + public static void glNormalPointer(int stride, ByteBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glNormalPointer_pointer = pointer; + nglNormalPointer(GL11.GL_BYTE, stride, pointer, pointer.position(), function_pointer); + } + public static void glNormalPointer(int stride, DoubleBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glNormalPointer_pointer = pointer; + nglNormalPointer(GL11.GL_DOUBLE, stride, pointer, pointer.position() << 3, function_pointer); + } + public static void glNormalPointer(int stride, FloatBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glNormalPointer_pointer = pointer; + nglNormalPointer(GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); + } + public static void glNormalPointer(int stride, IntBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glNormalPointer_pointer = pointer; + nglNormalPointer(GL11.GL_INT, stride, pointer, pointer.position() << 2, function_pointer); + } + private static native void nglNormalPointer(int type, int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glNormalPointer(int type, int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglNormalPointerBO(type, stride, pointer_buffer_offset, function_pointer); + } + private static native void nglNormalPointerBO(int type, int stride, long pointer_buffer_offset, long function_pointer); + + public static void glNormal3b(byte nx, byte ny, byte nz) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormal3b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3b(nx, ny, nz, function_pointer); + } + private static native void nglNormal3b(byte nx, byte ny, byte nz, long function_pointer); + + public static void glNormal3f(float nx, float ny, float nz) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormal3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3f(nx, ny, nz, function_pointer); + } + private static native void nglNormal3f(float nx, float ny, float nz, long function_pointer); + + public static void glNormal3d(double nx, double ny, double nz) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormal3d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3d(nx, ny, nz, function_pointer); + } + private static native void nglNormal3d(double nx, double ny, double nz, long function_pointer); + + public static void glNormal3i(int nx, int ny, int nz) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNormal3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3i(nx, ny, nz, function_pointer); + } + private static native void nglNormal3i(int nx, int ny, int nz, long function_pointer); + + public static void glNewList(int list, int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glNewList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNewList(list, mode, function_pointer); + } + private static native void nglNewList(int list, int mode, long function_pointer); + + public static void glEndList() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glEndList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndList(function_pointer); + } + private static native void nglEndList(long function_pointer); + + public static void glMultMatrix(FloatBuffer m) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMultMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(m, 16); + nglMultMatrixf(m, m.position(), function_pointer); + } + private static native void nglMultMatrixf(FloatBuffer m, int m_position, long function_pointer); + + public static void glMultMatrix(DoubleBuffer m) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glMultMatrixd_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(m, 16); + nglMultMatrixd(m, m.position(), function_pointer); + } + private static native void nglMultMatrixd(DoubleBuffer m, int m_position, long function_pointer); + + public static void glShadeModel(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glShadeModel_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShadeModel(mode, function_pointer); + } + private static native void nglShadeModel(int mode, long function_pointer); + + public static void glSelectBuffer(IntBuffer buffer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glSelectBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkDirect(buffer); + GLChecks.getReferences(caps).GL11_glSelectBuffer_buffer = buffer; + nglSelectBuffer((buffer.remaining()), buffer, buffer.position(), function_pointer); + } + private static native void nglSelectBuffer(int size, IntBuffer buffer, int buffer_position, long function_pointer); + + public static void glScissor(int x, int y, int width, int height) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glScissor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglScissor(x, y, width, height, function_pointer); + } + private static native void nglScissor(int x, int y, int width, int height, long function_pointer); + + public static void glScalef(float x, float y, float z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glScalef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglScalef(x, y, z, function_pointer); + } + private static native void nglScalef(float x, float y, float z, long function_pointer); + + public static void glScaled(double x, double y, double z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glScaled_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglScaled(x, y, z, function_pointer); + } + private static native void nglScaled(double x, double y, double z, long function_pointer); + + public static void glRotatef(float angle, float x, float y, float z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRotatef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRotatef(angle, x, y, z, function_pointer); + } + private static native void nglRotatef(float angle, float x, float y, float z, long function_pointer); + + public static int glRenderMode(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRenderMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglRenderMode(mode, function_pointer); + return __result; + } + private static native int nglRenderMode(int mode, long function_pointer); + + public static void glRectf(float x1, float y1, float x2, float y2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRectf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRectf(x1, y1, x2, y2, function_pointer); + } + private static native void nglRectf(float x1, float y1, float x2, float y2, long function_pointer); + + public static void glRectd(double x1, double y1, double x2, double y2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRectd_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRectd(x1, y1, x2, y2, function_pointer); + } + private static native void nglRectd(double x1, double y1, double x2, double y2, long function_pointer); + + public static void glRecti(int x1, int y1, int x2, int y2) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRecti_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRecti(x1, y1, x2, y2, function_pointer); + } + private static native void nglRecti(int x1, int y1, int x2, int y2, long function_pointer); + + public static void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position(), function_pointer); + } + public static void glReadPixels(int x, int y, int width, int height, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 3, function_pointer); + } + public static void glReadPixels(int x, int y, int width, int height, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glReadPixels(int x, int y, int width, int height, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glReadPixels(int x, int y, int width, int height, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 1, function_pointer); + } + private static native void nglReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glReadPixels(int x, int y, int width, int height, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensurePackPBOenabled(caps); + nglReadPixelsBO(x, y, width, height, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglReadPixelsBO(int x, int y, int width, int height, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glReadBuffer(int mode) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glReadBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadBuffer(mode, function_pointer); + } + private static native void nglReadBuffer(int mode, long function_pointer); + + public static void glRasterPos2f(float x, float y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos2f(x, y, function_pointer); + } + private static native void nglRasterPos2f(float x, float y, long function_pointer); + + public static void glRasterPos2d(double x, double y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos2d(x, y, function_pointer); + } + private static native void nglRasterPos2d(double x, double y, long function_pointer); + + public static void glRasterPos2i(int x, int y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos2i(x, y, function_pointer); + } + private static native void nglRasterPos2i(int x, int y, long function_pointer); + + public static void glRasterPos3f(float x, float y, float z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos3f(x, y, z, function_pointer); + } + private static native void nglRasterPos3f(float x, float y, float z, long function_pointer); + + public static void glRasterPos3d(double x, double y, double z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos3d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos3d(x, y, z, function_pointer); + } + private static native void nglRasterPos3d(double x, double y, double z, long function_pointer); + + public static void glRasterPos3i(int x, int y, int z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos3i(x, y, z, function_pointer); + } + private static native void nglRasterPos3i(int x, int y, int z, long function_pointer); + + public static void glRasterPos4f(float x, float y, float z, float w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos4f(x, y, z, w, function_pointer); + } + private static native void nglRasterPos4f(float x, float y, float z, float w, long function_pointer); + + public static void glRasterPos4d(double x, double y, double z, double w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos4d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos4d(x, y, z, w, function_pointer); + } + private static native void nglRasterPos4d(double x, double y, double z, double w, long function_pointer); + + public static void glRasterPos4i(int x, int y, int z, int w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glRasterPos4i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos4i(x, y, z, w, function_pointer); + } + private static native void nglRasterPos4i(int x, int y, int z, int w, long function_pointer); + + public static void glPushName(int name) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPushName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushName(name, function_pointer); + } + private static native void nglPushName(int name, long function_pointer); + + public static void glPopName() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPopName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopName(function_pointer); + } + private static native void nglPopName(long function_pointer); + + public static void glPushMatrix() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPushMatrix_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushMatrix(function_pointer); + } + private static native void nglPushMatrix(long function_pointer); + + public static void glPopMatrix() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPopMatrix_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopMatrix(function_pointer); + } + private static native void nglPopMatrix(long function_pointer); + + public static void glPushClientAttrib(int mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPushClientAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + StateTracker.pushAttrib(caps, mask); + nglPushClientAttrib(mask, function_pointer); + } + private static native void nglPushClientAttrib(int mask, long function_pointer); + + public static void glPopClientAttrib() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPopClientAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + StateTracker.popAttrib(caps); + nglPopClientAttrib(function_pointer); + } + private static native void nglPopClientAttrib(long function_pointer); + + public static void glPushAttrib(int mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPushAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushAttrib(mask, function_pointer); + } + private static native void nglPushAttrib(int mask, long function_pointer); + + public static void glPopAttrib() { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glPopAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopAttrib(function_pointer); + } + private static native void nglPopAttrib(long function_pointer); + + public static void glStencilFunc(int func, int ref, int mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glStencilFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilFunc(func, ref, mask, function_pointer); + } + private static native void nglStencilFunc(int func, int ref, int mask, long function_pointer); + + public static void glVertexPointer(int size, int stride, DoubleBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glVertexPointer_pointer = pointer; + nglVertexPointer(size, GL11.GL_DOUBLE, stride, pointer, pointer.position() << 3, function_pointer); + } + public static void glVertexPointer(int size, int stride, FloatBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glVertexPointer_pointer = pointer; + nglVertexPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); + } + public static void glVertexPointer(int size, int stride, IntBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glVertexPointer_pointer = pointer; + nglVertexPointer(size, GL11.GL_INT, stride, pointer, pointer.position() << 2, function_pointer); + } + private static native void nglVertexPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glVertexPointer(int size, int type, int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglVertexPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); + } + private static native void nglVertexPointerBO(int size, int type, int stride, long pointer_buffer_offset, long function_pointer); + + public static void glVertex2f(float x, float y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2f(x, y, function_pointer); + } + private static native void nglVertex2f(float x, float y, long function_pointer); + + public static void glVertex2d(double x, double y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2d(x, y, function_pointer); + } + private static native void nglVertex2d(double x, double y, long function_pointer); + + public static void glVertex2i(int x, int y) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2i(x, y, function_pointer); + } + private static native void nglVertex2i(int x, int y, long function_pointer); + + public static void glVertex3f(float x, float y, float z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3f(x, y, z, function_pointer); + } + private static native void nglVertex3f(float x, float y, float z, long function_pointer); + + public static void glVertex3d(double x, double y, double z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex3d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3d(x, y, z, function_pointer); + } + private static native void nglVertex3d(double x, double y, double z, long function_pointer); + + public static void glVertex3i(int x, int y, int z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3i(x, y, z, function_pointer); + } + private static native void nglVertex3i(int x, int y, int z, long function_pointer); + + public static void glVertex4f(float x, float y, float z, float w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4f(x, y, z, w, function_pointer); + } + private static native void nglVertex4f(float x, float y, float z, float w, long function_pointer); + + public static void glVertex4d(double x, double y, double z, double w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex4d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4d(x, y, z, w, function_pointer); + } + private static native void nglVertex4d(double x, double y, double z, double w, long function_pointer); + + public static void glVertex4i(int x, int y, int z, int w) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glVertex4i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4i(x, y, z, w, function_pointer); + } + private static native void nglVertex4i(int x, int y, int z, int w, long function_pointer); + + public static void glTranslatef(float x, float y, float z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTranslatef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTranslatef(x, y, z, function_pointer); + } + private static native void nglTranslatef(float x, float y, float z, long function_pointer); + + public static void glTranslated(double x, double y, double z) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTranslated_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTranslated(x, y, z, function_pointer); + } + private static native void nglTranslated(double x, double y, double z, long function_pointer); + + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() : 0, function_pointer); + } + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 3 : 0, function_pointer); + } + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); + } + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); + } + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0, function_pointer); + } + private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglTexImage1DBO(target, level, internalformat, width, border, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglTexImage1DBO(int target, int level, int internalformat, int width, int border, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() : 0, function_pointer); + } + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 3 : 0, function_pointer); + } + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); + } + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); + } + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + if (pixels != null) + BufferChecks.checkBuffer(pixels, GLChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0, function_pointer); + } + private static native void nglTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglTexImage2DBO(target, level, internalformat, width, height, border, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position(), function_pointer); + } + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 3, function_pointer); + } + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 1, function_pointer); + } + private static native void nglTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglTexSubImage1DBO(target, level, xoffset, width, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position(), function_pointer); + } + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, DoubleBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 3, function_pointer); + } + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, FloatBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, IntBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2, function_pointer); + } + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ShortBuffer pixels) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOdisabled(caps); + BufferChecks.checkBuffer(pixels, GLChecks.calculateImageStorage(pixels, format, type, width, height, 1)); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 1, function_pointer); + } + private static native void nglTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); + public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureUnpackPBOenabled(caps); + nglTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, type, pixels_buffer_offset, function_pointer); + } + private static native void nglTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels_buffer_offset, long function_pointer); + + public static void glTexParameterf(int target, int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexParameterf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameterf(target, pname, param, function_pointer); + } + private static native void nglTexParameterf(int target, int pname, float param, long function_pointer); + + public static void glTexParameteri(int target, int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexParameteri_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameteri(target, pname, param, function_pointer); + } + private static native void nglTexParameteri(int target, int pname, int param, long function_pointer); + + public static void glTexParameter(int target, int pname, FloatBuffer param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(param, 4); + nglTexParameterfv(target, pname, param, param.position(), function_pointer); + } + private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position, long function_pointer); + + public static void glTexParameter(int target, int pname, IntBuffer param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(param, 4); + nglTexParameteriv(target, pname, param, param.position(), function_pointer); + } + private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position, long function_pointer); + + public static void glTexGenf(int coord, int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGenf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGenf(coord, pname, param, function_pointer); + } + private static native void nglTexGenf(int coord, int pname, float param, long function_pointer); + + public static void glTexGend(int coord, int pname, double param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGend_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGend(coord, pname, param, function_pointer); + } + private static native void nglTexGend(int coord, int pname, double param, long function_pointer); + + public static void glTexGen(int coord, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGenfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglTexGenfv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glTexGen(int coord, int pname, DoubleBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGendv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglTexGendv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglTexGendv(int coord, int pname, DoubleBuffer params, int params_position, long function_pointer); + + public static void glTexGeni(int coord, int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGeni_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGeni(coord, pname, param, function_pointer); + } + private static native void nglTexGeni(int coord, int pname, int param, long function_pointer); + + public static void glTexGen(int coord, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexGeniv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglTexGeniv(coord, pname, params, params.position(), function_pointer); + } + private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glTexEnvf(int target, int pname, float param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexEnvf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnvf(target, pname, param, function_pointer); + } + private static native void nglTexEnvf(int target, int pname, float param, long function_pointer); + + public static void glTexEnvi(int target, int pname, int param) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexEnvi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnvi(target, pname, param, function_pointer); + } + private static native void nglTexEnvi(int target, int pname, int param, long function_pointer); + + public static void glTexEnv(int target, int pname, FloatBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexEnvfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglTexEnvfv(target, pname, params, params.position(), function_pointer); + } + private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); + + public static void glTexEnv(int target, int pname, IntBuffer params) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexEnviv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + BufferChecks.checkBuffer(params, 4); + nglTexEnviv(target, pname, params, params.position(), function_pointer); + } + private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_position, long function_pointer); + + public static void glTexCoordPointer(int size, int stride, DoubleBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glTexCoordPointer_pointer = pointer; + nglTexCoordPointer(size, GL11.GL_DOUBLE, stride, pointer, pointer.position() << 3, function_pointer); + } + public static void glTexCoordPointer(int size, int stride, FloatBuffer pointer) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOdisabled(caps); + BufferChecks.checkDirect(pointer); + GLChecks.getReferences(caps).GL11_glTexCoordPointer_pointer = pointer; + nglTexCoordPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); + } + private static native void nglTexCoordPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); + public static void glTexCoordPointer(int size, int type, int stride, long pointer_buffer_offset) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + GLChecks.ensureArrayVBOenabled(caps); + nglTexCoordPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); + } + private static native void nglTexCoordPointerBO(int size, int type, int stride, long pointer_buffer_offset, long function_pointer); + + public static void glTexCoord1f(float s) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord1f(s, function_pointer); + } + private static native void nglTexCoord1f(float s, long function_pointer); + + public static void glTexCoord1d(double s) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord1d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord1d(s, function_pointer); + } + private static native void nglTexCoord1d(double s, long function_pointer); + + public static void glTexCoord2f(float s, float t) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord2f(s, t, function_pointer); + } + private static native void nglTexCoord2f(float s, float t, long function_pointer); + + public static void glTexCoord2d(double s, double t) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord2d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord2d(s, t, function_pointer); + } + private static native void nglTexCoord2d(double s, double t, long function_pointer); + + public static void glTexCoord3f(float s, float t, float r) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord3f(s, t, r, function_pointer); + } + private static native void nglTexCoord3f(float s, float t, float r, long function_pointer); + + public static void glTexCoord3d(double s, double t, double r) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord3d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord3d(s, t, r, function_pointer); + } + private static native void nglTexCoord3d(double s, double t, double r, long function_pointer); + + public static void glTexCoord4f(float s, float t, float r, float q) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord4f(s, t, r, q, function_pointer); + } + private static native void nglTexCoord4f(float s, float t, float r, float q, long function_pointer); + + public static void glTexCoord4d(double s, double t, double r, double q) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glTexCoord4d_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord4d(s, t, r, q, function_pointer); + } + private static native void nglTexCoord4d(double s, double t, double r, double q, long function_pointer); + + public static void glStencilOp(int fail, int zfail, int zpass) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glStencilOp_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilOp(fail, zfail, zpass, function_pointer); + } + private static native void nglStencilOp(int fail, int zfail, int zpass, long function_pointer); + + public static void glStencilMask(int mask) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glStencilMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilMask(mask, function_pointer); + } + private static native void nglStencilMask(int mask, long function_pointer); + + public static void glViewport(int x, int y, int width, int height) { + ContextCapabilities caps = GLContext.getCapabilities(); + long function_pointer = caps.GL11_glViewport_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglViewport(x, y, width, height, function_pointer); + } + private static native void nglViewport(int x, int y, int width, int height, long function_pointer); +} diff --git a/lib/lwjgl/patch/org/lwjgl/opengl/GLChecks.java b/lib/lwjgl/patch/org/lwjgl/opengl/GLChecks.java new file mode 100644 index 0000000..4511acc --- /dev/null +++ b/lib/lwjgl/patch/org/lwjgl/opengl/GLChecks.java @@ -0,0 +1,239 @@ +/* + * Copyright (c) 2002-2004 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import java.nio.Buffer; +import java.nio.IntBuffer; + +import org.lwjgl.BufferUtils; + +/** + * A class to check buffer boundaries in GL methods. Many GL + * methods read data from the GL into a native Buffer at its current position. If there is unsufficient space in the buffer when + * the call is made then a buffer overflow would otherwise occur and cause unexpected behaviour, a crash, or worse, a security + * risk. Therefore in those methods where GL reads data back into a buffer, we will call a bounds check method from this class + * to ensure that there is sufficient space in the buffer. + * <p/> + * Thrown by the debug build library of the LWJGL if any OpenGL operation causes an error. + * + * @author cix_foo <[email protected]> + * @version $Revision: 1.1 $ + * $Id: GLChecks.java,v 1.1 2007-03-17 15:59:54 cawe Exp $ + */ +class GLChecks { + + /** Static methods only! */ + private GLChecks() { + } + + static References getReferences(ContextCapabilities caps) { + return StateTracker.getReferencesStack(caps).getReferences(); + } + + static int getBufferObjectSize(ContextCapabilities caps, int buffer_enum) { + IntBuffer scratch_buffer = caps.scratch_int_buffer; + GL15.glGetBufferParameter(buffer_enum, GL15.GL_BUFFER_SIZE, scratch_buffer); + return scratch_buffer.get(0); + } + + static int getBufferObjectSizeARB(ContextCapabilities caps, int buffer_enum) { + IntBuffer scratch_buffer = caps.scratch_int_buffer; + ARBBufferObject.glGetBufferParameterARB(buffer_enum, ARBBufferObject.GL_BUFFER_SIZE_ARB, scratch_buffer); + return scratch_buffer.get(0); + } + + private static boolean checkBufferObject(ContextCapabilities caps, int buffer_enum, boolean state) { + IntBuffer scratch_buffer = caps.scratch_int_buffer; + GL11.glGetInteger(buffer_enum, scratch_buffer); + boolean is_enabled = scratch_buffer.get(0) != 0; + return state == is_enabled; + } + + /** Helper method to ensure that array buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */ + static void ensureArrayVBOdisabled(ContextCapabilities caps) { + if ((caps.OpenGL15 && !checkBufferObject(caps, GL15.GL_ARRAY_BUFFER_BINDING, false) || + (caps.GL_ARB_vertex_buffer_object && !checkBufferObject(caps, ARBVertexBufferObject.GL_ARRAY_BUFFER_BINDING_ARB, false)))) + throw new OpenGLException("Cannot use Buffers when Array Buffer Object is enabled"); + } + + /** Helper method to ensure that array buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */ + static void ensureArrayVBOenabled(ContextCapabilities caps) { + if ((caps.OpenGL15 && !checkBufferObject(caps, GL15.GL_ARRAY_BUFFER_BINDING, true) || + (caps.GL_ARB_vertex_buffer_object && !checkBufferObject(caps, ARBVertexBufferObject.GL_ARRAY_BUFFER_BINDING_ARB, true)))) + throw new OpenGLException("Cannot use offsets when Array Buffer Object is disabled"); + } + + /** Helper method to ensure that element array buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */ + static void ensureElementVBOdisabled(ContextCapabilities caps) { + if ((caps.OpenGL15 && !checkBufferObject(caps, GL15.GL_ELEMENT_ARRAY_BUFFER_BINDING, false) || + (caps.GL_ARB_vertex_buffer_object && !checkBufferObject(caps, ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, false)))) + throw new OpenGLException("Cannot use Buffers when Element Array Buffer Object is enabled"); + } + + /** Helper method to ensure that element array buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */ + static void ensureElementVBOenabled(ContextCapabilities caps) { + if ((caps.OpenGL15 && !checkBufferObject(caps, GL15.GL_ELEMENT_ARRAY_BUFFER_BINDING, true) || + (caps.GL_ARB_vertex_buffer_object && !checkBufferObject(caps, ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, true)))) + throw new OpenGLException("Cannot use offsets when Element Array Buffer Object is disabled"); + } + + /** Helper method to ensure that pixel pack buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */ + static void ensurePackPBOdisabled(ContextCapabilities caps) { + if ((caps.GL_ARB_pixel_buffer_object && !checkBufferObject(caps, ARBPixelBufferObject.GL_PIXEL_PACK_BUFFER_BINDING_ARB, false) || (caps.GL_EXT_pixel_buffer_object && !checkBufferObject(caps, EXTPixelBufferObject.GL_PIXEL_PACK_BUFFER_BINDING_EXT, false)))) + throw new OpenGLException("Cannot use Buffers when Pixel Pack Buffer Object is enabled"); + } + + /** Helper method to ensure that pixel pack buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */ + static void ensurePackPBOenabled(ContextCapabilities caps) { + if ((caps.GL_ARB_pixel_buffer_object && !checkBufferObject(caps, ARBPixelBufferObject.GL_PIXEL_PACK_BUFFER_BINDING_ARB, true) || + (caps.GL_EXT_pixel_buffer_object && !checkBufferObject(caps, EXTPixelBufferObject.GL_PIXEL_PACK_BUFFER_BINDING_EXT, true)))) + throw new OpenGLException("Cannot use offsets when Pixel Pack Buffer Object is disabled"); + } + + /** Helper method to ensure that pixel unpack buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */ + static void ensureUnpackPBOdisabled(ContextCapabilities caps) { + if ((caps.GL_ARB_pixel_buffer_object && !checkBufferObject(caps, ARBPixelBufferObject.GL_PIXEL_UNPACK_BUFFER_BINDING_ARB, false) || + (caps.GL_EXT_pixel_buffer_object && !checkBufferObject(caps, EXTPixelBufferObject.GL_PIXEL_UNPACK_BUFFER_BINDING_EXT, false)))) + throw new OpenGLException("Cannot use Buffers when Pixel Unpack Buffer Object is enabled"); + } + + /** Helper method to ensure that pixel unpack buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */ + static void ensureUnpackPBOenabled(ContextCapabilities caps) { + if ((caps.GL_ARB_pixel_buffer_object && !checkBufferObject(caps, ARBPixelBufferObject.GL_PIXEL_UNPACK_BUFFER_BINDING_ARB, true) || + (caps.GL_EXT_pixel_buffer_object && !checkBufferObject(caps, EXTPixelBufferObject.GL_PIXEL_UNPACK_BUFFER_BINDING_EXT, true)))) + throw new OpenGLException("Cannot use offsets when Pixel Unpack Buffer Object is disabled"); + } + + /** + * Calculate the storage required for an image in elements + * + * @param format The format of the image (example: GL_RGBA) + * @param type The type of the image elements (example: GL_UNSIGNED_BYTE) + * @param width The width of the image + * @param height The height of the image (1 for 1D images) + * @param depth The depth of the image (1 for 2D images) + * + * @return the size, in elements, of the image + */ + static int calculateImageStorage(Buffer buffer, int format, int type, int width, int height, int depth) { + return calculateImageStorage(format, type, width, height, depth) >> BufferUtils.getElementSizeExponent(buffer); + } + + static int calculateTexImage1DStorage(Buffer buffer, int format, int type, int width, int border) { + return calculateTexImage1DStorage(format, type, width, border) >> BufferUtils.getElementSizeExponent(buffer); + } + + static int calculateTexImage2DStorage(Buffer buffer, int format, int type, int width, int height, int border) { + return calculateTexImage2DStorage(format, type, width, height, border) >> BufferUtils.getElementSizeExponent(buffer); + } + + static int calculateTexImage3DStorage(Buffer buffer, int format, int type, int width, int height, int depth, int border) { + return calculateTexImage3DStorage(format, type, width, height, depth, border) >> BufferUtils.getElementSizeExponent(buffer); + } + + /** + * Calculate the storage required for an image in bytes. + * + * @param format The format of the image (example: GL_RGBA) + * @param type The type of the image elements (example: GL_UNSIGNED_BYTE) + * @param width The width of the image + * @param height The height of the image (1 for 1D images) + * @param depth The depth of the image (1 for 2D images) + * + * @return the size, in bytes, of the image + */ + private static int calculateImageStorage(int format, int type, int width, int height, int depth) { + return calculateBytesPerPixel(format, type) * width * height * depth; + } + + private static int calculateTexImage1DStorage(int format, int type, int width, int border) { + return calculateBytesPerPixel(format, type) * (width + (border << 1)); + } + + private static int calculateTexImage2DStorage(int format, int type, int width, int height, int border) { + return calculateTexImage1DStorage(format, type, width, border) * (height + (border << 1)); + } + + private static int calculateTexImage3DStorage(int format, int type, int width, int height, int depth, int border) { + return calculateTexImage2DStorage(format, type, width, height, border) * (depth + (border << 1)); + } + + private static int calculateBytesPerPixel(int format, int type) { + int bpe; + switch ( type ) { + case GL11.GL_UNSIGNED_BYTE: + case GL11.GL_BYTE: + bpe = 1; + break; + case GL11.GL_UNSIGNED_SHORT: + case GL11.GL_SHORT: + bpe = 2; + break; + case GL11.GL_UNSIGNED_INT: + case GL11.GL_INT: + case GL11.GL_FLOAT: + bpe = 4; + break; + default : + // TODO: Add more types (like the GL12 types GL_UNSIGNED_INT_8_8_8_8 + return 0; + // throw new IllegalArgumentException("Unknown type " + type); + } + int epp; + switch ( format ) { + case GL11.GL_LUMINANCE: + case GL11.GL_ALPHA: + epp = 1; + break; + + case GL11.GL_LUMINANCE_ALPHA: + epp = 2; + break; + case GL11.GL_RGB: + case EXTBgra.GL_BGR_EXT: + epp = 3; + break; + case GL11.GL_RGBA: + case EXTAbgr.GL_ABGR_EXT: + case EXTBgra.GL_BGRA_EXT: + epp = 4; + break; + default : + // TODO: Add more formats. Assuming 4 is too wasteful on buffer sizes where e.g. 1 is enough (like GL_DEPTH_COMPONENT) + return 0; +/* // Assume 4 elements per pixel + epp = 4;*/ + } + + return bpe * epp; + } +} |