New features in CVS

Started by elias, July 04, 2004, 16:19:19

Previous topic - Next topic

elias

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

spasi

Any new native builds lying around in Denmark? :wink:

Chman

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 !

elias

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

indiana

Great! Gonna test it immediately!  :)

And bye bye my great texture manager  :(

indiana

Wow!! Seems to be rock-solid! The changes were straight-forward, and the new API is really a lot simpler! Great work!!  :D

indiana

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".

elias

Sorry. It's gone now.

- elias

indiana


vrm

arg API broke ? thought it was frozen   :cry:

elias

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

nicesun

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 ;)

Matzon

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();

nicesun

Sounds easy

Thanks for the cvs examples tips..

Here is all that I need !

mario

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]
ello, world!