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
(2) |
3
(3) |
4
|
5
|
6
|
7
(4) |
|
8
(1) |
9
|
10
|
11
(5) |
12
|
13
|
14
(1) |
|
15
(2) |
16
|
17
|
18
|
19
(26) |
20
|
21
|
|
22
(1) |
23
(3) |
24
(6) |
25
(1) |
26
(3) |
27
(1) |
28
(2) |
|
29
(5) |
30
(2) |
|
|
|
|
|
|
From: <ma...@us...> - 2007-04-11 20:33:09
|
Revision: 2766
http://svn.sourceforge.net/java-game-lib/?rev=2766&view=rev
Author: matzon
Date: 2007-04-11 13:33:07 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
tagging 1.1
Added Paths:
-----------
tags/lwjgl1.1/
Copied: tags/lwjgl1.1 (from rev 2765, trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2007-04-11 20:32:47
|
Revision: 2764
http://svn.sourceforge.net/java-game-lib/?rev=2764&view=rev
Author: matzon
Date: 2007-04-11 13:32:12 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
1.1 version string
Modified Paths:
--------------
trunk/LWJGL/build.xml
trunk/LWJGL/src/java/org/lwjgl/Sys.java
trunk/LWJGL/src/java/org/lwjgl/devil/ILNative.java
trunk/LWJGL/src/java/org/lwjgl/fmod3/FMOD.java
Modified: trunk/LWJGL/build.xml
===================================================================
--- trunk/LWJGL/build.xml 2007-04-11 17:30:13 UTC (rev 2763)
+++ trunk/LWJGL/build.xml 2007-04-11 20:32:12 UTC (rev 2764)
@@ -13,7 +13,7 @@
<property name="lwjgl.docs" location="doc" />
<property name="lwjgl.temp" location="temp" />
<property name="lwjgl.res" location="res" />
- <property name="lwjgl.version" value="1.0.1" />
+ <property name="lwjgl.version" value="1.1" />
<property name="opengl-template-pattern" value="org/lwjgl/opengl/GL*.java,org/lwjgl/opengl/ARB*.java,org/lwjgl/opengl/ATI*.java,org/lwjgl/opengl/EXT*.java,org/lwjgl/opengl/NV*.java,org/lwjgl/opengl/HP*.java,org/lwjgl/opengl/IBM*.java,org/lwjgl/opengl/SUN*.java,org/lwjgl/opengl/SGIS*.java"/>
<!-- ================================================================== -->
Modified: trunk/LWJGL/src/java/org/lwjgl/Sys.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/Sys.java 2007-04-11 17:30:13 UTC (rev 2763)
+++ trunk/LWJGL/src/java/org/lwjgl/Sys.java 2007-04-11 20:32:12 UTC (rev 2764)
@@ -54,7 +54,7 @@
private static final String JNI_LIBRARY_NAME = "lwjgl";
/** Current version of library */
- private static final String VERSION = "1.0.1";
+ private static final String VERSION = "1.1";
/** Current version of the JNI library */
static final int JNI_VERSION = 8;
Modified: trunk/LWJGL/src/java/org/lwjgl/devil/ILNative.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/devil/ILNative.java 2007-04-11 17:30:13 UTC (rev 2763)
+++ trunk/LWJGL/src/java/org/lwjgl/devil/ILNative.java 2007-04-11 20:32:12 UTC (rev 2764)
@@ -53,7 +53,7 @@
private static String JNI_LIBRARY_NAME = "lwjgl-devil";
/** Version of IL */
- static final String VERSION = "1.0.1";
+ static final String VERSION = "1.1";
/** Current version of the JNI library */
static final int JNI_VERSION = 2;
Modified: trunk/LWJGL/src/java/org/lwjgl/fmod3/FMOD.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/fmod3/FMOD.java 2007-04-11 17:30:13 UTC (rev 2763)
+++ trunk/LWJGL/src/java/org/lwjgl/fmod3/FMOD.java 2007-04-11 20:32:12 UTC (rev 2764)
@@ -193,7 +193,7 @@
private static String JNI_LIBRARY_NAME = "lwjgl-fmod3";
/** Version of FMOD */
- private static final String VERSION = "1.0.1";
+ private static final String VERSION = "1.1";
/** Current version of the JNI library */
static final int JNI_VERSION = 1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2007-04-11 20:32:46
|
Revision: 2765
http://svn.sourceforge.net/java-game-lib/?rev=2765&view=rev
Author: matzon
Date: 2007-04-11 13:32:27 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
nuking unreleases 1.0.1
Removed Paths:
-------------
tags/lwjgl1.0.1/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <eli...@us...> - 2007-04-11 17:30:15
|
Revision: 2763
http://svn.sourceforge.net/java-game-lib/?rev=2763&view=rev
Author: elias_naur
Date: 2007-04-11 10:30:13 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
Added support for non-direct buffers for all functions that doesn't cache the buffer address at the native side (e.g. glVertexPointer). Reasons:
1. We can now support calls like "glLight(..., ..., FloatBuffer.wrap(new float[] {...}));" without worrying about running out of direct memory heap,
since both the FloatBuffer and the array are allocated on the java heap. Future JVMs with stack allocation support could improve this even further.
2. We avoid getting in the way of users that doesn't (yet) know why direct buffers are important.
Obviously, we'd like direct support for arrays, but non-direct buffers are a nice compromise that avoids the API bloat that results when almost all
functions gain an overloaded versions that take arrays instead of buffers.
Notes:
1. Non-direct buffer support should not affect the performance in the direct buffer case, since the non-direct buffer code path is only activated
when the isDirect() check fails, and we were already checking isDirect() for sanity checking.
2. When using non-direct buffers, the buffer contents (remaining() bytes) are copied to a resizable ThreadLocal cached direct buffer (which is
resized as needed) and used instead of the non-direct buffer. Thus, performance of non-direct buffers is lower than direct buffers.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java
trunk/LWJGL/src/java/org/lwjgl/test/opengl/Gears.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
Added Paths:
-----------
trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java
Modified: trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-11 16:13:05 UTC (rev 2762)
+++ trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-11 17:30:13 UTC (rev 2763)
@@ -43,6 +43,8 @@
* <p>A class to check buffer boundaries in general. If there is unsufficient space
* in the buffer when the call is made then a buffer overflow would otherwise
* occur and cause unexpected behaviour, a crash, or worse, a security risk.
+ *
+ * Internal class, don't use.
* </p>
* @author cix_foo <ci...@us...>
* @author elias_naur <eli...@us...>
@@ -177,7 +179,7 @@
* The minimum buffer size
* @throws IllegalArgumentException
*/
- private static void checkBufferSize(Buffer buf, int size) {
+ public static void checkBufferSize(Buffer buf, int size) {
if (buf.remaining() < size) {
throwBufferSizeException(buf, size);
}
Added: trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java (rev 0)
+++ trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java 2007-04-11 17:30:13 UTC (rev 2763)
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2002-2004 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjgl;
+
+import java.nio.ByteBuffer;
+import java.nio.ShortBuffer;
+import java.nio.IntBuffer;
+import java.nio.FloatBuffer;
+import java.nio.LongBuffer;
+import java.nio.DoubleBuffer;
+import java.nio.ByteOrder;
+
+/**
+ * Utility class to cache thread local direct buffers so when we are passed a non-direct buffer,
+ * we can put its contents into a cached direct buffer and use that at the native side instead.
+ *
+ * Internal class, don't use.
+ * @author elias_naur <eli...@us...>
+ * @version $Revision: 2762 $
+ * $Id: BufferChecks.java 2762 2007-04-11 16:13:05Z elias_naur $
+ */
+public final class NondirectBufferWrapper {
+ private final static int INITIAL_BUFFER_SIZE = 1;
+
+ private final static ThreadLocal thread_buffer = new ThreadLocal() {
+ protected final Object initialValue() {
+ return new CachedBuffers(INITIAL_BUFFER_SIZE);
+ }
+ };
+
+ private static CachedBuffers getCachedBuffers(int minimum_byte_size) {
+ CachedBuffers buffers = (CachedBuffers)thread_buffer.get();
+ int current_byte_size = buffers.byte_buffer.capacity();
+ if (minimum_byte_size > current_byte_size) {
+ buffers = new CachedBuffers(minimum_byte_size);
+ thread_buffer.set(buffers);
+ }
+ return buffers;
+ }
+
+ public static ByteBuffer wrapBufferOrNull(ByteBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static ShortBuffer wrapBufferOrNull(ShortBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static IntBuffer wrapBufferOrNull(IntBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static LongBuffer wrapBufferOrNull(LongBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static FloatBuffer wrapBufferOrNull(FloatBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static DoubleBuffer wrapBufferOrNull(DoubleBuffer buf, int size) {
+ if (buf != null)
+ return wrapBuffer(buf, size);
+ return buf;
+ }
+
+ public static ByteBuffer wrapBuffer(ByteBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static ShortBuffer wrapBuffer(ShortBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static IntBuffer wrapBuffer(IntBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static LongBuffer wrapBuffer(LongBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static FloatBuffer wrapBuffer(FloatBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static DoubleBuffer wrapBuffer(DoubleBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapDirect(buf);
+ }
+
+ public static ByteBuffer wrapDirectOrNull(ByteBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static ShortBuffer wrapDirectOrNull(ShortBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static FloatBuffer wrapDirectOrNull(FloatBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static IntBuffer wrapDirectOrNull(IntBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static LongBuffer wrapDirectOrNull(LongBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static DoubleBuffer wrapDirectOrNull(DoubleBuffer buffer) {
+ if (buffer != null)
+ return wrapDirect(buffer);
+ return buffer;
+ }
+
+ public static ByteBuffer wrapDirect(ByteBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ public static ShortBuffer wrapDirect(ShortBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ public static FloatBuffer wrapDirect(FloatBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ public static IntBuffer wrapDirect(IntBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ public static LongBuffer wrapDirect(LongBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ public static DoubleBuffer wrapDirect(DoubleBuffer buffer) {
+ if (!buffer.isDirect())
+ return doWrap(buffer);
+ return buffer;
+ }
+
+ private static ByteBuffer doWrap(ByteBuffer buffer) {
+ ByteBuffer direct_buffer = getCachedBuffers(buffer.remaining()).byte_buffer;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private static ShortBuffer doWrap(ShortBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*2);
+ ShortBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.short_buffer_little : buffers.short_buffer_big;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private static FloatBuffer doWrap(FloatBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
+ FloatBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.float_buffer_little : buffers.float_buffer_big;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private static IntBuffer doWrap(IntBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
+ IntBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.int_buffer_little : buffers.int_buffer_big;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private static LongBuffer doWrap(LongBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
+ LongBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.long_buffer_little : buffers.long_buffer_big;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private static DoubleBuffer doWrap(DoubleBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
+ DoubleBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.double_buffer_little : buffers.double_buffer_big;
+ direct_buffer.clear();
+ int saved_position = buffer.position();
+ direct_buffer.put(buffer);
+ buffer.position(saved_position);
+ direct_buffer.flip();
+ return direct_buffer;
+ }
+
+ private final static class CachedBuffers {
+ private final ByteBuffer byte_buffer;
+ private final ShortBuffer short_buffer_big;
+ private final IntBuffer int_buffer_big;
+ private final FloatBuffer float_buffer_big;
+ private final LongBuffer long_buffer_big;
+ private final DoubleBuffer double_buffer_big;
+ private final ShortBuffer short_buffer_little;
+ private final IntBuffer int_buffer_little;
+ private final FloatBuffer float_buffer_little;
+ private final LongBuffer long_buffer_little;
+ private final DoubleBuffer double_buffer_little;
+
+ private CachedBuffers(int size) {
+ this.byte_buffer = ByteBuffer.allocateDirect(size);
+ this.short_buffer_big = byte_buffer.asShortBuffer();
+ this.int_buffer_big = byte_buffer.asIntBuffer();
+ this.float_buffer_big = byte_buffer.asFloatBuffer();
+ this.long_buffer_big = byte_buffer.asLongBuffer();
+ this.double_buffer_big = byte_buffer.asDoubleBuffer();
+ this.byte_buffer.order(ByteOrder.LITTLE_ENDIAN);
+ this.short_buffer_little = byte_buffer.asShortBuffer();
+ this.int_buffer_little = byte_buffer.asIntBuffer();
+ this.float_buffer_little = byte_buffer.asFloatBuffer();
+ this.long_buffer_little = byte_buffer.asLongBuffer();
+ this.double_buffer_little = byte_buffer.asDoubleBuffer();
+ }
+ }
+}
Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/Gears.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/test/opengl/Gears.java 2007-04-11 16:13:05 UTC (rev 2762)
+++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/Gears.java 2007-04-11 17:30:13 UTC (rev 2763)
@@ -156,18 +156,14 @@
Display.setLocation((Display.getDisplayMode().getWidth() - 300) / 2,
(Display.getDisplayMode().getHeight() - 300) / 2);
Display.setDisplayMode(new DisplayMode(300, 300));
- Display.setTitle("Gears");
+ Display.setTitle("Gears");
Display.create();
// setup ogl
- FloatBuffer pos = BufferUtils.createFloatBuffer(4).put(new float[] { 5.0f, 5.0f, 10.0f, 0.0f});
- FloatBuffer red = BufferUtils.createFloatBuffer(4).put(new float[] { 0.8f, 0.1f, 0.0f, 1.0f});
- FloatBuffer green = BufferUtils.createFloatBuffer(4).put(new float[] { 0.0f, 0.8f, 0.2f, 1.0f});
- FloatBuffer blue = BufferUtils.createFloatBuffer(4).put(new float[] { 0.2f, 0.2f, 1.0f, 1.0f});
- pos.flip();
- red.flip();
- green.flip();
- blue.flip();
+ FloatBuffer pos = FloatBuffer.wrap(new float[] { 5.0f, 5.0f, 10.0f, 0.0f});
+ FloatBuffer red = FloatBuffer.wrap(new float[] { 0.8f, 0.1f, 0.0f, 1.0f});
+ FloatBuffer green = FloatBuffer.wrap(new float[] { 0.0f, 0.8f, 0.2f, 1.0f});
+ FloatBuffer blue = FloatBuffer.wrap(new float[] { 0.2f, 0.2f, 1.0f, 1.0f});
GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, pos);
GL11.glEnable(GL11.GL_CULL_FACE);
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2007-04-11 16:13:05 UTC (rev 2762)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2007-04-11 17:30:13 UTC (rev 2763)
@@ -171,6 +171,7 @@
java_writer.println();
java_writer.println("import org.lwjgl.LWJGLException;");
java_writer.println("import org.lwjgl.BufferChecks;");
+ java_writer.println("import org.lwjgl.NondirectBufferWrapper;");
java_writer.println("import java.nio.*;");
java_writer.println();
java_writer.print("public ");
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-11 16:13:05 UTC (rev 2762)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-11 17:30:13 UTC (rev 2763)
@@ -425,7 +425,8 @@
}
boolean null_terminated = param.getAnnotation(NullTerminated.class) != null;
if (Buffer.class.isAssignableFrom(java_type)) {
- printParameterCheck(writer, param.getSimpleName(), check_value, can_be_null, null_terminated);
+ boolean indirect_buffer_allowed = param.getAnnotation(CachedReference.class) == null;
+ printParameterCheck(writer, param.getSimpleName(), check_value, can_be_null, null_terminated, indirect_buffer_allowed);
} else if (String.class.equals(java_type)) {
if (!can_be_null)
writer.println("\t\tBufferChecks.checkNotNull(" + param.getSimpleName() + ");");
@@ -433,11 +434,14 @@
}
}
if (method.getAnnotation(CachedResult.class) != null)
- printParameterCheck(writer, Utils.CACHED_BUFFER_NAME, null, true, false);
+ printParameterCheck(writer, Utils.CACHED_BUFFER_NAME, null, true, false, false);
}
- private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated) {
- writer.print("\t\tBufferChecks.check");
+ private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated, boolean indirect_buffer_allowed) {
+ if (indirect_buffer_allowed)
+ writer.print("\t\t" + name + " = NondirectBufferWrapper.wrap");
+ else
+ writer.print("\t\tBufferChecks.check");
if (check_value != null && !"".equals(check_value) ) {
writer.print("Buffer");
if (can_be_null)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <eli...@us...> - 2007-04-11 16:13:08
|
Revision: 2762
http://svn.sourceforge.net/java-game-lib/?rev=2762&view=rev
Author: elias_naur
Date: 2007-04-11 09:13:05 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
Moved null check from generated code to BufferChecks and removed unused buffer checks
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
Modified: trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-08 21:33:35 UTC (rev 2761)
+++ trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-11 16:13:05 UTC (rev 2762)
@@ -124,23 +124,6 @@
/**
* Helper methods to ensure a buffer is direct (and, implicitly, non-null).
*/
- public static void checkDirectBuffer(Buffer buf) {
- if (buf instanceof FloatBuffer)
- checkDirect((FloatBuffer)buf);
- else if (buf instanceof ByteBuffer)
- checkDirect((ByteBuffer)buf);
- else if (buf instanceof ShortBuffer)
- checkDirect((ShortBuffer)buf);
- else if (buf instanceof IntBuffer)
- checkDirect((IntBuffer)buf);
- else if (buf instanceof LongBuffer)
- checkDirect((LongBuffer)buf);
- else if (buf instanceof DoubleBuffer)
- checkDirect((DoubleBuffer)buf);
- else
- throw new IllegalStateException("Unsupported buffer type");
- }
-
public static void checkDirect(ByteBuffer buf) {
if (!buf.isDirect()) {
throw new IllegalArgumentException("ByteBuffer is not direct");
@@ -231,36 +214,41 @@
}
/**
- * Helper methods to ensure a buffer is big enough to receive data from a
- * glGet* operation. To avoid unnecessarily complex buffer size checking
- * we've just set the bar artificially high and insist that any receiving
- * buffer has at least 4 remaining().
- *
- * @param buf
- * The buffer to check
- * @throws IllegalArgumentException
+ * Helper methods to ensure a buffer is direct, has a minimum size or null.
*/
- public static void checkBuffer(ByteBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(ByteBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
- public static void checkBuffer(ShortBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(ShortBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
- public static void checkBuffer(IntBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(IntBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
- public static void checkBuffer(LongBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(LongBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
- public static void checkBuffer(FloatBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(FloatBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
- public static void checkBuffer(DoubleBuffer buf) {
- checkBuffer(buf, DEFAULT_BUFFER_SIZE);
+ public static void checkBufferOrNull(DoubleBuffer buf, int size) {
+ if (buf != null) {
+ checkBuffer(buf, size);
+ }
}
}
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-08 21:33:35 UTC (rev 2761)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-11 16:13:05 UTC (rev 2762)
@@ -437,15 +437,16 @@
}
private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated) {
- if (can_be_null) {
- writer.println("\t\tif (" + name + " != null)");
- writer.print("\t");
- }
writer.print("\t\tBufferChecks.check");
if (check_value != null && !"".equals(check_value) ) {
- writer.print("Buffer(" + name + ", " + check_value);
+ writer.print("Buffer");
+ if (can_be_null)
+ writer.print("OrNull");
+ writer.print("(" + name + ", " + check_value);
} else {
writer.print("Direct");
+ if (can_be_null)
+ writer.print("OrNull");
writer.print("(" + name);
}
writer.println(");");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|