Split general buffer checks into org.lwjgl.BufferChecks and the gl specific buffer checks into org.lwjgl.opengl.GLBufferChecks
This commit is contained in:
parent
89a482e9ce
commit
ad1ff19437
|
@ -0,0 +1,212 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2002-2004 LWJGL Project
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* * Neither the name of 'LWJGL' nor the names of
|
||||||
|
* its contributors may be used to endorse or promote products derived
|
||||||
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||||
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package org.lwjgl;
|
||||||
|
|
||||||
|
import java.nio.Buffer;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.nio.ShortBuffer;
|
||||||
|
import java.nio.FloatBuffer;
|
||||||
|
import java.nio.IntBuffer;
|
||||||
|
import java.nio.DoubleBuffer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $Id$ A class to
|
||||||
|
* check buffer boundaries in general. If there is unsufficient space
|
||||||
|
* in the buffer when the call is made then a buffer overflow would otherwise
|
||||||
|
* occur and cause unexpected behaviour, a crash, or worse, a security risk.
|
||||||
|
*
|
||||||
|
* @author cix_foo <cix_foo@users.sourceforge.net>
|
||||||
|
* @author elias_naur <elias_naur@users.sourceforge.net>
|
||||||
|
* @version $Revision$
|
||||||
|
*/
|
||||||
|
public class BufferChecks {
|
||||||
|
/** Static methods only! */
|
||||||
|
private BufferChecks() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default buffer size for most buffer checks.
|
||||||
|
*/
|
||||||
|
private static final int DEFAULT_BUFFER_SIZE = 4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods to ensure a buffer is direct or null.
|
||||||
|
*/
|
||||||
|
public static void checkDirectOrNull(ByteBuffer buf) {
|
||||||
|
if (buf != null) {
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirectOrNull(FloatBuffer buf) {
|
||||||
|
if (buf != null) {
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirectOrNull(ShortBuffer buf) {
|
||||||
|
if (buf != null) {
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirectOrNull(IntBuffer buf) {
|
||||||
|
if (buf != null) {
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirectOrNull(DoubleBuffer buf) {
|
||||||
|
if (buf != null) {
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods to ensure a buffer is direct (and, implicitly, non-null).
|
||||||
|
*/
|
||||||
|
public static void checkDirectBuffer(Buffer buf) {
|
||||||
|
if (buf instanceof ByteBuffer)
|
||||||
|
checkDirect((ByteBuffer)buf);
|
||||||
|
else if (buf instanceof ShortBuffer)
|
||||||
|
checkDirect((ShortBuffer)buf);
|
||||||
|
else if (buf instanceof IntBuffer)
|
||||||
|
checkDirect((IntBuffer)buf);
|
||||||
|
else if (buf instanceof FloatBuffer)
|
||||||
|
checkDirect((FloatBuffer)buf);
|
||||||
|
else if (buf instanceof DoubleBuffer)
|
||||||
|
checkDirect((DoubleBuffer)buf);
|
||||||
|
else
|
||||||
|
throw new IllegalStateException("Unsupported buffer type");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirect(ByteBuffer buf) {
|
||||||
|
if (!buf.isDirect()) {
|
||||||
|
throw new IllegalArgumentException("ByteBuffer is not direct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirect(FloatBuffer buf) {
|
||||||
|
if (!buf.isDirect()) {
|
||||||
|
throw new IllegalArgumentException("FloatBuffer is not direct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirect(ShortBuffer buf) {
|
||||||
|
if (!buf.isDirect()) {
|
||||||
|
throw new IllegalArgumentException("ShortBuffer is not direct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirect(IntBuffer buf) {
|
||||||
|
if (!buf.isDirect()) {
|
||||||
|
throw new IllegalArgumentException("IntBuffer is not direct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkDirect(DoubleBuffer buf) {
|
||||||
|
if (!buf.isDirect()) {
|
||||||
|
throw new IllegalArgumentException("IntBuffer is not direct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to ensure a buffer is big enough to receive data from a
|
||||||
|
* glGet* operation.
|
||||||
|
*
|
||||||
|
* @param buf
|
||||||
|
* The buffer to check
|
||||||
|
* @param size
|
||||||
|
* The minimum buffer size
|
||||||
|
* @throws BufferOverflowException
|
||||||
|
*/
|
||||||
|
private static void checkBufferSize(Buffer buf, int size) {
|
||||||
|
if (buf.remaining() < size) {
|
||||||
|
throw new IllegalArgumentException("Number of remaining buffer elements is " + buf.remaining() + ", must be at least " + size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(ByteBuffer buf, int size) {
|
||||||
|
checkBufferSize(buf, size);
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(IntBuffer buf, int size) {
|
||||||
|
checkBufferSize(buf, size);
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(ShortBuffer buf, int size) {
|
||||||
|
checkBufferSize(buf, size);
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(FloatBuffer buf, int size) {
|
||||||
|
checkBufferSize(buf, size);
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(DoubleBuffer buf, int size) {
|
||||||
|
checkBufferSize(buf, size);
|
||||||
|
checkDirect(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods to ensure a buffer is big enough to receive data from a
|
||||||
|
* glGet* operation. To avoid unnecessarily complex buffer size checking
|
||||||
|
* we've just set the bar artificially high and insist that any receiving
|
||||||
|
* buffer has at least 4 remaining().
|
||||||
|
*
|
||||||
|
* @param buf
|
||||||
|
* The buffer to check
|
||||||
|
* @throws BufferOverflowException
|
||||||
|
*/
|
||||||
|
public static void checkBuffer(ByteBuffer buf) {
|
||||||
|
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(ShortBuffer buf) {
|
||||||
|
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(FloatBuffer buf) {
|
||||||
|
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(IntBuffer buf) {
|
||||||
|
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkBuffer(DoubleBuffer buf) {
|
||||||
|
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
||||||
|
}
|
||||||
|
}
|
|
@ -36,6 +36,7 @@ import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
import org.lwjgl.BufferUtils;
|
import org.lwjgl.BufferUtils;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
import org.lwjgl.Sys;
|
import org.lwjgl.Sys;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -72,12 +73,13 @@ public class Cursor {
|
||||||
* @throws LWJGLException if the cursor could not be created for any reason
|
* @throws LWJGLException if the cursor could not be created for any reason
|
||||||
*/
|
*/
|
||||||
public Cursor(int width, int height, int xHotspot, int yHotspot, int numImages, IntBuffer images, IntBuffer delays) throws LWJGLException {
|
public Cursor(int width, int height, int xHotspot, int yHotspot, int numImages, IntBuffer images, IntBuffer delays) throws LWJGLException {
|
||||||
|
BufferChecks.checkBuffer(images, width*height*numImages);
|
||||||
if (!Mouse.isCreated())
|
if (!Mouse.isCreated())
|
||||||
throw new IllegalStateException("Mouse must be created before creating cursor objects");
|
throw new IllegalStateException("Mouse must be created before creating cursor objects");
|
||||||
if (width*height*numImages > images.remaining())
|
if (width*height*numImages > images.remaining())
|
||||||
throw new IllegalArgumentException("width*height*numImages > images.remaining()");
|
throw new IllegalArgumentException("width*height*numImages > images.remaining()");
|
||||||
if (delays != null && numImages > delays.remaining())
|
if (delays != null && numImages > delays.remaining())
|
||||||
throw new IllegalArgumentException("delays != null && numImages > delays.remaining()");
|
BufferChecks.checkBuffer(delays, numImages);
|
||||||
if (xHotspot >= width || xHotspot < 0)
|
if (xHotspot >= width || xHotspot < 0)
|
||||||
throw new IllegalArgumentException("xHotspot > width || xHotspot < 0");
|
throw new IllegalArgumentException("xHotspot > width || xHotspot < 0");
|
||||||
if (yHotspot >= height || yHotspot < 0)
|
if (yHotspot >= height || yHotspot < 0)
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBBufferObject {
|
public final class ARBBufferObject {
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.BufferUtils;
|
import org.lwjgl.BufferUtils;
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
@ -239,32 +240,32 @@ public final class ARBImaging {
|
||||||
}
|
}
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
||||||
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);
|
||||||
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer image) {
|
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer image) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, height, 1));
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
|
||||||
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position());
|
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position());
|
||||||
}
|
}
|
||||||
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer image) {
|
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer image) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
||||||
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() <<1);
|
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() <<1);
|
||||||
}
|
}
|
||||||
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer image) {
|
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer image) {
|
||||||
BufferChecks.checkBuffer(image, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 2);
|
nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 2);
|
||||||
}
|
}
|
||||||
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);
|
||||||
|
|
|
@ -37,6 +37,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBMatrixPalette {
|
public final class ARBMatrixPalette {
|
||||||
public static final int GL_MATRIX_PALETTE_ARB = 0x8840;
|
public static final int GL_MATRIX_PALETTE_ARB = 0x8840;
|
||||||
|
@ -55,22 +56,22 @@ public final class ARBMatrixPalette {
|
||||||
public static native void glCurrentPaletteMatrixARB(int index);
|
public static native void glCurrentPaletteMatrixARB(int index);
|
||||||
public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) {
|
public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position());
|
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position());
|
||||||
}
|
}
|
||||||
public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) {
|
public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position()<<1);
|
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position()<<1);
|
||||||
}
|
}
|
||||||
public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) {
|
public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_INT, stride, pPointer, pPointer.position()<<2);
|
nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_INT, stride, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
||||||
public static void glMatrixIndexPointerARB(int size, int type, int stride, int buffer_offset) {
|
public static void glMatrixIndexPointerARB(int size, int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglMatrixIndexPointerARBVBO(size, type, stride, buffer_offset);
|
nglMatrixIndexPointerARBVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglMatrixIndexPointerARBVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglMatrixIndexPointerARBVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBOcclusionQuery {
|
public final class ARBOcclusionQuery {
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBPointParameters {
|
public final class ARBPointParameters {
|
||||||
public static final int GL_POINT_SIZE_MIN_ARB = 0x8126;
|
public static final int GL_POINT_SIZE_MIN_ARB = 0x8126;
|
||||||
|
|
|
@ -39,6 +39,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public class ARBProgram {
|
public class ARBProgram {
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBShaderObjects {
|
public final class ARBShaderObjects {
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBTextureCompression
|
public final class ARBTextureCompression
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBTransposeMatrix {
|
public final class ARBTransposeMatrix {
|
||||||
public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3;
|
public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3;
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBVertexBlend {
|
public final class ARBVertexBlend {
|
||||||
public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4;
|
public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4;
|
||||||
|
@ -129,27 +130,27 @@ public final class ARBVertexBlend {
|
||||||
|
|
||||||
public static void glWeightPointerARB(int size, boolean unsigned, int stride, ByteBuffer pPointer) {
|
public static void glWeightPointerARB(int size, boolean unsigned, int stride, ByteBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position());
|
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position());
|
||||||
}
|
}
|
||||||
public static void glWeightPointerARB(int size, boolean unsigned, int stride, ShortBuffer pPointer) {
|
public static void glWeightPointerARB(int size, boolean unsigned, int stride, ShortBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pPointer, pPointer.position()<<1);
|
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pPointer, pPointer.position()<<1);
|
||||||
}
|
}
|
||||||
public static void glWeightPointerARB(int size, int stride, FloatBuffer pPointer) {
|
public static void glWeightPointerARB(int size, int stride, FloatBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) {
|
public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pPointer, pPointer.position()<<2);
|
nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
||||||
public static void glWeightPointerARB(int size, int type, int stride, int buffer_offset) {
|
public static void glWeightPointerARB(int size, int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglWeightPointerARBVBO(size, type, stride, buffer_offset);
|
nglWeightPointerARBVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglWeightPointerARBVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglWeightPointerARBVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBVertexProgram extends ARBProgram {
|
public final class ARBVertexProgram extends ARBProgram {
|
||||||
|
|
||||||
|
@ -110,22 +111,22 @@ public final class ARBVertexProgram extends ARBProgram {
|
||||||
public static native void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w);
|
public static native void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w);
|
||||||
|
|
||||||
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) {
|
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) {
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position());
|
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) {
|
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) {
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1);
|
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void glVertexAttribPointerARB(int index, int size, boolean normalized, int stride, FloatBuffer buffer) {
|
public static void glVertexAttribPointerARB(int index, int size, boolean normalized, int stride, FloatBuffer buffer) {
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerARB(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2);
|
nglVertexAttribPointerARB(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) {
|
public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) {
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2);
|
nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +134,7 @@ public final class ARBVertexProgram extends ARBProgram {
|
||||||
|
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int bufferOffset) {
|
public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int bufferOffset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglVertexAttribPointerARBVBO(index, size, type, normalized, stride, bufferOffset);
|
nglVertexAttribPointerARBVBO(index, size, type, normalized, stride, bufferOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.ByteBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ARBVertexShader {
|
public final class ARBVertexShader {
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIDrawBuffers {
|
public final class ATIDrawBuffers {
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIElementArray {
|
public final class ATIElementArray {
|
||||||
public static final int GL_ELEMENT_ARRAY_ATI = 0x8768;
|
public static final int GL_ELEMENT_ARRAY_ATI = 0x8768;
|
||||||
|
@ -47,23 +48,23 @@ public final class ATIElementArray {
|
||||||
|
|
||||||
public static void glElementPointerATI(ByteBuffer pPointer) {
|
public static void glElementPointerATI(ByteBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglElementPointerATI(GL11.GL_UNSIGNED_BYTE, pPointer, pPointer.position());
|
nglElementPointerATI(GL11.GL_UNSIGNED_BYTE, pPointer, pPointer.position());
|
||||||
}
|
}
|
||||||
public static void glElementPointerATI(ShortBuffer pPointer) {
|
public static void glElementPointerATI(ShortBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglElementPointerATI(GL11.GL_UNSIGNED_SHORT, pPointer, pPointer.position()<<1);
|
nglElementPointerATI(GL11.GL_UNSIGNED_SHORT, pPointer, pPointer.position()<<1);
|
||||||
}
|
}
|
||||||
public static void glElementPointerATI(IntBuffer pPointer) {
|
public static void glElementPointerATI(IntBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglElementPointerATI(GL11.GL_UNSIGNED_INT, pPointer, pPointer.position()<<2);
|
nglElementPointerATI(GL11.GL_UNSIGNED_INT, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_offset);
|
private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_offset);
|
||||||
|
|
||||||
public static void glElementPointerATI(int type, int buffer_offset) {
|
public static void glElementPointerATI(int type, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglElementPointerATIVBO(type, buffer_offset);
|
nglElementPointerATIVBO(type, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglElementPointerATIVBO(int type, int buffer_offset);
|
private static native void nglElementPointerATIVBO(int type, int buffer_offset);
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIEnvmapBumpmap {
|
public final class ATIEnvmapBumpmap {
|
||||||
public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775;
|
public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775;
|
||||||
|
|
|
@ -39,6 +39,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIFragmentShader {
|
public final class ATIFragmentShader {
|
||||||
public static final int GL_FRAGMENT_SHADER_ATI = 0x8920;
|
public static final int GL_FRAGMENT_SHADER_ATI = 0x8920;
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIVertexArrayObject {
|
public final class ATIVertexArrayObject {
|
||||||
public static final int GL_STATIC_ATI = 0x8760;
|
public static final int GL_STATIC_ATI = 0x8760;
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class ATIVertexAttribArrayObject {
|
public final class ATIVertexAttribArrayObject {
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTDrawRangeElements {
|
public final class EXTDrawRangeElements {
|
||||||
public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8;
|
public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8;
|
||||||
|
@ -46,23 +47,23 @@ public final class EXTDrawRangeElements {
|
||||||
|
|
||||||
public static void glDrawRangeElementsEXT(int mode, int start, int end, ByteBuffer pIndices) {
|
public static void glDrawRangeElementsEXT(int mode, int start, int end, ByteBuffer pIndices) {
|
||||||
BufferChecks.checkDirect(pIndices);
|
BufferChecks.checkDirect(pIndices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_BYTE, pIndices, pIndices.position());
|
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_BYTE, pIndices, pIndices.position());
|
||||||
}
|
}
|
||||||
public static void glDrawRangeElementsEXT(int mode, int start, int end, ShortBuffer pIndices) {
|
public static void glDrawRangeElementsEXT(int mode, int start, int end, ShortBuffer pIndices) {
|
||||||
BufferChecks.checkDirect(pIndices);
|
BufferChecks.checkDirect(pIndices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_SHORT, pIndices, pIndices.position()<<1);
|
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_SHORT, pIndices, pIndices.position()<<1);
|
||||||
}
|
}
|
||||||
public static void glDrawRangeElementsEXT(int mode, int start, int end, IntBuffer pIndices) {
|
public static void glDrawRangeElementsEXT(int mode, int start, int end, IntBuffer pIndices) {
|
||||||
BufferChecks.checkDirect(pIndices);
|
BufferChecks.checkDirect(pIndices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_INT, pIndices, pIndices.position()<<2);
|
nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_INT, pIndices, pIndices.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_offset);
|
private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_offset);
|
||||||
|
|
||||||
public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, int buffer_offset) {
|
public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, int buffer_offset) {
|
||||||
BufferChecks.ensureElementVBOenabled();
|
GLBufferChecks.ensureElementVBOenabled();
|
||||||
nglDrawRangeElementsEXTVBO(mode, start, end, count, type, buffer_offset);
|
nglDrawRangeElementsEXTVBO(mode, start, end, count, type, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglDrawRangeElementsEXTVBO(int mode, int start, int end, int count, int type, int buffer_offset);
|
private static native void nglDrawRangeElementsEXTVBO(int mode, int start, int end, int count, int type, int buffer_offset);
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.Buffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTFogCoord {
|
public final class EXTFogCoord {
|
||||||
public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450;
|
public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450;
|
||||||
|
@ -52,12 +53,12 @@ public final class EXTFogCoord {
|
||||||
public static native void glFogCoordfEXT(float coord);
|
public static native void glFogCoordfEXT(float coord);
|
||||||
public static void glFogCoordPointerEXT(int stride, FloatBuffer data) {
|
public static void glFogCoordPointerEXT(int stride, FloatBuffer data) {
|
||||||
BufferChecks.checkDirect(data);
|
BufferChecks.checkDirect(data);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglFogCoordPointerEXT(GL11.GL_FLOAT, stride, data, data.position() << 2);
|
nglFogCoordPointerEXT(GL11.GL_FLOAT, stride, data, data.position() << 2);
|
||||||
}
|
}
|
||||||
private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_offset);
|
private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_offset);
|
||||||
public static void glFogCoordPointerEXT(int type, int stride, int buffer_offset) {
|
public static void glFogCoordPointerEXT(int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglFogCoordPointerEXTVBO(type, stride, buffer_offset);
|
nglFogCoordPointerEXTVBO(type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglFogCoordPointerEXTVBO(int type, int stride, int buffer_offset);
|
private static native void nglFogCoordPointerEXTVBO(int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTMultiDrawArrays {
|
public final class EXTMultiDrawArrays {
|
||||||
static native void initNativeStubs() throws LWJGLException;
|
static native void initNativeStubs() throws LWJGLException;
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTPointParameters {
|
public final class EXTPointParameters {
|
||||||
public static final int GL_POINT_SIZE_MIN_EXT = 0x8126;
|
public static final int GL_POINT_SIZE_MIN_EXT = 0x8126;
|
||||||
|
|
|
@ -36,6 +36,7 @@ import java.nio.ByteBuffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTSecondaryColor {
|
public final class EXTSecondaryColor {
|
||||||
public static final int GL_COLOR_SUM_EXT = 0x8458;
|
public static final int GL_COLOR_SUM_EXT = 0x8458;
|
||||||
|
@ -56,18 +57,18 @@ public final class EXTSecondaryColor {
|
||||||
|
|
||||||
public static void glSecondaryColorPointerEXT(int size, boolean unsigned, int stride, ByteBuffer pPointer) {
|
public static void glSecondaryColorPointerEXT(int size, boolean unsigned, int stride, ByteBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE: GL11.GL_BYTE, stride, pPointer, pPointer.position());
|
nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE: GL11.GL_BYTE, stride, pPointer, pPointer.position());
|
||||||
}
|
}
|
||||||
public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) {
|
public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglSecondaryColorPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
nglSecondaryColorPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
||||||
|
|
||||||
public static void glSecondaryColorPointerEXT(int size, int type, int stride, int buffer_offset) {
|
public static void glSecondaryColorPointerEXT(int size, int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglSecondaryColorPointerEXTVBO(size, type, stride, buffer_offset);
|
nglSecondaryColorPointerEXTVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglSecondaryColorPointerEXTVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglSecondaryColorPointerEXTVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTVertexShader {
|
public final class EXTVertexShader {
|
||||||
public static final int GL_VERTEX_SHADER_EXT = 0x8780;
|
public static final int GL_VERTEX_SHADER_EXT = 0x8780;
|
||||||
|
@ -276,27 +277,27 @@ public final class EXTVertexShader {
|
||||||
private static native void nglVariantuivEXT(int id, IntBuffer piAddr, int piAddr_offset);
|
private static native void nglVariantuivEXT(int id, IntBuffer piAddr, int piAddr_offset);
|
||||||
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) {
|
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) {
|
||||||
BufferChecks.checkDirect(pAddr);
|
BufferChecks.checkDirect(pAddr);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position());
|
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position());
|
||||||
}
|
}
|
||||||
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) {
|
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) {
|
||||||
BufferChecks.checkDirect(pAddr);
|
BufferChecks.checkDirect(pAddr);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position()<<1);
|
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position()<<1);
|
||||||
}
|
}
|
||||||
public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) {
|
public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) {
|
||||||
BufferChecks.checkDirect(pAddr);
|
BufferChecks.checkDirect(pAddr);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position()<<2);
|
nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position()<<2);
|
||||||
}
|
}
|
||||||
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) {
|
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) {
|
||||||
BufferChecks.checkDirect(pAddr);
|
BufferChecks.checkDirect(pAddr);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position()<<2);
|
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_offset);
|
private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_offset);
|
||||||
public static void glVariantPointerEXT(int id, int type, int stride, int buffer_offset) {
|
public static void glVariantPointerEXT(int id, int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglVariantPointerEXTVBO(id, type, stride, buffer_offset);
|
nglVariantPointerEXTVBO(id, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglVariantPointerEXTVBO(int id, int type, int stride, int buffer_offset);
|
private static native void nglVariantPointerEXTVBO(int id, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.Buffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class EXTVertexWeighting {
|
public final class EXTVertexWeighting {
|
||||||
public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; /* alias to MODELVIEW_STACK_DEPTH */
|
public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; /* alias to MODELVIEW_STACK_DEPTH */
|
||||||
|
@ -57,12 +58,12 @@ public final class EXTVertexWeighting {
|
||||||
|
|
||||||
public static void glVertexWeightPointerEXT(int size, int stride, FloatBuffer pPointer) {
|
public static void glVertexWeightPointerEXT(int size, int stride, FloatBuffer pPointer) {
|
||||||
BufferChecks.checkDirect(pPointer);
|
BufferChecks.checkDirect(pPointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexWeightPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
nglVertexWeightPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2);
|
||||||
}
|
}
|
||||||
private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset);
|
||||||
public static void glVertexWeightPointerEXT(int size, int type, int stride, int buffer_offset) {
|
public static void glVertexWeightPointerEXT(int size, int type, int stride, int buffer_offset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglVertexWeightPointerEXTVBO(size, type, stride, buffer_offset);
|
nglVertexWeightPointerEXTVBO(size, type, stride, buffer_offset);
|
||||||
}
|
}
|
||||||
private static native void nglVertexWeightPointerEXTVBO(int size, int type, int stride, int buffer_offset);
|
private static native void nglVertexWeightPointerEXTVBO(int size, int type, int stride, int buffer_offset);
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
*/
|
*/
|
||||||
package org.lwjgl.opengl;
|
package org.lwjgl.opengl;
|
||||||
|
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
import java.nio.*;
|
import java.nio.*;
|
||||||
import java.nio.Buffer;
|
import java.nio.Buffer;
|
||||||
import java.nio.BufferUnderflowException;
|
import java.nio.BufferUnderflowException;
|
||||||
|
@ -769,17 +771,17 @@ public final class GL11 {
|
||||||
|
|
||||||
public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) {
|
public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
@ -810,47 +812,47 @@ public final class GL11 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureElementVBOenabled();
|
GLBufferChecks.ensureElementVBOenabled();
|
||||||
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);
|
||||||
|
@ -969,27 +971,27 @@ public final class GL11 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
@ -1019,21 +1021,21 @@ public final class GL11 {
|
||||||
int width = 1;
|
int width = 1;
|
||||||
int height = 1;
|
int height = 1;
|
||||||
int depth = 1;
|
int depth = 1;
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth));
|
||||||
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) {
|
||||||
int width = 1;
|
int width = 1;
|
||||||
int height = 1;
|
int height = 1;
|
||||||
int depth = 1;
|
int depth = 1;
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
||||||
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) {
|
||||||
int width = 1;
|
int width = 1;
|
||||||
int height = 1;
|
int height = 1;
|
||||||
int depth = 1;
|
int depth = 1;
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
||||||
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);
|
||||||
|
@ -1163,22 +1165,22 @@ public final class GL11 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
@ -1205,15 +1207,15 @@ public final 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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
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);
|
||||||
|
@ -1251,17 +1253,17 @@ public final class GL11 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
@ -1273,28 +1275,28 @@ public final 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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
||||||
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);
|
||||||
|
@ -1311,36 +1313,36 @@ public final class GL11 {
|
||||||
}
|
}
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1)>>2);
|
||||||
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);
|
||||||
|
@ -1370,12 +1372,12 @@ public final class GL11 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(pointer);
|
BufferChecks.checkDirect(pointer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
|
|
@ -39,6 +39,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
@ -95,56 +96,56 @@ public final class GL12 {
|
||||||
|
|
||||||
public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) {
|
public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.GL_UNSIGNED_BYTE, indices, indices.position());
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.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) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1);
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.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) {
|
||||||
BufferChecks.checkDirect(indices);
|
BufferChecks.checkDirect(indices);
|
||||||
BufferChecks.ensureElementVBOdisabled();
|
GLBufferChecks.ensureElementVBOdisabled();
|
||||||
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2);
|
nglDrawRangeElements(mode, start, end, indices.remaining(), GL11.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) {
|
||||||
BufferChecks.ensureElementVBOenabled();
|
GLBufferChecks.ensureElementVBOenabled();
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth));
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth));
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
||||||
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) {
|
||||||
BufferChecks.checkBuffer(pixels, BufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
|
||||||
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);
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
|
|
@ -37,6 +37,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $Id$
|
* $Id$
|
||||||
|
@ -94,12 +95,12 @@ public final class GL14 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(data);
|
BufferChecks.checkDirect(data);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglFogCoordPointer(GL11.GL_FLOAT, stride, data, data.position() << 2);
|
nglFogCoordPointer(GL11.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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
@ -124,17 +125,17 @@ public final class GL14 {
|
||||||
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) {
|
||||||
BufferChecks.checkDirect(data);
|
BufferChecks.checkDirect(data);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglSecondaryColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, data, data.position());
|
nglSecondaryColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.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) {
|
||||||
BufferChecks.checkDirect(data);
|
BufferChecks.checkDirect(data);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglSecondaryColorPointer(size, GL11.GL_FLOAT, stride, data, data.position() << 2);
|
nglSecondaryColorPointer(size, GL11.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) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
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);
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.*;
|
import java.nio.*;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class GL15 {
|
public final class GL15 {
|
||||||
|
|
||||||
|
|
|
@ -54,166 +54,9 @@ import java.nio.DoubleBuffer;
|
||||||
* @author cix_foo <cix_foo@users.sourceforge.net>
|
* @author cix_foo <cix_foo@users.sourceforge.net>
|
||||||
* @version $Revision$
|
* @version $Revision$
|
||||||
*/
|
*/
|
||||||
class BufferChecks {
|
class GLBufferChecks {
|
||||||
/** Static methods only! */
|
/** Static methods only! */
|
||||||
private BufferChecks() {
|
private GLBufferChecks() {
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Default buffer size for most buffer checks.
|
|
||||||
*/
|
|
||||||
private static final int DEFAULT_BUFFER_SIZE = 4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper methods to ensure a buffer is direct or null.
|
|
||||||
*/
|
|
||||||
static void checkDirectOrNull(ByteBuffer buf) {
|
|
||||||
if (buf != null) {
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirectOrNull(FloatBuffer buf) {
|
|
||||||
if (buf != null) {
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirectOrNull(ShortBuffer buf) {
|
|
||||||
if (buf != null) {
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirectOrNull(IntBuffer buf) {
|
|
||||||
if (buf != null) {
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirectOrNull(DoubleBuffer buf) {
|
|
||||||
if (buf != null) {
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper methods to ensure a buffer is direct (and, implicitly, non-null).
|
|
||||||
*/
|
|
||||||
static void checkDirectBuffer(Buffer buf) {
|
|
||||||
if (buf instanceof ByteBuffer)
|
|
||||||
checkDirect((ByteBuffer)buf);
|
|
||||||
else if (buf instanceof ShortBuffer)
|
|
||||||
checkDirect((ShortBuffer)buf);
|
|
||||||
else if (buf instanceof IntBuffer)
|
|
||||||
checkDirect((IntBuffer)buf);
|
|
||||||
else if (buf instanceof FloatBuffer)
|
|
||||||
checkDirect((FloatBuffer)buf);
|
|
||||||
else if (buf instanceof DoubleBuffer)
|
|
||||||
checkDirect((DoubleBuffer)buf);
|
|
||||||
else
|
|
||||||
throw new IllegalStateException("Unsupported buffer type");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirect(ByteBuffer buf) {
|
|
||||||
if (!buf.isDirect()) {
|
|
||||||
throw new IllegalArgumentException("ByteBuffer is not direct");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirect(FloatBuffer buf) {
|
|
||||||
if (!buf.isDirect()) {
|
|
||||||
throw new IllegalArgumentException("FloatBuffer is not direct");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirect(ShortBuffer buf) {
|
|
||||||
if (!buf.isDirect()) {
|
|
||||||
throw new IllegalArgumentException("ShortBuffer is not direct");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirect(IntBuffer buf) {
|
|
||||||
if (!buf.isDirect()) {
|
|
||||||
throw new IllegalArgumentException("IntBuffer is not direct");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkDirect(DoubleBuffer buf) {
|
|
||||||
if (!buf.isDirect()) {
|
|
||||||
throw new IllegalArgumentException("IntBuffer is not direct");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper method to ensure a buffer is big enough to receive data from a
|
|
||||||
* glGet* operation.
|
|
||||||
*
|
|
||||||
* @param buf
|
|
||||||
* The buffer to check
|
|
||||||
* @param size
|
|
||||||
* The minimum buffer size
|
|
||||||
* @throws BufferOverflowException
|
|
||||||
*/
|
|
||||||
private static void checkBufferSize(Buffer buf, int size) {
|
|
||||||
if (buf.remaining() < size) {
|
|
||||||
throw new IllegalArgumentException("Number of remaining buffer elements is " + buf.remaining() + ", must be at least " + size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(ByteBuffer buf, int size) {
|
|
||||||
checkBufferSize(buf, size);
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(IntBuffer buf, int size) {
|
|
||||||
checkBufferSize(buf, size);
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(ShortBuffer buf, int size) {
|
|
||||||
checkBufferSize(buf, size);
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(FloatBuffer buf, int size) {
|
|
||||||
checkBufferSize(buf, size);
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(DoubleBuffer buf, int size) {
|
|
||||||
checkBufferSize(buf, size);
|
|
||||||
checkDirect(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper methods to ensure a buffer is big enough to receive data from a
|
|
||||||
* glGet* operation. To avoid unnecessarily complex buffer size checking
|
|
||||||
* we've just set the bar artificially high and insist that any receiving
|
|
||||||
* buffer has at least 4 remaining().
|
|
||||||
*
|
|
||||||
* @param buf
|
|
||||||
* The buffer to check
|
|
||||||
* @throws BufferOverflowException
|
|
||||||
*/
|
|
||||||
static void checkBuffer(ByteBuffer buf) {
|
|
||||||
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(ShortBuffer buf) {
|
|
||||||
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(FloatBuffer buf) {
|
|
||||||
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(IntBuffer buf) {
|
|
||||||
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void checkBuffer(DoubleBuffer buf) {
|
|
||||||
checkBuffer(buf, DEFAULT_BUFFER_SIZE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -36,6 +36,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVEvaluators {
|
public final class NVEvaluators {
|
||||||
public static final int GL_EVAL_2D_NV = 0x86C0;
|
public static final int GL_EVAL_2D_NV = 0x86C0;
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVFence {
|
public final class NVFence {
|
||||||
public static final int GL_ALL_COMPLETED_NV = 0x84F2;
|
public static final int GL_ALL_COMPLETED_NV = 0x84F2;
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.ByteBuffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVFragmentProgram extends NVProgram {
|
public final class NVFragmentProgram extends NVProgram {
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVHalfFloat {
|
public final class NVHalfFloat {
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVOcclusionQuery {
|
public final class NVOcclusionQuery {
|
||||||
public static final int GL_OCCLUSION_TEST_HP = 0x8165;
|
public static final int GL_OCCLUSION_TEST_HP = 0x8165;
|
||||||
|
|
|
@ -38,6 +38,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVPixelDataRange {
|
public final class NVPixelDataRange {
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVPointSprite {
|
public final class NVPointSprite {
|
||||||
public static final int GL_POINT_SPRITE_NV = 0x8861;
|
public static final int GL_POINT_SPRITE_NV = 0x8861;
|
||||||
|
|
|
@ -36,6 +36,7 @@ import java.nio.ByteBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public class NVProgram {
|
public class NVProgram {
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVRegisterCombiners {
|
public final class NVRegisterCombiners {
|
||||||
public static final int GL_REGISTER_COMBINERS_NV = 0x8522;
|
public static final int GL_REGISTER_COMBINERS_NV = 0x8522;
|
||||||
|
|
|
@ -34,6 +34,7 @@ package org.lwjgl.opengl;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVRegisterCombiners2
|
public final class NVRegisterCombiners2
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.nio.Buffer;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVVertexArrayRange {
|
public final class NVVertexArrayRange {
|
||||||
public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D;
|
public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D;
|
||||||
|
|
|
@ -39,6 +39,7 @@ import java.nio.IntBuffer;
|
||||||
import java.nio.ShortBuffer;
|
import java.nio.ShortBuffer;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
|
import org.lwjgl.BufferChecks;
|
||||||
|
|
||||||
public final class NVVertexProgram extends NVProgram {
|
public final class NVVertexProgram extends NVProgram {
|
||||||
|
|
||||||
|
@ -292,7 +293,7 @@ public final class NVVertexProgram extends NVProgram {
|
||||||
|
|
||||||
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ByteBuffer buffer) {
|
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ByteBuffer buffer) {
|
||||||
BufferChecks.checkDirect(buffer);
|
BufferChecks.checkDirect(buffer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerNV(
|
nglVertexAttribPointerNV(
|
||||||
index,
|
index,
|
||||||
size,
|
size,
|
||||||
|
@ -304,7 +305,7 @@ public final class NVVertexProgram extends NVProgram {
|
||||||
|
|
||||||
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ShortBuffer buffer) {
|
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ShortBuffer buffer) {
|
||||||
BufferChecks.checkDirect(buffer);
|
BufferChecks.checkDirect(buffer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerNV(
|
nglVertexAttribPointerNV(
|
||||||
index,
|
index,
|
||||||
size,
|
size,
|
||||||
|
@ -316,13 +317,13 @@ public final class NVVertexProgram extends NVProgram {
|
||||||
|
|
||||||
public static void glVertexAttribPointerNV(int index, int size, int stride, FloatBuffer buffer) {
|
public static void glVertexAttribPointerNV(int index, int size, int stride, FloatBuffer buffer) {
|
||||||
BufferChecks.checkDirect(buffer);
|
BufferChecks.checkDirect(buffer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerNV(index, size, GL11.GL_FLOAT, stride, buffer, buffer.position() << 2);
|
nglVertexAttribPointerNV(index, size, GL11.GL_FLOAT, stride, buffer, buffer.position() << 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, IntBuffer buffer) {
|
public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, IntBuffer buffer) {
|
||||||
BufferChecks.checkDirect(buffer);
|
BufferChecks.checkDirect(buffer);
|
||||||
BufferChecks.ensureArrayVBOdisabled();
|
GLBufferChecks.ensureArrayVBOdisabled();
|
||||||
nglVertexAttribPointerNV(
|
nglVertexAttribPointerNV(
|
||||||
index,
|
index,
|
||||||
size,
|
size,
|
||||||
|
@ -343,7 +344,7 @@ public final class NVVertexProgram extends NVProgram {
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
|
|
||||||
public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int bufferOffset) {
|
public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int bufferOffset) {
|
||||||
BufferChecks.ensureArrayVBOenabled();
|
GLBufferChecks.ensureArrayVBOenabled();
|
||||||
nglVertexAttribPointerNVVBO(index, size, type, stride, bufferOffset);
|
nglVertexAttribPointerNVVBO(index, size, type, stride, bufferOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue