You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
|
2
|
3
|
4
(21) |
5
(8) |
6
|
7
(1) |
|
8
(24) |
9
|
10
(2) |
11
(1) |
12
(2) |
13
|
14
|
|
15
(25) |
16
(1) |
17
(8) |
18
(7) |
19
(2) |
20
|
21
|
|
22
|
23
(7) |
24
(6) |
25
(3) |
26
(8) |
27
(2) |
28
(1) |
|
29
(3) |
|
|
|
|
|
|
|
From: <sp...@us...> - 2004-02-15 21:52:33
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31150 Modified Files: Display.java Log Message: Fixed javadoc error Index: Display.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/Display.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Display.java 8 Feb 2004 20:37:26 -0000 1.39 +++ Display.java 15 Feb 2004 21:45:03 -0000 1.40 @@ -1,31 +1,31 @@ -/* +/* * Copyright (c) 2002 Light Weight 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 + * modification, are permitted provided that the following conditions are * met: - * - * * Redistributions of source code must retain the above copyright + * + * * 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 + * * 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 + * 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 + * 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. */ @@ -44,7 +44,7 @@ * Encapsulates everything you need for game display. * It must be created before any input devices are created. * The game display has NO mouse cursor or any other window decorations. - * + * * @author cix_foo <ci...@us...> * @version $Revision$ */ @@ -65,12 +65,12 @@ * on, which is handy to know for some GL context calls. */ - /** Windows platform */ + /** Windows platform */ public static final int PLATFORM_WGL = 0; - + /** GLX (Linux/Unix) platform */ public static final int PLATFORM_GLX = 1; - + /** MacOSX platform */ public static final int PLATFORM_AGL = 2; @@ -86,7 +86,7 @@ private Display() { super(); } - + /** * Initialize. This determines, natively, the current display mode and stashes * it back in the mode static member. @@ -98,7 +98,7 @@ * particular order. Any given mode is not guaranteed to be available and * the only certain way to check is to call create() and make sure it works. * Only non-palette-indexed modes are returned (ie. bpp will be 16, 24, or 32). - * + * * @return an array of all display modes the system reckons it can handle. */ public static DisplayMode[] getAvailableDisplayModes() { @@ -120,21 +120,21 @@ return filteredModes; } - /** + /** * Native method for getting displaymodes */ private static native DisplayMode[] nGetAvailableDisplayModes(); - + /** * Set the current display mode. The underlying OS may not use an exact match for * the specified display mode. After successfully calling setDisplayMode() you will * still need to query the display's characteristics using getDisplayMode(). - * + * * @param mode The new display mode to set * @throws Exception if the display mode could not be set */ public static native void setDisplayMode(DisplayMode mode) throws Exception; - + /** * Reset the display mode to whatever it was when LWJGL was initialized. * Fails silently. @@ -143,7 +143,7 @@ /** * Retrieves the width of the created display - * + * * @return the current display width. */ public static int getWidth() { @@ -152,7 +152,7 @@ /** * Retrieves the height of the created display - * + * * @return the current display height. */ public static int getHeight() { @@ -161,7 +161,7 @@ /** * Retrieves the current display depth of the created display - * + * * @return the current display depth. */ public static int getDepth() { @@ -170,7 +170,7 @@ /** * Retrieves the current display frequency of the created display - * + * * @return the current display frequency. */ public static int getFrequency() { @@ -182,7 +182,7 @@ * constants defined above. There is no "unknown" platform; a native library port * has to provide a unique platform number for this mechanism to work. If the LWJGL * is ported to, say, QNX, we will have a PLATFORM_QNX at the ready. - * + * * @return the windowing system */ public static native int getPlatform(); @@ -194,7 +194,6 @@ * @param gamma The gamma value * @param brightness The brightness value between -1.0 and 1.0, inclusive * @param contrast The contrast, larger than 0.0. - * @return true if the call succeeded, false otherwise */ public static void setDisplayConfiguration(float gamma, float brightness, float contrast) throws Exception { assert brightness >= -1.0f && brightness <= 1.0f; @@ -235,19 +234,19 @@ * Native method to set the gamma ramp. */ private static native void setGammaRamp(FloatBuffer gammaRamp) throws Exception ; - + /** * Get the driver adapter string. This is a unique string describing the actual card's hardware, eg. "Geforce2", "PS2", * "Radeon9700". If the adapter cannot be determined, this function returns null. * @return a String */ public static native String getAdapter(); - + /** * Get the driver version. This is a vendor/adapter specific version string. If the version cannot be determined, * this function returns null. * @return a String */ public static native String getVersion(); - + } |
|
From: <ci...@us...> - 2004-02-15 19:49:17
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/glu In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7195/src/java/org/lwjgl/opengl/glu Modified Files: Util.java Log Message: Buffer checking code Index: Util.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/glu/Util.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Util.java 21 Jan 2004 10:06:47 -0000 1.2 +++ Util.java 15 Feb 2004 19:41:51 -0000 1.3 @@ -18,7 +18,7 @@ public class Util { /** temp IntBuffer of one for getting an int from some GL functions */ - private static IntBuffer scratch = createIntBuffer(1); + private static IntBuffer scratch = createIntBuffer(256); /** * Return ceiling of integer division * @param a * @param b * @return int */ |
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6931/src/java/org/lwjgl/opengl Modified Files: EXTPointParameters.java ARBVertexBlend.java ARBMatrixPalette.java ARBShaderObjects.java ATIEnvmapBumpmap.java ARBTextureCubeMap.java EXTMultiDrawArrays.java EXTSecondaryColor.java ARBFragmentShader.java ARBOcclusionQuery.java ARBTransposeMatrix.java EXTCompiledVertexArray.java ATIFragmentShader.java NVPointSprite.java NVRegisterCombiners.java ARBPointSprite.java Util.java ATIVertexArrayObject.java ARBProgram.java ATIVertexAttribArrayObject.java NVFence.java GL13.java ARBVertexShader.java EXTFogCoord.java NVVertexProgram.java ARBMultisample.java GL12.java ARBVertexBufferObject.java BufferChecks.java ARBPointParameters.java EXTDrawRangeElements.java NVRegisterCombiners2.java NVMultisampleFilterHint.java ARBTextureCompression.java EXTVertexShader.java ATIPnTriangles.java ATIElementArray.java ATIDrawBuffers.java ARBVertexProgram.java GL11.java EXTVertexWeighting.java ATITextureFloat.java ARBFragmentProgram.java ARBMultitexture.java NVFloatBuffer.java NVTextureExpandNormal.java GL14.java NVFragmentProgram.java NVEvaluators.java NVOcclusionQuery.java Log Message: Buffer checking code Index: EXTPointParameters.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTPointParameters.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- EXTPointParameters.java 8 Feb 2004 20:34:51 -0000 1.1 +++ EXTPointParameters.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -50,6 +50,7 @@ public static native void glPointParameterfEXT(int pname, float param); public static void glPointParameterEXT(int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglPointParameterfvEXT(pname, pfParams, pfParams.position()); } private static native void nglPointParameterfvEXT(int pname, FloatBuffer pfParams, int pfParams_offset); Index: ARBVertexBlend.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBVertexBlend.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ARBVertexBlend.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ARBVertexBlend.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -89,7 +89,7 @@ public static final int GL_MODELVIEW29_ARB = 0x873D; public static final int GL_MODELVIEW30_ARB = 0x873E; public static final int GL_MODELVIEW31_ARB = 0x873F; - + public static void glWeightARB(ByteBuffer pWeights) { nglWeightbvARB(pWeights.remaining(), pWeights, pWeights.position()); } @@ -126,24 +126,24 @@ 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.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); 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.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); 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.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position()<<2); } public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) { - BufferChecks.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); 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.checkVBOenabled(); + BufferChecks.ensureVBOenabled(); nglWeightPointerARBVBO(size, type, stride, buffer_offset); } private static native void nglWeightPointerARBVBO(int size, int type, int stride, int buffer_offset); Index: ARBMatrixPalette.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBMatrixPalette.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBMatrixPalette.java 9 Feb 2004 23:37:28 -0000 1.2 +++ ARBMatrixPalette.java 15 Feb 2004 19:41:07 -0000 1.3 @@ -57,32 +57,22 @@ public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; - static { - BufferChecks.putGetMap(GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB, 1); - BufferChecks.putGetMap(GL_MAX_PALETTE_MATRICES_ARB, 1); - BufferChecks.putGetMap(GL_CURRENT_PALETTE_MATRIX_ARB, 1); - BufferChecks.putGetMap(GL_MATRIX_INDEX_ARRAY_SIZE_ARB, 1); - BufferChecks.putGetMap(GL_MATRIX_INDEX_ARRAY_TYPE_ARB, 1); - BufferChecks.putGetMap(GL_MATRIX_INDEX_ARRAY_STRIDE_ARB, 1); - BufferChecks.putGetMap(GL_MATRIX_INDEX_ARRAY_POINTER_ARB, 1); // TODO: figure out what to do with pointers - } - public static native void glCurrentPaletteMatrixARB(int index); public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) { - BufferChecks.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position()); } public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) { - BufferChecks.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position()<<1); } public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) { - BufferChecks.checkVBOdisabled(); + BufferChecks.ensureVBOdisabled(); 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.checkVBOenabled(); + BufferChecks.ensureVBOenabled(); nglMatrixIndexPointerARBVBO(size, type, stride, buffer_offset); } private static native void nglMatrixIndexPointerARBVBO(int size, int type, int stride, int buffer_offset); Index: ARBShaderObjects.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBShaderObjects.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ARBShaderObjects.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ARBShaderObjects.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -38,6 +38,7 @@ package org.lwjgl.opengl; +import java.nio.BufferOverflowException; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; @@ -328,7 +329,9 @@ if ( length == null ) nglGetInfoLogARB(obj, infoLog.remaining(), null, -1, infoLog, infoLog.position()); else { - assert length.remaining() > 0 : "<length> must have at least one element available."; + if (length.remaining() == 0) { + throw new BufferOverflowException(); + } nglGetInfoLogARB(obj, infoLog.remaining(), length, length.position(), infoLog, infoLog.position()); } } @@ -348,7 +351,9 @@ if ( count == null ) nglGetAttachedObjectsARB(containerObj, obj.remaining(), null, -1, obj, obj.position()); else { - assert count.remaining() > 0 : "<count> must have at least one element available."; + if (count.remaining() == 0) { + throw new BufferOverflowException(); + } nglGetAttachedObjectsARB(containerObj, obj.remaining(), count, count.position(), obj, obj.position()); } } @@ -363,7 +368,9 @@ // --------------------------- public static int glGetUniformLocationARB(int programObj, ByteBuffer name) { - assert name.get(name.limit()) == 0 : "<name> must be null-terminated."; + if (name.get(name.limit() - 1) != 0) { + throw new RuntimeException("<name> must be null-terminated."); + } return nglGetUniformLocationARB(programObj, name, name.position()); } @@ -379,8 +386,12 @@ IntBuffer size, IntBuffer type, ByteBuffer name) { - assert size.remaining() > 0 : "<size> must have at least one element available."; - assert type.remaining() > 0 : "<type> must have at least one element available."; + if (size.remaining() == 0) { + throw new BufferOverflowException(); + } + if (type.remaining() == 0) { + throw new BufferOverflowException(); + } if ( length == null ) nglGetActiveUniformARB(programObj, @@ -395,7 +406,9 @@ name, name.position()); else { - assert length.remaining() > 0 : "<length> must have at least one element available."; + if (length.remaining() == 0) { + throw new BufferOverflowException(); + } nglGetActiveUniformARB(programObj, index, name.remaining(), Index: ATIEnvmapBumpmap.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ATIEnvmapBumpmap.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ATIEnvmapBumpmap.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ATIEnvmapBumpmap.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -53,21 +53,25 @@ public static final int GL_BUMP_TARGET_ATI = 0x877C; public static void glTexBumpParameterATI(int pname, FloatBuffer pfParam) { + BufferChecks.checkBuffer(pfParam); nglTexBumpParameterfvATI(pname, pfParam, pfParam.position()); } private static native void nglTexBumpParameterfvATI(int pname, FloatBuffer pfParam, int pfParam_offset); public static void glTexBumpParameterATI(int pname, IntBuffer piParam) { + BufferChecks.checkBuffer(piParam); nglTexBumpParameterivATI(pname, piParam, piParam.position()); } private static native void nglTexBumpParameterivATI(int pname, IntBuffer piParam, int piParam_offset); public static void glGetTexBumpParameterATI(int pname, FloatBuffer pfParam) { + BufferChecks.checkBuffer(pfParam); nglGetTexBumpParameterfvATI(pname, pfParam, pfParam.position()); } private static native void nglGetTexBumpParameterfvATI(int pname, FloatBuffer pfParam, int pfParam_offset); public static void glGetTexBumpParameterATI(int pname, IntBuffer piParam) { + BufferChecks.checkBuffer(piParam); nglGetTexBumpParameterivATI(pname, piParam, piParam.position()); } private static native void nglGetTexBumpParameterivATI(int pname, IntBuffer piParam, int piParam_offset); Index: ARBTextureCubeMap.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBTextureCubeMap.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ARBTextureCubeMap.java 9 Feb 2004 23:37:28 -0000 1.1 +++ ARBTextureCubeMap.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -54,9 +54,4 @@ public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; - static { - BufferChecks.putGetMap(GL_TEXTURE_BINDING_CUBE_MAP_ARB, 1); - BufferChecks.putGetMap(GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, 1); - } - } Index: EXTMultiDrawArrays.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTMultiDrawArrays.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- EXTMultiDrawArrays.java 8 Feb 2004 20:34:51 -0000 1.1 +++ EXTMultiDrawArrays.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -43,7 +43,9 @@ public class EXTMultiDrawArrays { public static void glMultiDrawArraysEXT(int mode, IntBuffer piFirst, IntBuffer piCount) { - assert piFirst.remaining() == piCount.remaining(): "piFirst.remaining() != piCount.remaining()"; + if (piFirst.remaining() != piCount.remaining()) { + throw new IllegalArgumentException("piFirst.remaining() != piCount.remaining()"); + } nglMultiDrawArraysEXT(mode, piFirst, piFirst.position(), piCount, piCount.position(), piFirst.remaining()); } private static native void nglMultiDrawArraysEXT(int mode, IntBuffer piFirst, int piFirst_offset, IntBuffer piCount, int piCount_offset, int primcount); Index: EXTSecondaryColor.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTSecondaryColor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- EXTSecondaryColor.java 8 Feb 2004 20:34:51 -0000 1.1 +++ EXTSecondaryColor.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -52,7 +52,7 @@ public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; public static final int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; - + public static native void glSecondaryColor3bEXT(byte red, byte green, byte blue); public static native void glSecondaryColor3fEXT(float red, float green, float blue); @@ -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) { - assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + BufferChecks.ensureVBOdisabled(); nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE: GL11.GL_BYTE, stride, pPointer, pPointer.position()); } public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) { - assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + BufferChecks.ensureVBOdisabled(); 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) { - assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + BufferChecks.ensureVBOenabled(); nglSecondaryColorPointerEXTVBO(size, type, stride, buffer_offset); } private static native void nglSecondaryColorPointerEXTVBO(int size, int type, int stride, int buffer_offset); Index: ARBFragmentShader.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBFragmentShader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBFragmentShader.java 9 Feb 2004 23:37:28 -0000 1.2 +++ ARBFragmentShader.java 15 Feb 2004 19:41:07 -0000 1.3 @@ -50,9 +50,6 @@ * GetDoublev: */ public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; - - static { - BufferChecks.putGetMap(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, 1); - } + } \ No newline at end of file Index: ARBOcclusionQuery.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBOcclusionQuery.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBOcclusionQuery.java 9 Feb 2004 23:37:28 -0000 1.2 +++ ARBOcclusionQuery.java 15 Feb 2004 19:41:07 -0000 1.3 @@ -85,6 +85,7 @@ // --------------------------- public static void glGetQueryARB(int target, int pname, IntBuffer params) { + BufferChecks.checkBuffer(params); nglGetQueryivARB(target, pname, params, params.position()); } @@ -93,7 +94,7 @@ // --------------------------- public static void glGetQueryObjectiARB(int id, int pname, IntBuffer params) { - // TODO: check buffer size + BufferChecks.checkBuffer(params); nglGetQueryObjectivARB(id, pname, params, params.position()); } @@ -102,7 +103,7 @@ // --------------------------- public static void glGetQueryObjectuiARB(int id, int pname, IntBuffer params) { - // TODO: check buffer size + BufferChecks.checkBuffer(params); nglGetQueryObjectuivARB(id, pname, params, params.position()); } Index: ARBTransposeMatrix.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBTransposeMatrix.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBTransposeMatrix.java 9 Feb 2004 23:37:28 -0000 1.2 +++ ARBTransposeMatrix.java 15 Feb 2004 19:41:07 -0000 1.3 @@ -39,7 +39,6 @@ */ package org.lwjgl.opengl; -import java.nio.BufferUnderflowException; import java.nio.FloatBuffer; public class ARBTransposeMatrix { @@ -47,26 +46,15 @@ public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; - - static { - BufferChecks.putGetMap(GL_TRANSPOSE_MODELVIEW_MATRIX_ARB, 16); - BufferChecks.putGetMap(GL_TRANSPOSE_PROJECTION_MATRIX_ARB, 16); - BufferChecks.putGetMap(GL_TRANSPOSE_TEXTURE_MATRIX_ARB, 16); - BufferChecks.putGetMap(GL_TRANSPOSE_COLOR_MATRIX_ARB, 16); - } public static void glLoadTransposeMatrixARB(FloatBuffer pfMtx) { - if (pfMtx.remaining() < 16) { - throw new BufferUnderflowException(); - } + BufferChecks.checkBuffer(pfMtx); nglLoadTransposeMatrixfARB(pfMtx, pfMtx.position()); } private static native void nglLoadTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_offset); public static void glMultTransposeMatrixfARB(FloatBuffer pfMtx) { - if (pfMtx.remaining() < 16) { - throw new BufferUnderflowException(); - } + BufferChecks.checkBuffer(pfMtx); nglMultTransposeMatrixfARB(pfMtx, pfMtx.position()); } private static native void nglMultTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_offset); Index: EXTCompiledVertexArray.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTCompiledVertexArray.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- EXTCompiledVertexArray.java 8 Feb 2004 20:34:51 -0000 1.1 +++ EXTCompiledVertexArray.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -43,6 +43,7 @@ public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; + public static native void glLockArraysEXT(int first, int count); public static native void glUnlockArraysEXT(); } Index: ATIFragmentShader.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ATIFragmentShader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ATIFragmentShader.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ATIFragmentShader.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -151,6 +151,7 @@ public static final int GL_NEGATE_BIT_ATI = 0x00000004; public static final int GL_BIAS_BIT_ATI = 0x00000008; + public static native int glGenFragmentShadersATI(int range); public static native void glBindFragmentShaderATI(int id); @@ -235,6 +236,7 @@ int arg3Mod); public static void glSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue) { + BufferChecks.checkBuffer(pfValue); // TODO:is this correct? nglSetFragmentShaderConstantATI(dst, pfValue, pfValue.position()); } private static native void nglSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue, int pfValue_offset); Index: NVPointSprite.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/NVPointSprite.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- NVPointSprite.java 8 Feb 2004 20:35:17 -0000 1.1 +++ NVPointSprite.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -49,6 +49,7 @@ public static native void glPointParameteriNV(int pname, int param); public static void glPointParameterNV(int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglPointParameterivNV(pname, piParams, piParams.position()); } private static native void nglPointParameterivNV(int pname, IntBuffer piParams, int piParams_offset); Index: NVRegisterCombiners.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/NVRegisterCombiners.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- NVRegisterCombiners.java 8 Feb 2004 20:35:17 -0000 1.1 +++ NVRegisterCombiners.java 15 Feb 2004 19:41:07 -0000 1.2 @@ -98,6 +98,7 @@ public static native void glCombinerParameterfNV(int pname, float param); public static void glCombinerParameterNV(int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglCombinerParameterfvNV(pname, pfParams, pfParams.position()); } private static native void nglCombinerParameterfvNV(int pname, FloatBuffer pfParams, int pfParams_offset); @@ -105,6 +106,7 @@ public static native void glCombinerParameteriNV(int pname, int param); public static void glCombinerParameterNV(int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglCombinerParameterivNV(pname, piParams, piParams.position()); } private static native void nglCombinerParameterivNV(int pname, IntBuffer piParams, int piParams_offset); @@ -132,29 +134,35 @@ int mapping, int componentUsage); public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglGetCombinerInputParameterfvNV(stage, portion, variable, pname, pfParams, pfParams.position()); } private static native void nglGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, FloatBuffer pfParams, int pfParams_offset); public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetCombinerInputParameterivNV(stage, portion, variable, pname, piParams, piParams.position()); } private static native void nglGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, IntBuffer piParams, int piParams_offset); public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglGetCombinerOutputParameterfvNV(stage, portion, pname, pfParams, pfParams.position()); } private static native void nglGetCombinerOutputParameterfvNV(int stage, int portion, int pname, FloatBuffer pfParams, int pfParams_offset); public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetCombinerOutputParameterivNV(stage, portion, pname, piParams, piParams.position()); } private static native void nglGetCombinerOutputParameterivNV(int stage, int portion, int pname, IntBuffer piParams, int pfParams_offset); public static void glGetFinalCombinerInputParameterNV(int variable, int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglGetFinalCombinerInputParameterfvNV(variable, pname, pfParams, pfParams.position()); } private static native void nglGetFinalCombinerInputParameterfvNV(int variable, int pname, FloatBuffer pfParams, int pfParams_offset); public static void glGetFinalCombinerInputParameterNV(int variable, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetFinalCombinerInputParameterivNV(variable, pname, piParams, piParams.position()); } private static native void nglGetFinalCombinerInputParameterivNV(int variable, int pname, IntBuffer piParams, int piParams_offset); Index: ARBPointSprite.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBPointSprite.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBPointSprite.java 9 Feb 2004 23:37:26 -0000 1.2 +++ ARBPointSprite.java 15 Feb 2004 19:41:07 -0000 1.3 @@ -24,8 +24,5 @@ */ public static final int GL_COORD_REPLACE_ARB = 0x8862; - - static { - BufferChecks.putGetMap(GL_POINT_SPRITE_ARB, 1); - } + } \ No newline at end of file Index: Util.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/Util.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Util.java 4 Feb 2004 00:17:13 -0000 1.7 +++ Util.java 15 Feb 2004 19:41:08 -0000 1.8 @@ -42,7 +42,7 @@ abstract class Util { - final static IntBuffer int_buffer = ByteBuffer.allocateDirect(16).order(ByteOrder.nativeOrder()).asIntBuffer(); + final static IntBuffer int_buffer = ByteBuffer.allocateDirect(64).order(ByteOrder.nativeOrder()).asIntBuffer(); /** * A helper function which is used to get the byte offset in an arbitrary buffer Index: ATIVertexArrayObject.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ATIVertexArrayObject.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ATIVertexArrayObject.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ATIVertexArrayObject.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -54,7 +54,7 @@ public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; public static final int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; - + public static int glNewObjectBufferATI(int size, ByteBuffer pPointer, int usage) { return nglNewObjectBufferATI(size, pPointer, pPointer != null ? pPointer.position() : 0, usage); } @@ -103,11 +103,13 @@ int offset); public static void glGetArrayObjectATI(int array, int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglGetArrayObjectfvATI(array, pname, pfParams, pfParams.position()); } private static native void nglGetArrayObjectfvATI(int array, int pname, FloatBuffer pfParams, int pfParams_offset); public static void glGetArrayObjectATI(int array, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetArrayObjectivATI(array, pname, piParams, piParams.position()); } private static native void nglGetArrayObjectivATI(int array, int pname, IntBuffer piParams, int piParams_offset); @@ -120,11 +122,13 @@ int offset); public static void glGetVariantArrayObjectATI(int id, int pname, FloatBuffer pfParams) { + BufferChecks.checkBuffer(pfParams); nglGetVariantArrayObjectfvATI(id, pname, pfParams, pfParams.position()); } private static native void nglGetVariantArrayObjectfvATI(int id, int pname, FloatBuffer pfParams, int pfParams_offset_offset); public static void glGetVariantArrayObjectATI(int id, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetVariantArrayObjectivATI(id, pname, piParams, piParams.position()); } private static native void nglGetVariantArrayObjectivATI(int id, int pname, IntBuffer piParams, int piParams_offset); Index: ARBProgram.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBProgram.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ARBProgram.java 9 Feb 2004 23:37:28 -0000 1.2 +++ ARBProgram.java 15 Feb 2004 19:41:08 -0000 1.3 @@ -39,6 +39,7 @@ package org.lwjgl.opengl; import java.nio.Buffer; +import java.nio.BufferOverflowException; import java.nio.BufferUnderflowException; import java.nio.ByteBuffer; import java.nio.FloatBuffer; @@ -133,15 +134,7 @@ public static final int GL_MATRIX29_ARB = 0x88DD; public static final int GL_MATRIX30_ARB = 0x88DE; public static final int GL_MATRIX31_ARB = 0x88DF; - - static { - BufferChecks.putGetMap(GL_PROGRAM_ERROR_POSITION_ARB, 1); - BufferChecks.putGetMap(GL_CURRENT_MATRIX_ARB, 1); - BufferChecks.putGetMap(GL_TRANSPOSE_CURRENT_MATRIX_ARB, 1); - BufferChecks.putGetMap(GL_CURRENT_MATRIX_STACK_DEPTH_ARB, 1); - BufferChecks.putGetMap(GL_MAX_PROGRAM_MATRICES_ARB, 1); - BufferChecks.putGetMap(GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB, 1); - } + // --------------------------- public static void glProgramStringARB(int target, int format, ByteBuffer string) { @@ -232,7 +225,7 @@ // --------------------------- public static void glGetProgramARB(int target, int parameterName, IntBuffer params) { - // TODO: Check buffer size + BufferChecks.checkBuffer(params); nglGetProgramivARB(target, parameterName, params, params.position()); } @@ -241,7 +234,11 @@ // --------------------------- public static void glGetProgramStringARB(int target, int parameterName, ByteBuffer paramString) { - // TODO: Check buffer size + // TODO: We have no idea just how big programs can be really so let's guess at 16kb and hope that's + // good enough. So we ought to find out how big a program can be. + if (paramString.remaining() < 16384) { + throw new BufferOverflowException(); + } nglGetProgramStringARB(target, parameterName, paramString, paramString.position()); } Index: ATIVertexAttribArrayObject.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ATIVertexAttribArrayObject.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ATIVertexAttribArrayObject.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ATIVertexAttribArrayObject.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -49,6 +49,7 @@ // --------------------------- public static void glGetVertexAttribArrayObjectATI(int index, int pname, FloatBuffer params) { + BufferChecks.checkBuffer(params); nglGetVertexAttribArrayObjectfvATI(index, pname, params, params.position()); } @@ -59,6 +60,7 @@ // --------------------------- public static void glGetVertexAttribArrayObjectATI(int index, int pname, IntBuffer params) { + BufferChecks.checkBuffer(params); nglGetVertexAttribArrayObjectivATI(index, pname, params, params.position()); } Index: NVFence.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/NVFence.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- NVFence.java 8 Feb 2004 20:35:17 -0000 1.1 +++ NVFence.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -64,6 +64,7 @@ public static native boolean glIsFenceNV(int fence); public static void glGetFenceNV(int fence, int pname, IntBuffer piParams) { + BufferChecks.checkBuffer(piParams); nglGetFenceivNV(fence, pname, piParams, piParams.position()); } private static native void nglGetFenceivNV(int fence, int pname, IntBuffer piParams, int piParams_offset); Index: GL13.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/GL13.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- GL13.java 8 Feb 2004 20:34:51 -0000 1.3 +++ GL13.java 15 Feb 2004 19:41:08 -0000 1.4 @@ -33,7 +33,6 @@ package org.lwjgl.opengl; import java.nio.Buffer; -import java.nio.BufferUnderflowException; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; @@ -153,104 +152,80 @@ public static native void glActiveTexture(int texture); public static native void glClientActiveTexture(int texture); public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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 glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position()); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data) { - // TODO: check buffer size valid nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer data) { - // TODO: check buffer size valid nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer data) { - // TODO: check buffer size valid nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2); } private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_offset); public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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 glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position()); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2); } private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_offset); public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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) { - // TODO: check buffer size valid 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 glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position()); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data) { - // TODO: check buffer size valid nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2); } 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); @@ -272,16 +247,12 @@ public static native void glMultiTexCoord3f(int target, float s, float t, float r); public static native void glMultiTexCoord4f(int target, float s, float t, float r, float q); public static void glLoadTransposeMatrix(FloatBuffer m) { - if (m.remaining() < 16) { - throw new BufferUnderflowException(); - } + BufferChecks.checkBuffer(m); nglLoadTransposeMatrixf(m, m.position()); } private static native void nglLoadTransposeMatrixf(FloatBuffer m, int m_offset); public static void glMultTransposeMatrix(FloatBuffer m) { - if (m.remaining() < 16) { - throw new BufferUnderflowException(); - } + BufferChecks.checkBuffer(m); nglMultTransposeMatrixf(m, m.position()); } private static native void nglMultTransposeMatrixf(FloatBuffer m, int m_offset); Index: ARBVertexShader.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/ARBVertexShader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ARBVertexShader.java 8 Feb 2004 20:34:31 -0000 1.1 +++ ARBVertexShader.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -63,10 +63,11 @@ public static final int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; public static final int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; + // --------------------------- public static void glBindAttribLocationARB(int programObj, int index, ByteBuffer name) { - if (name.get(name.limit()) != 0) { - throw new IllegalArgumentException("<name> must be a null-terminated string."); + if (name.get(name.limit() - 1) != 0) { + throw new RuntimeException("<name> must be a null-terminated string."); } nglBindAttribLocationARB(programObj, index, name, name.position()); } @@ -78,7 +79,7 @@ // --------------------------- public static void glGetActiveAttribARB(int programObj, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) { - // TODO: check buffer size + BufferChecks.checkBuffer(name); if ( length == null ) nglGetActiveAttribARB(programObj, index, name.remaining(), null, -1, size, size.position(), @@ -97,8 +98,8 @@ // --------------------------- public static int glGetAttribLocationARB(int programObj, ByteBuffer name) { - if (name.get(name.limit()) != 0) { - throw new IllegalArgumentException("<name> must be a null-terminated string."); + if (name.get(name.limit() - 1) != 0) { + throw new RuntimeException("<name> must be a null-terminated string."); } return nglGetAttribLocationARB(programObj, name, name.position()); } Index: EXTFogCoord.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/EXTFogCoord.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- EXTFogCoord.java 8 Feb 2004 20:34:51 -0000 1.1 +++ EXTFogCoord.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -53,14 +53,15 @@ public static final int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; + public static native void glFogCoordfEXT(float coord); public static void glFogCoordPointerEXT(int stride, FloatBuffer data) { - assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + BufferChecks.ensureVBOdisabled(); 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) { - assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + BufferChecks.ensureVBOenabled(); nglFogCoordPointerEXTVBO(type, stride, buffer_offset); } private static native void nglFogCoordPointerEXTVBO(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.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- NVVertexProgram.java 8 Feb 2004 20:35:17 -0000 1.1 +++ NVVertexProgram.java 15 Feb 2004 19:41:08 -0000 1.2 @@ -1 +1 @@ -/* * 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.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) { assert params.remaining() >= 4 : "<params> must have 4 floats available."; 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) { assert params.remaining() >= 4 : "<params> must have 4 floats available."; 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) { 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) { 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) { 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) { assert params.remaining() >= 4 * count : "<params> must have " + 4 * count + " floats available."; 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) { assert VBOTracker.getVBOArrayStack().getState() == 0 : "Cannot use Buffers when VBO is enabled"; 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) { assert VBOTracker.getVBOArrayStack().getState() == 0 : "Cannot use Buffers when VBO is enabled"; 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) { assert VBOTracker.getVBOArrayStack().getState() == 0 : "Cannot use Buffers when VBO is enabled"; 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) { assert VBOTracker.getVBOArrayStack().getState() == 0 : "Cannot use Buffers when VBO is enabled"; 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) { assert VBOTracker.getVBOArrayStack().getState() != 0 : "Cannot use int offsets when VBO is disabled"; 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); pu... [truncated message content] |
|
From: <eli...@us...> - 2004-02-15 19:31:28
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3665/src/native/win32 Modified Files: org_lwjgl_opengl_Pbuffer.cpp org_lwjgl_opengl_Window.cpp Log Message: Added WGL_ARB_multisample support Index: org_lwjgl_opengl_Pbuffer.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_Pbuffer.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- org_lwjgl_opengl_Pbuffer.cpp 15 Feb 2004 15:46:10 -0000 1.5 +++ org_lwjgl_opengl_Pbuffer.cpp 15 Feb 2004 19:24:03 -0000 1.6 @@ -41,16 +41,26 @@ #include <stdlib.h> #include "org_lwjgl_opengl_Pbuffer.h" -#include "Window.h" -#include "extgl.h" -#include "common_tools.h" - -typedef struct _PbufferInfo { - HGLRC Pbuffer_context; - HPBUFFERARB Pbuffer; - HDC Pbuffer_dc; -} PbufferInfo; - +#include "Window.h" + +#include "extgl.h" + +#include "common_tools.h" + + + +typedef struct _PbufferInfo { + + HGLRC Pbuffer_context; + + HPBUFFERARB Pbuffer; + + HDC Pbuffer_dc; + +} PbufferInfo; + + + /* * Class: org_lwjgl_opengl_Pbuffer * Method: isPbufferSupported @@ -59,7 +69,8 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_getPbufferCaps (JNIEnv *env, jclass clazz) { - return extgl_Extensions.WGL_ARB_pbuffer ? org_lwjgl_opengl_Pbuffer_PBUFFER_SUPPORTED : 0; + bool supported = extgl_Extensions.WGL_ARB_pixel_format && extgl_Extensions.WGL_ARB_pbuffer; + return supported ? org_lwjgl_opengl_Pbuffer_PBUFFER_SUPPORTED : 0; } /* @@ -69,105 +80,98 @@ */ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate (JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil, jint samples) -{ - int iPixelFormat; - unsigned int num_formats_returned; - int attrib_list[] = {WGL_DRAW_TO_PBUFFER_ARB, TRUE, - WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, - WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB, - WGL_DOUBLE_BUFFER_ARB, FALSE, - WGL_SUPPORT_OPENGL_ARB, TRUE, - WGL_COLOR_BITS_ARB, bpp, - WGL_ALPHA_BITS_ARB, alpha, - WGL_DEPTH_BITS_ARB, depth, - WGL_STENCIL_BITS_ARB, stencil, - 0}; - BOOL result = wglChoosePixelFormatARB(hdc, attrib_list, NULL, 1, &iPixelFormat, &num_formats_returned); - if (result == FALSE) { - throwException(env, "Could not choose pixel formats."); - return (jint)NULL; - } - HPBUFFERARB Pbuffer = wglCreatePbufferARB(hdc, iPixelFormat, width, height, NULL); - if (Pbuffer == NULL) { - throwException(env, "Could not create Pbuffer."); - return (jint)NULL; - } - HDC Pbuffer_dc = wglGetPbufferDCARB(Pbuffer); - if (Pbuffer_dc == NULL) { - wglDestroyPbufferARB(Pbuffer); - throwException(env, "Could not get Pbuffer dc."); - return (jint)NULL; - } - // Create a rendering context - HGLRC Pbuffer_context = wglCreateContext(Pbuffer_dc); - if (Pbuffer_context == NULL) { - wglReleasePbufferDCARB(Pbuffer, Pbuffer_dc); - wglDestroyPbufferARB(Pbuffer); - throwException(env, "Failed to create Pbuffer rendering context"); - return (jint)NULL; - } - if (!wglShareLists(hglrc, Pbuffer_context)) { - wglDeleteContext(Pbuffer_context); - wglReleasePbufferDCARB(Pbuffer, Pbuffer_dc); - wglDestroyPbufferARB(Pbuffer); - throwException(env, "Could not share buffer context."); - return (jint)NULL; - } - PbufferInfo *Pbuffer_info = (PbufferInfo *)malloc(sizeof(PbufferInfo)); - Pbuffer_info->Pbuffer = Pbuffer; - Pbuffer_info->Pbuffer_context = Pbuffer_context; - Pbuffer_info->Pbuffer_dc = Pbuffer_dc; - return (jint)Pbuffer_info; +{ + + int iPixelFormat; + unsigned int num_formats_returned; + int attrib_list[] = {WGL_DRAW_TO_PBUFFER_ARB, TRUE, + WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, + WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB, + WGL_DOUBLE_BUFFER_ARB, FALSE, + WGL_SUPPORT_OPENGL_ARB, TRUE, + WGL_COLOR_BITS_ARB, bpp, + WGL_ALPHA_BITS_ARB, alpha, + WGL_DEPTH_BITS_ARB, depth, + WGL_STENCIL_BITS_ARB, stencil, + 0, 0, /* For ARB_multisample */ + 0, 0, /* */ + 0}; + + if (samples > 0 && extgl_Extensions.WGL_ARB_multisample) { + attrib_list[18] = WGL_SAMPLE_BUFFERS_ARB; + attrib_list[19] = 1; + attrib_list[20] = WGL_SAMPLES_ARB; + attrib_list[21] = samples; + } + BOOL result = wglChoosePixelFormatARB(hdc, attrib_list, NULL, 1, &iPixelFormat, &num_formats_returned); + if (result == FALSE || num_formats_returned < 1) { + throwException(env, "Could not choose pixel formats."); + return (jint)NULL; + + } + HPBUFFERARB Pbuffer = wglCreatePbufferARB(hdc, iPixelFormat, width, height, NULL); + if (Pbuffer == NULL) { + throwException(env, "Could not create Pbuffer."); + return (jint)NULL; + } + HDC Pbuffer_dc = wglGetPbufferDCARB(Pbuffer); + if (Pbuffer_dc == NULL) { + wglDestroyPbufferARB(Pbuffer); + throwException(env, "Could not get Pbuffer dc."); + return (jint)NULL; + } + + // Create a rendering context + HGLRC Pbuffer_context = wglCreateContext(Pbuffer_dc); + if (Pbuffer_context == NULL) { + wglReleasePbufferDCARB(Pbuffer, Pbuffer_dc); + wglDestroyPbufferARB(Pbuffer); + throwException(env, "Failed to create Pbuffer rendering context"); + return (jint)NULL; + } + if (!wglShareLists(hglrc, Pbuffer_context)) { + wglDeleteContext(Pbuffer_context); + wglReleasePbufferDCARB(Pbuffer, Pbuffer_dc); + wglDestroyPbufferARB(Pbuffer); + throwException(env, "Could not share buffer context."); + return (jint)NULL; + + } + PbufferInfo *Pbuffer_info = (PbufferInfo *)malloc(sizeof(PbufferInfo)); + Pbuffer_info->Pbuffer = Pbuffer; + Pbuffer_info->Pbuffer_context = Pbuffer_context; + Pbuffer_info->Pbuffer_dc = Pbuffer_dc; + return (jint)Pbuffer_info; } -/* - * Class: org_lwjgl_opengl_Pbuffer - * Method: nReleaseContext - * Signature: ()V - */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Pbuffer_nReleaseContext (JNIEnv *env, jclass clazz) -{ +{ wglMakeCurrent(hdc, hglrc); } -/* - * Class: org_lwjgl_opengl_Pbuffer - * Method: nIsBufferLost - * Signature: (I)Z - */ -JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_Pbuffer_nIsBufferLost - (JNIEnv *env, jclass clazz, jint handle) -{ - PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; - BOOL buffer_lost; - wglQueryPbufferARB(Pbuffer_info->Pbuffer, WGL_PBUFFER_LOST_ARB, &buffer_lost); - return buffer_lost ? JNI_TRUE : JNI_FALSE; -} - -/* - * Class: org_lwjgl_opengl_Pbuffer - * Method: nMakeCurrent - * Signature: (I)V - */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_Pbuffer_nIsBufferLost + (JNIEnv *env, jclass clazz, jint handle) +{ + PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; + BOOL buffer_lost; + wglQueryPbufferARB(Pbuffer_info->Pbuffer, WGL_PBUFFER_LOST_ARB, &buffer_lost); + return buffer_lost ? JNI_TRUE : JNI_FALSE; +} + JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Pbuffer_nMakeCurrent (JNIEnv *env, jclass clazz, jint handle) -{ - PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; - wglMakeCurrent(Pbuffer_info->Pbuffer_dc, Pbuffer_info->Pbuffer_context); +{ + PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; + wglMakeCurrent(Pbuffer_info->Pbuffer_dc, Pbuffer_info->Pbuffer_context); } -/* - * Class: org_lwjgl_opengl_Pbuffer - * Method: nDestroyGL - * Signature: (I)V - */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Pbuffer_nDestroy (JNIEnv *env, jclass clazz, jint handle) -{ - PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; +{ + PbufferInfo *Pbuffer_info = (PbufferInfo *)handle; wglDeleteContext(Pbuffer_info->Pbuffer_context); - wglReleasePbufferDCARB(Pbuffer_info->Pbuffer, Pbuffer_info->Pbuffer_dc); - wglDestroyPbufferARB(Pbuffer_info->Pbuffer); - free(Pbuffer_info); + wglReleasePbufferDCARB(Pbuffer_info->Pbuffer, Pbuffer_info->Pbuffer_dc); + wglDestroyPbufferARB(Pbuffer_info->Pbuffer); + free(Pbuffer_info); } Index: org_lwjgl_opengl_Window.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_Window.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- org_lwjgl_opengl_Window.cpp 15 Feb 2004 15:27:02 -0000 1.17 +++ org_lwjgl_opengl_Window.cpp 15 Feb 2004 19:24:03 -0000 1.18 @@ -66,11 +66,61 @@ #define WINDOWCLASSNAME "LWJGL" +static bool applyPixelFormat(JNIEnv *env, HDC hdc, int iPixelFormat) { + PIXELFORMATDESCRIPTOR desc; + if (DescribePixelFormat(hdc, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &desc) == 0) { + throwException(env, "Could not describe pixel format"); + return false; + } + + // make that the pixel format of the device context + if (SetPixelFormat(hdc, iPixelFormat, &desc) == FALSE) { + throwException(env, "Failed to set pixel format"); + return false; + } + return true; +} + +static int findPixelFormatARB(JNIEnv *env, int bpp, int alpha, int depth, int stencil, int samples) { + int iPixelFormat; + unsigned int num_formats_returned; + int attrib_list[] = {WGL_DRAW_TO_WINDOW_ARB, TRUE, + WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, + WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB, + WGL_DOUBLE_BUFFER_ARB, TRUE, + WGL_SUPPORT_OPENGL_ARB, TRUE, + WGL_COLOR_BITS_ARB, bpp, + WGL_ALPHA_BITS_ARB, alpha, + WGL_DEPTH_BITS_ARB, depth, + WGL_STENCIL_BITS_ARB, stencil, + 0, 0, /* For ARB_multisample */ + 0, 0, /* */ + 0}; + + if (samples > 0 && extgl_Extensions.WGL_ARB_multisample) { + attrib_list[18] = WGL_SAMPLE_BUFFERS_ARB; + attrib_list[19] = 1; + attrib_list[20] = WGL_SAMPLES_ARB; + attrib_list[21] = samples; + } + BOOL result = wglChoosePixelFormatARB(hdc, attrib_list, NULL, 1, &iPixelFormat, &num_formats_returned); + + if (result == FALSE || num_formats_returned < 1) { + throwException(env, "Could not choose ARB pixel formats."); + return -1; + } + return iPixelFormat; +} + /* * Find an appropriate pixel format */ -static int findPixelFormat(JNIEnv *env, unsigned int flags, int bpp, int alpha, int depth, int stencil) +static int findPixelFormat(JNIEnv *env, int bpp, int alpha, int depth, int stencil) { + unsigned int flags = PFD_DRAW_TO_WINDOW | // support window + PFD_SUPPORT_OPENGL | // support OpenGL + PFD_DOUBLEBUFFER; // double buffered + PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number @@ -97,16 +147,6 @@ return -1; } - printfDebug("Pixel format is %d\n", iPixelFormat); - - // make that the pixel format of the device context - if (SetPixelFormat(hdc, iPixelFormat, &pfd) == FALSE) { - printf("Failed to set pixel format\n"); - throwException(env, "Failed to choose pixel format"); - return -1; - } - - // 3. Check the chosen format matches or exceeds our specifications PIXELFORMATDESCRIPTOR desc; if (DescribePixelFormat(hdc, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &desc) == 0) { throwException(env, "Could not describe pixel format"); @@ -143,11 +183,6 @@ return -1; } - // 4. Initialise other things now - if (!extgl_Open()) { - throwException(env, "Failed to open extgl"); - return -1; - } return iPixelFormat; } /* @@ -201,9 +236,7 @@ if (hwnd != NULL) { ShowWindow(hwnd, SW_HIDE); printfDebug("Destroy window\n"); - // Vape the window DestroyWindow(hwnd); - printfDebug("Destroyed window\n"); hwnd = NULL; } } @@ -213,18 +246,12 @@ */ static void appActivate(bool active) { -// if (!active) { -// tempResetDisplayMode(); -// } if (active) { SetForegroundWindow(hwnd); ShowWindow(hwnd, SW_RESTORE); } else if (isFullScreen) { ShowWindow(hwnd, SW_MINIMIZE); } -// if (active) { -// tempRestoreDisplayMode(); -// } } /* @@ -354,12 +381,8 @@ * * Returns true for success, or false for failure */ -static bool createWindow(const char * title, int x, int y, int width, int height, bool fullscreen) +static bool createWindow(JNIEnv *env, jstring title_obj, int x, int y, int width, int height, bool fullscreen) { - // 1. Register window class if necessary - if (!registerWindow()) - return false; - // 2. Create the window int exstyle, windowflags; @@ -386,6 +409,7 @@ ); // Create the window now, using that class: + const char * title = env->GetStringUTFChars(title_obj, NULL); hwnd = CreateWindowEx ( exstyle, WINDOWCLASSNAME, @@ -397,36 +421,33 @@ dll_handle, NULL); + env->ReleaseStringUTFChars(title_obj, title); if (hwnd == NULL) { - printfDebug("Failed to create window\n"); + throwException(env, "Failed to create the window."); return false; } - printfDebug("Created window\n"); - - ShowWindow(hwnd, SW_SHOW); - UpdateWindow(hwnd); - SetForegroundWindow(hwnd); - SetFocus(hwnd); - hdc = GetWindowDC(hwnd); - // Success! Now you need to initialize a GL object, which creates a GL rendering context; - // and then to issue commands to it, you need to call gl::makeCurrent(). - - // 3. Hide the mouse if necessary - isFullScreen = fullscreen == JNI_TRUE; + return true; +} - // 4. Create DirectInput - if (!createDirectInput()) { - // Close the window +static bool createContext(JNIEnv *env, int iPixelFormat) { + if (iPixelFormat == -1) { closeWindow(); return false; - } - - vsync = JNI_FALSE; - + if (!applyPixelFormat(env, hdc, iPixelFormat)) { + closeWindow(); + return false; + } + hglrc = wglCreateContext(hdc); + if (hglrc == NULL) { + throwException(env, "Failed to create OpenGL rendering context"); + closeWindow(); + return false; + } + wglMakeCurrent(hdc, hglrc); return true; } @@ -507,44 +528,62 @@ minimized = false; focused = true; dirty = true; + isFullScreen = fullscreen == JNI_TRUE; + vsync = JNI_FALSE; - // 1. Create a window - const char * titleString = env->GetStringUTFChars(title, NULL); - if (!createWindow(titleString, x, y, width, height, fullscreen == JNI_TRUE ? true : false)) { - env->ReleaseStringUTFChars((jstring) title, titleString); - closeWindow(); - throwException(env, "Failed to create the window."); + // 1. Register window class if necessary + if (!registerWindow()) { + throwException(env, "Could not register window class"); return; } - env->ReleaseStringUTFChars(title, titleString); - // 2. Choose a pixel format and set it - unsigned int flags = PFD_DRAW_TO_WINDOW | // support window - PFD_SUPPORT_OPENGL | // support OpenGL - PFD_DOUBLEBUFFER; // double buffered + if (!extgl_Open()) { + throwException(env, "Failed to open extgl"); + return; + } - int iPixelFormat = findPixelFormat(env, flags, bpp, alpha, depth, stencil); - if (iPixelFormat == -1) { - closeWindow(); + if (!createWindow(env, title, x, y, width, height, isFullScreen)) { + extgl_Close(); return; } - // Create a rendering context - hglrc = wglCreateContext(hdc); - if (hglrc == NULL) { - throwException(env, "Failed to create OpenGL rendering context"); - closeWindow(); + int iPixelFormat = findPixelFormat(env, bpp, alpha, depth, stencil); + if (!createContext(env, iPixelFormat)) { + extgl_Close(); return; } - // Automatically make it the current context - wglMakeCurrent(hdc, hglrc); - - // Initialise GL extensions + extgl_InitWGL(env, ext_set); + if (extgl_Extensions.WGL_ARB_pixel_format) { + wglMakeCurrent(NULL, NULL); + wglDeleteContext(hglrc); + closeWindow(); + if (!createWindow(env, title, x, y, width, height, isFullScreen)) { + extgl_Close(); + return; + } + iPixelFormat = findPixelFormatARB(env, bpp, alpha, depth, stencil, samples); + if (!createContext(env, iPixelFormat)) { + extgl_Close(); + return; + } + } if (!extgl_Initialize(env, ext_set)) { closeWindow(); + extgl_Close(); throwException(env, "Failed to initialize GL extensions"); return; } + if (!createDirectInput()) { + // Close the window + closeWindow(); + extgl_Close(); + return; + } + + ShowWindow(hwnd, SW_SHOW); + UpdateWindow(hwnd); + SetForegroundWindow(hwnd); + SetFocus(hwnd); } /* |
|
From: <eli...@us...> - 2004-02-15 19:31:28
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3665/src/native/common Modified Files: extgl.cpp extgl.h Log Message: Added WGL_ARB_multisample support Index: extgl.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- extgl.cpp 15 Feb 2004 15:27:01 -0000 1.18 +++ extgl.cpp 15 Feb 2004 19:24:02 -0000 1.19 @@ -900,7 +900,7 @@ extgl_Extensions.WGL_NV_render_texture_rectangle = WGLQueryExtension(env, ext_set, "WGL_NV_render_texture_rectangle"); } -static void extgl_InitializeWGL(JNIEnv *env, jobject ext_set) +void extgl_InitWGL(JNIEnv *env, jobject ext_set) { wglGetExtensionsStringARB = (wglGetExtensionsStringARBPROC) extgl_GetProcAddress("wglGetExtensionsStringARB"); wglGetExtensionsStringEXT = (wglGetExtensionsStringEXTPROC) extgl_GetProcAddress("wglGetExtensionsStringEXT"); @@ -1371,10 +1371,6 @@ extgl_InitOpenGL1_4(env, ext_set); extgl_InitOpenGL1_5(env, ext_set); -#ifdef _WIN32 - /* load WGL extensions */ - extgl_InitializeWGL(env, ext_set); -#endif return true; } Index: extgl.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- extgl.h 15 Feb 2004 15:27:01 -0000 1.25 +++ extgl.h 15 Feb 2004 19:24:02 -0000 1.26 @@ -3277,6 +3277,9 @@ /* initializes everything, call this right after the rc is created. the function returns 0 if successful */ bool extgl_Initialize(JNIEnv *env, jobject gl_extensions); bool extgl_Open(void); +#ifdef _WIN32 +void extgl_InitWGL(JNIEnv *env, jobject ext_set); +#endif #ifdef _X11 bool extgl_InitGLX(JNIEnv *env, jobject ext_set, Display *disp, int screen); #endif |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/macosx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/native/macosx Modified Files: org_lwjgl_opengl_Pbuffer.cpp Log Message: Added GLX_ARB_multisample support to Pbuffers Index: org_lwjgl_opengl_Pbuffer.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/macosx/org_lwjgl_opengl_Pbuffer.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_opengl_Pbuffer.cpp 22 Oct 2003 12:38:24 -0000 1.2 +++ org_lwjgl_opengl_Pbuffer.cpp 15 Feb 2004 15:46:10 -0000 1.3 @@ -65,7 +65,7 @@ return 0; } -JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate(JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate(JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil, jint samples) { /* CGLPixelFormatObj pixel_format; CGLContextObj context; int dummy; |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/native/common Modified Files: org_lwjgl_opengl_Pbuffer.h Log Message: Added GLX_ARB_multisample support to Pbuffers Index: org_lwjgl_opengl_Pbuffer.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/org_lwjgl_opengl_Pbuffer.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_opengl_Pbuffer.h 25 Nov 2003 22:28:28 -0000 1.2 +++ org_lwjgl_opengl_Pbuffer.h 15 Feb 2004 15:46:10 -0000 1.3 @@ -45,10 +45,10 @@ /* * Class: org_lwjgl_opengl_Pbuffer * Method: nCreate - * Signature: (IIIIII)I + * Signature: (IIIIIII)I */ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate - (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint); /* * Class: org_lwjgl_opengl_Pbuffer |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/native/linux Modified Files: org_lwjgl_opengl_Pbuffer.cpp Log Message: Added GLX_ARB_multisample support to Pbuffers Index: org_lwjgl_opengl_Pbuffer.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_opengl_Pbuffer.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- org_lwjgl_opengl_Pbuffer.cpp 20 Dec 2003 22:03:25 -0000 1.7 +++ org_lwjgl_opengl_Pbuffer.cpp 15 Feb 2004 15:46:10 -0000 1.8 @@ -80,10 +80,10 @@ * Signature: (IIII)I */ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate - (JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil) + (JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil, jint samples) { int bpe = convertToBPE(bpp); - const int attrib_list[] = {GLX_RENDER_TYPE, GLX_RGBA_BIT, + int attrib_list[] = {GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_DOUBLEBUFFER, False, GLX_RED_SIZE, bpe, GLX_GREEN_SIZE, bpe, @@ -92,8 +92,16 @@ GLX_DEPTH_SIZE, depth, GLX_STENCIL_SIZE, stencil, GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT, + None, None, /* for ARB_multisample */ + None, None, /* */ None}; int num_configs; + if (samples > 0 && extgl_Extensions.GLX_ARB_multisample) { + attrib_list[18] = GLX_SAMPLE_BUFFERS_ARB; + attrib_list[19] = 1; + attrib_list[20] = GLX_SAMPLES_ARB; + attrib_list[21] = samples; + } GLXFBConfig *configs = glXChooseFBConfig(getCurrentDisplay(), getCurrentScreen(), attrib_list, &num_configs); if (num_configs == 0) { XFree(configs); |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/java/org/lwjgl/opengl Modified Files: Pbuffer.java Log Message: Added GLX_ARB_multisample support to Pbuffers Index: Pbuffer.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/Pbuffer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Pbuffer.java 8 Feb 2004 20:35:22 -0000 1.6 +++ Pbuffer.java 15 Feb 2004 15:46:09 -0000 1.7 @@ -81,9 +81,11 @@ * @param alpha Minimum bits per pixel in alpha buffer * @param depth Minimum bits per pixel in depth buffer * @param stencil Minimum bits per pixel in stencil buffer + * @param samples Minimum samples in multisample buffer (corresponds to GL_SAMPLES_ARB in GL_ARB_multisample spec). + Pass 0 to disable multisampling. This parameter is ignored if GL_ARB_multisample is not supported. */ - public Pbuffer(int width, int height, int bpp, int alpha, int depth, int stencil) throws Exception { - handle = nCreate(width, height, bpp, alpha, depth, stencil); + public Pbuffer(int width, int height, int bpp, int alpha, int depth, int stencil, int samples) throws Exception { + handle = nCreate(width, height, bpp, alpha, depth, stencil, samples); vbo_tracker = new VBOTracker(); } @@ -150,7 +152,8 @@ int bpp, int alpha, int depth, - int stencil) throws Exception; + int stencil, + int samples) throws Exception; /** * Destroys the Pbuffer. The buffer must not be current. |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/native/win32 Modified Files: org_lwjgl_opengl_Pbuffer.cpp Log Message: Added GLX_ARB_multisample support to Pbuffers Index: org_lwjgl_opengl_Pbuffer.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_Pbuffer.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- org_lwjgl_opengl_Pbuffer.cpp 22 Oct 2003 11:45:51 -0000 1.4 +++ org_lwjgl_opengl_Pbuffer.cpp 15 Feb 2004 15:46:10 -0000 1.5 @@ -68,7 +68,7 @@ * Signature: (IIII)I */ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_Pbuffer_nCreate - (JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil) + (JNIEnv *env, jclass clazz, jint width, jint height, jint bpp, jint alpha, jint depth, jint stencil, jint samples) { int iPixelFormat; unsigned int num_formats_returned; |
|
From: <eli...@us...> - 2004-02-15 15:53:34
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23122/src/java/org/lwjgl/test/opengl Modified Files: PbufferTest.java Log Message: Added GLX_ARB_multisample support to Pbuffers Index: PbufferTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/PbufferTest.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- PbufferTest.java 15 Feb 2004 15:34:57 -0000 1.25 +++ PbufferTest.java 15 Feb 2004 15:46:10 -0000 1.26 @@ -234,7 +234,7 @@ private void initPbuffer() { try { - pbuffer = new Pbuffer(512, 512, mode.bpp, 0, 0, 0); + pbuffer = new Pbuffer(512, 512, mode.bpp, 0, 0, 0, 0); pbuffer.makeCurrent(); initGLState(256, 256, 0.5f); GL11.glBindTexture(GL11.GL_TEXTURE_2D, tex_handle); |
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20933/src/java/org/lwjgl/test/opengl Modified Files: FullScreenWindowedTest.java Game.java Grass.java PbufferTest.java VBOIndexTest.java VBOTest.java Log Message: Fixed tests Index: FullScreenWindowedTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- FullScreenWindowedTest.java 8 Feb 2004 20:32:10 -0000 1.25 +++ FullScreenWindowedTest.java 15 Feb 2004 15:34:57 -0000 1.26 @@ -93,7 +93,7 @@ mode = findDisplayMode(800, 600, 16); // start of in windowed mode - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); glInit(); @@ -202,7 +202,7 @@ Window.destroy(); Display.setDisplayMode(mode); - Window.create("Test", mode.bpp, 0, 0, 0); + Window.create("Test", mode.bpp, 0, 0, 0, 0); glInit(); @@ -219,7 +219,7 @@ Window.destroy(); Display.resetDisplayMode(); - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); glInit(); Index: Game.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/Game.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- Game.java 8 Feb 2004 20:32:10 -0000 1.28 +++ Game.java 15 Feb 2004 15:34:57 -0000 1.29 @@ -81,7 +81,7 @@ static { try { - Window.create("LWJGL Game Example", 16, 0, 0,0); + Window.create("LWJGL Game Example", 16, 0, 0,0, 0); System.out.println("Created OpenGL."); } catch (Exception e) { System.err.println("Failed to create OpenGL due to "+e); Index: Grass.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/Grass.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- Grass.java 8 Feb 2004 20:32:10 -0000 1.27 +++ Grass.java 15 Feb 2004 15:34:57 -0000 1.28 @@ -100,7 +100,7 @@ static { try { - Window.create("LWJGL Grass", 50, 50, 640, 480, 16, 0, 0,0); + Window.create("LWJGL Grass", 50, 50, 640, 480, 16, 0, 0,0, 0); Keyboard.create(); Keyboard.enableBuffer(); Mouse.create(); Index: PbufferTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/PbufferTest.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- PbufferTest.java 8 Feb 2004 20:32:10 -0000 1.24 +++ PbufferTest.java 15 Feb 2004 15:34:57 -0000 1.25 @@ -98,7 +98,7 @@ mode = findDisplayMode(800, 600, 16); // start of in windowed mode - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); // gl = new GLWindow("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); if ((Pbuffer.getPbufferCaps() & Pbuffer.PBUFFER_SUPPORTED) == 0) { System.out.println("No Pbuffer support!"); @@ -261,7 +261,7 @@ Window.destroy(); Display.setDisplayMode(mode); - Window.create("Test", mode.bpp, 0, 0, 0); + Window.create("Test", mode.bpp, 0, 0, 0, 0); glInit(); initPbuffer(); @@ -281,7 +281,7 @@ Window.destroy(); Display.resetDisplayMode(); - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); glInit(); initPbuffer(); Index: VBOIndexTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/VBOIndexTest.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- VBOIndexTest.java 8 Feb 2004 20:32:10 -0000 1.12 +++ VBOIndexTest.java 15 Feb 2004 15:34:57 -0000 1.13 @@ -84,7 +84,7 @@ static { try { - Window.create("LWJGL Game Example", 16, 0, 0,0); + Window.create("LWJGL Game Example", 16, 0, 0,0, 0); System.out.println("Created OpenGL."); } catch (Exception e) { System.err.println("Failed to create OpenGL due to "+e); Index: VBOTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/opengl/VBOTest.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- VBOTest.java 8 Feb 2004 20:32:10 -0000 1.18 +++ VBOTest.java 15 Feb 2004 15:34:57 -0000 1.19 @@ -84,7 +84,7 @@ static { try { - Window.create("LWJGL Game Example", 16, 0, 0,0); + Window.create("LWJGL Game Example", 16, 0, 0,0, 0); System.out.println("Created OpenGL."); } catch (Exception e) { System.err.println("Failed to create OpenGL due to "+e); |
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20933/src/java/org/lwjgl/test/input Modified Files: ControllerCreationTest.java ControllerTest.java HWCursorTest.java KeyboardTest.java MouseCreationTest.java MouseTest.java Log Message: Fixed tests Index: ControllerCreationTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/ControllerCreationTest.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- ControllerCreationTest.java 8 Feb 2004 20:32:10 -0000 1.21 +++ ControllerCreationTest.java 15 Feb 2004 15:34:56 -0000 1.22 @@ -74,9 +74,9 @@ try { if(fullscreen) { Display.setDisplayMode(displayMode); - Window.create("ControllerCreationTest", 16, 0, 0, 0); + Window.create("ControllerCreationTest", 16, 0, 0, 0, 0); } else { - Window.create("ControllerCreationTest", 50, 50, 640, 480, 16, 0, 0, 0); + Window.create("ControllerCreationTest", 50, 50, 640, 480, 16, 0, 0, 0, 0); } } catch (Exception e) { Index: ControllerTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/ControllerTest.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ControllerTest.java 4 Feb 2004 21:44:13 -0000 1.18 +++ ControllerTest.java 15 Feb 2004 15:34:56 -0000 1.19 @@ -117,9 +117,9 @@ private void setupDisplay() { try { if (FULLSCREEN) { - Window.create("ControllerTest", 16, 0, 0, 0); + Window.create("ControllerTest", 16, 0, 0, 0, 0); } else { - Window.create("ControllerTest", 50, 50, WINDOW_WIDTH, WINDOW_HEIGHT, 16, 0, 0, 0); + Window.create("ControllerTest", 50, 50, WINDOW_WIDTH, WINDOW_HEIGHT, 16, 0, 0, 0, 0); } Window.setVSyncEnabled(true); } catch (Exception e) { Index: HWCursorTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/HWCursorTest.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- HWCursorTest.java 8 Feb 2004 20:32:10 -0000 1.25 +++ HWCursorTest.java 15 Feb 2004 15:34:56 -0000 1.26 @@ -84,7 +84,7 @@ mode = findDisplayMode(800, 600, 16); // start of in windowed mode - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); glInit(); @@ -234,7 +234,7 @@ Window.destroy(); Display.setDisplayMode(mode); - Window.create("Test", mode.bpp, 0, 0, 0); + Window.create("Test", mode.bpp, 0, 0, 0, 0); glInit(); @@ -260,7 +260,7 @@ Window.destroy(); Display.resetDisplayMode(); - Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + Window.create("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0, 0); glInit(); Index: KeyboardTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/KeyboardTest.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- KeyboardTest.java 5 Feb 2004 16:23:04 -0000 1.20 +++ KeyboardTest.java 15 Feb 2004 15:34:56 -0000 1.21 @@ -76,7 +76,7 @@ private void setupDisplay(boolean fullscreen) { try { - Window.create("KeyboardTest", 50, 50, 640, 480, 16, 0, 0, 0); + Window.create("KeyboardTest", 50, 50, 640, 480, 16, 0, 0, 0, 0); } catch (Exception e) { e.printStackTrace(); System.exit(-1); Index: MouseCreationTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/MouseCreationTest.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- MouseCreationTest.java 8 Feb 2004 20:32:10 -0000 1.25 +++ MouseCreationTest.java 15 Feb 2004 15:34:56 -0000 1.26 @@ -74,9 +74,9 @@ try { if(fullscreen) { Display.setDisplayMode(displayMode); - Window.create("MouseCreationTest", 16, 0, 0, 0); + Window.create("MouseCreationTest", 16, 0, 0, 0, 0); } else { - Window.create("MouseCreationTest", 50, 50, 640, 480, 16, 0, 0, 0); + Window.create("MouseCreationTest", 50, 50, 640, 480, 16, 0, 0, 0, 0); } } catch (Exception e) { Index: MouseTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/input/MouseTest.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- MouseTest.java 8 Feb 2004 20:32:10 -0000 1.27 +++ MouseTest.java 15 Feb 2004 15:34:56 -0000 1.28 @@ -118,9 +118,9 @@ private void setupDisplay() { try { if (FULLSCREEN) { - Window.create("MouseTest", 16, 0, 0, 0); + Window.create("MouseTest", 16, 0, 0, 0, 0); } else { - Window.create("MouseTest", 50, 50, WINDOW_WIDTH, WINDOW_HEIGHT, 16, 0, 0, 0); + Window.create("MouseTest", 50, 50, WINDOW_WIDTH, WINDOW_HEIGHT, 16, 0, 0, 0, 0); } Window.setVSyncEnabled(true); } catch (Exception e) { |
|
From: <eli...@us...> - 2004-02-15 15:42:15
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/openal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20933/src/java/org/lwjgl/test/openal Modified Files: MovingSoundTest.java PositionTest.java Log Message: Fixed tests Index: MovingSoundTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/openal/MovingSoundTest.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- MovingSoundTest.java 8 Feb 2004 20:32:09 -0000 1.25 +++ MovingSoundTest.java 15 Feb 2004 15:34:56 -0000 1.26 @@ -70,7 +70,7 @@ } try { - Window.create("Moving Sound Test", 100, 100, 320, 240, 32, 0 ,0 ,0); + Window.create("Moving Sound Test", 100, 100, 320, 240, 32, 0 ,0 ,0, 0); } catch (Exception e) { e.printStackTrace(); } Index: PositionTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/openal/PositionTest.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- PositionTest.java 8 Feb 2004 20:32:09 -0000 1.11 +++ PositionTest.java 15 Feb 2004 15:34:56 -0000 1.12 @@ -119,7 +119,7 @@ int centerY = (Display.getHeight() - WINDOW_HEIGHT) / 2; // setup window - Window.create("PositionTest", centerX, centerY, WINDOW_WIDTH, WINDOW_HEIGHT, Display.getDepth(), 0, 8, 0); + Window.create("PositionTest", centerX, centerY, WINDOW_WIDTH, WINDOW_HEIGHT, Display.getDepth(), 0, 8, 0, 0); // ----------------------------------------------------- // Setup OpenGL |
|
From: <eli...@us...> - 2004-02-15 15:42:14
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20933/src/java/org/lwjgl/test Modified Files: WindowCreationTest.java Log Message: Fixed tests Index: WindowCreationTest.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/test/WindowCreationTest.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- WindowCreationTest.java 8 Feb 2004 20:32:10 -0000 1.17 +++ WindowCreationTest.java 15 Feb 2004 15:34:56 -0000 1.18 @@ -55,7 +55,7 @@ // Create the actual window try { - Window.create("WindowCreationTest", 50, 50, 320, 240, 16, 0, 0, 0); + Window.create("WindowCreationTest", 50, 50, 320, 240, 16, 0, 0, 0, 0); } catch (Exception e) { e.printStackTrace(); System.out.println("Unable to create window!, exiting..."); |
|
From: <eli...@us...> - 2004-02-15 15:34:21
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19325/src/native/common Modified Files: extgl.cpp extgl.h org_lwjgl_opengl_GL15.cpp org_lwjgl_opengl_Window.h Log Message: Added GLX_ARB_multisample support Index: extgl.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- extgl.cpp 15 Feb 2004 15:20:31 -0000 1.17 +++ extgl.cpp 15 Feb 2004 15:27:01 -0000 1.18 @@ -1075,6 +1075,7 @@ extgl_Extensions.GLX_EXT_visual_info = GLXQueryExtension(env, ext_set, disp, screen, "GLX_EXT_visual_info"); extgl_Extensions.GLX_EXT_visual_rating = GLXQueryExtension(env, ext_set, disp, screen, "GLX_EXT_visual_rating"); extgl_Extensions.GLX_SGI_swap_control = GLXQueryExtension(env, ext_set, disp, screen, "GLX_SGI_swap_control"); + extgl_Extensions.GLX_ARB_multisample = GLXQueryExtension(env, ext_set, disp, screen, "GLX_ARB_multisample"); } static void extgl_InitGLXSGISwapControl(JNIEnv *env, jobject ext_set) Index: extgl.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- extgl.h 15 Feb 2004 15:20:32 -0000 1.24 +++ extgl.h 15 Feb 2004 15:27:01 -0000 1.25 @@ -3161,6 +3161,7 @@ bool GLX_EXT_visual_info; bool GLX_EXT_visual_rating; bool GLX_SGI_swap_control; + bool GLX_ARB_multisample; #endif /* X11 */ bool OpenGL12; Index: org_lwjgl_opengl_GL15.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/org_lwjgl_opengl_GL15.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- org_lwjgl_opengl_GL15.cpp 15 Feb 2004 15:21:24 -0000 1.1 +++ org_lwjgl_opengl_GL15.cpp 15 Feb 2004 15:27:01 -0000 1.2 @@ -359,4 +359,5 @@ GLuint *params_ptr = (GLuint *)env->GetDirectBufferAddress(params) + paramsOffset; glGetQueryObjectuiv(id, pname, params_ptr); CHECK_GL_ERROR -} \ No newline at end of file +} + Index: org_lwjgl_opengl_Window.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/org_lwjgl_opengl_Window.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- org_lwjgl_opengl_Window.h 25 Nov 2003 22:34:04 -0000 1.9 +++ org_lwjgl_opengl_Window.h 15 Feb 2004 15:27:01 -0000 1.10 @@ -14,10 +14,6 @@ /* Inaccessible static: width */ /* Inaccessible static: height */ /* Inaccessible static: title */ -/* Inaccessible static: color */ -/* Inaccessible static: alpha */ -/* Inaccessible static: depth */ -/* Inaccessible static: stencil */ /* Inaccessible static: fullscreen */ /* Inaccessible static: vsync */ /* Inaccessible static: vbo_tracker */ @@ -90,10 +86,10 @@ /* * Class: org_lwjgl_opengl_Window * Method: nCreate - * Signature: (Ljava/lang/String;IIIIZIIIILjava/util/HashSet;)V + * Signature: (Ljava/lang/String;IIIIZIIIIILjava/util/HashSet;)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate - (JNIEnv *, jclass, jstring, jint, jint, jint, jint, jboolean, jint, jint, jint, jint, jobject); + (JNIEnv *, jclass, jstring, jint, jint, jint, jint, jboolean, jint, jint, jint, jint, jint, jobject); /* * Class: org_lwjgl_opengl_Window |
|
From: <eli...@us...> - 2004-02-15 15:34:21
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19325/src/native/win32 Modified Files: org_lwjgl_opengl_Window.cpp Log Message: Added GLX_ARB_multisample support Index: org_lwjgl_opengl_Window.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_Window.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- org_lwjgl_opengl_Window.cpp 10 Feb 2004 08:31:38 -0000 1.16 +++ org_lwjgl_opengl_Window.cpp 15 Feb 2004 15:27:02 -0000 1.17 @@ -501,7 +501,7 @@ * Signature: (Ljava/lang/String;IIIIZIIII)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate - (JNIEnv * env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jobject ext_set) + (JNIEnv * env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jint samples, jobject ext_set) { closerequested = false; minimized = false; |
|
From: <eli...@us...> - 2004-02-15 15:34:19
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/macosx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19325/src/native/macosx Modified Files: org_lwjgl_opengl_Window.cpp Log Message: Added GLX_ARB_multisample support Index: org_lwjgl_opengl_Window.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/macosx/org_lwjgl_opengl_Window.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- org_lwjgl_opengl_Window.cpp 3 Nov 2003 13:34:06 -0000 1.31 +++ org_lwjgl_opengl_Window.cpp 15 Feb 2004 15:27:01 -0000 1.32 @@ -101,7 +101,7 @@ return JNI_FALSE; } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate(JNIEnv *env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jobject ext_set) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate(JNIEnv *env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jint samples, jobject ext_set) { vsync_enabled = false; current_fullscreen = fullscreen == JNI_TRUE; if (!extgl_Open()) { |
|
From: <eli...@us...> - 2004-02-15 15:34:19
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19325/src/native/linux Modified Files: org_lwjgl_opengl_Window.cpp Log Message: Added GLX_ARB_multisample support Index: org_lwjgl_opengl_Window.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_opengl_Window.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- org_lwjgl_opengl_Window.cpp 3 Jan 2004 08:09:17 -0000 1.15 +++ org_lwjgl_opengl_Window.cpp 15 Feb 2004 15:27:01 -0000 1.16 @@ -297,7 +297,7 @@ return context; } -static GLXFBConfig *chooseVisualGLX13(Display *disp, int screen, int bpp, int depth, int alpha, int stencil) { +static GLXFBConfig *chooseVisualGLX13(Display *disp, int screen, int bpp, int depth, int alpha, int stencil, int samples) { int bpe = convertToBPE(bpp); int attriblist[] = {GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_DOUBLEBUFFER, True, @@ -308,8 +308,16 @@ GLX_BLUE_SIZE, bpe, GLX_ALPHA_SIZE, alpha, GLX_STENCIL_SIZE, stencil, + None, None, /* For ARB_multisample */ + None, None, /* */ None}; int num_formats = 0; + if (samples > 0 && extgl_Extensions.GLX_ARB_multisample) { + attriblist[18] = GLX_SAMPLE_BUFFERS_ARB; + attriblist[19] = 1; + attriblist[20] = GLX_SAMPLES_ARB; + attriblist[21] = samples; + } GLXFBConfig* configs = glXChooseFBConfig(disp, screen, attriblist, &num_formats); if (num_formats > 0) return configs; @@ -320,7 +328,7 @@ } } -static XVisualInfo *chooseVisual(Display *disp, int screen, int bpp, int depth, int alpha, int stencil) { +static XVisualInfo *chooseVisual(Display *disp, int screen, int bpp, int depth, int alpha, int stencil, int samples) { int bpe = convertToBPE(bpp); int attriblist[] = {GLX_RGBA, GLX_DOUBLEBUFFER, @@ -330,19 +338,33 @@ GLX_BLUE_SIZE, bpe, GLX_ALPHA_SIZE, alpha, GLX_STENCIL_SIZE, stencil, + None, None, /* For ARB_multisample */ + None, None, /* */ None}; + if (samples > 0 && extgl_Extensions.GLX_ARB_multisample) { + attriblist[14] = GLX_SAMPLE_BUFFERS_ARB; + attriblist[15] = 1; + attriblist[16] = GLX_SAMPLES_ARB; + attriblist[17] = samples; + } return glXChooseVisual(disp, screen, attriblist); } static void dumpVisualInfo(Display *disp, XVisualInfo *vis_info) { int alpha, depth, stencil, r, g, b; + int sample_buffers = 0; + int samples = 0; glXGetConfig(disp, vis_info, GLX_RED_SIZE, &r); glXGetConfig(disp, vis_info, GLX_GREEN_SIZE, &g); glXGetConfig(disp, vis_info, GLX_BLUE_SIZE, &b); glXGetConfig(disp, vis_info, GLX_ALPHA_SIZE, &alpha); glXGetConfig(disp, vis_info, GLX_DEPTH_SIZE, &depth); glXGetConfig(disp, vis_info, GLX_STENCIL_SIZE, &stencil); - printf("Pixel format chosen sizes: r = %d, g = %d, b = %d, a = %d, depth = %d, stencil = %d\n", r, g, b, alpha, depth, stencil); + if (extgl_Extensions.GLX_ARB_multisample) { + glXGetConfig(disp, vis_info, GLX_SAMPLE_BUFFERS_ARB, &sample_buffers); + glXGetConfig(disp, vis_info, GLX_SAMPLES_ARB, &samples); + } + printf("Pixel format info: r = %d, g = %d, b = %d, a = %d, depth = %d, stencil = %d, sample buffers = %d, samples = %d\n", r, g, b, alpha, depth, stencil, sample_buffers, samples); } static void destroy(void) { @@ -357,8 +379,8 @@ extgl_Close(); } -static bool initWindowGLX13(JNIEnv *env, Display *disp, int screen, jstring title, int x, int y, int width, int height, int bpp, int depth, int alpha, int stencil, bool fscreen) { - GLXFBConfig *configs = chooseVisualGLX13(disp, screen, bpp, depth, alpha, stencil); +static bool initWindowGLX13(JNIEnv *env, Display *disp, int screen, jstring title, int x, int y, int width, int height, int bpp, int depth, int alpha, int stencil, int samples, bool fscreen) { + GLXFBConfig *configs = chooseVisualGLX13(disp, screen, bpp, depth, alpha, stencil, samples); if (configs == NULL) { throwException(env, "Could not find a matching pixel format"); return false; @@ -372,7 +394,7 @@ if (glXIsDirect(disp, context) == False) { glXDestroyContext(disp, context); XFree(configs); - throwException(env, "Could not create a GLX context"); + throwException(env, "Could not create a direct GLX context"); return false; } XVisualInfo * vis_info = glXGetVisualFromFBConfig(disp, configs[0]); @@ -382,18 +404,18 @@ throwException(env, "Could not create visual info from FB config"); return false; } - if (ISDEBUGENABLED()) - dumpVisualInfo(disp, vis_info); createWindow(env, disp, screen, vis_info, title, x, y, width, height, fscreen); glx_window = glXCreateWindow(disp, configs[0], getCurrentWindow(), NULL); makeCurrent(); + if (ISDEBUGENABLED()) + dumpVisualInfo(disp, vis_info); XFree(configs); XFree(vis_info); return true; } -static bool initWindowGLX(JNIEnv *env, Display *disp, int screen, jstring title, int x, int y, int width, int height, int bpp, int depth, int alpha, int stencil, bool fscreen) { - XVisualInfo *vis_info = chooseVisual(disp, screen, bpp, depth, alpha, stencil); +static bool initWindowGLX(JNIEnv *env, Display *disp, int screen, jstring title, int x, int y, int width, int height, int bpp, int depth, int alpha, int stencil, int samples, bool fscreen) { + XVisualInfo *vis_info = chooseVisual(disp, screen, bpp, depth, alpha, stencil, samples); if (vis_info == NULL) { throwException(env, "Could not find a matching pixel format"); return false; @@ -424,7 +446,7 @@ * Signature: (IIII)Z */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate - (JNIEnv * env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jobject ext_set) + (JNIEnv * env, jclass clazz, jstring title, jint x, jint y, jint width, jint height, jboolean fullscreen, jint bpp, jint alpha, jint depth, jint stencil, jint samples, jobject ext_set) { int screen; Display *disp; @@ -450,13 +472,14 @@ } bool create_success; if (USEGLX13) { - create_success = initWindowGLX13(env, disp, screen, title, x, y, width, height, bpp, depth, alpha, stencil, fscreen); + create_success = initWindowGLX13(env, disp, screen, title, x, y, width, height, bpp, depth, alpha, stencil, samples, fscreen); } else { - create_success = initWindowGLX(env, disp, screen, title, x, y, width, height, bpp, depth, alpha, stencil, fscreen); + create_success = initWindowGLX(env, disp, screen, title, x, y, width, height, bpp, depth, alpha, stencil, samples, fscreen); } if (!create_success) { XCloseDisplay(disp); extgl_Close(); + throwException(env, "Could not create window"); return; } if (!extgl_Initialize(env, ext_set)) { |
|
From: <eli...@us...> - 2004-02-15 15:34:18
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19325/src/java/org/lwjgl/opengl Modified Files: Window.java Log Message: Added GLX_ARB_multisample support Index: Window.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl/Window.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- Window.java 8 Feb 2004 20:39:38 -0000 1.21 +++ Window.java 15 Feb 2004 15:27:00 -0000 1.22 @@ -79,21 +79,9 @@ /** Title of the window */ private static String title; - /** Color bits */ - private static int color; - - /** Alpha bits */ - private static int alpha; - - /** Depth bits */ - private static int depth; - - /** Stencil bits */ - private static int stencil; - /** Fullscreen */ private static boolean fullscreen; - + /** Vsync */ private static boolean vsync; @@ -244,23 +232,21 @@ * @param alpha Minimum bits per pixel in alpha buffer * @param depth Minimum bits per pixel in depth buffer * @param stencil Minimum bits per pixel in stencil buffer + * @param samples Minimum samples in multisample buffer (corresponds to GL_SAMPLES_ARB in GL_ARB_multisample spec). + Pass 0 to disable multisampling. This parameter is ignored if GL_ARB_multisample is not supported. * @throws Exception if the window could not be created for any reason; typically because * the minimum requirements could not be met satisfactorily */ - public static void create(String title, int bpp, int alpha, int depth, int stencil) throws Exception { + public static void create(String title, int bpp, int alpha, int depth, int stencil, int samples) throws Exception { if (isCreated()) throw new Exception("Only one LWJGL window may be instantiated at any one time."); + Window.fullscreen = true; Window.x = 0; Window.y = 0; - Window.color = bpp; - Window.alpha = alpha; - Window.depth = depth; - Window.stencil = stencil; - Window.fullscreen = true; - Window.title = title; Window.width = Display.getWidth(); Window.height = Display.getHeight(); - createWindow(); + Window.title = title; + createWindow(bpp, alpha, depth, stencil, samples); } /** @@ -278,24 +264,22 @@ * @param alpha Minimum bits per pixel in alpha buffer * @param depth Minimum bits per pixel in depth buffer * @param stencil Minimum bits per pixel in stencil buffer + * @param samples Minimum samples in multisample buffer (corresponds to GL_SAMPLES_ARB in GL_ARB_multisample spec). + Pass 0 to disable multisampling. This parameter is ignored if GL_ARB_multisample is not supported. * @throws Exception if the window could not be created for any reason; typically because * the minimum requirements could not be met satisfactorily */ - public static void create(String title, int x, int y, int width, int height, int bpp, int alpha, int depth, int stencil) + public static void create(String title, int x, int y, int width, int height, int bpp, int alpha, int depth, int stencil, int samples) throws Exception { if (isCreated()) throw new Exception("Only one LWJGL window may be instantiated at any one time."); + Window.fullscreen = false; Window.x = x; Window.y = y; Window.width = width; Window.height = height; - Window.color = bpp; - Window.alpha = alpha; - Window.depth = depth; - Window.stencil = stencil; - Window.fullscreen = false; Window.title = title; - createWindow(); + createWindow(bpp, alpha, depth, stencil, samples); } /** @@ -313,12 +297,13 @@ int alpha, int depth, int stencil, + int samples, HashSet extensions) throws Exception; - private static void createWindow() throws Exception { + private static void createWindow(int bpp, int alpha, int depth, int stencil, int samples) throws Exception { HashSet extensions = new HashSet(); - nCreate(title, x, y, width, height, fullscreen, color, alpha, depth, stencil, extensions); + nCreate(title, x, y, width, height, fullscreen, bpp, alpha, depth, stencil, samples, extensions); GLCaps.determineAvailableExtensions(extensions); context = new Window(); created = true; |
|
From: <sp...@us...> - 2004-02-15 15:28:42
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18405 Added Files: org_lwjgl_opengl_GL15.cpp org_lwjgl_opengl_GL15.h Log Message: OpenGL1.5 support --- NEW FILE: org_lwjgl_opengl_GL15.cpp --- /* * 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. */ // ---------------------------------- // IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.GL15 // ---------------------------------- #include "org_lwjgl_opengl_GL15.h" #include "extgl.h" #include "checkGLerror.h" typedef int GLintptr; typedef unsigned int GLsizeiptr; typedef void (APIENTRY * glBindBufferPROC) (GLenum target, GLuint buffer); typedef void (APIENTRY * glDeleteBuffersPROC) (GLsizei n, const GLuint *buffers); typedef void (APIENTRY * glGenBuffersPROC) (GLsizei n, GLuint *buffers); typedef GLboolean (APIENTRY * glIsBufferPROC) (GLuint buffer); typedef void (APIENTRY * glBufferDataPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); typedef void (APIENTRY * glBufferSubDataPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); typedef void (APIENTRY * glGetBufferSubDataPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data); typedef void * (APIENTRY * glMapBufferPROC) (GLenum target, GLenum access); typedef GLboolean (APIENTRY * glUnmapBufferPROC) (GLenum target); typedef void (APIENTRY * glGetBufferParameterivPROC) (GLenum target, GLenum pname, GLint *params); typedef void (APIENTRY * glGetBufferPointervPROC) (GLenum target, GLenum pname, GLvoid **params); typedef void (APIENTRY * glGenQueriesPROC) (GLsizei n, GLuint *ids); typedef void (APIENTRY * glDeleteQueriesPROC) (GLsizei n, const GLuint *ids); typedef GLboolean (APIENTRY * glIsQueryPROC) (GLuint id); typedef void (APIENTRY * glBeginQueryPROC) (GLenum target, GLuint id); typedef void (APIENTRY * glEndQueryPROC) (GLenum target); typedef void (APIENTRY * glGetQueryivPROC) (GLenum target, GLenum pname, GLint *params); typedef void (APIENTRY * glGetQueryObjectivPROC) (GLuint id, GLenum pname, GLint *params); typedef void (APIENTRY * glGetQueryObjectuivPROC) (GLuint id, GLenum pname, GLuint *params); static glBindBufferPROC glBindBuffer; static glDeleteBuffersPROC glDeleteBuffers; static glGenBuffersPROC glGenBuffers; static glIsBufferPROC glIsBuffer; static glBufferDataPROC glBufferData; static glBufferSubDataPROC glBufferSubData; static glGetBufferSubDataPROC glGetBufferSubData; static glMapBufferPROC glMapBuffer; static glUnmapBufferPROC glUnmapBuffer; static glGetBufferParameterivPROC glGetBufferParameteriv; static glGetBufferPointervPROC glGetBufferPointerv; static glGenQueriesPROC glGenQueries; static glDeleteQueriesPROC glDeleteQueries; static glIsQueryPROC glIsQuery; static glBeginQueryPROC glBeginQuery; static glEndQueryPROC glEndQuery; static glGetQueryivPROC glGetQueryiv; static glGetQueryObjectivPROC glGetQueryObjectiv; static glGetQueryObjectuivPROC glGetQueryObjectuiv; void extgl_InitOpenGL1_5(JNIEnv *env, jobject ext_set) { if (!extgl_Extensions.OpenGL15) return; glBindBuffer = (glBindBufferPROC) extgl_GetProcAddress("glBindBuffer"); glDeleteBuffers = (glDeleteBuffersPROC) extgl_GetProcAddress("glDeleteBuffers"); glGenBuffers = (glGenBuffersPROC) extgl_GetProcAddress("glGenBuffers"); glIsBuffer = (glIsBufferPROC) extgl_GetProcAddress("glIsBuffer"); glBufferData = (glBufferDataPROC) extgl_GetProcAddress("glBufferData"); glBufferSubData = (glBufferSubDataPROC) extgl_GetProcAddress("glBufferSubData"); glGetBufferSubData = (glGetBufferSubDataPROC) extgl_GetProcAddress("glGetBufferSubData"); glMapBuffer = (glMapBufferPROC) extgl_GetProcAddress("glMapBuffer"); glUnmapBuffer = (glUnmapBufferPROC) extgl_GetProcAddress("glUnmapBuffer"); glGetBufferParameteriv = (glGetBufferParameterivPROC) extgl_GetProcAddress("glGetBufferParameteriv"); glGetBufferPointerv = (glGetBufferPointervPROC) extgl_GetProcAddress("glGetBufferPointerv"); glGenQueries = (glGenQueriesPROC) extgl_GetProcAddress("glGenQueries"); glDeleteQueries = (glDeleteQueriesPROC) extgl_GetProcAddress("glDeleteQueries"); glIsQuery = (glIsQueryPROC) extgl_GetProcAddress("glIsQuery"); glBeginQuery = (glBeginQueryPROC) extgl_GetProcAddress("glBeginQuery"); glEndQuery = (glEndQueryPROC) extgl_GetProcAddress("glEndQuery"); glGetQueryiv = (glGetQueryivPROC) extgl_GetProcAddress("glGetQueryiv"); glGetQueryObjectiv = (glGetQueryObjectivPROC) extgl_GetProcAddress("glGetQueryObjectiv"); glGetQueryObjectuiv = (glGetQueryObjectuivPROC) extgl_GetProcAddress("glGetQueryObjectuiv"); EXTGL_SANITY_CHECK(env, ext_set, OpenGL15) } /* * Class: org.lwjgl.opengl.GL15 * Method: nglBindBuffer */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBindBuffer (JNIEnv * env, jclass clazz, jint target, jint buffer) { CHECK_EXISTS(glBindBuffer) glBindBuffer(target, buffer); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglDeleteBuffers */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteBuffers (JNIEnv * env, jclass clazz, jint n, jobject buffers, jint buffers_offset) { CHECK_EXISTS(glDeleteBuffers) GLuint *buffers_ptr = (GLuint *)env->GetDirectBufferAddress(buffers) + buffers_offset; glDeleteBuffers(n, buffers_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGenBuffers */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenBuffers (JNIEnv * env, jclass clazz, jint n, jobject buffers, jint buffers_offset) { CHECK_EXISTS(glGenBuffers) GLuint *buffers_ptr = (GLuint *)env->GetDirectBufferAddress(buffers) + buffers_offset; glGenBuffers(n, buffers_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: glIsBuffer */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsBuffer (JNIEnv * env, jclass clazz, jint buffer) { CHECK_EXISTS(glIsBuffer) GLboolean result = glIsBuffer(buffer); CHECK_GL_ERROR return result; } /* * Class: org.lwjgl.opengl.GL15 * Method: nglBufferData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferData (JNIEnv * env, jclass clazz, jint target, jint size, jobject data, jint data_offset, jint usage) { CHECK_EXISTS(glBufferData) GLvoid *data_ptr = (GLvoid *)safeGetBufferAddress(env, data, data_offset); glBufferData(target, size, data_ptr, usage); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglBufferSubData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferSubData (JNIEnv * env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_offset) { CHECK_EXISTS(glBufferSubData) GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); glBufferSubData(target, offset, size, data_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetBufferSubData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferSubData (JNIEnv * env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_offset) { CHECK_EXISTS(glGetBufferSubData) GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); glGetBufferSubData(target, offset, size, data_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: glMapBuffer */ JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_glMapBuffer (JNIEnv * env, jclass clazz, jint target, jint access, jint size, jobject oldBuffer) { CHECK_EXISTS(glMapBuffer) void *buffer_address = glMapBuffer((GLenum)target, (GLenum)access); CHECK_GL_ERROR if (oldBuffer != NULL) { void *old_buffer_address = env->GetDirectBufferAddress(oldBuffer); if (old_buffer_address == buffer_address) return oldBuffer; } return safeNewBuffer(env, buffer_address, size); } /* * Class: org.lwjgl.opengl.GL15 * Method: glUnmapBuffer */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glUnmapBuffer (JNIEnv * env, jclass clazz, jint target) { CHECK_EXISTS(glUnmapBuffer) GLboolean result = glUnmapBuffer(target); CHECK_GL_ERROR return result; } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetBufferParameteriv */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferParameteriv (JNIEnv * env, jclass clazz, jint target, jint pname, jobject params, jint params_offset) { CHECK_EXISTS(glGetBufferParameteriv) GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + params_offset; glGetBufferParameteriv(target, pname, params_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: glGetBufferPointer */ JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_glGetBufferPointer (JNIEnv * env, jclass clazz, jint target, jint pname, jint size) { CHECK_EXISTS(glGetBufferPointerv) void *pointer; glGetBufferPointerv((GLenum)target, (GLenum)pname, &pointer); CHECK_GL_ERROR return safeNewBuffer(env, pointer, size); } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGenQueries */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenQueries (JNIEnv * env, jclass clazz, jint n, jobject ids, jint idsOffset) { CHECK_EXISTS(glGenQueries) GLuint *ids_ptr = (GLuint *)env->GetDirectBufferAddress(ids) + idsOffset; glGenQueries(n, ids_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglDeleteQueries */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteQueries (JNIEnv * env, jclass clazz, jint n, jobject ids, jint idsOffset) { CHECK_EXISTS(glDeleteQueries) GLuint *ids_ptr = (GLuint *)env->GetDirectBufferAddress(ids) + idsOffset; glDeleteQueries(n, ids_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: glIsQuery */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsQuery (JNIEnv * env, jclass clazz, jint id) { CHECK_EXISTS(glIsQuery) GLboolean result = glIsQuery(id); CHECK_GL_ERROR return result; } /* * Class: org.lwjgl.opengl.GL15 * Method: glBeginQuery */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_glBeginQuery (JNIEnv * env, jclass clazz, jint target, jint id) { CHECK_EXISTS(glBeginQuery) glBeginQuery(target, id); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: glEndQuery */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_glEndQuery (JNIEnv * env, jclass clazz, jint target) { CHECK_EXISTS(glEndQuery) glEndQuery(target); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetQueryiv */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryiv (JNIEnv * env, jclass clazz, jint target, jint pname, jobject params, jint paramsOffset) { CHECK_EXISTS(glGetQueryiv) GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; glGetQueryiv(target, pname, params_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetQueryObjectiv */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectiv (JNIEnv * env, jclass clazz, jint id, jint pname, jobject params, jint paramsOffset) { CHECK_EXISTS(glGetQueryObjectiv) GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; glGetQueryObjectiv(id, pname, params_ptr); CHECK_GL_ERROR } /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetQueryObjectuiv */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv (JNIEnv * env, jclass clazz, jint id, jint pname, jobject params, jint paramsOffset) { CHECK_EXISTS(glGetQueryObjectuiv) GLuint *params_ptr = (GLuint *)env->GetDirectBufferAddress(params) + paramsOffset; glGetQueryObjectuiv(id, pname, params_ptr); CHECK_GL_ERROR } --- NEW FILE: org_lwjgl_opengl_GL15.h --- /* * 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. */ // ---------------------------------- // MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.GL15 // ---------------------------------- #include <jni.h> #ifndef _Included_org_lwjgl_opengl_GL15 #define _Included_org_lwjgl_opengl_GL15 #ifdef __cplusplus extern "C" { #endif // ---------------------------------------------------------------------- // ---------------------- ARB_vertex_buffer_object ---------------------- // ---------------------------------------------------------------------- /* * Class: org.lwjgl.opengl.GL15 * Method: nglBindBuffer */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBindBuffer (JNIEnv *, jclass, jint, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglDeleteBuffers */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteBuffers (JNIEnv *, jclass, jint, jobject, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglGenBuffers */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenBuffers (JNIEnv *, jclass, jint, jobject, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: glIsBuffer */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsBuffer (JNIEnv *, jclass, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglBufferData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferData (JNIEnv *, jclass, jint, jint, jobject, jint, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglBufferSubData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferSubData (JNIEnv *, jclass, jint, jint, jint, jobject, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetBufferSubData */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferSubData (JNIEnv *, jclass, jint, jint, jint, jobject, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: glMapBuffer */ JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_glMapBuffer (JNIEnv *, jclass, jint, jint, jint, jobject); /* * Class: org.lwjgl.opengl.GL15 * Method: glUnmapBuffer */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glUnmapBuffer (JNIEnv *, jclass, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: nglGetBufferParameteriv */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferParameteriv (JNIEnv *, jclass, jint, jint, jobject, jint); /* * Class: org.lwjgl.opengl.GL15 * Method: glGetBufferPointer */ JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_glGetBufferPointer (JNIEnv *, jclass, jint, jint, jint); // ----------------------------------------------------------------- // ---------------------- ARB_occlusion_query ---------------------- // ----------------------------------------------------------------- /* * Class: org_lwjgl_opengl_GL15 * Method: nglGenQueries * Signature: (ILjava/nio/IntBuffer;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenQueries (JNIEnv *, jclass, jint, jobject, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: nglDeleteQueries * Signature: (ILjava/nio/IntBuffer;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteQueries (JNIEnv *, jclass, jint, jobject, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: glIsQuery * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsQuery (JNIEnv *, jclass, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: glBeginQuery * Signature: (II)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_glBeginQuery (JNIEnv *, jclass, jint, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: glEndQuery * Signature: (I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_glEndQuery (JNIEnv *, jclass, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: nglGetQueryiv * Signature: (IILjava/nio/IntBuffer;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryiv (JNIEnv *, jclass, jint, jint, jobject, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: nglGetQueryObjectiv * Signature: (IILjava/nio/IntBuffer;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectiv (JNIEnv *, jclass, jint, jint, jobject, jint); /* * Class: org_lwjgl_opengl_GL15 * Method: nglGetQueryObjectuiv * Signature: (IILjava/nio/IntBuffer;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv (JNIEnv *, jclass, jint, jint, jobject, jint); #ifdef __cplusplus } #endif #endif |
|
From: <sp...@us...> - 2004-02-15 15:27:50
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17975 Modified Files: extgl.cpp extgl.h Makefile.am Log Message: OpenGL1.5 support Index: extgl.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- extgl.cpp 5 Feb 2004 17:14:50 -0000 1.16 +++ extgl.cpp 15 Feb 2004 15:20:31 -0000 1.17 @@ -2,36 +2,36 @@ Copyright (c) 2001-2002, Lev Povalahev All rights reserved. -Redistribution and use in source and binary forms, with or without modification, +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, + * 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 + * 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. - * The name of the author may be used to endorse or promote products + * The name of the author 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 +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. ------------------------------------------------------------------------------*/ -/* +/* Lev Povalahev le...@gm... http://www.uni-karlsruhe.de/~uli2/ -*/ +*/ #include <stdio.h> #include <string.h> @@ -125,7 +125,7 @@ aglGetErrorPROC aglGetError = NULL; aglErrorStringPROC aglErrorString = NULL; aglResetLibraryPROC aglResetLibrary = NULL; -aglSurfaceTexturePROC aglSurfaceTexture = NULL; +aglSurfaceTexturePROC aglSurfaceTexture = NULL; #endif /* function variables */ @@ -703,7 +703,7 @@ } return t; #endif - + #ifdef _X11 void *t = (void*)glXGetProcAddressARB((const GLubyte*)name); if (t == NULL) @@ -730,7 +730,7 @@ } CFRelease(str); return func_pointer; -#endif +#endif } static bool QueryExtension(JNIEnv *env, jobject ext_set, const GLubyte*extensions, const char *name) @@ -769,7 +769,7 @@ start = extensions; - for (;;) + for (;;) { @@ -1116,10 +1116,14 @@ extgl_Extensions.OpenGL12 = false; extgl_Extensions.OpenGL13 = false; extgl_Extensions.OpenGL14 = false; + extgl_Extensions.OpenGL15 = false; if (s != NULL) { // Fall trhough switch (s[2]) { + case '5': + extgl_Extensions.OpenGL15 = true; + insertExtension(env, ext_set, "OpenGL15"); case '4': extgl_Extensions.OpenGL14 = true; insertExtension(env, ext_set, "OpenGL14"); @@ -1290,6 +1294,7 @@ extern void extgl_InitOpenGL1_2(JNIEnv *env, jobject ext_set); extern void extgl_InitOpenGL1_3(JNIEnv *env, jobject ext_set); extern void extgl_InitOpenGL1_4(JNIEnv *env, jobject ext_set); +extern void extgl_InitOpenGL1_5(JNIEnv *env, jobject ext_set); /* extgl_Init the extensions and load all the functions */ bool extgl_Initialize(JNIEnv *env, jobject ext_set) @@ -1300,7 +1305,7 @@ return false; extgl_InitSupportedExtensions(env, ext_set); - + //extgl_InitEXTNurbsTesselator(env, ext_set); /* first load the extensions */ @@ -1320,7 +1325,7 @@ extgl_InitARBVertexProgram(env, ext_set); extgl_InitARBVertexShader(env, ext_set); extgl_InitARBWindowPos(env, ext_set); - + extgl_InitEXTBlendFuncSeparate(env, ext_set); extgl_InitEXTCompiledVertexArray(env, ext_set); //extgl_InitEXTCullVertex(env, ext_set); @@ -1358,12 +1363,13 @@ extgl_InitATIVertexArrayObject(env, ext_set); extgl_InitATIVertexAttribArrayObject(env, ext_set); extgl_InitATIVertexStreams(env, ext_set); - + /* now load core opengl */ extgl_InitOpenGL1_2(env, ext_set); extgl_InitOpenGL1_3(env, ext_set); extgl_InitOpenGL1_4(env, ext_set); - + extgl_InitOpenGL1_5(env, ext_set); + #ifdef _WIN32 /* load WGL extensions */ extgl_InitializeWGL(env, ext_set); @@ -1421,7 +1427,7 @@ #ifdef _AGL aglUnloadFramework(opengl_bundle_ref); aglUnloadFramework(agl_bundle_ref); -#endif +#endif } /* turn on the warning for the borland compiler*/ Index: extgl.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- extgl.h 5 Feb 2004 17:14:50 -0000 1.23 +++ extgl.h 15 Feb 2004 15:20:32 -0000 1.24 @@ -8,21 +8,21 @@ ** this file except in compliance with the License. You may obtain a copy ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: -** +** ** http://oss.sgi.com/projects/FreeB -** +** ** Note that, as provided in the License, the Software is distributed on an ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. -** +** ** Original Code. The Original Code is: OpenGL Sample Implementation, ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. ** Copyright in any portions created by third parties is as indicated ** elsewhere herein. All Rights Reserved. -** +** ** Additional Notice Provisions: This software was created using the ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has ** not been independently verified as being compliant with the OpenGL(R) @@ -35,38 +35,38 @@ Copyright (c) 2002, Lev Povalahev All rights reserved. -Redistribution and use in source and binary forms, with or without modification, +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, + * 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 + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * The name of the author may be used to endorse or promote products + * The name of the author 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 +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. ------------------------------------------------------------------------------*/ /* GL_draw_range_elements support added by Benjamin Karaban - + Lev Povalahev contact information: - + le...@gm... http://www.uni-karlsruhe.de/~uli2/ */ -/* These extensions are supported: +/* These extensions are supported: GL_ARB_vertex_buffer_object GL_ARB_depth_texture GL_ARB_fragment_program @@ -98,7 +98,7 @@ GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_point_parameters -GL_EXT_secondary_color +GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side @@ -155,7 +155,7 @@ WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format -WGL_ARB_render_texture +WGL_ARB_render_texture WGL_EXT_extensions_string WGL_EXT_swap_control WGL_NV_render_depth_texture @@ -1684,343 +1684,343 @@ typedef void (APIENTRY * glVertexPointerPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (APIENTRY * glViewportPROC) (GLint x, GLint y, GLsizei width, GLsizei height); -extern glAccumPROC glAccum; -extern glAlphaFuncPROC glAlphaFunc; -extern glAreTexturesResidentPROC glAreTexturesResident; -extern glArrayElementPROC glArrayElement; -extern glBeginPROC glBegin; -extern glBindTexturePROC glBindTexture; -extern glBitmapPROC glBitmap; -extern glBlendFuncPROC glBlendFunc; -extern glCallListPROC glCallList; -extern glCallListsPROC glCallLists; -extern glClearPROC glClear; -extern glClearAccumPROC glClearAccum; -extern glClearColorPROC glClearColor; -extern glClearDepthPROC glClearDepth; -extern glClearIndexPROC glClearIndex; -extern glClearStencilPROC glClearStencil; -extern glClipPlanePROC glClipPlane; -extern glColor3bPROC glColor3b; -extern glColor3bvPROC glColor3bv; -extern glColor3dPROC glColor3d; -extern glColor3dvPROC glColor3dv; -extern glColor3fPROC glColor3f; -extern glColor3fvPROC glColor3fv; -extern glColor3iPROC glColor3i; -extern glColor3ivPROC glColor3iv; -extern glColor3sPROC glColor3s; -extern glColor3svPROC glColor3sv; -extern glColor3ubPROC glColor3ub; -extern glColor3ubvPROC glColor3ubv; -extern glColor3uiPROC glColor3ui; -extern glColor3uivPROC glColor3uiv; -extern glColor3usPROC glColor3us; -extern glColor3usvPROC glColor3usv; -extern glColor4bPROC glColor4b; -extern glColor4bvPROC glColor4bv; -extern glColor4dPROC glColor4d; -extern glColor4dvPROC glColor4dv; -extern glColor4fPROC glColor4f; -extern glColor4fvPROC glColor4fv; -extern glColor4iPROC glColor4i; -extern glColor4ivPROC glColor4iv; -extern glColor4sPROC glColor4s; -extern glColor4svPROC glColor4sv; -extern glColor4ubPROC glColor4ub; -extern glColor4ubvPROC glColor4ubv; -extern glColor4uiPROC glColor4ui; -extern glColor4uivPROC glColor4uiv; -extern glColor4usPROC glColor4us; -extern glColor4usvPROC glColor4usv; -extern glColorMaskPROC glColorMask; -extern glColorMaterialPROC glColorMaterial; -extern glColorPointerPROC glColorPointer; -extern glCopyPixelsPROC glCopyPixels; -extern glCopyTexImage1DPROC glCopyTexImage1D; -extern glCopyTexImage2DPROC glCopyTexImage2D; -extern glCopyTexSubImage1DPROC glCopyTexSubImage1D; -extern glCopyTexSubImage2DPROC glCopyTexSubImage2D; -extern glCullFacePROC glCullFace; -extern glDeleteListsPROC glDeleteLists; -extern glDeleteTexturesPROC glDeleteTextures; -extern glDepthFuncPROC glDepthFunc; -extern glDepthMaskPROC glDepthMask; -extern glDepthRangePROC glDepthRange; -extern glDisablePROC glDisable; -extern glDisableClientStatePROC glDisableClientState; -extern glDrawArraysPROC glDrawArrays; -extern glDrawBufferPROC glDrawBuffer; -extern glDrawElementsPROC glDrawElements; -extern glDrawPixelsPROC glDrawPixels; -extern glEdgeFlagPROC glEdgeFlag; -extern glEdgeFlagPointerPROC glEdgeFlagPointer; -extern glEdgeFlagvPROC glEdgeFlagv; -extern glEnablePROC glEnable; -extern glEnableClientStatePROC glEnableClientState; -extern glEndPROC glEnd; -extern glEndListPROC glEndList; -extern glEvalCoord1dPROC glEvalCoord1d; -extern glEvalCoord1dvPROC glEvalCoord1dv; -extern glEvalCoord1fPROC glEvalCoord1f; -extern glEvalCoord1fvPROC glEvalCoord1fv; -extern glEvalCoord2dPROC glEvalCoord2d; -extern glEvalCoord2dvPROC glEvalCoord2dv; -extern glEvalCoord2fPROC glEvalCoord2f; -extern glEvalCoord2fvPROC glEvalCoord2fv; -extern glEvalMesh1PROC glEvalMesh1; -extern glEvalMesh2PROC glEvalMesh2; -extern glEvalPoint1PROC glEvalPoint1; -extern glEvalPoint2PROC glEvalPoint2; -extern glFeedbackBufferPROC glFeedbackBuffer; -extern glFinishPROC glFinish; -extern glFlushPROC glFlush; -extern glFogfPROC glFogf; -extern glFogfvPROC glFogfv; -extern glFogiPROC glFogi; -extern glFogivPROC glFogiv; -extern glFrontFacePROC glFrontFace; -extern glFrustumPROC glFrustum; -extern glGenListsPROC glGenLists; -extern glGenTexturesPROC glGenTextures; -extern glGetBooleanvPROC glGetBooleanv; -extern glGetClipPlanePROC glGetClipPlane; -extern glGetDoublevPROC glGetDoublev; +extern glAccumPROC glAccum; +extern glAlphaFuncPROC glAlphaFunc; +extern glAreTexturesResidentPROC glAreTexturesResident; +extern glArrayElementPROC glArrayElement; +extern glBeginPROC glBegin; +extern glBindTexturePROC glBindTexture; +extern glBitmapPROC glBitmap; +extern glBlendFuncPROC glBlendFunc; +extern glCallListPROC glCallList; +extern glCallListsPROC glCallLists; +extern glClearPROC glClear; +extern glClearAccumPROC glClearAccum; +extern glClearColorPROC glClearColor; +extern glClearDepthPROC glClearDepth; +extern glClearIndexPROC glClearIndex; +extern glClearStencilPROC glClearStencil; +extern glClipPlanePROC glClipPlane; +extern glColor3bPROC glColor3b; +extern glColor3bvPROC glColor3bv; +extern glColor3dPROC glColor3d; +extern glColor3dvPROC glColor3dv; +extern glColor3fPROC glColor3f; +extern glColor3fvPROC glColor3fv; +extern glColor3iPROC glColor3i; +extern glColor3ivPROC glColor3iv; +extern glColor3sPROC glColor3s; +extern glColor3svPROC glColor3sv; +extern glColor3ubPROC glColor3ub; +extern glColor3ubvPROC glColor3ubv; +extern glColor3uiPROC glColor3ui; +extern glColor3uivPROC glColor3uiv; +extern glColor3usPROC glColor3us; +extern glColor3usvPROC glColor3usv; +extern glColor4bPROC glColor4b; +extern glColor4bvPROC glColor4bv; +extern glColor4dPROC glColor4d; +extern glColor4dvPROC glColor4dv; +extern glColor4fPROC glColor4f; +extern glColor4fvPROC glColor4fv; +extern glColor4iPROC glColor4i; +extern glColor4ivPROC glColor4iv; +extern glColor4sPROC glColor4s; +extern glColor4svPROC glColor4sv; +extern glColor4ubPROC glColor4ub; +extern glColor4ubvPROC glColor4ubv; +extern glColor4uiPROC glColor4ui; +extern glColor4uivPROC glColor4uiv; +extern glColor4usPROC glColor4us; +extern glColor4usvPROC glColor4usv; +extern glColorMaskPROC glColorMask; +extern glColorMaterialPROC glColorMaterial; +extern glColorPointerPROC glColorPointer; +extern glCopyPixelsPROC glCopyPixels; +extern glCopyTexImage1DPROC glCopyTexImage1D; +extern glCopyTexImage2DPROC glCopyTexImage2D; +extern glCopyTexSubImage1DPROC glCopyTexSubImage1D; +extern glCopyTexSubImage2DPROC glCopyTexSubImage2D; +extern glCullFacePROC glCullFace; +extern glDeleteListsPROC glDeleteLists; +extern glDeleteTexturesPROC glDeleteTextures; +extern glDepthFuncPROC glDepthFunc; +extern glDepthMaskPROC glDepthMask; +extern glDepthRangePROC glDepthRange; +extern glDisablePROC glDisable; +extern glDisableClientStatePROC glDisableClientState; +extern glDrawArraysPROC glDrawArrays; +extern glDrawBufferPROC glDrawBuffer; +extern glDrawElementsPROC glDrawElements; +extern glDrawPixelsPROC glDrawPixels; +extern glEdgeFlagPROC glEdgeFlag; +extern glEdgeFlagPointerPROC glEdgeFlagPointer; +extern glEdgeFlagvPROC glEdgeFlagv; +extern glEnablePROC glEnable; +extern glEnableClientStatePROC glEnableClientState; +extern glEndPROC glEnd; +extern glEndListPROC glEndList; +extern glEvalCoord1dPROC glEvalCoord1d; +extern glEvalCoord1dvPROC glEvalCoord1dv; +extern glEvalCoord1fPROC glEvalCoord1f; +extern glEvalCoord1fvPROC glEvalCoord1fv; +extern glEvalCoord2dPROC glEvalCoord2d; +extern glEvalCoord2dvPROC glEvalCoord2dv; +extern glEvalCoord2fPROC glEvalCoord2f; +extern glEvalCoord2fvPROC glEvalCoord2fv; +extern glEvalMesh1PROC glEvalMesh1; +extern glEvalMesh2PROC glEvalMesh2; +extern glEvalPoint1PROC glEvalPoint1; +extern glEvalPoint2PROC glEvalPoint2; +extern glFeedbackBufferPROC glFeedbackBuffer; +extern glFinishPROC glFinish; +extern glFlushPROC glFlush; +extern glFogfPROC glFogf; +extern glFogfvPROC glFogfv; +extern glFogiPROC glFogi; +extern glFogivPROC glFogiv; +extern glFrontFacePROC glFrontFace; +extern glFrustumPROC glFrustum; +extern glGenListsPROC glGenLists; +extern glGenTexturesPROC glGenTextures; +extern glGetBooleanvPROC glGetBooleanv; +extern glGetClipPlanePROC glGetClipPlane; +extern glGetDoublevPROC glGetDoublev; extern glGetErrorPROC glGetError; -extern glGetFloatvPROC glGetFloatv; -extern glGetIntegervPROC glGetIntegerv; -extern glGetLightfvPROC glGetLightfv; -extern glGetLightivPROC glGetLightiv; -extern glGetMapdvPROC glGetMapdv; -extern glGetMapfvPROC glGetMapfv; -extern glGetMapivPROC glGetMapiv; -extern glGetMaterialfvPROC glGetMaterialfv; -extern glGetMaterialivPROC glGetMaterialiv; -extern glGetPixelMapfvPROC glGetPixelMapfv; -extern glGetPixelMapuivPROC glGetPixelMapuiv; -extern glGetPixelMapusvPROC glGetPixelMapusv; -extern glGetPointervPROC glGetPointerv; -extern glGetPolygonStipplePROC glGetPolygonStipple; +extern glGetFloatvPROC glGetFloatv; +extern glGetIntegervPROC glGetIntegerv; +extern glGetLightfvPROC glGetLightfv; +extern glGetLightivPROC glGetLightiv; +extern glGetMapdvPROC glGetMapdv; +extern glGetMapfvPROC glGetMapfv; +extern glGetMapivPROC glGetMapiv; +extern glGetMaterialfvPROC glGetMaterialfv; +extern glGetMaterialivPROC glGetMaterialiv; +extern glGetPixelMapfvPROC glGetPixelMapfv; +extern glGetPixelMapuivPROC glGetPixelMapuiv; +extern glGetPixelMapusvPROC glGetPixelMapusv; +extern glGetPointervPROC glGetPointerv; +extern glGetPolygonStipplePROC glGetPolygonStipple; extern glGetStringPROC glGetString; -extern glGetTexEnvfvPROC glGetTexEnvfv; -extern glGetTexEnvivPROC glGetTexEnviv; -extern glGetTexGendvPROC glGetTexGendv; -extern glGetTexGenfvPROC glGetTexGenfv; -extern glGetTexGenivPROC glGetTexGeniv; -extern glGetTexImagePROC glGetTexImage; -extern glGetTexLevelParameterfvPROC glGetTexLevelParameterfv; -extern glGetTexLevelParameterivPROC glGetTexLevelParameteriv; -extern glGetTexParameterfvPROC glGetTexParameterfv; -extern glGetTexParameterivPROC glGetTexParameteriv; -extern glHintPROC glHint; -extern glIndexMaskPROC glIndexMask; -extern glIndexPointerPROC glIndexPointer; -extern glIndexdPROC glIndexd; -extern glIndexdvPROC glIndexdv; -extern glIndexfPROC glIndexf; -extern glIndexfvPROC glIndexfv; -extern glIndexiPROC glIndexi; -extern glIndexivPROC glIndexiv; -extern glIndexsPROC glIndexs; -extern glIndexsvPROC glIndexsv; -extern glIndexubPROC glIndexub; -extern glIndexubvPROC glIndexubv; -extern glInitNamesPROC glInitNames; -extern glInterleavedArraysPROC glInterleavedArrays; -extern glIsEnabledPROC glIsEnabled; -extern glIsListPROC glIsList; -extern glIsTexturePROC glIsTexture; -extern glLightModelfPROC glLightModelf; -extern glLightModelfvPROC glLightModelfv; -extern glLightModeliPROC glLightModeli; -extern glLightModelivPROC glLightModeliv; -extern glLightfPROC glLightf; -extern glLightfvPROC glLightfv; -extern glLightiPROC glLighti; -extern glLightivPROC glLightiv; -extern glLineStipplePROC glLineStipple; -extern glLineWidthPROC glLineWidth; -extern glListBasePROC glListBase; -extern glLoadIdentityPROC glLoadIdentity; -extern glLoadMatrixdPROC glLoadMatrixd; -extern glLoadMatrixfPROC glLoadMatrixf; -extern glLoadNamePROC glLoadName; -extern glLogicOpPROC glLogicOp; -extern glMap1dPROC glMap1d; -extern glMap1fPROC glMap1f; -extern glMap2dPROC glMap2d; -extern glMap2fPROC glMap2f; -extern glMapGrid1dPROC glMapGrid1d; -extern glMapGrid1fPROC glMapGrid1f; -extern glMapGrid2dPROC glMapGrid2d; -extern glMapGrid2fPROC glMapGrid2f; -extern glMaterialfPROC glMaterialf; -extern glMaterialfvPROC glMaterialfv; -extern glMaterialiPROC glMateriali; -extern glMaterialivPROC glMaterialiv; -extern glMatrixModePROC glMatrixMode; -extern glMultMatrixdPROC glMultMatrixd; -extern glMultMatrixfPROC glMultMatrixf; -extern glNewListPROC glNewList; -extern glNormal3bPROC glNormal3b; -extern glNormal3bvPROC glNormal3bv; -extern glNormal3dPROC glNormal3d; -extern glNormal3dvPROC glNormal3dv; -extern glNormal3fPROC glNormal3f; -extern glNormal3fvPROC glNormal3fv; -extern glNormal3iPROC glNormal3i; -extern glNormal3ivPROC glNormal3iv; -extern glNormal3sPROC glNormal3s; -extern glNormal3svPROC glNormal3sv; -extern glNormalPointerPROC glNormalPointer; -extern glOrthoPROC glOrtho; -extern glPassThroughPROC glPassThrough; -extern glPixelMapfvPROC glPixelMapfv; -extern glPixelMapuivPROC glPixelMapuiv; -extern glPixelMapusvPROC glPixelMapusv; -extern glPixelStorefPROC glPixelStoref; -extern glPixelStoreiPROC glPixelStorei; -extern glPixelTransferfPROC glPixelTransferf; -extern glPixelTransferiPROC glPixelTransferi; -extern glPixelZoomPROC glPixelZoom; -extern glPointSizePROC glPointSize; -extern glPolygonModePROC glPolygonMode; -extern glPolygonOffsetPROC glPolygonOffset; -extern glPolygonStipplePROC glPolygonStipple; -extern glPopAttribPROC glPopAttrib; -extern glPopClientAttribPROC glPopClientAttrib; -extern glPopMatrixPROC glPopMatrix; -extern glPopNamePROC glPopName; -extern glPrioritizeTexturesPROC glPrioritizeTextures; -extern glPushAttribPROC glPushAttrib; -extern glPushClientAttribPROC glPushClientAttrib; -extern glPushMatrixPROC glPushMatrix; -extern glPushNamePROC glPushName; -extern glRasterPos2dPROC glRasterPos2d; -extern glRasterPos2dvPROC glRasterPos2dv; -extern glRasterPos2fPROC glRasterPos2f; -extern glRasterPos2fvPROC glRasterPos2fv; -extern glRasterPos2iPROC glRasterPos2i; -extern glRasterPos2ivPROC glRasterPos2iv; -extern glRasterPos2sPROC glRasterPos2s; -extern glRasterPos2svPROC glRasterPos2sv; -extern glRasterPos3dPROC glRasterPos3d; -extern glRasterPos3dvPROC glRasterPos3dv; -extern glRasterPos3fPROC glRasterPos3f; -extern glRasterPos3fvPROC glRasterPos3fv; -extern glRasterPos3iPROC glRasterPos3i; +extern glGetTexEnvfvPROC glGetTexEnvfv; +extern glGetTexEnvivPROC glGetTexEnviv; +extern glGetTexGendvPROC glGetTexGendv; +extern glGetTexGenfvPROC glGetTexGenfv; +extern glGetTexGenivPROC glGetTexGeniv; +extern glGetTexImagePROC glGetTexImage; +extern glGetTexLevelParameterfvPROC glGetTexLevelParameterfv; +extern glGetTexLevelParameterivPROC glGetTexLevelParameteriv; +extern glGetTexParameterfvPROC glGetTexParameterfv; +extern glGetTexParameterivPROC glGetTexParameteriv; +extern glHintPROC glHint; +extern glIndexMaskPROC glIndexMask; +extern glIndexPointerPROC glIndexPointer; +extern glIndexdPROC glIndexd; +extern glIndexdvPROC glIndexdv; +extern glIndexfPROC glIndexf; +extern glIndexfvPROC glIndexfv; +extern glIndexiPROC glIndexi; +extern glIndexivPROC glIndexiv; +extern glIndexsPROC glIndexs; +extern glIndexsvPROC glIndexsv; +extern glIndexubPROC glIndexub; +extern glIndexubvPROC glIndexubv; +extern glInitNamesPROC glInitNames; +extern glInterleavedArraysPROC glInterleavedArrays; +extern glIsEnabledPROC glIsEnabled; +extern glIsListPROC glIsList; +extern glIsTexturePROC glIsTexture; +extern glLightModelfPROC glLightModelf; +extern glLightModelfvPROC glLightModelfv; +extern glLightModeliPROC glLightModeli; +extern glLightModelivPROC glLightModeliv; +extern glLightfPROC glLightf; +extern glLightfvPROC glLightfv; +extern glLightiPROC glLighti; +extern glLightivPROC glLightiv; +extern glLineStipplePROC glLineStipple; +extern glLineWidthPROC glLineWidth; +extern glListBasePROC glListBase; +extern glLoadIdentityPROC glLoadIdentity; +extern glLoadMatrixdPROC glLoadMatrixd; +extern glLoadMatrixfPROC glLoadMatrixf; +extern glLoadNamePROC glLoadName; +extern glLogicOpPROC glLogicOp; +extern glMap1dPROC glMap1d; +extern glMap1fPROC glMap1f; +extern glMap2dPROC glMap2d; +extern glMap2fPROC glMap2f; +extern glMapGrid1dPROC glMapGrid1d; +extern glMapGrid1fPROC glMapGrid1f; +extern glMapGrid2dPROC glMapGrid2d; +extern glMapGrid2fPROC glMapGrid2f; +extern glMaterialfPROC glMaterialf; +extern glMaterialfvPROC glMaterialfv; +extern glMaterialiPROC glMateriali; +extern glMaterialivPROC glMaterialiv; +extern glMatrixModePROC glMatrixMode; +extern glMultMatrixdPROC glMultMatrixd; +extern glMultMatrixfPROC glMultMatrixf; +extern glNewListPROC glNewList; +extern glNormal3bPROC glNormal3b; +extern glNormal3bvPROC glNormal3bv; +extern glNormal3dPROC glNormal3d; +extern glNormal3dvPROC glNormal3dv; +extern glNormal3fPROC glNormal3f; +extern glNormal3fvPROC glNormal3fv; +extern glNormal3iPROC glNormal3i; +extern glNormal3ivPROC glNormal3iv; +extern glNormal3sPROC glNormal3s; +extern glNormal3svPROC glNormal3sv; +extern glNormalPointerPROC glNormalPointer; +extern glOrthoPROC glOrtho; +extern glPassThroughPROC glPassThrough; +extern glPixelMapfvPROC glPixelMapfv; +extern glPixelMapuivPROC glPixelMapuiv; +extern glPixelMapusvPROC glPixelMapusv; +extern glPixelStorefPROC glPixelStoref; +extern glPixelStoreiPROC glPixelStorei; +extern glPixelTransferfPROC glPixelTransferf; +extern glPixelTransferiPROC glPixelTransferi; +extern glPixelZoomPROC glPixelZoom; +extern glPointSizePROC glPointSize; +extern glPolygonModePROC glPolygonMode; +extern glPolygonOffsetPROC glPolygonOffset; +extern glPolygonStipplePROC glPolygonStipple; +extern glPopAttribPROC glPopAttrib; +extern glPopClientAttribPROC glPopClientAttrib; +extern glPopMatrixPROC glPopMatrix; +extern glPopNamePROC glPopName; +extern glPrioritizeTexturesPROC glPrioritizeTextures; +extern glPushAttribPROC glPushAttrib; +extern glPushClientAttribPROC glPushClientAttrib; +extern glPushMatrixPROC glPushMatrix; +extern glPushNamePROC glPushName; +extern glRasterPos2dPROC glRasterPos2d; +extern glRasterPos2dvPROC glRasterPos2dv; +extern glRasterPos2fPROC glRasterPos2f; +extern glRasterPos2fvPROC glRasterPos2fv; +extern glRasterPos2iPROC glRasterPos2i; +extern glRasterPos2ivPROC glRasterPos2iv; +extern glRasterPos2sPROC glRasterPos2s; +extern glRasterPos2svPROC glRasterPos2sv; +extern glRasterPos3dPROC glRasterPos3d; +extern glRasterPos3dvPROC glRasterPos3dv; +extern glRasterPos3fPROC glRasterPos3f; +extern glRasterPos3fvPROC glRasterPos3fv; +extern glRasterPos3iPROC glRasterPos3i; -extern glRasterPos3ivPROC glRasterPos3iv; -extern glRasterPos3sPROC glRasterPos3s; -extern glRasterPos3svPROC glRasterPos3sv; -extern glRasterPos4dPROC glRasterPos4d; -extern glRasterPos4dvPROC glRasterPos4dv; -extern glRasterPos4fPROC glRasterPos4f; -extern glRasterPos4fvPROC glRasterPos4fv; -extern glRasterPos4iPROC glRasterPos4i; -extern glRasterPos4ivPROC glRasterPos4iv; -extern glRasterPos4sPROC glRasterPos4s; -extern glRasterPos4svPROC glRasterPos4sv; -extern glReadBufferPROC glReadBuffer; -extern glReadPixelsPROC glReadPixels; -extern glRectdPROC glRectd; -extern glRectdvPROC glRectdv; -extern glRectfPROC glRectf; -extern glRectfvPROC glRectfv; -extern glRectiPROC glRecti; -extern glRectivPROC glRectiv; -extern glRectsPROC glRects; -extern glRectsvPROC glRectsv; -extern glRenderModePROC glRenderMode; -extern glRotatedPROC glRotated; -extern glRotatefPROC glRotatef; -extern glScaledPROC glScaled; -extern glScalefPROC glScalef; -extern glScissorPROC glScissor; -extern glSelectBufferPROC glSelectBuffer; -extern glShadeModelPROC glShadeModel; -extern glStencilFuncPROC glStencilFunc; -extern glStencilMaskPROC glStencilMask; -extern glStencilOpPROC glStencilOp; -extern glTexCoord1dPROC glTexCoord1d; -extern glTexCoord1dvPROC glTexCoord1dv; -extern glTexCoord1fPROC glTexCoord1f; -extern glTexCoord1fvPROC glTexCoord1fv; -extern glTexCoord1iPROC glTexCoord1i; -extern glTexCoord1ivPROC glTexCoord1iv; -extern glTexCoord1sPROC glTexCoord1s; -extern glTexCoord1svPROC glTexCoord1sv; -extern glTexCoord2dPROC glTexCoord2d; -extern glTexCoord2dvPROC glTexCoord2dv; -extern glTexCoord2fPROC glTexCoord2f; -extern glTexCoord2fvPROC glTexCoord2fv; -extern glTexCoord2iPROC glTexCoord2i; -extern glTexCoord2ivPROC glTexCoord2iv; -extern glTexCoord2sPROC glTexCoord2s; -extern glTexCoord2svPROC glTexCoord2sv; -extern glTexCoord3dPROC glTexCoord3d; -extern glTexCoord3dvPROC glTexCoord3dv; -extern glTexCoord3fPROC glTexCoord3f; -extern glTexCoord3fvPROC glTexCoord3fv; -extern glTexCoord3iPROC glTexCoord3i; -extern glTexCoord3ivPROC glTexCoord3iv; -extern glTexCoord3sPROC glTexCoord3s; -extern glTexCoord3svPROC glTexCoord3sv; -extern glTexCoord4dPROC glTexCoord4d; -extern glTexCoord4dvPROC glTexCoord4dv; -extern glTexCoord4fPROC glTexCoord4f; -extern glTexCoord4fvPROC glTexCoord4fv; -extern glTexCoord4iPROC glTexCoord4i; -extern glTexCoord4ivPROC glTexCoord4iv; -extern glTexCoord4sPROC glTexCoord4s; -extern glTexCoord4svPROC glTexCoord4sv; -extern glTexCoordPointerPROC glTexCoordPointer; -extern glTexEnvfPROC glTexEnvf; -extern glTexEnvfvPROC glTexEnvfv; -extern glTexEnviPROC glTexEnvi; -extern glTexEnvivPROC glTexEnviv; -extern glTexGendPROC glTexGend; -extern glTexGendvPROC glTexGendv; -extern glTexGenfPROC glTexGenf; -extern glTexGenfvPROC glTexGenfv; -extern glTexGeniPROC glTexGeni; -extern glTexGenivPROC glTexGeniv; -extern glTexImage1DPROC glTexImage1D; -extern glTexImage2DPROC glTexImage2D; -extern glTexParameterfPROC glTexParameterf; -extern glTexParameterfvPROC glTexParameterfv; -extern glTexParameteriPROC glTexParameteri; -extern glTexParameterivPROC glTexParameteriv; -extern glTexSubImage1DPROC glTexSubImage1D; -extern glTexSubImage2DPROC glTexSubImage2D; -extern glTranslatedPROC glTranslated; -extern glTranslatefPROC glTranslatef; -extern glVertex2dPROC glVertex2d; -extern glVertex2dvPROC glVertex2dv; -extern glVertex2fPROC glVertex2f; -extern glVertex2fvPROC glVertex2fv; -extern glVertex2iPROC glVertex2i; -extern glVertex2ivPROC glVertex2iv; -extern glVertex2sPROC glVertex2s; -extern glVertex2svPROC glVertex2sv; -extern glVertex3dPROC glVertex3d; -extern glVertex3dvPROC glVertex3dv; -extern glVertex3fPROC glVertex3f; -extern glVertex3fvPROC glVertex3fv; -extern glVertex3iPROC glVertex3i; -extern glVertex3ivPROC glVertex3iv; -extern glVertex3sPROC glVertex3s; -extern glVertex3svPROC glVertex3sv; -extern glVertex4dPROC glVertex4d; -extern glVertex4dvPROC glVertex4dv; -extern glVertex4fPROC glVertex4f; -extern glVertex4fvPROC glVertex4fv; -extern glVertex4iPROC glVertex4i; -extern glVertex4ivPROC glVertex4iv; -extern glVertex4sPROC glVertex4s; -extern glVertex4svPROC glVertex4sv; -extern glVertexPointerPROC glVertexPointer; -extern glViewportPROC glViewport; +extern glRasterPos3ivPROC glRasterPos3iv; +extern glRasterPos3sPROC glRasterPos3s; +extern glRasterPos3svPROC glRasterPos3sv; +extern glRasterPos4dPROC glRasterPos4d; +extern glRasterPos4dvPROC glRasterPos4dv; +extern glRasterPos4fPROC glRasterPos4f; +extern glRasterPos4fvPROC glRasterPos4fv; +extern glRasterPos4iPROC glRasterPos4i; +extern glRasterPos4ivPROC glRasterPos4iv; +extern glRasterPos4sPROC glRasterPos4s; +extern glRasterPos4svPROC glRasterPos4sv; +extern glReadBufferPROC glReadBuffer; +extern glReadPixelsPROC glReadPixels; +extern glRectdPROC glRectd; +extern glRectdvPROC glRectdv; +extern glRectfPROC glRectf; +extern glRectfvPROC glRectfv; +extern glRectiPROC glRecti; +extern glRectivPROC glRectiv; +extern glRectsPROC glRects; +extern glRectsvPROC glRectsv; +extern glRenderModePROC glRenderMode; +extern glRotatedPROC glRotated; +extern glRotatefPROC glRotatef; +extern glScaledPROC glScaled; +extern glScalefPROC glScalef; +extern glScissorPROC glScissor; +extern glSelectBufferPROC glSelectBuffer; +extern glShadeModelPROC glShadeModel; +extern glStencilFuncPROC glStencilFunc; +extern glStencilMaskPROC glStencilMask; +extern glStencilOpPROC glStencilOp; +extern glTexCoord1dPROC glTexCoord1d; +extern glTexCoord1dvPROC glTexCoord1dv; +extern glTexCoord1fPROC glTexCoord1f; +extern glTexCoord1fvPROC glTexCoord1fv; +extern glTexCoord1iPROC glTexCoord1i; +extern glTexCoord1ivPROC glTexCoord1iv; +extern glTexCoord1sPROC glTexCoord1s; +extern glTexCoord1svPROC glTexCoord1sv; +extern glTexCoord2dPROC glTexCoord2d; +extern glTexCoord2dvPROC glTexCoord2dv; +extern glTexCoord2fPROC glTexCoord2f; +extern glTexCoord2fvPROC glTexCoord2fv; +extern glTexCoord2iPROC glTexCoord2i; +extern glTexCoord2ivPROC glTexCoord2iv; +extern glTexCoord2sPROC glTexCoord2s; +extern glTexCoord2svPROC glTexCoord2sv; +extern glTexCoord3dPROC glTexCoord3d; +extern glTexCoord3dvPROC glTexCoord3dv; +extern glTexCoord3fPROC glTexCoord3f; +extern glTexCoord3fvPROC glTexCoord3fv; +extern glTexCoord3iPROC glTexCoord3i; +extern glTexCoord3ivPROC glTexCoord3iv; +extern glTexCoord3sPROC glTexCoord3s; +extern glTexCoord3svPROC glTexCoord3sv; +extern glTexCoord4dPROC glTexCoord4d; +extern glTexCoord4dvPROC glTexCoord4dv; +extern glTexCoord4fPROC glTexCoord4f; +extern glTexCoord4fvPROC glTexCoord4fv; +extern glTexCoord4iPROC glTexCoord4i; +extern glTexCoord4ivPROC glTexCoord4iv; +extern glTexCoord4sPROC glTexCoord4s; +extern glTexCoord4svPROC glTexCoord4sv; +extern glTexCoordPointerPROC glTexCoordPointer; +extern glTexEnvfPROC glTexEnvf; +extern glTexEnvfvPROC glTexEnvfv; +extern glTexEnviPROC glTexEnvi; +extern glTexEnvivPROC glTexEnviv; +extern glTexGendPROC glTexGend; +extern glTexGendvPROC glTexGendv; +extern glTexGenfPROC glTexGenf; +extern glTexGenfvPROC glTexGenfv; +extern glTexGeniPROC glTexGeni; +extern glTexGenivPROC glTexGeniv; +extern glTexImage1DPROC glTexImage1D; +extern glTexImage2DPROC glTexImage2D; +extern glTexParameterfPROC glTexParameterf; +extern glTexParameterfvPROC glTexParameterfv; +extern glTexParameteriPROC glTexParameteri; +extern glTexParameterivPROC glTexParameteriv; +extern glTexSubImage1DPROC glTexSubImage1D; +extern glTexSubImage2DPROC glTexSubImage2D; +extern glTranslatedPROC glTranslated; +extern glTranslatefPROC glTranslatef; +extern glVertex2dPROC glVertex2d; +extern glVertex2dvPROC glVertex2dv; +extern glVertex2fPROC glVertex2f; +extern glVertex2fvPROC glVertex2fv; +extern glVertex2iPROC glVertex2i; +extern glVertex2ivPROC glVertex2iv; +extern glVertex2sPROC glVertex2s; +extern glVertex2svPROC glVertex2sv; +extern glVertex3dPROC glVertex3d; +extern glVertex3dvPROC glVertex3dv; +extern glVertex3fPROC glVertex3f; +extern glVertex3fvPROC glVertex3fv; +extern glVertex3iPROC glVertex3i; +extern glVertex3ivPROC glVertex3iv; +extern glVertex3sPROC glVertex3s; +extern glVertex3svPROC glVertex3sv; +extern glVertex4dPROC glVertex4d; +extern glVertex4dvPROC glVertex4dv; +extern glVertex4fPROC glVertex4f; +extern glVertex4fvPROC glVertex4fv; +extern glVertex4iPROC glVertex4i; +extern glVertex4ivPROC glVertex4iv; +extern glVertex4sPROC glVertex4s; +extern glVertex4svPROC glVertex4sv; +extern glVertexPointerPROC glVertexPointer; +extern glViewportPROC glViewport; */ /* OpenGL 1.2 */ @@ -2581,7 +2581,7 @@ #define GL_DSDT8_NV 0x8709 #define GL_DSDT8_MAG8_NV 0x870A #define GL_DSDT_MAG_INTENSITY_NV 0x86DC -#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B /*-------------------------------------------------------------------*/ /*------------NV_BLEND_SQUARE----------------------------------------*/ @@ -2718,7 +2718,7 @@ /*------------ARB_SHADOW_AMBIENT-------------------------------------*/ /*-------------------------------------------------------------------*/ -#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF +#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF /*-------------------------------------------------------------------*/ /*------------ARB_DEPTH_TEXTURE--------------------------------------*/ @@ -2774,7 +2774,7 @@ extern glCullParameterfvEXTPROC glCullParameterfvEXT; extern glCullParameterdvEXTPROC glCullParameterdvEXT; - + /*-------------------------------------------------------------------*/ /*------------GL_ATI_POINT_CULL_MODE---------------------------------*/ /*-------------------------------------------------------------------*/ @@ -3142,7 +3142,7 @@ struct ExtensionTypes { -#ifdef _WIN32 /* WGL extensions */ +#ifdef _WIN32 /* WGL extensions */ bool WGL_ARB_buffer_region; bool WGL_ARB_extensions_string; bool WGL_ARB_make_current_read; @@ -3162,10 +3162,11 @@ bool GLX_EXT_visual_rating; bool GLX_SGI_swap_control; #endif /* X11 */ - + bool OpenGL12; bool OpenGL13; bool OpenGL14; + bool OpenGL15; bool GL_ARB_imaging; bool GL_ARB_depth_texture; Index: Makefile.am =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/Makefile.am,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- Makefile.am 5 Feb 2004 17:14:50 -0000 1.17 +++ Makefile.am 15 Feb 2004 15:20:32 -0000 1.18 @@ -40,5 +40,8 @@ org_lwjgl_opengl_GL12.h \ org_lwjgl_opengl_GL13.cpp \ org_lwjgl_opengl_GL13.h \ - org_lwjgl_opengl_GL14.cpp + org_lwjgl_opengl_GL14.cpp \ + org_lwjgl_opengl_GL14.h \ + org_lwjgl_opengl_GL15.cpp \ + org_lwjgl_opengl_GL15.h |
|
From: <sp...@us...> - 2004-02-15 15:24:15
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/opengl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17519 Added Files: GL15.java Log Message: OpenGL1.5 support --- NEW FILE: GL15.java --- /* * 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: 02-15-2004 * Time: 4:14:52 pm */ package org.lwjgl.opengl; import java.nio.*; public class GL15 extends GL14 { // ---------------------------------------------------------------------- // ---------------------- ARB_vertex_buffer_object ---------------------- // ---------------------------------------------------------------------- public static final int GL_ARRAY_BUFFER = 0x8892; public static final int GL_ELEMENT_ARRAY_BUFFER = 0x8893; public static final int GL_ARRAY_BUFFER_BINDING = 0x8894; public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896; public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897; public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898; public static final int GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899; public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; public static final int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B; public static final int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C; public static final int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D; public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E; public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; public static final int GL_STREAM_DRAW = 0x88E0; public static final int GL_STREAM_READ = 0x88E1; public static final int GL_STREAM_COPY = 0x88E2; public static final int GL_STATIC_DRAW = 0x88E4; public static final int GL_STATIC_READ = 0x88E5; public static final int GL_STATIC_COPY = 0x88E6; public static final int GL_DYNAMIC_DRAW = 0x88E8; public static final int GL_DYNAMIC_READ = 0x88E9; public static final int GL_DYNAMIC_COPY = 0x88EA; public static final int GL_READ_ONLY = 0x88B8; public static final int GL_WRITE_ONLY = 0x88B9; public static final int GL_READ_WRITE = 0x88BA; public static final int GL_BUFFER_SIZE = 0x8764; public static final int GL_BUFFER_USAGE = 0x8765; public static final int GL_BUFFER_ACCESS = 0x88BB; public static final int GL_BUFFER_MAPPED = 0x88BC; public static final int GL_BUFFER_MAP_POINTER = 0x88BD; public static void glBindBuffer(int target, int buffer) { switch ( target ) { case GL_ELEMENT_ARRAY_BUFFER: VBOTracker.getVBOElementStack().setState(buffer); break; case GL_ARRAY_BUFFER: VBOTracker.getVBOArrayStack().setState(buffer); break; default: assert false: "Unsupported VBO target " + target; } nglBindBuffer(target, buffer); } private static native void nglBindBuffer(int target, int buffer); public static void glDeleteBuffers(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); } nglDeleteBuffers(buffers.remaining(), buffers, buffers.position()); } private static native void nglDeleteBuffers(int n, IntBuffer buffers, int buffers_offset); public static void glGenBuffers(IntBuffer buffers) { nglGenBuffers(buffers.remaining(), buffers, buffers.position()); } private static native void nglGenBuffers(int n, IntBuffer buffers, int buffers_offset); public static native boolean glIsBuffer(int buffer); public static void glBufferData(int target, int size, ByteBuffer data, int usage) { nglBufferData(target, size, data, data != null ? data.position() : 0, usage); } public static void glBufferData(int target, int size, ShortBuffer data, int usage) { nglBufferData(target, size, data, data != null ? data.position() << 1 : 0, usage); } public static void glBufferData(int target, int size, FloatBuffer data, int usage) { nglBufferData(target, size, data, data != null ? data.position() << 2 : 0, usage); } public static void glBufferData(int target, int size, IntBuffer data, int usage) { nglBufferData(target, size, data, data != null ? data.position() << 2 : 0, usage); } private static native void nglBufferData(int target, int size, Buffer data, int data_offset, int usage); public static void glBufferSubData(int target, int offset, ByteBuffer data) { nglBufferSubData(target, offset, data.remaining(), data, data.position()); } public static void glBufferSubData(int target, int offset, ShortBuffer data) { nglBufferSubData(target, offset, data.remaining() << 1, data, data.position() << 1); } public static void glBufferSubData(int target, int offset, FloatBuffer data) { nglBufferSubData(target, offset, data.remaining() << 2, data, data.position() << 2); } public static void glBufferSubData(int target, int offset, IntBuffer data) { nglBufferSubData(target, offset, data.remaining() << 2, data, data.position() << 2); } private static native void nglBufferSubData(int target, int offset, int size, Buffer data, int data_offset); public static void glGetBufferSubData(int target, int offset, ByteBuffer data) { nglGetBufferSubData(target, offset, data.remaining(), data, data.position()); } public static void glGetBufferSubData(int target, int offset, ShortBuffer data) { nglGetBufferSubData(target, offset, data.remaining() << 1, data, data.position() << 1); } public static void glGetBufferSubData(int target, int offset, IntBuffer data) { nglGetBufferSubData(target, offset, data.remaining() << 2, data, data.position() << 2); } public static void glGetBufferSubData(int target, int offset, FloatBuffer data) { nglGetBufferSubData(target, offset, data.remaining() << 2, data, data.position() << 2); } private static native void nglGetBufferSubData(int target, int offset, int size, Buffer data, int data_offset); /** * glMapBuffer 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 glMapBuffer like this: * <p/> * ByteBuffer mapped_buffer; mapped_buffer = glMapBuffer(..., ..., ..., null); ... // Another * map on the same buffer mapped_buffer = glMapBuffer(..., ..., ..., mapped_buffer); * * @param size The size of the buffer area. * @param oldBuffer A ByteBuffer. If this argument points to the same address as the new mapping, * it will be returned and no new buffer will be created. In that case, size is * ignored. * * @return A ByteBuffer representing the mapped buffer memory. */ public static native ByteBuffer glMapBuffer(int target, int access, int size, ByteBuffer oldBuffer); public static native boolean glUnmapBuffer(int target); public static void glGetBufferParameter(int target, int pname, IntBuffer params) { // TODO:check buffer size nglGetBufferParameteriv(target, pname, params, params.position()); } private static native void nglGetBufferParameteriv(int target, int pname, IntBuffer params, int params_offset); public static native ByteBuffer glGetBufferPointer(int target, int pname, int size); // ----------------------------------------------------------------- // ---------------------- ARB_occlusion_query ---------------------- // ----------------------------------------------------------------- /* * Accepted by the <target> parameter of BeginQuery, EndQuery, * and GetQueryiv: */ public static final int GL_SAMPLES_PASSED = 0x8914; /* Accepted by the <pname> parameter of GetQueryiv: */ public static final int GL_QUERY_COUNTER_BITS = 0x8864; public static final int GL_CURRENT_QUERY = 0x8865; /* Accepted by the <pname> parameter of GetQueryObjectiv and GetQueryObjectuiv: */ public static final int GL_QUERY_RESULT = 0x8866; public static final int GL_QUERY_RESULT_AVAILABLE = 0x8867; // --------------------------- public static void glGenQueries(IntBuffer ids) { nglGenQueries(ids.remaining(), ids, ids.position()); } private static native void nglGenQueries(int n, IntBuffer ids, int idsOffset); // --------------------------- // --------------------------- public static void glDeleteQueries(IntBuffer ids) { nglDeleteQueries(ids.remaining(), ids, ids.position()); } private static native void nglDeleteQueries(int n, IntBuffer ids, int idsOffset); // --------------------------- public static native boolean glIsQuery(int id); public static native void glBeginQuery(int target, int id); public static native void glEndQuery(int target); // --------------------------- public static void glGetQuery(int target, int pname, IntBuffer params) { nglGetQueryiv(target, pname, params, params.position()); } private static native void nglGetQueryiv(int target, int pname, IntBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetQueryObjecti(int id, int pname, IntBuffer params) { // TODO: check buffer size nglGetQueryObjectiv(id, pname, params, params.position()); } private static native void nglGetQueryObjectiv(int id, int pname, IntBuffer params, int paramsOffset); // --------------------------- // --------------------------- public static void glGetQueryObjectui(int id, int pname, IntBuffer params) { // TODO: check buffer size nglGetQueryObjectuiv(id, pname, params, params.position()); } private static native void nglGetQueryObjectuiv(int id, int pname, IntBuffer params, int paramsOffset); // --------------------------- } |
|
From: <ma...@us...> - 2004-02-12 07:14:48
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18391 Modified Files: Mouse.java Keyboard.java Log Message: updated javadoc Index: Mouse.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input/Mouse.java,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- Mouse.java 12 Feb 2004 07:00:16 -0000 1.35 +++ Mouse.java 12 Feb 2004 07:10:06 -0000 1.36 @@ -401,9 +401,10 @@ * Reads all button events since last read. * To use these values, you have to call <code>next</code> for each event you * want to read. You can query which button caused the event by using - * <code>getEventButton</code>. To get the state of that key, for that event, use + * <code>getEventButton</code>. To get the state of that button, for that event, use * <code>getEventButtonState</code>. * + * @see org.lwjgl.input.Mouse#next() * @see org.lwjgl.input.Mouse#enableBuffer() * @see org.lwjgl.input.Mouse#getEventButton() * @see org.lwjgl.input.Mouse#getEventButtonState() Index: Keyboard.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input/Keyboard.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- Keyboard.java 5 Feb 2004 16:33:31 -0000 1.34 +++ Keyboard.java 12 Feb 2004 07:10:06 -0000 1.35 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002 Lightweight Java Game Library Project + * Copyright (c) 2002-2004 Lightweight Java Game Library Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,13 +44,15 @@ /** * $Id$ - * + * <br> * A raw Keyboard interface. This can be used to poll the current state of the * keys, or read all the keyboard presses / releases since the last read. * Buffering must be explicitly enabled; the size of the buffer is determined * by the native implementation at its discretion. * * @author cix_foo <ci...@us...> + * @author elias_naur <eli...@us...> + * @author Brian Matzon <br...@ma...> * @version $Revision$ */ public class Keyboard { @@ -320,7 +322,16 @@ private static native void nDestroy(); /** - * Polls the keyboard. + * Polls the keyboard for its current state. Access the polled values using the + * <code>isKeyDown</code> method. + * By using this method, it is possible to "miss" keyboard keys if you don't + * poll fast enough. To receive all events, enable buffering by calling + * <code>enableBuffer</code>, and read those events by calling <code>read</code> + * + * @see org.lwjgl.input.Keyboard#isKeyDown(int key) + * @see org.lwjgl.input.Keyboard#isStateKeySet(int key) + * @see org.lwjgl.input.Keyboard#enableBuffer() + * @see org.lwjgl.input.Keyboard#read() */ public static void poll() { assert created : "The keyboard has not been created."; @@ -336,7 +347,18 @@ private static native void nPoll(ByteBuffer keyDownBuffer); /** - * Reads the keyboard buffer. + * Reads all keyboard events since last read. + * To use these values, you have to call <code>next</code> for each event you + * want to read. You can query which key caused the event by using + * <code>getEventKey</code>. To get the state of that key, for that event, use + * <code>getEventKeyState</code> - finally use <code>getEventCharacter</code> to get the + * character for that event. + * + * @see org.lwjgl.input.Keyboard#next() + * @see org.lwjgl.input.Keyboard#enableBuffer() + * @see org.lwjgl.input.Keyboard#getEventKey() + * @see org.lwjgl.input.Keyboard#getEventKeyState() + * @see org.lwjgl.input.Keyboard#getEventCharacter() */ public static void read() { assert created : "The keyboard has not been created."; @@ -447,9 +469,15 @@ } /** - * Gets the next keyboard event. This is stored in the publicly accessible - * static fields key and state. - * @return true if a keyboard event was read, false otherwise + * Gets the next keyboard event. You can query which key caused the event by using + * <code>getEventKey</code>. To get the state of that key, for that event, use + * <code>getEventKeyState</code> - finally use <code>getEventCharacter</code> to get the + * character for that event. + * + * @see org.lwjgl.input.Keyboard#getEventKey() + * @see org.lwjgl.input.Keyboard#getEventKeyState() + * @see org.lwjgl.input.Keyboard#getEventCharacter() + * @return true if a keyboard event was read, false otherwise */ public static boolean next() { assert created : "The keyboard has not been created."; |
|
From: <ma...@us...> - 2004-02-12 07:04:59
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16949 Modified Files: Mouse.java Log Message: updated javadoc Index: Mouse.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/input/Mouse.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- Mouse.java 8 Feb 2004 20:38:33 -0000 1.34 +++ Mouse.java 12 Feb 2004 07:00:16 -0000 1.35 @@ -42,7 +42,7 @@ /** * $Id$ - * + * <br> * A raw Mouse interface. This can be used to poll the current state of the * mouse buttons, and determine the mouse movement delta since the last poll. * @@ -294,7 +294,20 @@ private static native void nDestroy(); /** - * Polls the mouse. + * Polls the mouse for its current state. Access the polled values using the + * get<value> methods. + * By using this method, it is possible to "miss" mouse click events if you don't + * poll fast enough. To receive all button events, enable buffering by calling + * <code>enableBuffer</code>, and read those events by calling <code>read</code> + * + * @see org.lwjgl.input.Mouse#isButtonDown(int button) + * @see org.lwjgl.input.Mouse#getX() + * @see org.lwjgl.input.Mouse#getY() + * @see org.lwjgl.input.Mouse#getDX() + * @see org.lwjgl.input.Mouse#getDY() + * @see org.lwjgl.input.Mouse#getDWheel() + * @see org.lwjgl.input.Mouse#enableBuffer() + * @see org.lwjgl.input.Mouse#read() */ public static void poll() { assert created : "The mouse has not been created."; @@ -329,7 +342,7 @@ /** * See if a particular mouse button is down. * - * @param button The index of the button you wish to test (0..buttonCount-1) + * @param button The index of the button you wish to test (0..getButtonCount-1) * @return true if the specified button is down */ public static boolean isButtonDown(int button) { @@ -385,7 +398,15 @@ private static native ByteBuffer nEnableBuffer() throws Exception; /** - * Reads the mouse buffer. + * Reads all button events since last read. + * To use these values, you have to call <code>next</code> for each event you + * want to read. You can query which button caused the event by using + * <code>getEventButton</code>. To get the state of that key, for that event, use + * <code>getEventButtonState</code>. + * + * @see org.lwjgl.input.Mouse#enableBuffer() + * @see org.lwjgl.input.Mouse#getEventButton() + * @see org.lwjgl.input.Mouse#getEventButtonState() */ public static void read() { assert created : "The mouse has not been created."; @@ -402,8 +423,11 @@ private static native int nRead(); /** - * Gets the next mouse event. This is stored in the publicly accessible - * static fields button and state. + * Gets the next mouse event. You can query which button caused the event by using + * <code>getEventButton()</code>. To get the state of that key, for that event, use + * <code>getEventButtonState</code>. + * @see org.lwjgl.input.Mouse#getEventButton() + * @see org.lwjgl.input.Mouse#getEventButtonState() * @return true if a mouse event was read, false otherwise */ public static boolean next() { |