New buffer bounds checking code. Incomplete.
This commit is contained in:
parent
6839a17408
commit
10dd32bb95
|
@ -0,0 +1,122 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2002 Lightweight Java Game Library 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 'Light Weight Java Game Library' 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.BufferOverflowException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $Id$
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* Thrown by the debug build library of the LWJGL if any OpenGL operation
|
||||||
|
* causes an error.
|
||||||
|
*
|
||||||
|
* @author cix_foo <cix_foo@users.sourceforge.net>
|
||||||
|
* @version $Revision$
|
||||||
|
*/
|
||||||
|
class BufferChecks {
|
||||||
|
|
||||||
|
/** Static methods only! */
|
||||||
|
private BufferChecks() {}
|
||||||
|
|
||||||
|
private static Map pixelMapMap = new HashMap();
|
||||||
|
private static Map getMap = new HashMap();
|
||||||
|
private static final Util.IntValue scratchInt = new Util.IntValue(0);
|
||||||
|
|
||||||
|
static void putPixelMap(int from, int to) {
|
||||||
|
pixelMapMap.put(new Util.IntValue(from), new Util.IntValue(to));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void putGetMap(int enum, int size) {
|
||||||
|
getMap.put(new Util.IntValue(enum), new Util.IntValue(size));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ensure that a pixel map buffer is big enough
|
||||||
|
*/
|
||||||
|
static void checkPixelMapBuffer(int map, Buffer buf) {
|
||||||
|
scratchInt.value = map;
|
||||||
|
Util.IntValue ret = (Util.IntValue) pixelMapMap.get(scratchInt);
|
||||||
|
if (ret == null) {
|
||||||
|
throw new OpenGLException("Unknown pixel map value "+map);
|
||||||
|
} else {
|
||||||
|
GL11.glGetInteger(ret.value, Util.int_buffer);
|
||||||
|
int size = Util.int_buffer.get(0);
|
||||||
|
if (buf.remaining() < size) {
|
||||||
|
throw new BufferOverflowException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ensure that a buffer for glGet is big enough
|
||||||
|
*/
|
||||||
|
static void checkGetBuffer(int enum, Buffer buf) {
|
||||||
|
scratchInt.value = enum;
|
||||||
|
Util.IntValue ret = (Util.IntValue) getMap.get(scratchInt);
|
||||||
|
if (ret == null) {
|
||||||
|
throw new OpenGLException("Unknown enum glGet* "+enum);
|
||||||
|
} else if (buf.remaining() < ret.value) {
|
||||||
|
throw new BufferOverflowException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to ensure that vertex buffer objects are disabled.
|
||||||
|
* If they are enabled, we'll throw an OpenGLException
|
||||||
|
*/
|
||||||
|
static void checkVBOdisabled() {
|
||||||
|
if (VBOTracker.getVBOArrayStack().getState() != 0) {
|
||||||
|
throw new OpenGLException("Cannot use Buffers when VBO is enabled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to ensure that vertex buffer objects are enabled.
|
||||||
|
* If they are disabled, we'll throw an OpenGLException
|
||||||
|
*/
|
||||||
|
static void checkVBOenabled() {
|
||||||
|
if (VBOTracker.getVBOArrayStack().getState() == 0) {
|
||||||
|
throw new OpenGLException("Cannot use offsets when VBO is disabled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -38,6 +38,8 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
import java.nio.DoubleBuffer;
|
import java.nio.DoubleBuffer;
|
||||||
import java.nio.Buffer;
|
import java.nio.Buffer;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
@ -718,6 +720,222 @@ public abstract class GL11 {
|
||||||
public static final int GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
|
public static final int GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
|
||||||
public static final int GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
|
public static final int GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Register buffer checking maps
|
||||||
|
*/
|
||||||
|
static {
|
||||||
|
// For glGetPixelMap
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_S_TO_S_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_R_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_G_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_I_TO_A_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_R_TO_R_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_G_TO_G_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_B_TO_B, GL_PIXEL_MAP_B_TO_B_SIZE);
|
||||||
|
BufferChecks.putPixelMap(GL_PIXEL_MAP_B_TO_B, GL_PIXEL_MAP_A_TO_A_SIZE);
|
||||||
|
|
||||||
|
// For glGetIntegerv/glGetFloatv/glGetBooleanv/glGetDoublev
|
||||||
|
BufferChecks.putGetMap(GL_ACCUM_ALPHA_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ACCUM_BLUE_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ACCUM_CLEAR_VALUE, 4);
|
||||||
|
BufferChecks.putGetMap(GL_ACCUM_GREEN_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ACCUM_RED_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_BIAS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_SCALE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_TEST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_TEST_FUNC, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ALPHA_TEST_REF, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ATTRIB_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_AUTO_NORMAL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_AUX_BUFFERS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLEND, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLEND_DST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLEND_SRC, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLUE_BIAS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLUE_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_BLUE_SCALE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE0, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE1, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE2, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CLIP_PLANE5, 1);
|
||||||
|
BufferChecks.putGetMap(GL_COLOR_CLEAR_VALUE, 4);
|
||||||
|
BufferChecks.putGetMap(GL_COLOR_MATERIAL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_COLOR_MATERIAL_FACE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_COLOR_MATERIAL_PARAMETER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_COLOR_WRITEMASK, 4);
|
||||||
|
BufferChecks.putGetMap(GL_CULL_FACE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CULL_FACE_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_COLOR, 4);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_NORMAL, 3);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_RASTER_COLOR, 4);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_RASTER_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_RASTER_POSITION, 4);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_RASTER_TEXTURE_COORDS, 4);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_RASTER_POSITION_VALID, 1);
|
||||||
|
BufferChecks.putGetMap(GL_CURRENT_TEXTURE_COORDS, 4);
|
||||||
|
BufferChecks.putGetMap(GL_DEPTH_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_DEPTH_CLEAR_VALUE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_DEPTH_FUNC, 1);
|
||||||
|
BufferChecks.putGetMap(GL_DEPTH_RANGE, 2);
|
||||||
|
BufferChecks.putGetMap(GL_DEPTH_WRITEMASK, 1);
|
||||||
|
BufferChecks.putGetMap(GL_DOUBLEBUFFER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_DRAW_BUFFER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_EDGE_FLAG, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_COLOR, 4);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_DENSITY, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_END, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_HINT, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FOG_START, 1);
|
||||||
|
BufferChecks.putGetMap(GL_FRONT_FACE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_GREEN_BIAS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_GREEN_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_GREEN_SCALE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_CLEAR_VALUE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_OFFSET, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_SHIFT, 1);
|
||||||
|
BufferChecks.putGetMap(GL_INDEX_WRITEMASK, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT0, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT1, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT2, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT5, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT6, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT7, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHTING, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT_MODEL_AMBIENT, 4);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT_MODEL_LOCAL_VIEWER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIGHT_MODEL_TWO_SIDE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_SMOOTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_STIPPLE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_STIPPLE_PATTERN, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_STIPPLE_REPEAT, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_WIDTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_WIDTH_GRANULARITY, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LINE_WIDTH_RANGE, 2);
|
||||||
|
BufferChecks.putGetMap(GL_LIST_BASE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIST_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LIST_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LOGIC_OP, 1);
|
||||||
|
BufferChecks.putGetMap(GL_LOGIC_OP_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_COLOR_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_GRID_DOMAIN, 2);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_GRID_SEGMENTS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_NORMAL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_TEXTURE_COORD_1, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_TEXTURE_COORD_2, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_TEXTURE_COORD_3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_TEXTURE_COORD_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_VERTEX_3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP1_VERTEX_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_COLOR_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_GRID_DOMAIN, 4);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_GRID_SEGMENTS, 2);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_INDEX, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_NORMAL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_TEXTURE_COORD_1, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_TEXTURE_COORD_2, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_TEXTURE_COORD_3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_TEXTURE_COORD_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_VERTEX_3, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP2_VERTEX_4, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP_COLOR, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAP_STENCIL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MATRIX_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_ATTRIB_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_CLIP_PLANES, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_EVAL_ORDER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_LIGHTS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_LIST_NESTING, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_MODELVIEW_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_NAME_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_PIXEL_MAP_TABLE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_PROJECTION_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_TEXTURE_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_TEXTURE_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_MAX_VIEWPORT_DIMS, 2);
|
||||||
|
BufferChecks.putGetMap(GL_MODELVIEW_MATRIX, 16);
|
||||||
|
BufferChecks.putGetMap(GL_MODELVIEW_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_NAME_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_NORMALIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_ALIGNMENT, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_LSB_FIRST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_ROW_LENGTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_SKIP_PIXELS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_SKIP_ROWS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PACK_SWAP_BYTES, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_A_TO_A_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_B_TO_B_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_G_TO_G_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_I_TO_A_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_I_TO_B_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_I_TO_G_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_I_TO_I_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_I_TO_R_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_R_TO_R_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PIXEL_MAP_S_TO_S_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_POINT_SIZE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_POINT_SIZE_GRANULARITY, 1);
|
||||||
|
BufferChecks.putGetMap(GL_POINT_SIZE_RANGE, 2);
|
||||||
|
BufferChecks.putGetMap(GL_POINT_SMOOTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_POLYGON_MODE, 2);
|
||||||
|
BufferChecks.putGetMap(GL_POLYGON_SMOOTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_POLYGON_STIPPLE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_PROJECTION_MATRIX, 16);
|
||||||
|
BufferChecks.putGetMap(GL_PROJECTION_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_READ_BUFFER, 1);
|
||||||
|
BufferChecks.putGetMap(GL_RED_BIAS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_RED_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_RED_SCALE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_RENDER_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_RGBA_MODE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_SCISSOR_BOX, 4);
|
||||||
|
BufferChecks.putGetMap(GL_SCISSOR_TEST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_SHADE_MODEL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_CLEAR_VALUE, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_FAIL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_FUNC, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_PASS_DEPTH_FAIL, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_PASS_DEPTH_PASS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_REF, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_TEST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_VALUE_MASK, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STENCIL_WRITEMASK, 1);
|
||||||
|
BufferChecks.putGetMap(GL_STEREO, 1);
|
||||||
|
BufferChecks.putGetMap(GL_SUBPIXEL_BITS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_1D, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_2D, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_GEN_S, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_GEN_T, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_GEN_R, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_GEN_Q, 1);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_MATRIX, 16);
|
||||||
|
BufferChecks.putGetMap(GL_TEXTURE_STACK_DEPTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_ALIGNMENT, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_LSB_FIRST, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_ROW_LENGTH, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_SKIP_PIXELS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_SKIP_ROWS, 1);
|
||||||
|
BufferChecks.putGetMap(GL_UNPACK_SWAP_BYTES, 1);
|
||||||
|
BufferChecks.putGetMap(GL_VIEWPORT, 4);
|
||||||
|
BufferChecks.putGetMap(GL_ZOOM_X, 1);
|
||||||
|
BufferChecks.putGetMap(GL_ZOOM_Y, 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static native void glAccum(int op, float value);
|
public static native void glAccum(int op, float value);
|
||||||
public static native void glAlphaFunc(int func, float ref);
|
public static native void glAlphaFunc(int func, float ref);
|
||||||
public static native void glClearColor(float red, float green, float blue, float alpha);
|
public static native void glClearColor(float red, float green, float blue, float alpha);
|
||||||
|
@ -736,6 +954,7 @@ public abstract class GL11 {
|
||||||
public static native void glCallList(int list);
|
public static native void glCallList(int list);
|
||||||
public static native void glBlendFunc(int sfactor, int dfactor);
|
public static native void glBlendFunc(int sfactor, int dfactor);
|
||||||
public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap) {
|
public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position());
|
nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position());
|
||||||
}
|
}
|
||||||
private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_offset);
|
private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_offset);
|
||||||
|
@ -755,17 +974,18 @@ public abstract class GL11 {
|
||||||
public static native void glCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border);
|
public static native void glCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border);
|
||||||
public static native void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border);
|
public static native void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border);
|
||||||
public static native void glCopyPixels(int x, int y, int width, int height, int type);
|
public static native void glCopyPixels(int x, int y, int width, int height, int type);
|
||||||
|
|
||||||
public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) {
|
public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, pointer, pointer.position());
|
nglColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, pointer, pointer.position());
|
||||||
}
|
}
|
||||||
public static void glColorPointer(int size, int stride, FloatBuffer pointer) {
|
public static void glColorPointer(int size, int stride, FloatBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglColorPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
nglColorPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglColorPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
private static native void nglColorPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glColorPointer(int size, int type, int stride, int buffer_offset) {
|
public static void glColorPointer(int size, int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglColorPointerVBO(size, type, stride, buffer_offset);
|
nglColorPointerVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglColorPointerVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglColorPointerVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
@ -778,6 +998,9 @@ public abstract class GL11 {
|
||||||
public static native void glColor4f(float red, float green, float blue, float alpha);
|
public static native void glColor4f(float red, float green, float blue, float alpha);
|
||||||
public static native void glColor4ub(byte red, byte green, byte blue, byte alpha);
|
public static native void glColor4ub(byte red, byte green, byte blue, byte alpha);
|
||||||
public static void glClipPlane(int plane, DoubleBuffer equation) {
|
public static void glClipPlane(int plane, DoubleBuffer equation) {
|
||||||
|
if (equation.remaining() < 4) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglClipPlane(plane, equation, equation.position() << 3);
|
nglClipPlane(plane, equation, equation.position() << 3);
|
||||||
}
|
}
|
||||||
private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_offset);
|
private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_offset);
|
||||||
|
@ -794,41 +1017,44 @@ public abstract class GL11 {
|
||||||
public static native void glEnable(int cap);
|
public static native void glEnable(int cap);
|
||||||
public static native void glDisable(int cap);
|
public static native void glDisable(int cap);
|
||||||
public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) {
|
public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglEdgeFlagPointer(stride, pointer, pointer.position());
|
nglEdgeFlagPointer(stride, pointer, pointer.position());
|
||||||
}
|
}
|
||||||
private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_offset);
|
private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glEdgeFlagPointer(int stride, int buffer_offset) {
|
public static void glEdgeFlagPointer(int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglEdgeFlagPointerVBO(stride, buffer_offset);
|
nglEdgeFlagPointerVBO(stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglEdgeFlagPointerVBO(int stride, int buffer_offset);
|
private static native void nglEdgeFlagPointerVBO(int stride, int buffer_offset);
|
||||||
public static native void glEdgeFlag(boolean flag);
|
public static native void glEdgeFlag(boolean flag);
|
||||||
public static void glDrawPixels(int width, int height, int format, int type, ByteBuffer pixels) {
|
public static void glDrawPixels(int width, int height, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglDrawPixels(width, height, format, type, pixels, pixels.position());
|
nglDrawPixels(width, height, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels) {
|
public static void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1);
|
nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glDrawPixels(int width, int height, int format, int type, IntBuffer pixels) {
|
public static void glDrawPixels(int width, int height, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglDrawPixels(width, height, format, type, pixels, pixels.position() << 2);
|
nglDrawPixels(width, height, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
public static void glDrawElements(int mode, ByteBuffer indices) {
|
public static void glDrawElements(int mode, ByteBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position());
|
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position());
|
||||||
}
|
}
|
||||||
public static void glDrawElements(int mode, ShortBuffer indices) {
|
public static void glDrawElements(int mode, ShortBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1);
|
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glDrawElements(int mode, IntBuffer indices) {
|
public static void glDrawElements(int mode, IntBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_INT, indices, indices.position() << 2);
|
nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_INT, indices, indices.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglDrawElements(int mode, int count, int type, Buffer indices, int indices_offset);
|
private static native void nglDrawElements(int mode, int count, int type, Buffer indices, int indices_offset);
|
||||||
public static void glDrawElements(int mode, int count, int type, int buffer_offset) {
|
public static void glDrawElements(int mode, int count, int type, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglDrawElementsVBO(mode, count, type, buffer_offset);
|
nglDrawElementsVBO(mode, count, type, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglDrawElementsVBO(int mode, int count, int type, int buffer_offset);
|
private static native void nglDrawElementsVBO(int mode, int count, int type, int buffer_offset);
|
||||||
|
@ -841,60 +1067,77 @@ public abstract class GL11 {
|
||||||
nglFeedbackBuffer(buffer.remaining(), type, buffer, buffer.position());
|
nglFeedbackBuffer(buffer.remaining(), type, buffer, buffer.position());
|
||||||
}
|
}
|
||||||
private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_offset);
|
private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_offset);
|
||||||
|
|
||||||
public static void glGetPixelMap(int map, FloatBuffer values) {
|
public static void glGetPixelMap(int map, FloatBuffer values) {
|
||||||
|
BufferChecks.checkPixelMapBuffer(map, values);
|
||||||
nglGetPixelMapfv(map, values, values.position());
|
nglGetPixelMapfv(map, values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_offset);
|
private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_offset);
|
||||||
public static void glGetPixelMap(int map, IntBuffer values) {
|
public static void glGetPixelMap(int map, IntBuffer values) {
|
||||||
|
BufferChecks.checkPixelMapBuffer(map, values);
|
||||||
nglGetPixelMapuiv(map, values, values.position());
|
nglGetPixelMapuiv(map, values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_offset);
|
private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_offset);
|
||||||
public static void glGetPixelMap(int map, ShortBuffer values) {
|
public static void glGetPixelMap(int map, ShortBuffer values) {
|
||||||
|
BufferChecks.checkPixelMapBuffer(map, values);
|
||||||
nglGetPixelMapusv(map, values, values.position());
|
nglGetPixelMapusv(map, values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_offset);
|
private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_offset);
|
||||||
public static void glGetMaterial(int face, int pname, FloatBuffer params) {
|
public static void glGetMaterial(int face, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMaterialfv(face, pname, params, params.position());
|
nglGetMaterialfv(face, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetMaterial(int face, int pname, IntBuffer params) {
|
public static void glGetMaterial(int face, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMaterialiv(face, pname, params, params.position());
|
nglGetMaterialiv(face, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glGetMap(int target, int query, FloatBuffer v) {
|
public static void glGetMap(int target, int query, FloatBuffer v) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMapfv(target, query, v, v.position());
|
nglGetMapfv(target, query, v, v.position());
|
||||||
}
|
}
|
||||||
public static void glGetMap(int target, int query, IntBuffer v) {
|
public static void glGetMap(int target, int query, IntBuffer v) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMapiv(target, query, v, v.position());
|
nglGetMapiv(target, query, v, v.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_offset);
|
private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_offset);
|
||||||
private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_offset);
|
private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_offset);
|
||||||
public static void glGetLight(int light, int pname, FloatBuffer params) {
|
public static void glGetLight(int light, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetLightfv(light, pname, params, params.position());
|
nglGetLightfv(light, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetLight(int light, int pname, IntBuffer params) {
|
public static void glGetLight(int light, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetLightiv(light, pname, params, params.position());
|
nglGetLightiv(light, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_offset);
|
||||||
public static native int glGetError();
|
public static native int glGetError();
|
||||||
public static void glGetClipPlane(int plane, DoubleBuffer equation) {
|
public static void glGetClipPlane(int plane, DoubleBuffer equation) {
|
||||||
|
if (equation.remaining() < 4) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglGetClipPlane(plane, equation, equation.position());
|
nglGetClipPlane(plane, equation, equation.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_offset);
|
private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_offset);
|
||||||
public static void glGetBoolean(int pname, ByteBuffer params) {
|
public static void glGetBoolean(int pname, ByteBuffer params) {
|
||||||
|
BufferChecks.checkGetBuffer(pname, params);
|
||||||
nglGetBooleanv(pname, params, params.position());
|
nglGetBooleanv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_offset);
|
private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_offset);
|
||||||
public static void glGetDouble(int pname, DoubleBuffer params) {
|
public static void glGetDouble(int pname, DoubleBuffer params) {
|
||||||
|
BufferChecks.checkGetBuffer(pname, params);
|
||||||
nglGetDoublev(pname, params, params.position());
|
nglGetDoublev(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_offset);
|
private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_offset);
|
||||||
public static void glGetFloat(int pname, FloatBuffer params) {
|
public static void glGetFloat(int pname, FloatBuffer params) {
|
||||||
|
BufferChecks.checkGetBuffer(pname, params);
|
||||||
nglGetFloatv(pname, params, params.position());
|
nglGetFloatv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetFloatv(int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetFloatv(int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetInteger(int pname, IntBuffer params) {
|
public static void glGetInteger(int pname, IntBuffer params) {
|
||||||
|
BufferChecks.checkGetBuffer(pname, params);
|
||||||
nglGetIntegerv(pname, params, params.position());
|
nglGetIntegerv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetIntegerv(int pname, IntBuffer params, int params_offset);
|
private static native void nglGetIntegerv(int pname, IntBuffer params, int params_offset);
|
||||||
|
@ -908,10 +1151,12 @@ public abstract class GL11 {
|
||||||
public static native void glFogf(int pname, float param);
|
public static native void glFogf(int pname, float param);
|
||||||
public static native void glFogi(int pname, int param);
|
public static native void glFogi(int pname, int param);
|
||||||
public static void glFog(int pname, FloatBuffer params) {
|
public static void glFog(int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglFogfv(pname, params, params.position());
|
nglFogfv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglFogfv(int pname, FloatBuffer params, int params_offset);
|
private static native void nglFogfv(int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glFog(int pname, IntBuffer params) {
|
public static void glFog(int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglFogiv(pname, params, params.position());
|
nglFogiv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglFogiv(int pname, IntBuffer params, int params_offset);
|
private static native void nglFogiv(int pname, IntBuffer params, int params_offset);
|
||||||
|
@ -927,72 +1172,84 @@ public abstract class GL11 {
|
||||||
public static native ByteBuffer glGetPointerv(int pname, int size);
|
public static native ByteBuffer glGetPointerv(int pname, int size);
|
||||||
public static native boolean glIsEnabled(int cap);
|
public static native boolean glIsEnabled(int cap);
|
||||||
public static void glInterleavedArrays(int format, int stride, ByteBuffer pointer) {
|
public static void glInterleavedArrays(int format, int stride, ByteBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglInterleavedArrays(format, stride, pointer, pointer.position());
|
nglInterleavedArrays(format, stride, pointer, pointer.position());
|
||||||
}
|
}
|
||||||
public static void glInterleavedArrays(int format, int stride, ShortBuffer pointer) {
|
public static void glInterleavedArrays(int format, int stride, ShortBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglInterleavedArrays(format, stride, pointer, pointer.position() << 1);
|
nglInterleavedArrays(format, stride, pointer, pointer.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glInterleavedArrays(int format, int stride, IntBuffer pointer) {
|
public static void glInterleavedArrays(int format, int stride, IntBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglInterleavedArrays(format, stride, pointer, pointer.position() << 2);
|
nglInterleavedArrays(format, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glInterleavedArrays(int format, int stride, FloatBuffer pointer) {
|
public static void glInterleavedArrays(int format, int stride, FloatBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglInterleavedArrays(format, stride, pointer, pointer.position() << 2);
|
nglInterleavedArrays(format, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglInterleavedArrays(int format, int stride, Buffer pointer, int pointer_offset);
|
private static native void nglInterleavedArrays(int format, int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glInterleavedArrays(int format, int stride, int buffer_offset) {
|
public static void glInterleavedArrays(int format, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglInterleavedArraysVBO(format, stride, buffer_offset);
|
nglInterleavedArraysVBO(format, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglInterleavedArraysVBO(int format, int stride, int buffer_offset);
|
private static native void nglInterleavedArraysVBO(int format, int stride, int buffer_offset);
|
||||||
public static native void glInitNames();
|
public static native void glInitNames();
|
||||||
public static native void glHint(int target, int mode);
|
public static native void glHint(int target, int mode);
|
||||||
public static void glGetTexParameter(int target, int pname, FloatBuffer params) {
|
public static void glGetTexParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexParameterfv(target, pname, params, params.position());
|
nglGetTexParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetTexParameter(int target, int pname, IntBuffer params) {
|
public static void glGetTexParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexParameteriv(target, pname, params, params.position());
|
nglGetTexParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glGetTexLevelParameter(int target, int level, int pname, FloatBuffer params) {
|
public static void glGetTexLevelParameter(int target, int level, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexLevelParameterfv(target, level, pname, params, params.position());
|
nglGetTexLevelParameterfv(target, level, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetTexLevelParameter(int target, int level, int pname, IntBuffer params) {
|
public static void glGetTexLevelParameter(int target, int level, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexLevelParameteriv(target, level, pname, params, params.position());
|
nglGetTexLevelParameteriv(target, level, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels) {
|
public static void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexImage(target, level, format, type, pixels, pixels.position());
|
nglGetTexImage(target, level, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels) {
|
public static void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1);
|
nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glGetTexImage(int target, int level, int format, int type, IntBuffer pixels) {
|
public static void glGetTexImage(int target, int level, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2);
|
nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglGetTexImage(int target, int level, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglGetTexImage(int target, int level, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
|
|
||||||
public static void glGetTexGen(int coord, int pname, FloatBuffer params) {
|
public static void glGetTexGen(int coord, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexGenfv(coord, pname, params, params.position());
|
nglGetTexGenfv(coord, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexGenfv(int coord, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetTexGenfv(int coord, int pname, FloatBuffer params, int params_offset);
|
||||||
|
|
||||||
public static void glGetTexEnv(int coord, int pname, IntBuffer params) {
|
public static void glGetTexEnv(int coord, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexEnviv(coord, pname, params, params.position());
|
nglGetTexEnviv(coord, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glGetTexEnv(int coord, int pname, FloatBuffer params) {
|
public static void glGetTexEnv(int coord, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetTexEnvfv(coord, pname, params, params.position());
|
nglGetTexEnvfv(coord, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_offset);
|
||||||
|
|
||||||
public static native String glGetString(int name);
|
public static native String glGetString(int name);
|
||||||
public static void glGetPolygonStipple(ByteBuffer mask) {
|
public static void glGetPolygonStipple(ByteBuffer mask) {
|
||||||
|
// TODO: check buffer size valid. This is a bit more fiddly than you might think;
|
||||||
|
// it looks like a 32x32 byte array but it might not be according to the spec :/
|
||||||
nglGetPolygonStipple(mask, mask.position());
|
nglGetPolygonStipple(mask, mask.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_offset);
|
private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_offset);
|
||||||
|
@ -1000,26 +1257,33 @@ public abstract class GL11 {
|
||||||
public static native void glMaterialf(int face, int pname, float param);
|
public static native void glMaterialf(int face, int pname, float param);
|
||||||
public static native void glMateriali(int face, int pname, int param);
|
public static native void glMateriali(int face, int pname, int param);
|
||||||
public static void glMaterial(int face, int pname, FloatBuffer params) {
|
public static void glMaterial(int face, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglMaterialfv(face, pname, params, params.position());
|
nglMaterialfv(face, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
|
private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glMaterial(int face, int pname, IntBuffer params) {
|
public static void glMaterial(int face, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglMaterialiv(face, pname, params, params.position());
|
nglMaterialiv(face, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_offset);
|
private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_offset);
|
||||||
public static native void glMapGrid1f(int un, float u1, float u2);
|
public static native void glMapGrid1f(int un, float u1, float u2);
|
||||||
public static native void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2);
|
public static native void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2);
|
||||||
public static void glMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points) {
|
public static void glMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position());
|
nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position());
|
||||||
}
|
}
|
||||||
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_offset);
|
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_offset);
|
||||||
public static void glMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points) {
|
public static void glMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglMap1f(target, u1, u2, stride, order, points, points.position());
|
nglMap1f(target, u1, u2, stride, order, points, points.position());
|
||||||
}
|
}
|
||||||
private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_offset);
|
private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_offset);
|
||||||
public static native void glLogicOp(int opcode);
|
public static native void glLogicOp(int opcode);
|
||||||
public static native void glLoadName(int name);
|
public static native void glLoadName(int name);
|
||||||
public static void glLoadMatrix(FloatBuffer m) {
|
public static void glLoadMatrix(FloatBuffer m) {
|
||||||
|
if (m.remaining() < 16) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglLoadMatrixf(m, m.position());
|
nglLoadMatrixf(m, m.position());
|
||||||
}
|
}
|
||||||
private static native void nglLoadMatrixf(FloatBuffer m, int m_offset);
|
private static native void nglLoadMatrixf(FloatBuffer m, int m_offset);
|
||||||
|
@ -1030,26 +1294,31 @@ public abstract class GL11 {
|
||||||
public static native void glLightModelf(int pname, float param);
|
public static native void glLightModelf(int pname, float param);
|
||||||
public static native void glLightModeli(int pname, int param);
|
public static native void glLightModeli(int pname, int param);
|
||||||
public static void glLightModel(int pname, FloatBuffer params) {
|
public static void glLightModel(int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglLightModelfv( pname, params, params.position());
|
nglLightModelfv( pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglLightModelfv(int pname, FloatBuffer params, int params_offset);
|
private static native void nglLightModelfv(int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glLightModel(int pname, IntBuffer params) {
|
public static void glLightModel(int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglLightModeliv(pname, params, params.position());
|
nglLightModeliv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglLightModeliv(int pname, IntBuffer params, int params_offset);
|
private static native void nglLightModeliv(int pname, IntBuffer params, int params_offset);
|
||||||
public static native void glLightf(int light, int pname, float param);
|
public static native void glLightf(int light, int pname, float param);
|
||||||
public static native void glLighti(int light, int pname, int param);
|
public static native void glLighti(int light, int pname, int param);
|
||||||
public static void glLightfv(int light, int pname, FloatBuffer params) {
|
public static void glLightfv(int light, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglLightfv(light, pname, params, params.position());
|
nglLightfv(light, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_offset);
|
private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glLightiv(int light, int pname, IntBuffer params) {
|
public static void glLightiv(int light, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglLightiv(light, pname, params, params.position());
|
nglLightiv(light, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglLightiv(int light, int pname, IntBuffer params, int params_offset);
|
private static native void nglLightiv(int light, int pname, IntBuffer params, int params_offset);
|
||||||
public static native boolean glIsTexture(int texture);
|
public static native boolean glIsTexture(int texture);
|
||||||
public static native void glMatrixMode(int mode);
|
public static native void glMatrixMode(int mode);
|
||||||
public static void glPolygonStipple(ByteBuffer mask) {
|
public static void glPolygonStipple(ByteBuffer mask) {
|
||||||
|
// TODO: check buffer size valid (again, possibly more complicated than it first appears)
|
||||||
nglPolygonStipple(mask, mask.position());
|
nglPolygonStipple(mask, mask.position());
|
||||||
}
|
}
|
||||||
private static native void nglPolygonStipple(ByteBuffer mask, int mask_offset);
|
private static native void nglPolygonStipple(ByteBuffer mask, int mask_offset);
|
||||||
|
@ -1062,34 +1331,37 @@ public abstract class GL11 {
|
||||||
public static native void glPixelStoref(int pname, float param);
|
public static native void glPixelStoref(int pname, float param);
|
||||||
public static native void glPixelStorei(int pname, int param);
|
public static native void glPixelStorei(int pname, int param);
|
||||||
public static void glPixelMap(int map, FloatBuffer values) {
|
public static void glPixelMap(int map, FloatBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglPixelMapfv(map, values.remaining(), values, values.position());
|
nglPixelMapfv(map, values.remaining(), values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_offset);
|
private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_offset);
|
||||||
public static void glPixelMap(int map, IntBuffer values) {
|
public static void glPixelMap(int map, IntBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglPixelMapuiv(map, values.remaining(), values, values.position());
|
nglPixelMapuiv(map, values.remaining(), values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_offset);
|
private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_offset);
|
||||||
public static void glPixelMap(int map, ShortBuffer values) {
|
public static void glPixelMap(int map, ShortBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglPixelMapusv(map, values.remaining(), values, values.position());
|
nglPixelMapusv(map, values.remaining(), values, values.position());
|
||||||
}
|
}
|
||||||
private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_offset);
|
private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_offset);
|
||||||
public static native void glPassThrough(float token);
|
public static native void glPassThrough(float token);
|
||||||
public static native void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar);
|
public static native void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar);
|
||||||
public static void glNormalPointer(int stride, ByteBuffer pointer) {
|
public static void glNormalPointer(int stride, ByteBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglNormalPointer(GL_BYTE, stride, pointer, pointer.position());
|
nglNormalPointer(GL_BYTE, stride, pointer, pointer.position());
|
||||||
}
|
}
|
||||||
public static void glNormalPointer(int stride, IntBuffer pointer) {
|
public static void glNormalPointer(int stride, IntBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglNormalPointer(GL_INT, stride, pointer, pointer.position() << 2);
|
nglNormalPointer(GL_INT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glNormalPointer(int stride, FloatBuffer pointer) {
|
public static void glNormalPointer(int stride, FloatBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglNormalPointer(GL_FLOAT, stride, pointer, pointer.position() << 2);
|
nglNormalPointer(GL_FLOAT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglNormalPointer(int type, int stride, Buffer pointer, int pointer_offset);
|
private static native void nglNormalPointer(int type, int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glNormalPointer(int type, int stride, int buffer_offset) {
|
public static void glNormalPointer(int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglNormalPointerVBO(type, stride, buffer_offset);
|
nglNormalPointerVBO(type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglNormalPointerVBO(int type, int stride, int buffer_offset);
|
private static native void nglNormalPointerVBO(int type, int stride, int buffer_offset);
|
||||||
|
@ -1099,6 +1371,9 @@ public abstract class GL11 {
|
||||||
public static native void glNewList(int list, int mode);
|
public static native void glNewList(int list, int mode);
|
||||||
public static native void glEndList();
|
public static native void glEndList();
|
||||||
public static void glMultMatrixf(FloatBuffer m) {
|
public static void glMultMatrixf(FloatBuffer m) {
|
||||||
|
if (m.remaining() < 16) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglMultMatrixf(m, m.position());
|
nglMultMatrixf(m, m.position());
|
||||||
}
|
}
|
||||||
private static native void nglMultMatrixf(FloatBuffer m, int m_offset);
|
private static native void nglMultMatrixf(FloatBuffer m, int m_offset);
|
||||||
|
@ -1114,12 +1389,15 @@ public abstract class GL11 {
|
||||||
public static native void glRectf(float x1, float y1, float x2, float y2);
|
public static native void glRectf(float x1, float y1, float x2, float y2);
|
||||||
public static native void glRecti(int x1, int y1, int x2, int y2);
|
public static native void glRecti(int x1, int y1, int x2, int y2);
|
||||||
public static void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer pixels) {
|
public static void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position());
|
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glReadPixels(int x, int y, int width, int height, int format, int type, ShortBuffer pixels) {
|
public static void glReadPixels(int x, int y, int width, int height, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 1);
|
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glReadPixels(int x, int y, int width, int height, int format, int type, IntBuffer pixels) {
|
public static void glReadPixels(int x, int y, int width, int height, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2);
|
nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
|
@ -1156,16 +1434,16 @@ public abstract class GL11 {
|
||||||
public static native void glPopAttrib();
|
public static native void glPopAttrib();
|
||||||
public static native void glStencilFunc(int func, int ref, int mask);
|
public static native void glStencilFunc(int func, int ref, int mask);
|
||||||
public static void glVertexPointer(int size, int stride, FloatBuffer pointer) {
|
public static void glVertexPointer(int size, int stride, FloatBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglVertexPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
nglVertexPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glVertexPointer(int size, int stride, IntBuffer pointer) {
|
public static void glVertexPointer(int size, int stride, IntBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglVertexPointer(size, GL_INT, stride, pointer, pointer.position() << 2);
|
nglVertexPointer(size, GL_INT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglVertexPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
private static native void nglVertexPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glVertexPointer(int size, int type, int stride, int buffer_offset) {
|
public static void glVertexPointer(int size, int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglVertexPointerVBO(size, type, stride, buffer_offset);
|
nglVertexPointerVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglVertexPointerVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglVertexPointerVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
@ -1177,88 +1455,108 @@ public abstract class GL11 {
|
||||||
public static native void glVertex4i(int x, int y, int z, int w);
|
public static native void glVertex4i(int x, int y, int z, int w);
|
||||||
public static native void glTranslatef(float x, float y, float z);
|
public static native void glTranslatef(float x, float y, float z);
|
||||||
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer pixels) {
|
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position());
|
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ShortBuffer pixels) {
|
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 1);
|
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, IntBuffer pixels) {
|
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2);
|
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
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_offset);
|
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_offset);
|
||||||
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ByteBuffer pixels) {
|
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position());
|
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ShortBuffer pixels) {
|
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 1);
|
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, IntBuffer pixels) {
|
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2);
|
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
public static native void glTexParameterf(int target, int pname, float param);
|
public static native void glTexParameterf(int target, int pname, float param);
|
||||||
public static native void glTexParameteri(int target, int pname, int param);
|
public static native void glTexParameteri(int target, int pname, int param);
|
||||||
public static void glTexParameter(int target, int pname, FloatBuffer param) {
|
public static void glTexParameter(int target, int pname, FloatBuffer param) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexParameterfv(target, pname, param, param.position());
|
nglTexParameterfv(target, pname, param, param.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position);
|
private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position);
|
||||||
public static void glTexParameter(int target, int pname, IntBuffer param) {
|
public static void glTexParameter(int target, int pname, IntBuffer param) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexParameteriv(target, pname, param, param.position());
|
nglTexParameteriv(target, pname, param, param.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position);
|
private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position);
|
||||||
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ByteBuffer pixels) {
|
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position());
|
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels) {
|
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 1);
|
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, IntBuffer pixels) {
|
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, FloatBuffer pixels) {
|
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, FloatBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
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_offset);
|
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_offset);
|
||||||
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ByteBuffer pixels) {
|
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position());
|
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels) {
|
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 1);
|
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, IntBuffer pixels) {
|
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, FloatBuffer pixels) {
|
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, FloatBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
public static native void glTexGenf(int coord, int pname, float param);
|
public static native void glTexGenf(int coord, int pname, float param);
|
||||||
public static void glTexGen(int coord, int pname, FloatBuffer params) {
|
public static void glTexGen(int coord, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexGenfv(coord, pname, params, params.position());
|
nglTexGenfv(coord, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_offset);
|
private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_offset);
|
||||||
public static native void glTexGeni(int coord, int pname, int param);
|
public static native void glTexGeni(int coord, int pname, int param);
|
||||||
public static void glTexGen(int coord, int pname, IntBuffer params) {
|
public static void glTexGen(int coord, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexGeniv(coord, pname, params, params.position());
|
nglTexGeniv(coord, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_offset);
|
private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_offset);
|
||||||
public static native void glTexEnvf(int target, int pname, float param);
|
public static native void glTexEnvf(int target, int pname, float param);
|
||||||
public static native void glTexEnvi(int target, int pname, int param);
|
public static native void glTexEnvi(int target, int pname, int param);
|
||||||
public static void glTexEnv(int target, int pname, FloatBuffer params) {
|
public static void glTexEnv(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexEnvfv(target, pname, params, params.position());
|
nglTexEnvfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glTexEnv(int target, int pname, IntBuffer params) {
|
public static void glTexEnv(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexEnviv(target, pname, params, params.position());
|
nglTexEnviv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glTexCoordPointer(int size, int stride, FloatBuffer pointer) {
|
public static void glTexCoordPointer(int size, int stride, FloatBuffer pointer) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglTexCoordPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
nglTexCoordPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglTexCoordPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
private static native void nglTexCoordPointer(int size, int type, int stride, Buffer pointer, int pointer_offset);
|
||||||
public static void glTexCoordPointer(int size, int type, int stride, int buffer_offset) {
|
public static void glTexCoordPointer(int size, int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglTexCoordPointerVBO(size, type, stride, buffer_offset);
|
nglTexCoordPointerVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglTexCoordPointerVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglTexCoordPointerVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -161,41 +161,51 @@ public abstract class GL12 extends GL11 {
|
||||||
public static final int GL_BLEND_COLOR = 0x8005;
|
public static final int GL_BLEND_COLOR = 0x8005;
|
||||||
|
|
||||||
public static void glColorTable(int target, int internalFormat, int width, int format, int type, ByteBuffer data) {
|
public static void glColorTable(int target, int internalFormat, int width, int format, int type, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorTable(target, internalFormat, width, format, type, data, data.position());
|
nglColorTable(target, internalFormat, width, format, type, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glColorTable(int target, int internalFormat, int width, int format, int type, FloatBuffer data) {
|
public static void glColorTable(int target, int internalFormat, int width, int format, int type, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorTable(target, internalFormat, width, format, type, data, data.position() << 2);
|
nglColorTable(target, internalFormat, width, format, type, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglColorTable(int target, int internalFormat, int width, int format, int type, Buffer data, int data_offset);
|
private static native void nglColorTable(int target, int internalFormat, int width, int format, int type, Buffer data, int data_offset);
|
||||||
public static void glColorSubTable(int target, int start, int count, int format, int type, ByteBuffer data) {
|
public static void glColorSubTable(int target, int start, int count, int format, int type, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorSubTable(target, start, count, format, type, data, data.position());
|
nglColorSubTable(target, start, count, format, type, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glColorSubTable(int target, int start, int count, int format, int type, FloatBuffer data) {
|
public static void glColorSubTable(int target, int start, int count, int format, int type, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorSubTable(target, start, count, format, type, data, data.position() << 2);
|
nglColorSubTable(target, start, count, format, type, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglColorSubTable(int target, int start, int count, int format, int type, Buffer data, int data_offset);
|
private static native void nglColorSubTable(int target, int start, int count, int format, int type, Buffer data, int data_offset);
|
||||||
public static void glColorTableParameter(int target, int pname, IntBuffer params) {
|
public static void glColorTableParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorTableParameteriv(target, pname, params, params.position());
|
nglColorTableParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglColorTableParameteriv(int target, int pname, IntBuffer params, int data_offset);
|
private static native void nglColorTableParameteriv(int target, int pname, IntBuffer params, int data_offset);
|
||||||
public static void glColorTableParameter(int target, int pname, FloatBuffer params) {
|
public static void glColorTableParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglColorTableParameterfv(target, pname, params, params.position());
|
nglColorTableParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglColorTableParameterfv(int target, int pname, FloatBuffer params, int data_offset);
|
private static native void nglColorTableParameterfv(int target, int pname, FloatBuffer params, int data_offset);
|
||||||
public static native void glCopyColorSubTable(int target, int start, int x, int y, int width);
|
public static native void glCopyColorSubTable(int target, int start, int x, int y, int width);
|
||||||
public static native void glCopyColorTable(int target, int internalformat, int x, int y, int width);
|
public static native void glCopyColorTable(int target, int internalformat, int x, int y, int width);
|
||||||
public static void glGetColorTable(int target, int format, int type, ByteBuffer data) {
|
public static void glGetColorTable(int target, int format, int type, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetColorTable(target, format, type, data, data.position());
|
nglGetColorTable(target, format, type, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glGetColorTable(int target, int format, int type, FloatBuffer data) {
|
public static void glGetColorTable(int target, int format, int type, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetColorTable(target, format, type, data, data.position());
|
nglGetColorTable(target, format, type, data, data.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetColorTable(int target, int format, int type, Buffer data, int data_offset);
|
private static native void nglGetColorTable(int target, int format, int type, Buffer data, int data_offset);
|
||||||
public static void glGetColorTableParameter(int target, int pname, IntBuffer params) {
|
public static void glGetColorTableParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetColorTableParameteriv(target, pname, params, params.position());
|
nglGetColorTableParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetColorTableParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetColorTableParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glGetColorTableParameter(int target, int pname, FloatBuffer params) {
|
public static void glGetColorTableParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetColorTableParameterfv(target, pname, params, params.position());
|
nglGetColorTableParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetColorTableParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetColorTableParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
|
@ -204,59 +214,75 @@ public abstract class GL12 extends GL11 {
|
||||||
public static native void glHistogram(int target, int width, int internalformat, boolean sink);
|
public static native void glHistogram(int target, int width, int internalformat, boolean sink);
|
||||||
public static native void glResetHistogram(int target);
|
public static native void glResetHistogram(int target);
|
||||||
public static void glGetHistogram(int target, boolean reset, int format, int type, ByteBuffer values) {
|
public static void glGetHistogram(int target, boolean reset, int format, int type, ByteBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogram(target, reset, format, type, values, values.position());
|
nglGetHistogram(target, reset, format, type, values, values.position());
|
||||||
}
|
}
|
||||||
public static void glGetHistogram(int target, boolean reset, int format, int type, ShortBuffer values) {
|
public static void glGetHistogram(int target, boolean reset, int format, int type, ShortBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogram(target, reset, format, type, values, values.position() << 1);
|
nglGetHistogram(target, reset, format, type, values, values.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glGetHistogram(int target, boolean reset, int format, int type, IntBuffer values) {
|
public static void glGetHistogram(int target, boolean reset, int format, int type, IntBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
|
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glGetHistogram(int target, boolean reset, int format, int type, FloatBuffer values) {
|
public static void glGetHistogram(int target, boolean reset, int format, int type, FloatBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
|
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglGetHistogram(int target, boolean reset, int format, int type, Buffer values, int values_offset);
|
private static native void nglGetHistogram(int target, boolean reset, int format, int type, Buffer values, int values_offset);
|
||||||
public static void glGetHistogramParameter(int target, int pname, FloatBuffer params) {
|
public static void glGetHistogramParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogramParameterfv(target, pname, params, params.position());
|
nglGetHistogramParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetHistogramParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetHistogramParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetHistogramParameter(int target, int pname, IntBuffer params) {
|
public static void glGetHistogramParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetHistogramParameteriv(target, pname, params, params.position());
|
nglGetHistogramParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetHistogramParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetHistogramParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static native void glMinmax(int target, int internalformat, boolean sink);
|
public static native void glMinmax(int target, int internalformat, boolean sink);
|
||||||
public static native void glResetMinmax(int target);
|
public static native void glResetMinmax(int target);
|
||||||
public static void glGetMinmax(int target, boolean reset, int format, int types, ByteBuffer values) {
|
public static void glGetMinmax(int target, boolean reset, int format, int types, ByteBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmax(target, reset, format, types, values, values.position());
|
nglGetMinmax(target, reset, format, types, values, values.position());
|
||||||
}
|
}
|
||||||
public static void glGetMinmax(int target, boolean reset, int format, int types, ShortBuffer values) {
|
public static void glGetMinmax(int target, boolean reset, int format, int types, ShortBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmax(target, reset, format, types, values, values.position() << 1);
|
nglGetMinmax(target, reset, format, types, values, values.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glGetMinmax(int target, boolean reset, int format, int types, IntBuffer values) {
|
public static void glGetMinmax(int target, boolean reset, int format, int types, IntBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
|
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glGetMinmax(int target, boolean reset, int format, int types, FloatBuffer values) {
|
public static void glGetMinmax(int target, boolean reset, int format, int types, FloatBuffer values) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
|
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglGetMinmax(int target, boolean reset, int format, int types, Buffer values, int values_offset);
|
private static native void nglGetMinmax(int target, boolean reset, int format, int types, Buffer values, int values_offset);
|
||||||
public static void glGetMinmaxParameter(int target, int pname, FloatBuffer params) {
|
public static void glGetMinmaxParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmaxParameterfv(target, pname, params, params.position());
|
nglGetMinmaxParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetMinmaxParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetMinmaxParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetMinmaxParameter(int target, int pname, IntBuffer params) {
|
public static void glGetMinmaxParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetMinmaxParameteriv(target, pname, params, params.position());
|
nglGetMinmaxParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetMinmaxParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetMinmaxParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ByteBuffer image) {
|
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ByteBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ShortBuffer image) {
|
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ShortBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, IntBuffer image) {
|
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, IntBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, FloatBuffer image) {
|
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, FloatBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
private static native void nglConvolutionFilter1D(int target, int internalformat, int width, int format, int type, Buffer image, int image_offset);
|
private static native void nglConvolutionFilter1D(int target, int internalformat, int width, int format, int type, Buffer image, int image_offset);
|
||||||
|
@ -265,85 +291,104 @@ public abstract class GL12 extends GL11 {
|
||||||
private static native void nglConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer image, int image_offset);
|
private static native void nglConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer image, int image_offset);
|
||||||
public static native void glConvolutionParameterf(int target, int pname, float params);
|
public static native void glConvolutionParameterf(int target, int pname, float params);
|
||||||
public static void glConvolutionParameter(int target, int pname, FloatBuffer params) {
|
public static void glConvolutionParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
|
nglConvolutionParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static native void glConvolutionParameteri(int target, int pname, int params);
|
public static native void glConvolutionParameteri(int target, int pname, int params);
|
||||||
public static void glConvolutionParameteriv(int target, int pname, IntBuffer params) {
|
public static void glConvolutionParameteriv(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglConvolutionParameteriv(target, pname, params, params.position());
|
nglConvolutionParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static native void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width);
|
public static native void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width);
|
||||||
public static native void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height);
|
public static native void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height);
|
||||||
public static void glGetConvolutionFilter(int target, int format, int type, ByteBuffer image) {
|
public static void glGetConvolutionFilter(int target, int format, int type, ByteBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionFilter(target, format, type, image, image.position());
|
nglGetConvolutionFilter(target, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
public static void glGetConvolutionFilter(int target, int format, int type, ShortBuffer image) {
|
public static void glGetConvolutionFilter(int target, int format, int type, ShortBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionFilter(target, format, type, image, image.position() << 1);
|
nglGetConvolutionFilter(target, format, type, image, image.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glGetConvolutionFilter(int target, int format, int type, IntBuffer image) {
|
public static void glGetConvolutionFilter(int target, int format, int type, IntBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
|
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glGetConvolutionFilter(int target, int format, int type, FloatBuffer image) {
|
public static void glGetConvolutionFilter(int target, int format, int type, FloatBuffer image) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
|
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglGetConvolutionFilter(int target, int format, int type, Buffer image, int image_offset);
|
private static native void nglGetConvolutionFilter(int target, int format, int type, Buffer image, int image_offset);
|
||||||
public static void glGetConvolutionParameter(int target, int pname, FloatBuffer params) {
|
public static void glGetConvolutionParameter(int target, int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionParameterfv(target, pname, params, params.position());
|
nglGetConvolutionParameterfv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
private static native void nglGetConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
|
||||||
public static void glGetConvolutionParameter(int target, int pname, IntBuffer params) {
|
public static void glGetConvolutionParameter(int target, int pname, IntBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetConvolutionParameteriv(target, pname, params, params.position());
|
nglGetConvolutionParameteriv(target, pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglGetConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
private static native void nglGetConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
|
||||||
public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, Buffer column) {
|
public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, Buffer column) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglSeparableFilter2D(target, internalformat, width, height, format, type, row, Util.getOffset(row), column, Util.getOffset(column));
|
nglSeparableFilter2D(target, internalformat, width, height, format, type, row, Util.getOffset(row), column, Util.getOffset(column));
|
||||||
}
|
}
|
||||||
private static native void nglSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset);
|
private static native void nglSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset);
|
||||||
public static void glGetSeparableFilter(int target, int format, int type, Buffer row, Buffer column, Buffer span) {
|
public static void glGetSeparableFilter(int target, int format, int type, Buffer row, Buffer column, Buffer span) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetSeparableFilter(target, format, type, row, Util.getOffset(row), column, Util.getOffset(column), span, Util.getOffset(span));
|
nglGetSeparableFilter(target, format, type, row, Util.getOffset(row), column, Util.getOffset(column), span, Util.getOffset(span));
|
||||||
}
|
}
|
||||||
private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset, Buffer span, int span_offset);
|
private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset, Buffer span, int span_offset);
|
||||||
public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) {
|
public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position());
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position());
|
||||||
}
|
}
|
||||||
public static void glDrawRangeElements(int mode, int start, int end, ShortBuffer indices) {
|
public static void glDrawRangeElements(int mode, int start, int end, ShortBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1);
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glDrawRangeElements(int mode, int start, int end, IntBuffer indices) {
|
public static void glDrawRangeElements(int mode, int start, int end, IntBuffer indices) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_INT, indices, indices.position() << 2);
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_INT, indices, indices.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices, int indices_offset);
|
private static native void nglDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices, int indices_offset);
|
||||||
public static void glDrawRangeElements(int mode, int start, int end, int count, int type, int buffer_offset) {
|
public static void glDrawRangeElements(int mode, int start, int end, int count, int type, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOElementStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglDrawRangeElementsVBO(mode, start, end, count, type, buffer_offset);
|
nglDrawRangeElementsVBO(mode, start, end, count, type, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglDrawRangeElementsVBO(int mode, int start, int end, int count, int type, int buffer_offset);
|
private static native void nglDrawRangeElementsVBO(int mode, int start, int end, int count, int type, int buffer_offset);
|
||||||
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ByteBuffer pixels) {
|
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position());
|
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ShortBuffer pixels) {
|
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 1);
|
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, IntBuffer pixels) {
|
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, FloatBuffer pixels) {
|
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, FloatBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 2);
|
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ByteBuffer pixels) {
|
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ByteBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position());
|
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position());
|
||||||
}
|
}
|
||||||
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ShortBuffer pixels) {
|
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ShortBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 1);
|
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, IntBuffer pixels) {
|
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, IntBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2);
|
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, FloatBuffer pixels) {
|
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, FloatBuffer pixels) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2);
|
nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels, int pixels_offset);
|
private static native void nglTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels, int pixels_offset);
|
||||||
|
|
|
@ -148,90 +148,117 @@ public abstract class GL13 extends GL12 {
|
||||||
public static native void glActiveTexture(int texture);
|
public static native void glActiveTexture(int texture);
|
||||||
public static native void glClientActiveTexture(int texture);
|
public static native void glClientActiveTexture(int texture);
|
||||||
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position());
|
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 1);
|
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer data) {
|
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position());
|
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1);
|
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer data) {
|
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position());
|
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 1);
|
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer data) {
|
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
|
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position());
|
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1);
|
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer data) {
|
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position());
|
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 1);
|
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, IntBuffer data) {
|
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data) {
|
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position());
|
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data) {
|
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1);
|
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data) {
|
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data) {
|
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
|
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer data, int data_offset);
|
private static native void nglCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer data, int data_offset);
|
||||||
public static void glGetCompressedTexImage(int target, int lod, ByteBuffer img) {
|
public static void glGetCompressedTexImage(int target, int lod, ByteBuffer img) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetCompressedTexImage(target, lod, img, img.position());
|
nglGetCompressedTexImage(target, lod, img, img.position());
|
||||||
}
|
}
|
||||||
public static void glGetCompressedTexImage(int target, int lod, ShortBuffer img) {
|
public static void glGetCompressedTexImage(int target, int lod, ShortBuffer img) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetCompressedTexImage(target, lod, img, img.position() << 1);
|
nglGetCompressedTexImage(target, lod, img, img.position() << 1);
|
||||||
}
|
}
|
||||||
public static void glGetCompressedTexImage(int target, int lod, IntBuffer img) {
|
public static void glGetCompressedTexImage(int target, int lod, IntBuffer img) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglGetCompressedTexImage(target, lod, img, img.position() << 2);
|
nglGetCompressedTexImage(target, lod, img, img.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglGetCompressedTexImage(int target, int lod, Buffer img, int img_offset);
|
private static native void nglGetCompressedTexImage(int target, int lod, Buffer img, int img_offset);
|
||||||
|
@ -240,10 +267,16 @@ public abstract class GL13 extends GL12 {
|
||||||
public static native void glMultiTexCoord3f(int target, float s, float t, float r);
|
public static native void glMultiTexCoord3f(int target, float s, float t, float r);
|
||||||
public static native void glMultiTexCoord4f(int target, float s, float t, float r, float q);
|
public static native void glMultiTexCoord4f(int target, float s, float t, float r, float q);
|
||||||
public static void glLoadTransposeMatrix(FloatBuffer m) {
|
public static void glLoadTransposeMatrix(FloatBuffer m) {
|
||||||
|
if (m.remaining() < 16) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglLoadTransposeMatrixf(m, m.position());
|
nglLoadTransposeMatrixf(m, m.position());
|
||||||
}
|
}
|
||||||
private static native void nglLoadTransposeMatrixf(FloatBuffer m, int m_offset);
|
private static native void nglLoadTransposeMatrixf(FloatBuffer m, int m_offset);
|
||||||
public static void glMultTransposeMatrix(FloatBuffer m) {
|
public static void glMultTransposeMatrix(FloatBuffer m) {
|
||||||
|
if (m.remaining() < 16) {
|
||||||
|
throw new BufferUnderflowException();
|
||||||
|
}
|
||||||
nglMultTransposeMatrixf(m, m.position());
|
nglMultTransposeMatrixf(m, m.position());
|
||||||
}
|
}
|
||||||
private static native void nglMultTransposeMatrixf(FloatBuffer m, int m_offset);
|
private static native void nglMultTransposeMatrixf(FloatBuffer m, int m_offset);
|
||||||
|
|
|
@ -88,23 +88,26 @@ public abstract class GL14 extends GL13 {
|
||||||
|
|
||||||
public static native void glFogCoordf(float coord);
|
public static native void glFogCoordf(float coord);
|
||||||
public static void glFogCoordPointer(int stride, FloatBuffer data) {
|
public static void glFogCoordPointer(int stride, FloatBuffer data) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglFogCoordPointer(GL_FLOAT, stride, data, data.position() << 2);
|
nglFogCoordPointer(GL_FLOAT, stride, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglFogCoordPointer(int type, int stride, Buffer data, int data_offset);
|
private static native void nglFogCoordPointer(int type, int stride, Buffer data, int data_offset);
|
||||||
public static void glFogCoordPointer(int type, int stride, int buffer_offset) {
|
public static void glFogCoordPointer(int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglFogCoordPointerVBO(type, stride, buffer_offset);
|
nglFogCoordPointerVBO(type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglFogCoordPointerVBO(int type, int stride, int buffer_offset);
|
private static native void nglFogCoordPointerVBO(int type, int stride, int buffer_offset);
|
||||||
public static void glMultiDrawArrays(int mode, IntBuffer piFirst, IntBuffer piCount) {
|
public static void glMultiDrawArrays(int mode, IntBuffer piFirst, IntBuffer piCount) {
|
||||||
assert piFirst.remaining() == piCount.remaining(): "piFirst.remaining() != piCount.remaining()";
|
if (piFirst.remaining() != piCount.remaining()) {
|
||||||
|
throw new IllegalArgumentException("piFirst.remaining() != piCount.remaining()");
|
||||||
|
}
|
||||||
nglMultiDrawArrays(mode, piFirst, piFirst.position(), piCount, piCount.position(), piFirst.remaining());
|
nglMultiDrawArrays(mode, piFirst, piFirst.position(), piCount, piCount.position(), piFirst.remaining());
|
||||||
}
|
}
|
||||||
private static native void nglMultiDrawArrays(int mode, IntBuffer piFirst, int piFirst_offset, IntBuffer piCount, int piCount_offset, int primcount);
|
private static native void nglMultiDrawArrays(int mode, IntBuffer piFirst, int piFirst_offset, IntBuffer piCount, int piCount_offset, int primcount);
|
||||||
/* public static native void glMultiDrawElements(int mode, int piCount, int type, int pIndices, int primcount);*/
|
/* public static native void glMultiDrawElements(int mode, int piCount, int type, int pIndices, int primcount);*/
|
||||||
public static native void glPointParameterf (int pname, float param);
|
public static native void glPointParameterf (int pname, float param);
|
||||||
public static void glPointParameter(int pname, FloatBuffer params) {
|
public static void glPointParameter(int pname, FloatBuffer params) {
|
||||||
|
// TODO: check buffer size valid
|
||||||
nglPointParameterfv(pname, params, params.position());
|
nglPointParameterfv(pname, params, params.position());
|
||||||
}
|
}
|
||||||
private static native void nglPointParameterfv(int pname, FloatBuffer params, int params_offset);
|
private static native void nglPointParameterfv(int pname, FloatBuffer params, int params_offset);
|
||||||
|
@ -112,16 +115,16 @@ public abstract class GL14 extends GL13 {
|
||||||
public static native void glSecondaryColor3f (float red, float green, float blue);
|
public static native void glSecondaryColor3f (float red, float green, float blue);
|
||||||
public static native void glSecondaryColor3ub (byte red, byte green, byte blue);
|
public static native void glSecondaryColor3ub (byte red, byte green, byte blue);
|
||||||
public static void glSecondaryColorPointer(int size, boolean unsigned, int stride, ByteBuffer data) {
|
public static void glSecondaryColorPointer(int size, boolean unsigned, int stride, ByteBuffer data) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglSecondaryColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, data, data.position());
|
nglSecondaryColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, data, data.position());
|
||||||
}
|
}
|
||||||
public static void glSecondaryColorPointer(int size, int stride, FloatBuffer data) {
|
public static void glSecondaryColorPointer(int size, int stride, FloatBuffer data) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled";
|
BufferChecks.checkVBOdisabled();
|
||||||
nglSecondaryColorPointer(size, GL_FLOAT, stride, data, data.position() << 2);
|
nglSecondaryColorPointer(size, GL_FLOAT, stride, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglSecondaryColorPointer (int size, int type, int stride, Buffer data, int data_offset);
|
private static native void nglSecondaryColorPointer (int size, int type, int stride, Buffer data, int data_offset);
|
||||||
public static void glSecondaryColorPointer(int size, int type, int stride, int buffer_offset) {
|
public static void glSecondaryColorPointer(int size, int type, int stride, int buffer_offset) {
|
||||||
assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled";
|
BufferChecks.checkVBOenabled();
|
||||||
nglSecondaryColorPointerVBO(size, type, stride, buffer_offset);
|
nglSecondaryColorPointerVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglSecondaryColorPointerVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglSecondaryColorPointerVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -37,8 +37,8 @@ import org.lwjgl.Sys;
|
||||||
import java.lang.reflect.*;
|
import java.lang.reflect.*;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
@ -165,7 +165,7 @@ public abstract class GLCaps {
|
||||||
System.loadLibrary(Sys.getLibraryName());
|
System.loadLibrary(Sys.getLibraryName());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void setExtensionFields(HashSet exts, HashMap field_map) {
|
private static void setExtensionFields(Set exts, HashMap field_map) {
|
||||||
Sys.log("Available extensions:");
|
Sys.log("Available extensions:");
|
||||||
Iterator it = exts.iterator();
|
Iterator it = exts.iterator();
|
||||||
while ( it.hasNext() ) {
|
while ( it.hasNext() ) {
|
||||||
|
@ -186,9 +186,13 @@ public abstract class GLCaps {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine which extensions are available. Use this to initialize capability fields. Can only be
|
* Determine which extensions are available. Use this to initialize capability fields. Can only be
|
||||||
* called _after_ a GLWindow or Pbuffer has been created.
|
* called _after_ a GLWindow or Pbuffer has been created (or a context from some other GL library).
|
||||||
|
* Using LWJGL, this method is called automatically for you when the LWJGL Window is created and there
|
||||||
|
* is no need to call it yourself.
|
||||||
|
*
|
||||||
|
* @param exts A Set of OpenGL extension string names
|
||||||
*/
|
*/
|
||||||
static void determineAvailableExtensions(HashSet exts) {
|
public static void determineAvailableExtensions(Set exts) {
|
||||||
// Grab all the public static booleans out of this class
|
// Grab all the public static booleans out of this class
|
||||||
Field[] fields = GLCaps.class.getDeclaredFields();
|
Field[] fields = GLCaps.class.getDeclaredFields();
|
||||||
HashMap map = new HashMap(fields.length);
|
HashMap map = new HashMap(fields.length);
|
||||||
|
|
|
@ -41,7 +41,9 @@ import java.nio.*;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
abstract class Util {
|
abstract class Util {
|
||||||
private final static IntBuffer int_buffer = ByteBuffer.allocateDirect(4).order(ByteOrder.nativeOrder()).asIntBuffer();
|
|
||||||
|
final static IntBuffer int_buffer = ByteBuffer.allocateDirect(16).order(ByteOrder.nativeOrder()).asIntBuffer();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A helper function which is used to get the byte offset in an arbitrary buffer
|
* A helper function which is used to get the byte offset in an arbitrary buffer
|
||||||
* based on its position
|
* based on its position
|
||||||
|
@ -62,4 +64,22 @@ abstract class Util {
|
||||||
GL11.glGetInteger(gl_enum, int_buffer);
|
GL11.glGetInteger(gl_enum, int_buffer);
|
||||||
return int_buffer.get(0);
|
return int_buffer.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handy mutable integer value class
|
||||||
|
*/
|
||||||
|
static final class IntValue {
|
||||||
|
int value;
|
||||||
|
IntValue(int value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
return ((IntValue) obj).value == value;
|
||||||
|
}
|
||||||
|
public int hashCode() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue