I just finished a rather large update of LWJGL. It's in CVS and currently includes:
1. Merging of Display/Window into org.lwjgl.opengl.Display. This makes for an even simpler game loop and the ability to switch modes and windowed state and still keep the context. You can begin deleting your fancy texture managers that automatically reloads textures right now :-)
2. A new PixelFormat class for Display.create and Pbuffer.create instead of the ever growing list of arguments. PixelFormat includes support for accumulation buffer, aux buffers and stereo mode (untested).
3. Native stubs for GL and AL classes are now unloaded when no context is active. Avoids native crashes if you call gl/al functions after you've destroying the respective contexts.
4. Moved native stub loading into java. This should allow advanced users to simply include just those extensions you like and nothing else, saving LWJGL distribution size. For examples you could remove any other extension class than GL11, GL12, GL13 and ARBVertexBufferObject, ARBBufferObject.
5. More error checking and fixes
- elias
Any new native builds lying around in Denmark? :wink:
Wow, great work ! Can wait to use the future 1.0 released...
But I think I'll have to make modifications for all my demos/tutorials... But it doesn't matter, I think the display thing it nicer now !
Why, sure! Here's a zip containing win32 dll, linux so and the jar.
http://odense.kollegienet.dk/~naur/lwjgl-linux-win32-20040704.zip
- elias
Great! Gonna test it immediately! :)
And bye bye my great texture manager :(
Wow!! Seems to be rock-solid! The changes were straight-forward, and the new API is really a lot simpler! Great work!! :D
Ouch! Line 66 in Display.java .....
System.out.println("Current mode "+current_mode);
Pleeeease only log this out if Debug is enabled !!
No console output should ever be made "unasked".
Sorry. It's gone now.
- elias
Thanks :wink:
arg API broke ? thought it was frozen :cry:
Don't worry, the change is not very big (merged Window/Display) and it allows you to switch resolution and between fullscreen/windowed mode without recreating gl resources like textures.
- elias
Hi,
First I have to say this API is impressive, allowing programmers to quickly obtain such result .. well done !
I 'm new to this and I have to admit I have been firstly confused by the difference between CVS version and javadoc on the lwjgl site..
(Display / Window catch)
This had caused me some headaches :) because I kept trying to use some examples that worked with 0.9 but not cvs ones !
Now all is gone but I 'd like to see a small skeleton program that work with cvs version ?
Could it be possible ? thanks in advance !
lwjgl : the API that makes my life happy ;)
Javadoc for cvs builds will never be on the site, since it changes too rapidly and the upload would be annoying. That said, you should be able to check out any of the programs under org.lwjgl.test.* or org.lwjgl.examples.* for some code snippets - but basically you do a:
setDisplayMode(); // set width/height/bpp/freq
Display.setTitle(WINDOW_TITLE);
Display.setFullscreen(FULLSCREEN_ENABLED);
Display.create();
Sounds easy
Thanks for the cvs examples tips..
Here is all that I need !
Hi there, I fetched yesterday an anonymous cvs snapshot from sourceforge and tried to build it under linux: the ant build fails when trying to manipulate the native library since the name it uses is wrong (lacks a ".so"). The following (trivial) patch fixes the problem here (it seems the same is for the MacOs X library but since I've no Mac here I cannot be sure):
Index: build.xml
===================================================================
RCS file: /cvsroot/java-game-lib/LWJGL/build.xml,v
retrieving revision 1.26
diff -u -r1.26 build.xml
--- build.xml 2 Jul 2004 19:01:43 -0000 1.26
+++ build.xml 15 Jul 2004 17:41:37 -0000
@@ -203,7 +203,7 @@
<include name="build.sh"/>
</fileset>
</apply>
- <move file="${lwjgl.src.native}/.libs/liblwjgl.0.0.0" tofile="${lwjgl.lib}/liblwjgl.so"/>
+ <move file="${lwjgl.src.native}/.libs/liblwjgl.so.0.0.0" tofile="${lwjgl.lib}/liblwjgl.so"/>
</target>
<!-- Compiles LWJGL on Mac OS X platforms -->
Index: src/native/build.sh
===================================================================
RCS file: /cvsroot/java-game-lib/LWJGL/src/native/build.sh,v
retrieving revision 1.4
diff -u -r1.4 build.sh
--- src/native/build.sh 9 Mar 2004 09:36:53 -0000 1.4
+++ src/native/build.sh 15 Jul 2004 17:41:39 -0000
@@ -3,4 +3,4 @@
./autogen.sh
./configure
make
-strip .libs/liblwjgl.0.0.0
+strip .libs/liblwjgl.so.0.0.0
For posterity: to build the native library a recent automake version is required: 1.8.3 works fine here while previous automake 1.4-p6 failed miserably complaing about config.h and C. files.
Cheers
[edit]Fixed several typos [/edit]
I applied it.
- elias
And reverted again :-) It seems that on my machine, with automake 1.8.3 (SuSE 9.1) it still only produces a liblwjgl.0.0.0.
- elias