Implemented PBO support

This commit is contained in:
Ioannis Tsakpinis 2005-01-13 02:17:42 +00:00
parent 3e1651e8e0
commit 01e6f3c27c
14 changed files with 2096 additions and 225 deletions

View file

@ -31,14 +31,10 @@
*/
package org.lwjgl.opengl;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.ShortBuffer;
import org.lwjgl.LWJGLException;
import org.lwjgl.BufferChecks;
import org.lwjgl.LWJGLException;
import java.nio.*;
public abstract class ARBBufferObject {
@ -75,11 +71,17 @@ public abstract class ARBBufferObject {
public static void glBindBufferARB(int target, int buffer) {
switch ( target ) {
case ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB:
VBOTracker.getVBOArrayStack().setState(buffer);
break;
case ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB:
VBOTracker.getVBOElementStack().setState(buffer);
break;
case ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB:
VBOTracker.getVBOArrayStack().setState(buffer);
case ARBPixelBufferObject.GL_PIXEL_PACK_BUFFER_ARB:
VBOTracker.getPBOPackStack().setState(buffer);
break;
case ARBPixelBufferObject.GL_PIXEL_UNPACK_BUFFER_ARB:
VBOTracker.getPBOUnpackStack().setState(buffer);
break;
default:
throw new IllegalArgumentException("Unsupported VBO target " + target);
@ -92,10 +94,14 @@ public abstract class ARBBufferObject {
public static void glDeleteBuffersARB(IntBuffer buffers) {
for ( int i = buffers.position(); i < buffers.limit(); i++ ) {
int buffer_handle = buffers.get(i);
if ( VBOTracker.getVBOElementStack().getState() == buffer_handle )
VBOTracker.getVBOElementStack().setState(0);
if ( VBOTracker.getVBOArrayStack().getState() == buffer_handle )
VBOTracker.getVBOArrayStack().setState(0);
if ( VBOTracker.getVBOElementStack().getState() == buffer_handle )
VBOTracker.getVBOElementStack().setState(0);
if ( VBOTracker.getPBOPackStack().getState() == buffer_handle )
VBOTracker.getPBOPackStack().setState(0);
if ( VBOTracker.getPBOUnpackStack().getState() == buffer_handle )
VBOTracker.getPBOUnpackStack().setState(0);
}
BufferChecks.checkDirect(buffers);
nglDeleteBuffersARB(buffers.remaining(), buffers, buffers.position());
@ -179,7 +185,10 @@ public abstract class ARBBufferObject {
private static native void nglGetBufferSubDataARB(int target, int offset, int size, Buffer data, int data_offset);
/**
* glMapBufferARB maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null, in which case a new ByteBuffer will be created, pointing to the returned memory. If oldBuffer is non-null, it will be returned if it points to the same mapped memory, otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferARB like this:
* glMapBufferARB maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null,
* in which case a new ByteBuffer will be created, pointing to the returned memory. If oldBuffer is non-null,
* it will be returned if it points to the same mapped memory, otherwise a new ByteBuffer is created. That
* way, an application will normally use glMapBufferARB like this:
* <p/>
* ByteBuffer mapped_buffer; mapped_buffer = glMapBufferARB(..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferARB(..., ..., ..., mapped_buffer);
*

View file

@ -133,72 +133,84 @@ public final class ARBImaging {
static native void initNativeStubs() throws LWJGLException;
// ---------------------------
public static void glColorTable(int target, int internalFormat, int width, int format, int type, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(data, 256);
nglColorTable(target, internalFormat, width, format, type, data, data.position());
}
public static void glColorTable(int target, int internalFormat, int width, int format, int type, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(data, 256);
nglColorTable(target, internalFormat, width, format, type, data, data.position() << 2);
}
private static native void nglColorTable(int target, int internalFormat, int width, int format, int type, Buffer data, int data_offset);
public static void glColorTable(int target, int internalFormat, int width, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglColorTableBO(target, internalFormat, width, format, type, buffer_offset);
}
private static native void nglColorTableBO(int target, int internalFormat, int width, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glColorSubTable(int target, int start, int count, int format, int type, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(data, 256);
nglColorSubTable(target, start, count, format, type, data, data.position());
}
public static void glColorSubTable(int target, int start, int count, int format, int type, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(data, 256);
nglColorSubTable(target, start, count, format, type, data, data.position() << 2);
}
private static native void nglColorSubTable(int target, int start, int count, int format, int type, Buffer data, int data_offset);
public static void glColorSubTable(int target, int start, int count, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglColorSubTableBO(target, start, count, format, type, buffer_offset);
}
private static native void nglColorSubTableBO(int target, int start, int count, int format, int type, int buffer_offset);
// ---------------------------
public static void glColorTableParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglColorTableParameteriv(target, pname, params, params.position());
}
private static native void nglColorTableParameteriv(int target, int pname, IntBuffer params, int data_offset);
public static void glColorTableParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglColorTableParameterfv(target, pname, params, params.position());
}
private static native void nglColorTableParameterfv(int target, int pname, FloatBuffer params, int data_offset);
public static native void glCopyColorSubTable(int target, int start, int x, int y, int width);
public static native void glCopyColorTable(int target, int internalformat, int x, int y, int width);
// ---------------------------
public static void glGetColorTable(int target, int format, int type, ByteBuffer data) {
BufferChecks.checkBuffer(data, 256);
nglGetColorTable(target, format, type, data, data.position());
}
public static void glGetColorTable(int target, int format, int type, FloatBuffer data) {
BufferChecks.checkBuffer(data, 256);
nglGetColorTable(target, format, type, data, data.position());
}
private static native void nglGetColorTable(int target, int format, int type, Buffer data, int data_offset);
// ---------------------------
public static void glGetColorTableParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetColorTableParameteriv(target, pname, params, params.position());
}
private static native void nglGetColorTableParameteriv(int target, int pname, IntBuffer params, int params_offset);
public static void glGetColorTableParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetColorTableParameterfv(target, pname, params, params.position());
}
private static native void nglGetColorTableParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static native void glBlendEquation(int mode);
@ -209,128 +221,155 @@ public final class ARBImaging {
public static native void glResetHistogram(int target);
// ---------------------------
public static void glGetHistogram(int target, boolean reset, int format, int type, ByteBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetHistogram(target, reset, format, type, values, values.position());
}
public static void glGetHistogram(int target, boolean reset, int format, int type, ShortBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetHistogram(target, reset, format, type, values, values.position() << 1);
}
public static void glGetHistogram(int target, boolean reset, int format, int type, IntBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
}
public static void glGetHistogram(int target, boolean reset, int format, int type, FloatBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetHistogram(target, reset, format, type, values, values.position() << 2);
}
private static native void nglGetHistogram(int target, boolean reset, int format, int type, Buffer values, int values_offset);
public static void glGetHistogram(int target, boolean reset, int format, int type, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetHistogramBO(target, reset, format, type, buffer_offset);
}
private static native void nglGetHistogramBO(int target, boolean reset, int format, int type, int buffer_offset);
// ---------------------------
public static void glGetHistogramParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params, 256);
nglGetHistogramParameterfv(target, pname, params, params.position());
}
private static native void nglGetHistogramParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static void glGetHistogramParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetHistogramParameteriv(target, pname, params, params.position());
}
private static native void nglGetHistogramParameteriv(int target, int pname, IntBuffer params, int params_offset);
public static native void glMinmax(int target, int internalformat, boolean sink);
public static native void glResetMinmax(int target);
// ---------------------------
public static void glGetMinmax(int target, boolean reset, int format, int types, ByteBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values);
nglGetMinmax(target, reset, format, types, values, values.position());
}
public static void glGetMinmax(int target, boolean reset, int format, int types, ShortBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values);
nglGetMinmax(target, reset, format, types, values, values.position() << 1);
}
public static void glGetMinmax(int target, boolean reset, int format, int types, IntBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values);
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
}
public static void glGetMinmax(int target, boolean reset, int format, int types, FloatBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values);
nglGetMinmax(target, reset, format, types, values, values.position() << 2);
}
private static native void nglGetMinmax(int target, boolean reset, int format, int types, Buffer values, int values_offset);
public static void glGetMinmax(int target, boolean reset, int format, int types, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetMinmaxBO(target, reset, format, types, buffer_offset);
}
private static native void nglGetMinmaxBO(int target, boolean reset, int format, int types, int buffer_offset);
// ---------------------------
public static void glGetMinmaxParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetMinmaxParameterfv(target, pname, params, params.position());
}
private static native void nglGetMinmaxParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static void glGetMinmaxParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetMinmaxParameteriv(target, pname, params, params.position());
}
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1));
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 1);
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 2);
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 2);
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);
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglConvolutionFilter1DBO(target, internalformat, width, format, type, buffer_offset);
}
private static native void nglConvolutionFilter1DBO(int target, int internalformat, int width, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer image) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1) >> 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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(format, type, width, height, 1) >> 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);
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglConvolutionFilter2DBO(target, internalformat, width, height, format, type, buffer_offset);
}
private static native void nglConvolutionFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int buffer_offset);
// ---------------------------
public static native void glConvolutionParameterf(int target, int pname, float params);
public static void glConvolutionParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglConvolutionParameterfv(target, pname, params, params.position());
}
private static native void nglConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static native void glConvolutionParameteri(int target, int pname, int params);
@ -339,70 +378,91 @@ public final class ARBImaging {
BufferChecks.checkBuffer(params);
nglConvolutionParameteriv(target, pname, params, params.position());
}
private static native void nglConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
public static native void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width);
public static native void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height);
// ---------------------------
public static void glGetConvolutionFilter(int target, int format, int type, ByteBuffer image) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(image);
// TODO: check buffer size valid
nglGetConvolutionFilter(target, format, type, image, image.position());
}
public static void glGetConvolutionFilter(int target, int format, int type, ShortBuffer image) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(image);
// TODO: check buffer size valid
nglGetConvolutionFilter(target, format, type, image, image.position() << 1);
}
public static void glGetConvolutionFilter(int target, int format, int type, IntBuffer image) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(image);
// TODO: check buffer size valid
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
}
public static void glGetConvolutionFilter(int target, int format, int type, FloatBuffer image) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(image);
// TODO: check buffer size valid
nglGetConvolutionFilter(target, format, type, image, image.position() << 2);
}
private static native void nglGetConvolutionFilter(int target, int format, int type, Buffer image, int image_offset);
public static void glGetConvolutionFilter(int target, int format, int type, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetConvolutionFilterBO(target, format, type, buffer_offset);
}
private static native void nglGetConvolutionFilterBO(int target, int format, int type, int buffer_offset);
// ---------------------------
public static void glGetConvolutionParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetConvolutionParameterfv(target, pname, params, params.position());
}
private static native void nglGetConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static void glGetConvolutionParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetConvolutionParameteriv(target, pname, params, params.position());
}
private static native void nglGetConvolutionParameteriv(int target, int pname, IntBuffer params, int params_offset);
// ---------------------------
public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, Buffer column) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirectBuffer(row);
BufferChecks.checkDirectBuffer(column);
// TODO: check buffer size valid
nglSeparableFilter2D(target, internalformat, width, height, format, type, row, BufferUtils.getOffset(row), column, BufferUtils.getOffset(column));
}
private static native void nglSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset);
public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, int row_offset, int column_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglSeparableFilter2DBO(target, internalformat, width, height, format, type, row_offset, column_offset);
}
private static native void nglSeparableFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int row_offset, int column_offset);
// ---------------------------
// ---------------------------
public static void glGetSeparableFilter(int target, int format, int type, Buffer row, Buffer column, Buffer span) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirectBuffer(row);
BufferChecks.checkDirectBuffer(column);
BufferChecks.checkDirectBuffer(span);
// TODO: check buffer size valid
nglGetSeparableFilter(target, format, type, row, BufferUtils.getOffset(row), column, BufferUtils.getOffset(column), span, BufferUtils.getOffset(span));
}
private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset, Buffer span, int span_offset);
public static void glGetSeparableFilter(int target, int format, int type, int row_offset, int column_offset, int span_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetSeparableFilterBO(target, format, type, row_offset, column_offset, span_offset);
}
private static native void nglGetSeparableFilterBO(int target, int format, int type, int row_offset, int column_offset, int span_offset);
// ---------------------------
}

View file

@ -731,6 +731,8 @@ public final class GL11 {
public static native void glClearColor(float red, float green, float blue, float alpha);
public static native void glClearAccum(float red, float green, float blue, float alpha);
public static native void glClear(int mask);
// ---------------------------
public static void glCallLists(ByteBuffer lists) {
BufferChecks.checkDirect(lists);
nglCallLists(lists.remaining(), GL_UNSIGNED_BYTE, lists, lists.position());
@ -744,24 +746,39 @@ public final class GL11 {
nglCallLists(lists.remaining(), GL_UNSIGNED_INT, lists, lists.position() << 2);
}
private static native void nglCallLists(int n, int type, Buffer lists, int lists_offset);
// ---------------------------
public static native void glCallList(int list);
public static native void glBlendFunc(int sfactor, int dfactor);
// ---------------------------
public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap) {
BufferChecks.checkBuffer(bitmap, ((width+7)/8) * height);
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(bitmap, ((width + 7) / 8) * height);
nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position());
}
private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_offset);
public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, int buffer_offect) {
GLBufferChecks.ensureUnpackPBOenabled();
nglBitmapBO(width, height, xorig, yorig, xmove, ymove, buffer_offect);
}
private static native void nglBitmapBO(int width, int height, float xorig, float yorig, float xmove, float ymove, int buffer_offset);
// ---------------------------
public static native void glBindTexture(int target, int texture);
public static native void glBegin(int mode);
public static native void glEnd();
public static native void glArrayElement(int i);
public static native void glClearDepth(double depth);
public static native void glDeleteLists(int list, int range);
public static void glDeleteTextures(IntBuffer textures) {
BufferChecks.checkDirect(textures);
nglDeleteTextures(textures.remaining(), textures, textures.position());
}
private static native void nglDeleteTextures(int n, IntBuffer textures, int textures_offset);
public static native void glCullFace(int mode);
public static native void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
public static native void glCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width);
@ -769,6 +786,7 @@ public final class GL11 {
public static native void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border);
public static native void glCopyPixels(int x, int y, int width, int height, int type);
// ---------------------------
public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
@ -780,11 +798,14 @@ public final class GL11 {
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);
public static void glColorPointer(int size, int type, int stride, int buffer_offset) {
GLBufferChecks.ensureArrayVBOenabled();
nglColorPointerVBO(size, type, stride, buffer_offset);
}
private static native void nglColorPointerVBO(int size, int type, int stride, int buffer_offset);
// ---------------------------
public static native void glColorMaterial(int face, int mode);
public static native void glColorMask(boolean red, boolean green, boolean blue, boolean alpha);
public static native void glColor3b(byte red, byte green, byte blue);
@ -793,11 +814,13 @@ public final class GL11 {
public static native void glColor4b(byte red, byte green, byte blue, byte alpha);
public static native void glColor4f(float red, float green, float blue, float alpha);
public static native void glColor4ub(byte red, byte green, byte blue, byte alpha);
public static void glClipPlane(int plane, DoubleBuffer equation) {
BufferChecks.checkBuffer(equation, 4);
nglClipPlane(plane, equation, equation.position() << 3);
}
private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_offset);
public static native void glClearStencil(int s);
public static native void glClearIndex(float c);
public static native void glEvalPoint1(int i);
@ -810,31 +833,50 @@ public final class GL11 {
public static native void glDisableClientState(int cap);
public static native void glEnable(int cap);
public static native void glDisable(int cap);
// ---------------------------
public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
nglEdgeFlagPointer(stride, pointer, pointer.position());
}
private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_offset);
public static void glEdgeFlagPointer(int stride, int buffer_offset) {
GLBufferChecks.ensureArrayVBOenabled();
nglEdgeFlagPointerVBO(stride, buffer_offset);
}
private static native void nglEdgeFlagPointerVBO(int stride, int buffer_offset);
// ---------------------------
public static native void glEdgeFlag(boolean flag);
// ---------------------------
public static void glDrawPixels(int width, int height, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
nglDrawPixels(width, height, format, type, pixels, pixels.position());
}
public static void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>1);
nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1);
}
public static void glDrawPixels(int width, int height, int format, int type, IntBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>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);
public static void glDrawPixels(int width, int height, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglDrawPixelsBO(width, height, format, type, buffer_offset);
}
private static native void nglDrawPixelsBO(int width, int height, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glDrawElements(int mode, ByteBuffer indices) {
BufferChecks.checkDirect(indices);
GLBufferChecks.ensureElementVBOdisabled();
@ -851,113 +893,163 @@ public final class GL11 {
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);
public static void glDrawElements(int mode, int count, int type, int buffer_offset) {
GLBufferChecks.ensureElementVBOenabled();
nglDrawElementsVBO(mode, count, type, buffer_offset);
}
private static native void nglDrawElementsVBO(int mode, int count, int type, int buffer_offset);
// ---------------------------
public static native void glDrawBuffer(int mode);
public static native void glDrawArrays(int mode, int first, int count);
public static native void glDepthRange(double zNear, double zFar);
public static native void glDepthMask(boolean flag);
public static native void glDepthFunc(int func);
public static void glFeedbackBuffer(int type, FloatBuffer buffer) {
BufferChecks.checkDirect(buffer);
nglFeedbackBuffer(buffer.remaining(), type, buffer, buffer.position());
}
private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_offset);
// ---------------------------
public static void glGetPixelMap(int map, FloatBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetPixelMapfv(map, values, values.position());
}
private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_offset);
public static void glGetPixelMapfv(int map, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetPixelMapfvBO(map, buffer_offset);
}
private static native void nglGetPixelMapfvBO(int map, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glGetPixelMap(int map, IntBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetPixelMapuiv(map, values, values.position());
}
private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_offset);
public static void glGetPixelMapuiv(int map, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetPixelMapuivBO(map, buffer_offset);
}
private static native void nglGetPixelMapuivBO(int map, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glGetPixelMap(int map, ShortBuffer values) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(values, 256);
nglGetPixelMapusv(map, values, values.position());
}
private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_offset);
public static void glGetPixelMapusv(int map, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetPixelMapusvBO(map, buffer_offset);
}
private static native void nglGetPixelMapusvBO(int map, int buffer_offset);
// ---------------------------
public static void glGetMaterial(int face, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetMaterialfv(face, pname, params, params.position());
}
private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
public static void glGetMaterial(int face, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetMaterialiv(face, pname, params, params.position());
}
private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_offset);
public static void glGetMap(int target, int query, FloatBuffer v) {
BufferChecks.checkBuffer(v, 256);
nglGetMapfv(target, query, v, v.position());
}
private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_offset);
public static void glGetMap(int target, int query, IntBuffer v) {
BufferChecks.checkBuffer(v, 256);
nglGetMapiv(target, query, v, v.position());
}
private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_offset);
private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_offset);
public static void glGetLight(int light, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetLightfv(light, pname, params, params.position());
}
private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_offset);
public static void glGetLight(int light, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetLightiv(light, pname, params, params.position());
}
private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_offset);
public static native int glGetError();
public static void glGetClipPlane(int plane, DoubleBuffer equation) {
BufferChecks.checkBuffer(equation);
nglGetClipPlane(plane, equation, equation.position());
}
private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_offset);
public static void glGetBoolean(int pname, ByteBuffer params) {
BufferChecks.checkBuffer(params, 16);
nglGetBooleanv(pname, params, params.position());
}
private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_offset);
public static void glGetDouble(int pname, DoubleBuffer params) {
BufferChecks.checkBuffer(params, 16);
nglGetDoublev(pname, params, params.position());
}
private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_offset);
public static void glGetFloat(int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params, 16);
nglGetFloatv(pname, params, params.position());
}
private static native void nglGetFloatv(int pname, FloatBuffer params, int params_offset);
public static void glGetInteger(int pname, IntBuffer params) {
BufferChecks.checkBuffer(params, 16);
nglGetIntegerv(pname, params, params.position());
}
private static native void nglGetIntegerv(int pname, IntBuffer params, int params_offset);
public static void glGenTextures(IntBuffer textures) {
BufferChecks.checkDirect(textures);
nglGenTextures(textures.remaining(), textures, textures.position());
}
private static native void nglGenTextures(int n, IntBuffer textures, int textures_offset);
public static native int glGenLists(int range);
public static native void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);
public static native void glFrontFace(int mode);
public static native void glFogf(int pname, float param);
public static native void glFogi(int pname, int param);
public static void glFog(int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglFogfv(pname, params, params.position());
}
private static native void nglFogfv(int pname, FloatBuffer params, int params_offset);
public static void glFog(int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglFogiv(pname, params, params.position());
}
private static native void nglFogiv(int pname, IntBuffer params, int params_offset);
public static native void glFlush();
public static native void glFinish();
/**
@ -969,6 +1061,8 @@ public final class GL11 {
*/
public static native ByteBuffer glGetPointerv(int pname, int size);
public static native boolean glIsEnabled(int cap);
// ---------------------------
public static void glInterleavedArrays(int format, int stride, ByteBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
@ -990,56 +1084,66 @@ public final class GL11 {
nglInterleavedArrays(format, stride, pointer, pointer.position() << 2);
}
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) {
GLBufferChecks.ensureArrayVBOenabled();
nglInterleavedArraysVBO(format, stride, buffer_offset);
}
private static native void nglInterleavedArraysVBO(int format, int stride, int buffer_offset);
// ---------------------------
public static native void glInitNames();
public static native void glHint(int target, int mode);
public static void glGetTexParameter(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexParameterfv(target, pname, params, params.position());
}
private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_offset);
public static void glGetTexParameter(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexParameteriv(target, pname, params, params.position());
}
private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_offset);
public static void glGetTexLevelParameter(int target, int level, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexLevelParameterfv(target, level, pname, params, params.position());
}
private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_offset);
public static void glGetTexLevelParameter(int target, int level, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexLevelParameteriv(target, level, pname, params, params.position());
}
private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_offset);
// ---------------------------
public static void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels) {
int width = 1;
int height = 1;
int depth = 1;
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth));
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, 1, 1, 1));
nglGetTexImage(target, level, format, type, pixels, pixels.position());
}
public static void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels) {
int width = 1;
int height = 1;
int depth = 1;
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>1);
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, 1, 1, 1)>>1);
nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1);
}
public static void glGetTexImage(int target, int level, int format, int type, IntBuffer pixels) {
int width = 1;
int height = 1;
int depth = 1;
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth)>>2);
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, 1, 1, 1)>>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);
public static void glGetTexImage(int target, int level, int format, int type, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetTexImageBO(target, level, format, type, buffer_offset);
}
private static native void nglGetTexImageBO(int target, int level, int format, int type, int buffer_offset);
// ---------------------------
public static void glGetTexGen(int coord, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexGeniv(coord, pname, params, params.position());
@ -1057,6 +1161,7 @@ public final class GL11 {
nglGetTexEnviv(coord, pname, params, params.position());
}
private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_offset);
public static void glGetTexEnv(int coord, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglGetTexEnvfv(coord, pname, params, params.position());
@ -1064,80 +1169,116 @@ public final class GL11 {
private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_offset);
public static native String glGetString(int name);
// ---------------------------
public static void glGetPolygonStipple(ByteBuffer mask) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(mask, 1024);
nglGetPolygonStipple(mask, mask.position());
}
private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_offset);
public static void glGetPolygonStipple(int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetPolygonStippleBO(buffer_offset);
}
private static native void nglGetPolygonStippleBO(int buffer_offset);
// ---------------------------
public static native boolean glIsList(int list);
public static native void glMaterialf(int face, int pname, float param);
public static native void glMateriali(int face, int pname, int param);
public static void glMaterial(int face, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglMaterialfv(face, pname, params, params.position());
}
private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_offset);
public static void glMaterial(int face, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglMaterialiv(face, pname, params, params.position());
}
private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_offset);
public static native void glMapGrid1f(int un, float u1, float u2);
public static native void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2);
public static void glMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points) {
BufferChecks.checkDirect(points);
// TODO: check buffer size valid
nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position());
}
private static native void nglMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points, int points_offset);
public static void glMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points) {
BufferChecks.checkDirect(points);
// TODO: check buffer size valid
nglMap1f(target, u1, u2, stride, order, points, points.position());
}
private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_offset);
public static native void glLogicOp(int opcode);
public static native void glLoadName(int name);
public static void glLoadMatrix(FloatBuffer m) {
BufferChecks.checkBuffer(m, 16);
nglLoadMatrixf(m, m.position());
}
private static native void nglLoadMatrixf(FloatBuffer m, int m_offset);
public static native void glLoadIdentity();
public static native void glListBase(int base);
public static native void glLineWidth(float width);
public static native void glLineStipple(int factor, short pattern);
public static native void glLightModelf(int pname, float param);
public static native void glLightModeli(int pname, int param);
public static void glLightModel(int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglLightModelfv( pname, params, params.position());
}
private static native void nglLightModelfv(int pname, FloatBuffer params, int params_offset);
public static void glLightModel(int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglLightModeliv(pname, params, params.position());
}
private static native void nglLightModeliv(int pname, IntBuffer params, int params_offset);
public static native void glLightf(int light, int pname, float param);
public static native void glLighti(int light, int pname, int param);
public static void glLight(int light, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglLightfv(light, pname, params, params.position());
}
private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_offset);
public static void glLight(int light, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglLightiv(light, pname, params, params.position());
}
private static native void nglLightiv(int light, int pname, IntBuffer params, int params_offset);
public static native boolean glIsTexture(int texture);
public static native void glMatrixMode(int mode);
// ---------------------------
public static void glPolygonStipple(ByteBuffer mask) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(mask, 1024);
nglPolygonStipple(mask, mask.position());
}
private static native void nglPolygonStipple(ByteBuffer mask, int mask_offset);
public static void glPolygonStipple(int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglPolygonStippleBO(buffer_offset);
}
private static native void nglPolygonStippleBO(int buffer_offset);
// ---------------------------
public static native void glPolygonOffset(float factor, float units);
public static native void glPolygonMode(int face, int mode);
public static native void glPointSize(float size);
@ -1146,23 +1287,56 @@ public final class GL11 {
public static native void glPixelTransferi(int pname, int param);
public static native void glPixelStoref(int pname, float param);
public static native void glPixelStorei(int pname, int param);
// ---------------------------
public static void glPixelMap(int map, FloatBuffer values) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(values);
nglPixelMapfv(map, values.remaining(), values, values.position());
}
private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_offset);
public static void glPixelMapfv(int map, int mapsize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglPixelMapfvBO(map, mapsize, buffer_offset);
}
private static native void nglPixelMapfvBO(int map, int mapsize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glPixelMap(int map, IntBuffer values) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(values);
nglPixelMapuiv(map, values.remaining(), values, values.position());
}
private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_offset);
public static void glPixelMapuiv(int map, int mapsize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglPixelMapuivBO(map, mapsize, buffer_offset);
}
private static native void nglPixelMapuivBO(int map, int mapsize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glPixelMap(int map, ShortBuffer values) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(values);
nglPixelMapusv(map, values.remaining(), values, values.position());
}
private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_offset);
public static void glPixelMapusv(int map, int mapsize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglPixelMapusvBO(map, mapsize, buffer_offset);
}
private static native void nglPixelMapusvBO(int map, int mapsize, int buffer_offset);
// ---------------------------
public static native void glPassThrough(float token);
public static native void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar);
// ---------------------------
public static void glNormalPointer(int stride, ByteBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
@ -1179,46 +1353,66 @@ public final class GL11 {
nglNormalPointer(GL_FLOAT, stride, pointer, pointer.position() << 2);
}
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) {
GLBufferChecks.ensureArrayVBOenabled();
nglNormalPointerVBO(type, stride, buffer_offset);
}
private static native void nglNormalPointerVBO(int type, int stride, int buffer_offset);
// ---------------------------
public static native void glNormal3b(byte nx, byte ny, byte nz);
public static native void glNormal3f(float nx, float ny, float nz);
public static native void glNormal3i(int nx, int ny, int nz);
public static native void glNewList(int list, int mode);
public static native void glEndList();
public static void glMultMatrix(FloatBuffer m) {
BufferChecks.checkBuffer(m, 16);
nglMultMatrixf(m, m.position());
}
private static native void nglMultMatrixf(FloatBuffer m, int m_offset);
public static native void glShadeModel(int mode);
public static void glSelectBuffer(IntBuffer buffer) {
BufferChecks.checkDirect(buffer);
nglSelectBuffer(buffer.remaining(), buffer, buffer.position());
}
private static native void nglSelectBuffer(int size, IntBuffer buffer, int buffer_offset);
public static native void glScissor(int x, int y, int width, int height);
public static native void glScalef(float x, float y, float z);
public static native void glRotatef(float angle, float x, float y, float z);
public static native int glRenderMode(int mode);
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 void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
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) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>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) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>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);
public static void glReadPixels(int x, int y, int width, int height, int format, int type, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglReadPixelsBO(x, y, width, height, format, type, buffer_offset);
}
private static native void nglReadPixelsBO(int x, int y, int width, int height, int format, int type, int buffer_offset);
// ---------------------------
public static native void glReadBuffer(int mode);
public static native void glRasterPos2f(float x, float y);
public static native void glRasterPos2i(int x, int y);
@ -1230,27 +1424,36 @@ public final class GL11 {
public static native void glPopName();
public static native void glPushMatrix();
public static native void glPopMatrix();
public static void glPushClientAttrib(int mask) {
VBOTracker.getClientAttribStack().pushState();
VBOTracker.getClientAttribStack().setState(mask);
if ((mask & GL_CLIENT_VERTEX_ARRAY_BIT) != 0) {
VBOTracker.getVBOArrayStack().pushState();
VBOTracker.getVBOElementStack().pushState();
VBOTracker.getPBOPackStack().pushState();
VBOTracker.getPBOUnpackStack().pushState();
}
nglPushClientAttrib(mask);
}
private static native void nglPushClientAttrib(int mask);
public static void glPopClientAttrib() {
if ((VBOTracker.getClientAttribStack().popState() & GL_CLIENT_VERTEX_ARRAY_BIT) != 0) {
VBOTracker.getVBOArrayStack().popState();
VBOTracker.getVBOElementStack().popState();
VBOTracker.getVBOElementStack().popState();
VBOTracker.getPBOPackStack().popState();
VBOTracker.getPBOUnpackStack().popState();
}
nglPopClientAttrib();
}
private static native void nglPopClientAttrib();
public static native void glPushAttrib(int mask);
public static native void glPopAttrib();
public static native void glStencilFunc(int func, int ref, int mask);
// ---------------------------
public static void glVertexPointer(int size, int stride, FloatBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
@ -1262,11 +1465,14 @@ public final class GL11 {
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);
public static void glVertexPointer(int size, int type, int stride, int buffer_offset) {
GLBufferChecks.ensureArrayVBOenabled();
nglVertexPointerVBO(size, type, stride, buffer_offset);
}
private static native void nglVertexPointerVBO(int size, int type, int stride, int buffer_offset);
// ---------------------------
public static native void glVertex2f(float x, float y);
public static native void glVertex2i(int x, int y);
public static native void glVertex3f(float x, float y, float z);
@ -1277,99 +1483,141 @@ public final class GL11 {
// ---------------------------
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(format, type, width, border));
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() : 0);
}
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(format, type, width, border) >> 1);
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0);
}
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, IntBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(format, type, width, border) >> 2);
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, FloatBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(format, type, width, border) >> 2);
nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_offset);
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexImage1DBO(target, level, internalformat, width, border, format, type, buffer_offset);
}
private static native void nglTexImage1DBO(int target, int level, int internalformat, int width, int border, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(format, type, width, height, border));
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() : 0);
}
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(format, type, width, height, border) >> 1);
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0);
}
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, IntBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(format, type, width, height, border) >> 2);
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, FloatBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(format, type, width, height, border) >> 2);
nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
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 glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexImage2DBO(target, level, internalformat, width, height, border, format, type, buffer_offset);
}
private static native void nglTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1));
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 2);
nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2);
}
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, FloatBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, 1, 1) >> 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);
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexSubImage1DBO(target, level, xoffset, width, format, type, buffer_offset);
}
private static native void nglTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int type, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1));
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1)>>2);
nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2);
}
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, FloatBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, 1) >> 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);
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, type, buffer_offset);
}
private static native void nglTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int buffer_offset);
// ---------------------------
public static native void glTexParameterf(int target, int pname, float param);
public static native void glTexParameteri(int target, int pname, int param);
public static void glTexParameter(int target, int pname, FloatBuffer param) {
BufferChecks.checkBuffer(param);
nglTexParameterfv(target, pname, param, param.position());
}
private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position);
public static void glTexParameter(int target, int pname, IntBuffer param) {
BufferChecks.checkBuffer(param);
nglTexParameteriv(target, pname, param, param.position());
@ -1377,40 +1625,49 @@ public final class GL11 {
private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position);
public static native void glTexGenf(int coord, int pname, float param);
public static void glTexGen(int coord, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglTexGenfv(coord, pname, params, params.position());
}
private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_offset);
public static native void glTexGeni(int coord, int pname, int param);
public static void glTexGen(int coord, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglTexGeniv(coord, pname, params, params.position());
}
private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_offset);
public static native void glTexEnvf(int target, int pname, float param);
public static native void glTexEnvi(int target, int pname, int param);
public static void glTexEnv(int target, int pname, FloatBuffer params) {
BufferChecks.checkBuffer(params);
nglTexEnvfv(target, pname, params, params.position());
}
private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_offset);
public static void glTexEnv(int target, int pname, IntBuffer params) {
BufferChecks.checkBuffer(params);
nglTexEnviv(target, pname, params, params.position());
}
private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_offset);
public static void glTexCoordPointer(int size, int stride, FloatBuffer pointer) {
BufferChecks.checkDirect(pointer);
GLBufferChecks.ensureArrayVBOdisabled();
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);
public static void glTexCoordPointer(int size, int type, int stride, int buffer_offset) {
GLBufferChecks.ensureArrayVBOenabled();
nglTexCoordPointerVBO(size, type, stride, buffer_offset);
}
private static native void nglTexCoordPointerVBO(int size, int type, int stride, int buffer_offset);
public static native void glTexCoord1f(float s);
public static native void glTexCoord2f(float s, float t);
public static native void glTexCoord3f(float s, float t, float r);
@ -1418,5 +1675,4 @@ public final class GL11 {
public static native void glStencilOp(int fail, int zfail, int zpass);
public static native void glStencilMask(int mask);
public static native void glViewport(int x, int y, int width, int height);
}
}

View file

@ -126,54 +126,66 @@ public final class GL12 {
// ---------------------------
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ByteBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(format, type, width, height, depth, border));
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() : 0);
}
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ShortBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(format, type, width, height, depth, border) >> 1);
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0);
}
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, IntBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(format, type, width, height, depth, border) >> 2);
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, FloatBuffer pixels) {
GLBufferChecks.ensureUnpackPBOdisabled();
if ( pixels != null )
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(format, type, width, height, depth, border) >> 2);
nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0);
}
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 glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexImage3DBO(target, level, internalFormat, width, height, depth, border, format, type, buffer_offset);
}
private static native void nglTexImage3DBO(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int buffer_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) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(format, type, width, height, depth));
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
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);
}
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
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);
}
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) {
GLBufferChecks.ensureUnpackPBOdisabled();
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);
}
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);
public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, buffer_offset);
}
private static native void nglTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int buffer_offset);
// ---------------------------
public static native void glCopyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height);

View file

@ -161,158 +161,214 @@ public final class GL13 {
public static native void glClientActiveTexture(int texture);
// ---------------------------
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position());
}
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 1);
}
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
}
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexImage1DBO(target, level, internalformat, width, border, imageSize, buffer_offset);
}
private static native void nglCompressedTexImage1DBO(int target, int level, int internalformat, int width, int border, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position());
}
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1);
}
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
}
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexImage2DBO(target, level, internalformat, width, height, border, imageSize, buffer_offset);
}
private static native void nglCompressedTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position());
}
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 1);
}
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
}
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexImage3DBO(target, level, internalformat, width, height, depth, border, imageSize, buffer_offset);
}
private static native void nglCompressedTexImage3DBO(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position());
}
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1);
}
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
}
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexSubImage1DBO(target, level, xoffset, width, format, imageSize, buffer_offset);
}
private static native void nglCompressedTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position());
}
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 1);
}
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
}
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, imageSize, buffer_offset);
}
private static native void nglCompressedTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position());
}
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1);
}
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
}
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data) {
GLBufferChecks.ensureUnpackPBOdisabled();
BufferChecks.checkDirect(data);
nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2);
}
private static native void nglCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer data, int data_offset);
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int buffer_offset) {
GLBufferChecks.ensureUnpackPBOenabled();
nglCompressedTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, buffer_offset);
}
private static native void nglCompressedTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int buffer_offset);
// ---------------------------
// ---------------------------
public static void glGetCompressedTexImage(int target, int lod, ByteBuffer img) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(img);
// TODO: check buffer size valid
nglGetCompressedTexImage(target, lod, img, img.position());
}
public static void glGetCompressedTexImage(int target, int lod, ShortBuffer img) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(img);
// TODO: check buffer size valid
nglGetCompressedTexImage(target, lod, img, img.position() << 1);
}
public static void glGetCompressedTexImage(int target, int lod, IntBuffer img) {
GLBufferChecks.ensurePackPBOdisabled();
BufferChecks.checkDirect(img);
// TODO: check buffer size valid
nglGetCompressedTexImage(target, lod, img, img.position() << 2);
}
private static native void nglGetCompressedTexImage(int target, int lod, Buffer img, int img_offset);
public static void glGetCompressedTexImage(int target, int lod, int buffer_offset) {
GLBufferChecks.ensurePackPBOenabled();
nglGetCompressedTexImageBO(target, lod, buffer_offset);
}
private static native void nglGetCompressedTexImageBO(int target, int lod, int buffer_offset);
// ---------------------------
public static native void glMultiTexCoord1f(int target, float s);
public static native void glMultiTexCoord2f(int target, float s, float t);

View file

@ -50,32 +50,52 @@ class GLBufferChecks {
private GLBufferChecks() {
}
/** Helper method to ensure that vertex buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
/** Helper method to ensure that array buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
static void ensureArrayVBOdisabled() {
if ( VBOTracker.getVBOArrayStack().getState() != 0 ) {
throw new OpenGLException("Cannot use Buffers when VBO is enabled");
}
if ( VBOTracker.getVBOArrayStack().getState() != 0 )
throw new OpenGLException("Cannot use Buffers when Array Buffer Object is enabled");
}
/** Helper method to ensure that vertex buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
/** Helper method to ensure that array buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
static void ensureArrayVBOenabled() {
if ( VBOTracker.getVBOArrayStack().getState() == 0 ) {
throw new OpenGLException("Cannot use offsets when VBO is disabled");
}
if ( VBOTracker.getVBOArrayStack().getState() == 0 )
throw new OpenGLException("Cannot use offsets when Array Buffer Object is disabled");
}
/** Helper method to ensure that vertex buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
/** Helper method to ensure that element array buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
static void ensureElementVBOdisabled() {
if ( VBOTracker.getVBOElementStack().getState() != 0 ) {
throw new OpenGLException("Cannot use Buffers when VBO is enabled");
}
if ( VBOTracker.getVBOElementStack().getState() != 0 )
throw new OpenGLException("Cannot use Buffers when Element Array Buffer Object is enabled");
}
/** Helper method to ensure that vertex buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
/** Helper method to ensure that element array buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
static void ensureElementVBOenabled() {
if ( VBOTracker.getVBOElementStack().getState() == 0 ) {
throw new OpenGLException("Cannot use offsets when VBO is disabled");
}
if ( VBOTracker.getVBOElementStack().getState() == 0 )
throw new OpenGLException("Cannot use offsets when Element Array Buffer Object is disabled");
}
/** Helper method to ensure that pixel pack buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
static void ensurePackPBOdisabled() {
if ( VBOTracker.getPBOPackStack().getState() != 0 )
throw new OpenGLException("Cannot use Buffers when Pixel Pack Buffer Object is enabled");
}
/** Helper method to ensure that pixel pack buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
static void ensurePackPBOenabled() {
if ( VBOTracker.getPBOPackStack().getState() == 0 )
throw new OpenGLException("Cannot use offsets when Pixel Pack Buffer Object is disabled");
}
/** Helper method to ensure that pixel unpack buffer objects are disabled. If they are enabled, we'll throw an OpenGLException */
static void ensureUnpackPBOdisabled() {
if ( VBOTracker.getPBOUnpackStack().getState() != 0 )
throw new OpenGLException("Cannot use Buffers when Pixel Unpack Buffer Object is enabled");
}
/** Helper method to ensure that pixel unpack buffer objects are enabled. If they are disabled, we'll throw an OpenGLException */
static void ensureUnpackPBOenabled() {
if ( VBOTracker.getPBOUnpackStack().getState() == 0 )
throw new OpenGLException("Cannot use offsets when Pixel Unpack Buffer Object is disabled");
}
/**

View file

@ -35,7 +35,7 @@ import java.util.WeakHashMap;
import java.util.Map;
/** Track Vertex Buffer Objects by context. */
class VBOTracker {
final class VBOTracker {
private static VBOTracker current_tracker;
@ -43,12 +43,21 @@ class VBOTracker {
private final StateStack vbo_array_stack;
private final StateStack vbo_element_stack;
private final StateStack pbo_pack_stack;
private final StateStack pbo_unpack_stack;
private final StateStack attrib_stack;
private VBOTracker() {
int stack_size = Math.max(1, Util.glGetInteger(GL11.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH));
vbo_array_stack = new StateStack(stack_size, 0);
vbo_element_stack = new StateStack(stack_size, 0);
pbo_pack_stack = new StateStack(stack_size, 0);
pbo_unpack_stack = new StateStack(stack_size, 0);
attrib_stack = new StateStack(stack_size, 0);
}
@ -60,6 +69,14 @@ class VBOTracker {
return current_tracker.vbo_element_stack;
}
static StateStack getPBOPackStack() {
return current_tracker.pbo_pack_stack;
}
static StateStack getPBOUnpackStack() {
return current_tracker.pbo_unpack_stack;
}
static StateStack getClientAttribStack() {
return current_tracker.attrib_stack;
}

View file

@ -96,6 +96,19 @@ public class GL {
GL11.glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
}
/**
* @param width
* @param height
* @param xorig
* @param yorig
* @param xmove
* @param ymove
* @param buffer_offect
*/
public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, int buffer_offect) {
GL11.glBitmap(width, height, xorig, yorig, xmove, ymove, buffer_offect);
}
/**
* @param sfactor
* @param dfactor
@ -467,6 +480,17 @@ public class GL {
GL11.glDrawPixels(width, height, format, type, pixels);
}
/**
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public static void glDrawPixels(int width, int height, int format, int type, int buffer_offset) {
GL11.glDrawPixels(width, height, format, type, buffer_offset);
}
/** @param flag */
public static void glEdgeFlag(boolean flag) {
GL11.glEdgeFlag(flag);
@ -750,6 +774,14 @@ public class GL {
GL11.glGetPixelMap(map, values);
}
/**
* @param map
* @param buffer_offset
*/
public static void glGetPixelMapfv(int map, int buffer_offset) {
GL11.glGetPixelMapfv(map, buffer_offset);
}
/**
* @param map
* @param values
@ -758,6 +790,14 @@ public class GL {
GL11.glGetPixelMap(map, values);
}
/**
* @param map
* @param buffer_offset
*/
public static void glGetPixelMapuiv(int map, int buffer_offset) {
GL11.glGetPixelMapuiv(map, buffer_offset);
}
/**
* @param map
* @param values
@ -766,6 +806,14 @@ public class GL {
GL11.glGetPixelMap(map, values);
}
/**
* @param map
* @param buffer_offset
*/
public static void glGetPixelMapusv(int map, int buffer_offset) {
GL11.glGetPixelMapusv(map, buffer_offset);
}
/**
* @param pname
* @param size
@ -781,6 +829,13 @@ public class GL {
GL11.glGetPolygonStipple(mask);
}
/**
* @param buffer_offset
*/
public static void glGetPolygonStipple(int buffer_offset) {
GL11.glGetPolygonStipple(buffer_offset);
}
/**
* @param name
*
@ -859,6 +914,16 @@ public class GL {
GL11.glGetTexImage(target, level, format, type, pixels);
}
/**
* @param target
* @param level
* @param format
* @param type
* @param buffer_offset
*/
public static void glGetTexImage(int target, int level, int format, int type, int buffer_offset) {
GL11.glGetTexImage(target, level, format, type, buffer_offset);
}
/**
* @param target
* @param level
@ -1280,6 +1345,15 @@ public class GL {
GL11.glPixelMap(map, values);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public static void glPixelMapfv(int map, int mapsize, int buffer_offset) {
GL11.glPixelMapfv(map, mapsize, buffer_offset);
}
/**
* @param map
* @param values
@ -1288,6 +1362,15 @@ public class GL {
GL11.glPixelMap(map, values);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public static void glPixelMapuiv(int map, int mapsize, int buffer_offset) {
GL11.glPixelMapuiv(map, mapsize, buffer_offset);
}
/**
* @param map
* @param values
@ -1296,6 +1379,15 @@ public class GL {
GL11.glPixelMap(map, values);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public static void glPixelMapusv(int map, int mapsize, int buffer_offset) {
GL11.glPixelMapusv(map, mapsize, buffer_offset);
}
/**
* @param pname
* @param param
@ -1362,6 +1454,13 @@ public class GL {
GL11.glPolygonStipple(mask);
}
/**
* @param buffer_offset
*/
public static void glPolygonStipple(int buffer_offset) {
GL11.glPolygonStipple(buffer_offset);
}
/**
*
*/
@ -1510,6 +1609,19 @@ public class GL {
GL11.glReadPixels(x, y, width, height, format, type, pixels);
}
/**
* @param x
* @param y
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public static void glReadPixels(int x, int y, int width, int height, int format, int type, int buffer_offset) {
GL11.glReadPixels(x, y, width, height, format, type, buffer_offset);
}
/**
* @param x1
* @param y1
@ -1780,6 +1892,20 @@ public class GL {
GL11.glTexImage1D(target, level, internalformat, width, border, format, type, pixels);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, int buffer_offset) {
GL11.glTexImage1D(target, level, internalformat, width, border, format, type, buffer_offset);
}
/**
* @param target
* @param level
@ -1840,6 +1966,21 @@ public class GL {
GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, int buffer_offset) {
GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type, buffer_offset);
}
/**
* @param target
* @param pname
@ -1915,6 +2056,19 @@ public class GL {
GL11.glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
}
/**
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, int buffer_offset) {
GL11.glTexSubImage1D(target, level, xoffset, width, format, type, buffer_offset);
}
/**
* @param target
* @param level
@ -1960,6 +2114,21 @@ public class GL {
GL11.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int buffer_offset) {
GL11.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, buffer_offset);
}
/**
* @param x
* @param y
@ -2182,6 +2351,22 @@ public class GL {
GL12.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels);
}
/**
* @param target
* @param level
* @param internalFormat
* @param width
* @param height
* @param depth
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int buffer_offset) {
GL12.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, buffer_offset);
}
/**
* @param target
* @param level
@ -2250,6 +2435,23 @@ public class GL {
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param type
* @param buffer_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, int buffer_offset) {
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, buffer_offset);
}
/** @param texture */
public static void glActiveTexture(int texture) {
GL13.glActiveTexture(texture);
@ -2312,6 +2514,18 @@ public class GL {
GL13.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, int buffer_offset) {
GL13.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
@ -2368,6 +2582,19 @@ public class GL {
GL13.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, int buffer_offset) {
GL13.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
@ -2428,6 +2655,20 @@ public class GL {
GL13.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param depth
* @param border
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int buffer_offset) {
GL13.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
@ -2480,6 +2721,18 @@ public class GL {
GL13.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
}
/**
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, int buffer_offset) {
GL13.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, buffer_offset);
}
/**
* @param target
* @param level
@ -2540,6 +2793,20 @@ public class GL {
GL13.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int buffer_offset) {
GL13.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, buffer_offset);
}
/**
* @param target
* @param level
@ -2608,6 +2875,22 @@ public class GL {
GL13.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param imageSize
* @param buffer_offset
*/
public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int buffer_offset) {
GL13.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, buffer_offset);
}
/**
* @param target
* @param lod
@ -2635,6 +2918,15 @@ public class GL {
GL13.glGetCompressedTexImage(target, lod, img);
}
/**
* @param target
* @param lod
* @param buffer_offset
*/
public static void glGetCompressedTexImage(int target, int lod, int buffer_offset) {
GL13.glGetCompressedTexImage(target, lod, buffer_offset);
}
/** @param m */
public static void glLoadTransposeMatrix(FloatBuffer m) {
GL13.glLoadTransposeMatrix(m);
@ -3411,6 +3703,18 @@ public class GL {
ARBImaging.glColorSubTable(target, start, count, format, type, data);
}
/**
* @param target
* @param start
* @param count
* @param format
* @param type
* @param buffer_offset
*/
public static void glColorSubTable(int target, int start, int count, int format, int type, int buffer_offset) {
ARBImaging.glColorSubTable(target, start, count, format, type, buffer_offset);
}
/**
* @param target
* @param internalFormat
@ -3435,6 +3739,18 @@ public class GL {
ARBImaging.glColorTable(target, internalFormat, width, format, type, data);
}
/**
* @param target
* @param internalFormat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public static void glColorTable(int target, int internalFormat, int width, int format, int type, int buffer_offset) {
ARBImaging.glColorTable(target, internalFormat, width, format, type, buffer_offset);
}
/**
* @param target
* @param pname
@ -3501,6 +3817,18 @@ public class GL {
ARBImaging.glConvolutionFilter1D(target, internalformat, width, format, type, image);
}
/**
* @param target
* @param internalformat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, int buffer_offset) {
ARBImaging.glConvolutionFilter1D(target, internalformat, width, format, type, buffer_offset);
}
/**
* @param target
* @param internalformat
@ -3540,6 +3868,19 @@ public class GL {
ARBImaging.glConvolutionFilter2D(target, internalformat, width, height, format, type, image);
}
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, int buffer_offset) {
ARBImaging.glConvolutionFilter2D(target, internalformat, width, height, format, type, buffer_offset);
}
/**
* @param target
* @param pname
@ -3699,6 +4040,16 @@ public class GL {
ARBImaging.glGetConvolutionFilter(target, format, type, image);
}
/**
* @param target
* @param format
* @param type
* @param buffer_offset
*/
public static void glGetConvolutionFilter(int target, int format, int type, int buffer_offset) {
ARBImaging.glGetConvolutionFilter(target, format, type, buffer_offset);
}
/**
* @param target
* @param pname
@ -3761,6 +4112,10 @@ public class GL {
ARBImaging.glGetHistogram(target, reset, format, type, values);
}
public static void glGetHistogram(int target, boolean reset, int format, int type, int buffer_offset) {
ARBImaging.glGetHistogram(target, reset, format, type, buffer_offset);
}
/**
* @param target
* @param pname
@ -3823,6 +4178,17 @@ public class GL {
ARBImaging.glGetMinmax(target, reset, format, types, values);
}
/**
* @param target
* @param reset
* @param format
* @param types
* @param buffer_offset
*/
public static void glGetMinmax(int target, boolean reset, int format, int types, int buffer_offset) {
ARBImaging.glGetMinmax(target, reset, format, types, buffer_offset);
}
/**
* @param target
* @param pname
@ -3850,8 +4216,19 @@ public class GL {
* @param span
*/
public static void glGetSeparableFilter(int target, int format, int type, Buffer row, Buffer column, Buffer span) {
ARBImaging
.glGetSeparableFilter(target, format, type, row, column, span);
ARBImaging.glGetSeparableFilter(target, format, type, row, column, span);
}
/**
* @param target
* @param format
* @param type
* @param row_offset
* @param column_offset
* @param span_offset
*/
public static void glGetSeparableFilter(int target, int format, int type, int row_offset, int column_offset, int span_offset) {
ARBImaging.glGetSeparableFilter(target, format, type, row_offset, column_offset, span_offset);
}
/**
@ -3897,6 +4274,20 @@ public class GL {
ARBImaging.glSeparableFilter2D(target, internalformat, width, height, format, type, row, column);
}
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param row_offset
* @param column_offset
*/
public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, int row_offset, int column_offset) {
ARBImaging.glSeparableFilter2D(target, internalformat, width, height, format, type, row_offset, column_offset);
}
/** @param index */
public static void glCurrentPaletteMatrixARB(int index) {
ARBMatrixPalette.glCurrentPaletteMatrixARB(index);

View file

@ -248,6 +248,20 @@ public class GLImpl implements IGL {
GL.glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
}
/**
*
* @param width
* @param height
* @param xorig
* @param yorig
* @param xmove
* @param ymove
* @param buffer_offect
*/
public void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, int buffer_offect) {
GL.glBitmap(width, height, xorig, yorig, xmove, ymove, buffer_offect);
}
/**
* @param red
* @param green
@ -6548,4 +6562,397 @@ public class GLImpl implements IGL {
GL.glStencilOpSeparate(face, sfail, dpfail, dppass);
}
/**
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public void glDrawPixels(int width, int height, int format, int type, int buffer_offset) {
GL.glDrawPixels(width, height, format, type, buffer_offset);
}
/**
* @param map
* @param buffer_offset
*/
public void glGetPixelMapfv(int map, int buffer_offset) {
GL.glGetPixelMapfv(map, buffer_offset);
}
/**
* @param map
* @param buffer_offset
*/
public void glGetPixelMapuiv(int map, int buffer_offset) {
GL.glGetPixelMapuiv(map, buffer_offset);
}
/**
* @param map
* @param buffer_offset
*/
public void glGetPixelMapusv(int map, int buffer_offset) {
GL.glGetPixelMapusv(map, buffer_offset);
}
/**
* @param buffer_offset
*/
public void glGetPolygonStipple(int buffer_offset) {
GL.glGetPolygonStipple(buffer_offset);
}
/**
* @param target
* @param level
* @param format
* @param type
* @param buffer_offset
*/
public void glGetTexImage(int target, int level, int format, int type, int buffer_offset) {
GL.glGetTexImage(target, level, format, type, buffer_offset);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public void glPixelMapfv(int map, int mapsize, int buffer_offset) {
GL.glPixelMapfv(map, mapsize, buffer_offset);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public void glPixelMapuiv(int map, int mapsize, int buffer_offset) {
GL.glPixelMapuiv(map, mapsize, buffer_offset);
}
/**
* @param map
* @param mapsize
* @param buffer_offset
*/
public void glPixelMapusv(int map, int mapsize, int buffer_offset) {
GL.glPixelMapusv(map, mapsize, buffer_offset);
}
/**
* @param buffer_offset
*/
public void glPolygonStipple(int buffer_offset) {
GL.glPolygonStipple(buffer_offset);
}
/**
* @param x
* @param y
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public void glReadPixels(int x, int y, int width, int height, int format, int type, int buffer_offset) {
GL.glReadPixels(x, y, width, height, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, int buffer_offset) {
GL.glTexImage1D(target, level, internalformat, width, border, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, int buffer_offset) {
GL.glTexImage2D(target, level, internalformat, width, height, border, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, int buffer_offset) {
GL.glTexSubImage1D(target, level, xoffset, width, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int buffer_offset) {
GL.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param internalFormat
* @param width
* @param height
* @param depth
* @param border
* @param format
* @param type
* @param buffer_offset
*/
public void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int buffer_offset) {
GL.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param type
* @param buffer_offset
*/
public void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int buffer_offset) {
GL.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, buffer_offset);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, int buffer_offset) {
GL.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, int buffer_offset) {
GL.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param depth
* @param border
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int buffer_offset) {
GL.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, int buffer_offset) {
GL.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int buffer_offset) {
GL.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, buffer_offset);
}
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param imageSize
* @param buffer_offset
*/
public void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int buffer_offset) {
GL.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, buffer_offset);
}
/**
* @param target
* @param lod
* @param buffer_offset
*/
public void glGetCompressedTexImage(int target, int lod, int buffer_offset) {
GL.glGetCompressedTexImage(target, lod, buffer_offset);
}
/**
* @param target
* @param start
* @param count
* @param format
* @param type
* @param buffer_offset
*/
public void glColorSubTable(int target, int start, int count, int format, int type, int buffer_offset) {
GL.glColorSubTable(target, start, count, format, type, buffer_offset);
}
/**
* @param target
* @param internalFormat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public void glColorTable(int target, int internalFormat, int width, int format, int type, int buffer_offset) {
GL.glColorTable(target, internalFormat, width, format, type, buffer_offset);
}
/**
* @param target
* @param internalformat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
public void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, int buffer_offset) {
GL.glConvolutionFilter1D(target, internalformat, width, format, type, buffer_offset);
}
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
public void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, int buffer_offset) {
GL.glConvolutionFilter2D(target, internalformat, width, height, format, type, buffer_offset);
}
/**
* @param target
* @param format
* @param type
* @param buffer_offset
*/
public void glGetConvolutionFilter(int target, int format, int type, int buffer_offset) {
GL.glGetConvolutionFilter(target, format, type, buffer_offset);
}
/**
* @param target
* @param reset
* @param format
* @param type
* @param buffer_offset
*/
public void glGetHistogram(int target, boolean reset, int format, int type, int buffer_offset) {
GL.glGetHistogram(target, reset, format, type, buffer_offset);
}
/**
* @param target
* @param reset
* @param format
* @param types
* @param buffer_offset
*/
public void glGetMinmax(int target, boolean reset, int format, int types, int buffer_offset) {
GL.glGetMinmax(target, reset, format, types, buffer_offset);
}
/**
* @param target
* @param format
* @param type
* @param row_offset
* @param column_offset
* @param span_offset
*/
public void glGetSeparableFilter(int target, int format, int type, int row_offset, int column_offset, int span_offset) {
GL.glGetSeparableFilter(target, format, type, row_offset, column_offset, span_offset);
}
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param row_offset
* @param column_offset
*/
public void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, int row_offset, int column_offset) {
GL.glSeparableFilter2D(target, internalformat, width, height, format, type, row_offset, column_offset);
}
}

View file

@ -82,6 +82,18 @@ public interface IGL {
*/
void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap);
/**
*
* @param width
* @param height
* @param xorig
* @param yorig
* @param xmove
* @param ymove
* @param buffer_offect
*/
void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, int buffer_offect);
/**
* @param sfactor
* @param dfactor
@ -396,6 +408,16 @@ public interface IGL {
*/
void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels);
/**
*
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
void glDrawPixels(int width, int height, int format, int type, int buffer_offset);
/**
* @param flag
*/
@ -621,18 +643,36 @@ public interface IGL {
*/
void glGetPixelMap(int map, FloatBuffer values);
/**
* @param map
* @param buffer_offset
*/
void glGetPixelMapfv(int map, int buffer_offset);
/**
* @param map
* @param values
*/
void glGetPixelMap(int map, IntBuffer values);
/**
* @param map
* @param buffer_offset
*/
void glGetPixelMapuiv(int map, int buffer_offset);
/**
* @param map
* @param values
*/
void glGetPixelMap(int map, ShortBuffer values);
/**
* @param map
* @param buffer_offset
*/
void glGetPixelMapusv(int map, int buffer_offset);
/**
* @param pname
* @param size
@ -646,6 +686,11 @@ public interface IGL {
*/
void glGetPolygonStipple(ByteBuffer mask);
/**
* @param buffer_offset
*/
void glGetPolygonStipple(int buffer_offset);
/**
* @param name
*
@ -708,6 +753,15 @@ public interface IGL {
*/
void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels);
/**
* @param target
* @param level
* @param format
* @param type
* @param buffer_offset
*/
void glGetTexImage(int target, int level, int format, int type, int buffer_offset);
/**
* @param target
* @param level
@ -1058,6 +1112,30 @@ public interface IGL {
*/
void glPixelMap(int map, ShortBuffer values);
/**
*
* @param map
* @param mapsize
* @param buffer_offset
*/
void glPixelMapfv(int map, int mapsize, int buffer_offset);
/**
*
* @param map
* @param mapsize
* @param buffer_offset
*/
void glPixelMapuiv(int map, int mapsize, int buffer_offset);
/**
*
* @param map
* @param mapsize
* @param buffer_offset
*/
void glPixelMapusv(int map, int mapsize, int buffer_offset);
/**
* @param pname
* @param param
@ -1110,6 +1188,12 @@ public interface IGL {
*/
void glPolygonStipple(ByteBuffer mask);
/**
*
* @param buffer_offset
*/
void glPolygonStipple(int buffer_offset);
/**
*
*/
@ -1230,6 +1314,17 @@ public interface IGL {
*/
void glReadPixels(int x, int y, int width, int height, int format, int type, ShortBuffer pixels);
/**
* @param x
* @param y
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
void glReadPixels(int x, int y, int width, int height, int format, int type, int buffer_offset);
/**
* @param x1
* @param y1
@ -1453,6 +1548,18 @@ public interface IGL {
*/
void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels);
/**
*
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param format
* @param type
* @param buffer_offset
*/
void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, int buffer_offset);
/**
* @param target
@ -1509,6 +1616,19 @@ public interface IGL {
*/
void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels);
/**
*
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param format
* @param type
* @param buffer_offset
*/
void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, int buffer_offset);
/**
* @param target
@ -1561,6 +1681,17 @@ public interface IGL {
*/
void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, IntBuffer pixels);
/**
*
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param type
* @param buffer_offset
*/
void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, int buffer_offset);
/**
* @param target
@ -1615,6 +1746,19 @@ public interface IGL {
*/
void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ShortBuffer pixels);
/**
*
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int buffer_offset);
/**
* @param x
@ -1787,7 +1931,6 @@ public interface IGL {
*/
void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, IntBuffer pixels);
/**
* @param target
* @param level
@ -1802,6 +1945,19 @@ public interface IGL {
*/
void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ShortBuffer pixels);
/**
* @param target
* @param level
* @param internalFormat
* @param width
* @param height
* @param depth
* @param border
* @param format
* @param type
* @param buffer_offset
*/
void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int buffer_offset);
/**
* @param target
@ -1866,6 +2022,21 @@ public interface IGL {
*/
void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ShortBuffer pixels);
/**
*
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param type
* @param buffer_offset
*/
void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int buffer_offset);
/**
* @param texture
@ -1924,6 +2095,16 @@ public interface IGL {
*/
void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param border
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, int buffer_offset);
/**
* @param target
@ -1974,6 +2155,17 @@ public interface IGL {
*/
void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param border
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, int buffer_offset);
/**
* @param target
@ -2027,6 +2219,18 @@ public interface IGL {
*/
void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param internalformat
* @param width
* @param height
* @param depth
* @param border
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int buffer_offset);
/**
* @param target
@ -2075,6 +2279,16 @@ public interface IGL {
*/
void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param xoffset
* @param width
* @param format
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, int buffer_offset);
/**
* @param target
@ -2089,7 +2303,6 @@ public interface IGL {
*/
void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data);
/**
* @param target
* @param level
@ -2103,7 +2316,6 @@ public interface IGL {
*/
void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer data);
/**
* @param target
* @param level
@ -2131,6 +2343,18 @@ public interface IGL {
*/
void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param width
* @param height
* @param format
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int buffer_offset);
/**
* @param target
@ -2147,7 +2371,6 @@ public interface IGL {
*/
void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data);
/**
* @param target
* @param level
@ -2163,7 +2386,6 @@ public interface IGL {
*/
void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data);
/**
* @param target
* @param level
@ -2179,7 +2401,6 @@ public interface IGL {
*/
void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data);
/**
* @param target
* @param level
@ -2195,6 +2416,20 @@ public interface IGL {
*/
void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data);
/**
* @param target
* @param level
* @param xoffset
* @param yoffset
* @param zoffset
* @param width
* @param height
* @param depth
* @param format
* @param imageSize
* @param buffer_offset
*/
void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int buffer_offset);
/**
* @param target
@ -2217,6 +2452,13 @@ public interface IGL {
*/
void glGetCompressedTexImage(int target, int lod, ShortBuffer img);
/**
* @param target
* @param lod
* @param buffer_offset
*/
void glGetCompressedTexImage(int target, int lod, int buffer_offset);
/**
* @param m
*/
@ -2844,6 +3086,16 @@ public interface IGL {
*/
void glColorSubTable(int target, int start, int count, int format, int type, FloatBuffer data);
/**
* @param target
* @param start
* @param count
* @param format
* @param type
* @param buffer_offset
*/
void glColorSubTable(int target, int start, int count, int format, int type, int buffer_offset);
/**
* @param target
* @param internalFormat
@ -2865,6 +3117,15 @@ public interface IGL {
*/
void glColorTable(int target, int internalFormat, int width, int format, int type, FloatBuffer data);
/**
* @param target
* @param internalFormat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
void glColorTable(int target, int internalFormat, int width, int format, int type, int buffer_offset);
/**
* @param target
@ -2890,7 +3151,6 @@ public interface IGL {
*/
void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ByteBuffer image);
/**
* @param target
* @param internalformat
@ -2901,7 +3161,6 @@ public interface IGL {
*/
void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, FloatBuffer image);
/**
* @param target
* @param internalformat
@ -2912,7 +3171,6 @@ public interface IGL {
*/
void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, IntBuffer image);
/**
* @param target
* @param internalformat
@ -2923,6 +3181,15 @@ public interface IGL {
*/
void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ShortBuffer image);
/**
* @param target
* @param internalformat
* @param width
* @param format
* @param type
* @param buffer_offset
*/
void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, int buffer_offset);
/**
* @param target
@ -2935,7 +3202,6 @@ public interface IGL {
*/
void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer image);
/**
* @param target
* @param internalformat
@ -2947,7 +3213,6 @@ public interface IGL {
*/
void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer image);
/**
* @param target
* @param internalformat
@ -2959,6 +3224,16 @@ public interface IGL {
*/
void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer image);
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param buffer_offset
*/
void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, int buffer_offset);
/**
* @param target
@ -3089,6 +3364,14 @@ public interface IGL {
*/
void glGetConvolutionFilter(int target, int format, int type, ShortBuffer image);
/**
* @param target
* @param format
* @param type
* @param buffer_offset
*/
void glGetConvolutionFilter(int target, int format, int type, int buffer_offset);
/**
* @param target
* @param pname
@ -3139,6 +3422,15 @@ public interface IGL {
*/
void glGetHistogram(int target, boolean reset, int format, int type, ShortBuffer values);
/**
* @param target
* @param reset
* @param format
* @param type
* @param buffer_offset
*/
void glGetHistogram(int target, boolean reset, int format, int type, int buffer_offset);
/**
* @param target
* @param pname
@ -3189,6 +3481,15 @@ public interface IGL {
*/
void glGetMinmax(int target, boolean reset, int format, int types, ShortBuffer values);
/**
* @param target
* @param reset
* @param format
* @param types
* @param buffer_offset
*/
void glGetMinmax(int target, boolean reset, int format, int types, int buffer_offset);
/**
* @param target
* @param pname
@ -3213,6 +3514,15 @@ public interface IGL {
*/
void glGetSeparableFilter(int target, int format, int type, Buffer row, Buffer column, Buffer span);
/**
* @param target
* @param format
* @param type
* @param row_offset
* @param column_offset
* @param span_offset
*/
void glGetSeparableFilter(int target, int format, int type, int row_offset, int column_offset, int span_offset);
/**
* @param target
@ -3251,6 +3561,17 @@ public interface IGL {
*/
void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, Buffer column);
/**
* @param target
* @param internalformat
* @param width
* @param height
* @param format
* @param type
* @param row_offset
* @param column_offset
*/
void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, int row_offset, int column_offset);
/**
* @param index
@ -5204,7 +5525,7 @@ public interface IGL {
* @param name
*/
void glGetActiveUniform(int program, int index,
IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name);
IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name);
/**
* @param program
@ -5243,7 +5564,7 @@ public interface IGL {
* @param name
*/
void glGetActiveAttrib(int program, int index,
IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name);
IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name);
/**
* @param program