Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31039/src/java/org/lwjgl/opengl Modified Files: ARBMatrixPalette.java ARBVertexBlend.java ARBVertexProgram.java ATIElementArray.java BufferChecks.java EXTDrawRangeElements.java EXTFogCoord.java EXTSecondaryColor.java EXTVertexShader.java EXTVertexWeighting.java GL11.java GL12.java GL14.java NVVertexProgram.java Log Message: Fixed VBO checks and disabled BufferChecks (for now) Index: ARBMatrixPalette.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBMatrixPalette.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ARBMatrixPalette.java 15 Feb 2004 19:41:07 -0000 1.3 +++ ARBMatrixPalette.java 16 Feb 2004 03:35:45 -0000 1.4 @@ -59,20 +59,20 @@ public static native void glCurrentPaletteMatrixARB(int index); public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position()); } public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position()<<1); } public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_INT, stride, pPointer, pPointer.position()<<2); } private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset); public static void glMatrixIndexPointerARB(int size, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglMatrixIndexPointerARBVBO(size, type, stride, buffer_offset); } private static native void nglMatrixIndexPointerARBVBO(int size, int type, int stride, int buffer_offset); Index: ARBVertexBlend.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBVertexBlend.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBVertexBlend.java 15 Feb 2004 19:41:07 -0000 1.2 +++ ARBVertexBlend.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -126,26 +126,26 @@ private static native void nglWeightusvARB(int size, ShortBuffer psWeights, int psWeights_offset); public static void glWeightPointerARB(int size, boolean unsigned, int stride, ByteBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position()); } public static void glWeightPointerARB(int size, boolean unsigned, int stride, ShortBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pPointer, pPointer.position()<<1); } public static void glWeightPointerARB(int size, int stride, FloatBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2); } public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pPointer, pPointer.position()<<2); } private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset); public static void glWeightPointerARB(int size, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglWeightPointerARBVBO(size, type, stride, buffer_offset); } private static native void nglWeightPointerARBVBO(int size, int type, int stride, int buffer_offset); - public static native void glVertexBlendARB(int count); + public static native void glVertexBlendARB(int count); } Index: ARBVertexProgram.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBVertexProgram.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBVertexProgram.java 15 Feb 2004 19:41:08 -0000 1.2 +++ ARBVertexProgram.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -113,22 +113,22 @@ public static native void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w); public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position()); } public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1); } public static void glVertexAttribPointerARB(int index, int size, boolean normalized, int stride, FloatBuffer buffer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexAttribPointerARB(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2); } public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2); } @@ -136,7 +136,7 @@ // --------------------------- public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int bufferOffset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglVertexAttribPointerARBVBO(index, size, type, normalized, stride, bufferOffset); } Index: ATIElementArray.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ATIElementArray.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ATIElementArray.java 15 Feb 2004 19:41:08 -0000 1.2 +++ ATIElementArray.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -51,21 +51,21 @@ public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; public static void glElementPointerATI(ByteBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglElementPointerATI(GL11.GL_UNSIGNED_BYTE, pPointer, pPointer.position()); } public static void glElementPointerATI(ShortBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglElementPointerATI(GL11.GL_UNSIGNED_SHORT, pPointer, pPointer.position()<<1); } public static void glElementPointerATI(IntBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglElementPointerATI(GL11.GL_UNSIGNED_INT, pPointer, pPointer.position()<<2); } private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_offset); public static void glElementPointerATI(int type, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglElementPointerATIVBO(type, buffer_offset); } private static native void nglElementPointerATIVBO(int type, int buffer_offset); Index: BufferChecks.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/BufferChecks.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- BufferChecks.java 15 Feb 2004 19:41:08 -0000 1.5 +++ BufferChecks.java 16 Feb 2004 03:35:45 -0000 1.6 @@ -67,7 +67,9 @@ */ static void checkBuffer(Buffer buf) { if (buf.remaining() < MIN_BUFFER_SIZE) { - throw new BufferOverflowException(); + // TODO: I don't think the default MIN_BUFFER_SIZE should be used for other than glGet* + // Others, like glTexEnvf, should use their individual buffer max size (like 4) +// throw new BufferOverflowException(); } } /** @@ -89,7 +91,7 @@ * Helper method to ensure that vertex buffer objects are disabled. If they * are enabled, we'll throw an OpenGLException */ - static void ensureVBOdisabled() { + static void ensureArrayVBOdisabled() { if (VBOTracker.getVBOArrayStack().getState() != 0) { throw new OpenGLException("Cannot use Buffers when VBO is enabled"); } @@ -98,12 +100,30 @@ * Helper method to ensure that vertex buffer objects are enabled. If they * are disabled, we'll throw an OpenGLException */ - static void ensureVBOenabled() { + static void ensureArrayVBOenabled() { if (VBOTracker.getVBOArrayStack().getState() == 0) { throw new OpenGLException("Cannot use offsets when VBO is disabled"); } } /** + * Helper method to ensure that vertex 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"); + } + } + /** + * Helper method to ensure that vertex 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"); + } + } + /** * Calculate the storage required for an image. * * @param format @@ -136,7 +156,9 @@ bpe = 4; break; default : - throw new IllegalArgumentException("Unknown type " + type); + // TODO: Add more types (like the GL12 types GL_UNSIGNED_INT_8_8_8_8 + return 0; + // throw new IllegalArgumentException("Unknown type " + type); } int epp; switch (format) { @@ -158,8 +180,10 @@ epp = 4; break; default : - // Assume 4 elements per pixel - epp = 4; + // TODO: Add more formats. Assuming 4 is too wasteful on buffer sizes where e.g. 1 is enough (like GL_DEPTH_COMPONENT) + return 0; +/* // Assume 4 elements per pixel + epp = 4;*/ } return epp * bpe * width * height * depth; } Index: EXTDrawRangeElements.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTDrawRangeElements.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- EXTDrawRangeElements.java 15 Feb 2004 19:41:08 -0000 1.2 +++ EXTDrawRangeElements.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -50,21 +50,21 @@ public static final int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; public static void glDrawRangeElementsEXT(int mode, int start, int end, ByteBuffer pIndices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_BYTE, pIndices, pIndices.position()); } public static void glDrawRangeElementsEXT(int mode, int start, int end, ShortBuffer pIndices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_SHORT, pIndices, pIndices.position()<<1); } public static void glDrawRangeElementsEXT(int mode, int start, int end, IntBuffer pIndices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), GL11.GL_UNSIGNED_INT, pIndices, pIndices.position()<<2); } private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_offset); public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureElementVBOenabled(); nglDrawRangeElementsEXTVBO(mode, start, end, count, type, buffer_offset); } private static native void nglDrawRangeElementsEXTVBO(int mode, int start, int end, int count, int type, int buffer_offset); Index: EXTFogCoord.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTFogCoord.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- EXTFogCoord.java 15 Feb 2004 19:41:08 -0000 1.2 +++ EXTFogCoord.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -56,12 +56,12 @@ public static native void glFogCoordfEXT(float coord); public static void glFogCoordPointerEXT(int stride, FloatBuffer data) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglFogCoordPointerEXT(GL11.GL_FLOAT, stride, data, data.position() << 2); } private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_offset); public static void glFogCoordPointerEXT(int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglFogCoordPointerEXTVBO(type, stride, buffer_offset); } private static native void nglFogCoordPointerEXTVBO(int type, int stride, int buffer_offset); Index: EXTSecondaryColor.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTSecondaryColor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- EXTSecondaryColor.java 15 Feb 2004 19:41:07 -0000 1.2 +++ EXTSecondaryColor.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -60,17 +60,17 @@ public static native void glSecondaryColor3ubEXT(byte red, byte green, byte blue); public static void glSecondaryColorPointerEXT(int size, boolean unsigned, int stride, ByteBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE: GL11.GL_BYTE, stride, pPointer, pPointer.position()); } public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglSecondaryColorPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2); } private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset); public static void glSecondaryColorPointerEXT(int size, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglSecondaryColorPointerEXTVBO(size, type, stride, buffer_offset); } private static native void nglSecondaryColorPointerEXTVBO(int size, int type, int stride, int buffer_offset); Index: EXTVertexShader.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTVertexShader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- EXTVertexShader.java 15 Feb 2004 19:41:08 -0000 1.2 +++ EXTVertexShader.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -279,24 +279,24 @@ } private static native void nglVariantuivEXT(int id, IntBuffer piAddr, int piAddr_offset); public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position()); } public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position()<<1); } public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position()<<2); } public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position()<<2); } private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_offset); public static void glVariantPointerEXT(int id, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglVariantPointerEXTVBO(id, type, stride, buffer_offset); } private static native void nglVariantPointerEXTVBO(int id, int type, int stride, int buffer_offset); Index: EXTVertexWeighting.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTVertexWeighting.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- EXTVertexWeighting.java 15 Feb 2004 19:41:08 -0000 1.2 +++ EXTVertexWeighting.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -61,12 +61,12 @@ public static native void glVertexWeightfEXT(float weight); public static void glVertexWeightPointerEXT(int size, int stride, FloatBuffer pPointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexWeightPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2); } private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset); public static void glVertexWeightPointerEXT(int size, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglVertexWeightPointerEXTVBO(size, type, stride, buffer_offset); } private static native void nglVertexWeightPointerEXTVBO(int size, int type, int stride, int buffer_offset); Index: GL11.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/GL11.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- GL11.java 15 Feb 2004 19:41:08 -0000 1.7 +++ GL11.java 16 Feb 2004 03:35:45 -0000 1.8 @@ -763,16 +763,16 @@ 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.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, pointer, pointer.position()); } public static void glColorPointer(int size, int stride, FloatBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); 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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglColorPointerVBO(size, type, stride, buffer_offset); } private static native void nglColorPointerVBO(int size, int type, int stride, int buffer_offset); @@ -804,12 +804,12 @@ public static native void glEnable(int cap); public static native void glDisable(int cap); public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglEdgeFlagPointerVBO(stride, buffer_offset); } private static native void nglEdgeFlagPointerVBO(int stride, int buffer_offset); @@ -834,20 +834,20 @@ } private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_offset); public static void glDrawElements(int mode, ByteBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position()); } public static void glDrawElements(int mode, ShortBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawElements(mode, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1); } public static void glDrawElements(int mode, IntBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); 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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureElementVBOenabled(); nglDrawElementsVBO(mode, count, type, buffer_offset); } private static native void nglDrawElementsVBO(int mode, int count, int type, int buffer_offset); @@ -963,24 +963,24 @@ 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.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglInterleavedArrays(format, stride, pointer, pointer.position()); } public static void glInterleavedArrays(int format, int stride, ShortBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglInterleavedArrays(format, stride, pointer, pointer.position() << 1); } public static void glInterleavedArrays(int format, int stride, IntBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglInterleavedArrays(format, stride, pointer, pointer.position() << 2); } public static void glInterleavedArrays(int format, int stride, FloatBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); 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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglInterleavedArraysVBO(format, stride, buffer_offset); } private static native void nglInterleavedArraysVBO(int format, int stride, int buffer_offset); @@ -1155,20 +1155,20 @@ 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.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglNormalPointer(GL_BYTE, stride, pointer, pointer.position()); } public static void glNormalPointer(int stride, IntBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglNormalPointer(GL_INT, stride, pointer, pointer.position() << 2); } public static void glNormalPointer(int stride, FloatBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); 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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglNormalPointerVBO(type, stride, buffer_offset); } private static native void nglNormalPointerVBO(int type, int stride, int buffer_offset); @@ -1245,16 +1245,16 @@ 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.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglVertexPointer(size, GL_FLOAT, stride, pointer, pointer.position() << 2); } public static void glVertexPointer(int size, int stride, IntBuffer pointer) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); 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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglVertexPointerVBO(size, type, stride, buffer_offset); } private static native void nglVertexPointerVBO(int size, int type, int stride, int buffer_offset); @@ -1390,12 +1390,12 @@ } 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.ensureVBOdisabled(); + BufferChecks.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) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglTexCoordPointerVBO(size, type, stride, buffer_offset); } private static native void nglTexCoordPointerVBO(int size, int type, int stride, int buffer_offset); Index: GL12.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/GL12.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- GL12.java 15 Feb 2004 19:41:08 -0000 1.4 +++ GL12.java 16 Feb 2004 03:35:45 -0000 1.5 @@ -343,20 +343,20 @@ } private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_offset, Buffer column, int column_offset, Buffer span, int span_offset); public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_BYTE, indices, indices.position()); } public static void glDrawRangeElements(int mode, int start, int end, ShortBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_SHORT, indices, indices.position() << 1); } public static void glDrawRangeElements(int mode, int start, int end, IntBuffer indices) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureElementVBOdisabled(); nglDrawRangeElements(mode, start, end, indices.remaining(), GL_UNSIGNED_INT, indices, indices.position() << 2); } private static native void nglDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices, int indices_offset); public static void glDrawRangeElements(int mode, int start, int end, int count, int type, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureElementVBOenabled(); nglDrawRangeElementsVBO(mode, start, end, count, type, buffer_offset); } private static native void nglDrawRangeElementsVBO(int mode, int start, int end, int count, int type, int buffer_offset); Index: GL14.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/GL14.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- GL14.java 15 Feb 2004 19:41:08 -0000 1.4 +++ GL14.java 16 Feb 2004 03:35:45 -0000 1.5 @@ -88,12 +88,12 @@ public static native void glFogCoordf(float coord); public static void glFogCoordPointer(int stride, FloatBuffer data) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglFogCoordPointer(GL_FLOAT, stride, data, data.position() << 2); } private static native void nglFogCoordPointer(int type, int stride, Buffer data, int data_offset); public static void glFogCoordPointer(int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglFogCoordPointerVBO(type, stride, buffer_offset); } private static native void nglFogCoordPointerVBO(int type, int stride, int buffer_offset); @@ -115,16 +115,16 @@ public static native void glSecondaryColor3f (float red, float green, float blue); public static native void glSecondaryColor3ub (byte red, byte green, byte blue); public static void glSecondaryColorPointer(int size, boolean unsigned, int stride, ByteBuffer data) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglSecondaryColorPointer(size, unsigned ? GL_UNSIGNED_BYTE : GL_BYTE, stride, data, data.position()); } public static void glSecondaryColorPointer(int size, int stride, FloatBuffer data) { - BufferChecks.ensureVBOdisabled(); + BufferChecks.ensureArrayVBOdisabled(); nglSecondaryColorPointer(size, GL_FLOAT, stride, data, data.position() << 2); } private static native void nglSecondaryColorPointer (int size, int type, int stride, Buffer data, int data_offset); public static void glSecondaryColorPointer(int size, int type, int stride, int buffer_offset) { - BufferChecks.ensureVBOenabled(); + BufferChecks.ensureArrayVBOenabled(); nglSecondaryColorPointerVBO(size, type, stride, buffer_offset); } private static native void nglSecondaryColorPointerVBO(int size, int type, int stride, int buffer_offset); Index: NVVertexProgram.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/NVVertexProgram.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- NVVertexProgram.java 15 Feb 2004 19:41:08 -0000 1.2 +++ NVVertexProgram.java 16 Feb 2004 03:35:45 -0000 1.3 @@ -1 +1,472 @@ -/* * Copyright (c) 2002 Lightweight Java Game Library Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of 'Light Weight Java Game Library' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Created by LWJGL. * User: spasi * Date: 2003-11-28 * Time: 18:54:32 */ package org.lwjgl.opengl; import java.nio.Buffer; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; import java.nio.ShortBuffer; public class NVVertexProgram extends NVProgram { /* Accepted by the <cap> parameter of Disable, Enable, and IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev, and by the <target> parameter of BindProgramNV, ExecuteProgramNV, GetProgramParameter[df]vNV, GetTrackMatrixivNV, LoadProgramNV, ProgramParameter[s]4[df][v]NV, and TrackMatrixNV: */ public static final int GL_VERTEX_PROGRAM_NV = 0x8620; /* Accepted by the <cap> parameter of Disable, Enable, and IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: */ public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; /* Accepted by the <target> parameter of ExecuteProgramNV and LoadProgramNV: */ public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; /* Accepted by the <pname> parameter of GetVertexAttrib[dfi]vNV: */ public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; public static final int GL_CURRENT_ATTRIB_NV = 0x8626; /* Accepted by the <pname> parameter of GetProgramParameterfvNV and GetProgramParameterdvNV: */ public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; /* Accepted by the <pname> parameter of GetVertexAttribPointervNV: */ public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; /* Accepted by the <pname> parameter of GetTrackMatrixivNV: */ public static final int GL_TRACK_MATRIX_NV = 0x8648; public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; /* Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: */ public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; public static final int GL_CURRENT_MATRIX_NV = 0x8641; public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; /* Accepted by the <matrix> parameter of TrackMatrixNV: */ public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; /* Accepted by the <matrix> parameter of TrackMatrixNV and by the <mode> parameter of MatrixMode: */ public static final int GL_MATRIX0_NV = 0x8630; public static final int GL_MATRIX1_NV = 0x8631; public static final int GL_MATRIX2_NV = 0x8632; public static final int GL_MATRIX3_NV = 0x8633; public static final int GL_MATRIX4_NV = 0x8634; public static final int GL_MATRIX5_NV = 0x8635; public static final int GL_MATRIX6_NV = 0x8636; public static final int GL_MATRIX7_NV = 0x8637; /* Accepted by the <transform> parameter of TrackMatrixNV: */ public static final int GL_IDENTITY_NV = 0x862A; public static final int GL_INVERSE_NV = 0x862B; public static final int GL_TRANSPOSE_NV = 0x862C; public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; /* Accepted by the <array> parameter of EnableClientState and DisableClientState, by the <cap> parameter of IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: */ public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; /* Accepted by the <target> parameter of GetMapdv, GetMapfv, GetMapiv, Map1d and Map1f and by the <cap> parameter of Enable, Disable, and IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: */ public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; /* Accepted by the <target> parameter of GetMapdv, GetMapfv, GetMapiv, Map2d and Map2f and by the <cap> parameter of Enable, Disable, and IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: */ public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; // --------------------------- public static void glExecuteProgramNV(int target, int id, FloatBuffer params) { BufferChecks.checkBuffer(params); nglExecuteProgramNV(target, id, params, params.position()); } private static native void nglExecuteProgramNV(int target, int id, FloatBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetProgramParameterNV(int target, int index, int parameterName, FloatBuffer params) { BufferChecks.checkBuffer(params); nglGetProgramParameterfvNV(target, index, parameterName, params, params.position()); } private static native void nglGetProgramParameterfvNV( int target, int index, int parameterName, FloatBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetTrackMatrixNV(int target, int address, int parameterName, IntBuffer params) { BufferChecks.checkBuffer(params); nglGetTrackMatrixivNV(target, address, parameterName, params, params.position()); } private static native void nglGetTrackMatrixivNV( int target, int address, int parameterName, IntBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetVertexAttribNV(int index, int parameterName, FloatBuffer params) { BufferChecks.checkBuffer(params); nglGetVertexAttribfvNV(index, parameterName, params, params.position()); } private static native void nglGetVertexAttribfvNV(int index, int parameterName, FloatBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetVertexAttribNV(int index, int parameterName, IntBuffer params) { BufferChecks.checkBuffer(params); nglGetVertexAttribivNV(index, parameterName, params, params.position()); } private static native void nglGetVertexAttribivNV(int index, int parameterName, IntBuffer params, int paramsOffset); // --------------------------- public static native ByteBuffer glGetVertexAttribPointerNV(int index, int parameterName, int size); public static native void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w); // --------------------------- public static void glProgramParameters4NV(int target, int index, int count, FloatBuffer params) { // Special case buffer check if (params.remaining() < count * 4) { throw new BufferOverflowException(); } nglProgramParameters4fvNV(target, index, count, params, params.position()); } private static native void nglProgramParameters4fvNV( int target, int index, int count, FloatBuffer params, int paramsOffset); // --------------------------- public static native void glTrackMatrixNV(int target, int address, int matrix, int transform); public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ByteBuffer buffer) { BufferChecks.ensureVBOdisabled(); nglVertexAttribPointerNV( index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, buffer, buffer.position()); } public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ShortBuffer buffer) { BufferChecks.ensureVBOdisabled(); nglVertexAttribPointerNV( index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, buffer, buffer.position() << 1); } public static void glVertexAttribPointerNV(int index, int size, int stride, FloatBuffer buffer) { BufferChecks.ensureVBOdisabled(); nglVertexAttribPointerNV(index, size, GL11.GL_FLOAT, stride, buffer, buffer.position() << 2); } public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, IntBuffer buffer) { BufferChecks.ensureVBOdisabled(); nglVertexAttribPointerNV( index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, buffer, buffer.position() << 2); } private static native void nglVertexAttribPointerNV( int index, int size, int type, int stride, Buffer buffer, int bufferOffset); // --------------------------- public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int bufferOffset) { BufferChecks.ensureVBOenabled(); nglVertexAttribPointerNVVBO(index, size, type, stride, bufferOffset); } private static native void nglVertexAttribPointerNVVBO(int index, int size, int type, int stride, int bufferOffset); // --------------------------- public static native void glVertexAttrib1sNV(int index, short x); public static native void glVertexAttrib1fNV(int index, float x); public static native void glVertexAttrib2sNV(int index, short x, short y); public static native void glVertexAttrib2fNV(int index, float x, float y); public static native void glVertexAttrib3sNV(int index, short x, short y, short z); public static native void glVertexAttrib3fNV(int index, float x, float y, float z); public static native void glVertexAttrib4sNV(int index, short x, short y, short z, short w); public static native void glVertexAttrib4fNV(int index, float x, float y, float z, float w); public static native void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w); } \ No newline at end of file +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Created by LWJGL. + * User: spasi + * Date: 2003-11-28 + * Time: 18:54:32 + */ + +package org.lwjgl.opengl; + +import java.nio.Buffer; +import java.nio.BufferOverflowException; +import java.nio.ByteBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import java.nio.ShortBuffer; + + + +public class NVVertexProgram extends NVProgram { + + /* + Accepted by the <cap> parameter of Disable, Enable, and IsEnabled, + and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, + and GetDoublev, and by the <target> parameter of BindProgramNV, + ExecuteProgramNV, GetProgramParameter[df]vNV, GetTrackMatrixivNV, + LoadProgramNV, ProgramParameter[s]4[df][v]NV, and TrackMatrixNV: + */ + + public static final int GL_VERTEX_PROGRAM_NV = 0x8620; + + /* + Accepted by the <cap> parameter of Disable, Enable, and IsEnabled, + and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, + and GetDoublev: + */ + + public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; + + public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; + + /* + Accepted by the <target> parameter of ExecuteProgramNV and + LoadProgramNV: + */ + + public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; + + /* + Accepted by the <pname> parameter of GetVertexAttrib[dfi]vNV: + */ + + public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; + + public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; + + public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; + + public static final int GL_CURRENT_ATTRIB_NV = 0x8626; + + /* + Accepted by the <pname> parameter of GetProgramParameterfvNV + and GetProgramParameterdvNV: + */ + + public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; + + /* + Accepted by the <pname> parameter of GetVertexAttribPointervNV: + */ + + public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; + + /* + Accepted by the <pname> parameter of GetTrackMatrixivNV: + */ + + public static final int GL_TRACK_MATRIX_NV = 0x8648; + + public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; + + /* + Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + + public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; + + public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; + + public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; + + public static final int GL_CURRENT_MATRIX_NV = 0x8641; + + public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; + + /* + Accepted by the <matrix> parameter of TrackMatrixNV: + */ + + public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; + + /* + Accepted by the <matrix> parameter of TrackMatrixNV and by the + <mode> parameter of MatrixMode: + */ + + public static final int GL_MATRIX0_NV = 0x8630; + + public static final int GL_MATRIX1_NV = 0x8631; + + public static final int GL_MATRIX2_NV = 0x8632; + + public static final int GL_MATRIX3_NV = 0x8633; + + public static final int GL_MATRIX4_NV = 0x8634; + + public static final int GL_MATRIX5_NV = 0x8635; + + public static final int GL_MATRIX6_NV = 0x8636; + + public static final int GL_MATRIX7_NV = 0x8637; + + /* + Accepted by the <transform> parameter of TrackMatrixNV: + */ + + public static final int GL_IDENTITY_NV = 0x862A; + + public static final int GL_INVERSE_NV = 0x862B; + + public static final int GL_TRANSPOSE_NV = 0x862C; + + public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; + + /* + Accepted by the <array> parameter of EnableClientState and + DisableClientState, by the <cap> parameter of IsEnabled, and by + the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and + GetDoublev: + */ + + public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; + + public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; + + public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; + + public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; + + public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; + + public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; + + public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; + + public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; + + public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; + + public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; + + public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; + + public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; + + public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; + + public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; + + public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; + + public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; + + /* + Accepted by the <target> parameter of GetMapdv, GetMapfv, GetMapiv, + Map1d and Map1f and by the <cap> parameter of Enable, Disable, and + IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + + public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; + + public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; + + public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; + + public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; + + public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; + + public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; + + public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; + + public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; + + public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; + + public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; + + public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; + + public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; + + public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; + + public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; + + public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; + + public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; + + /* + Accepted by the <target> parameter of GetMapdv, GetMapfv, GetMapiv, + Map2d and Map2f and by the <cap> parameter of Enable, Disable, and + IsEnabled, and by the <pname> parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + + public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; + + public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; + + public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; + + public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; + + public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; + + public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; + + public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; + + public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; + + public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; + + public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; + + public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; + + public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; + + public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; + + public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; + + public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; + + public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; + + // --------------------------- + + public static void glExecuteProgramNV(int target, int id, FloatBuffer params) { + BufferChecks.checkBuffer(params); + nglExecuteProgramNV(target, id, params, params.position()); + + } + + private static native void nglExecuteProgramNV(int target, int id, FloatBuffer params, int paramsOffset); + + // --------------------------- + + // --------------------------- + + public static void glGetProgramParameterNV(int target, int index, int parameterName, FloatBuffer params) { + BufferChecks.checkBuffer(params); + nglGetProgramParameterfvNV(target, index, parameterName, params, params.position()); + + } + + private static native void nglGetProgramParameterfvNV( + int target, + int index, + int parameterName, + FloatBuffer params, + int paramsOffset); + + // --------------------------- + + // --------------------------- + + public static void glGetTrackMatrixNV(int target, int address, int parameterName, IntBuffer params) { + BufferChecks.checkBuffer(params); + nglGetTrackMatrixivNV(target, address, parameterName, params, params.position()); + + } + + private static native void nglGetTrackMatrixivNV( + int target, + int address, + int parameterName, + IntBuffer params, + int paramsOffset); + + // --------------------------- + + // --------------------------- + + public static void glGetVertexAttribNV(int index, int parameterName, FloatBuffer params) { + BufferChecks.checkBuffer(params); + nglGetVertexAttribfvNV(index, parameterName, params, params.position()); + + } + + private static native void nglGetVertexAttribfvNV(int index, int parameterName, FloatBuffer params, int paramsOffset); + + // --------------------------- + + // --------------------------- + + public static void glGetVertexAttribNV(int index, int parameterName, IntBuffer params) { + BufferChecks.checkBuffer(params); + nglGetVertexAttribivNV(index, parameterName, params, params.position()); + + } + + private static native void nglGetVertexAttribivNV(int index, int parameterName, IntBuffer params, int paramsOffset); + + // --------------------------- + + public static native ByteBuffer glGetVertexAttribPointerNV(int index, int parameterName, int size); + + public static native void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w); + + // --------------------------- + + public static void glProgramParameters4NV(int target, int index, int count, FloatBuffer params) { + + // Special case buffer check + if (params.remaining() < count * 4) { + throw new BufferOverflowException(); + } + + nglProgramParameters4fvNV(target, index, count, params, params.position()); + + } + + private static native void nglProgramParameters4fvNV( + int target, + int index, + int count, + FloatBuffer params, + int paramsOffset); + + // --------------------------- + + public static native void glTrackMatrixNV(int target, int address, int matrix, int transform); + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ByteBuffer buffer) { + + BufferChecks.ensureArrayVBOdisabled(); + + nglVertexAttribPointerNV( + index, + size, + unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, + stride, + buffer, + buffer.position()); + + } + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ShortBuffer buffer) { + + BufferChecks.ensureArrayVBOdisabled(); + + nglVertexAttribPointerNV( + index, + size, + unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, + stride, + buffer, + buffer.position() << 1); + + } + + public static void glVertexAttribPointerNV(int index, int size, int stride, FloatBuffer buffer) { + + BufferChecks.ensureArrayVBOdisabled(); + + nglVertexAttribPointerNV(index, size, GL11.GL_FLOAT, stride, buffer, buffer.position() << 2); + + } + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, IntBuffer buffer) { + + BufferChecks.ensureArrayVBOdisabled(); + + nglVertexAttribPointerNV( + index, + size, + unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, + stride, + buffer, + buffer.position() << 2); + + } + + private static native void nglVertexAttribPointerNV( + int index, + int size, + int type, + int stride, + Buffer buffer, + int bufferOffset); + + // --------------------------- + + public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int bufferOffset) { + + BufferChecks.ensureArrayVBOenabled(); + + nglVertexAttribPointerNVVBO(index, size, type, stride, bufferOffset); + + } + + private static native void nglVertexAttribPointerNVVBO(int index, int size, int type, int stride, int bufferOffset); + + // --------------------------- + + public static native void glVertexAttrib1sNV(int index, short x); + + public static native void glVertexAttrib1fNV(int index, float x); + + public static native void glVertexAttrib2sNV(int index, short x, short y); + + public static native void glVertexAttrib2fNV(int index, float x, float y); + + public static native void glVertexAttrib3sNV(int index, short x, short y, short z); + + public static native void glVertexAttrib... [truncated message content] |