LWJGL Forum

Programming => Lightweight Java Gaming Library => Topic started by: Matzon on April 20, 2008, 20:52:02

Title: LWJGL 2.0 Beta 1 released
Post by: Matzon on April 20, 2008, 20:52:02
Yes, it's finally here!

This is the first beta and as such, might still have some issues. We will be working on updating the documentation/examples with some of the new features. If you want to help with the wiki, please contact me.

LWJGL 2.0 changes
Major changes
* fmod and devil removed
* dropped support for windows 9x
* glu moved to lwjgl_util
* glu now uses buffers instead of arrays
* New Display.setParent() feature allows you to embed the Display into an existing AWT canvas.
   For example, this allows for an existing LWJGL based application to be used in an applet without porting to AWTGLCanvas.
   This means the death of AWTInputAdapter
* Mac OS X: Added support for x86_64
* Linux: Using openal-soft instead of the creative (was more or less broken anyway)
* Support for lzma and pack200 in appletloader

Minor changes
* no more processMessages at isCloseRequested, isVisible, isDirty and isActive
* Removed 2D OpenGL initialization code from Display. It messes with the implicit, but well-defined, opengl default state and doesn't fit well with multiple context types (gl3 and d3d)
* NV_conditional_render extension added
* Lots of input/focus fixes

Get it here (https://sourceforge.net/project/showfiles.php?group_id=58488&package_id=54362&release_id=593726)

Remember to donate (http://lwjgl.org/donations.php) ;)
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on April 20, 2008, 20:55:37
oh, and special thanks to kappaOne for his work on the AppletLoader - much appreciated!
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on April 21, 2008, 07:46:58
the macosx build I was provided is not beta 1, I will publish a new version later tonight (and update this thread accordingly) fixed
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Evil-Devil on April 21, 2008, 08:22:16
Nice, dl it this evening. Just had the alpha4 for testing. Gonna try the Display.setParent() feature. Sounds neat :)
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Fool Running on April 22, 2008, 15:46:11
Keep up the good work, guys.  8)

I'm gonna try this out when I get home.
Title: Re: LWJGL 2.0 Beta 1 released
Post by: wazoo on April 23, 2008, 12:34:08
Woohoo!

Awesome stuff guys..going to definitely try out some of my ideas with this version!  :D

Title: Re: LWJGL 2.0 Beta 1 released
Post by: kappa on April 23, 2008, 13:12:05
incase you guys haven't already seen, nice demonstration of the applet stuff over at jgo http://www.javagaming.org/forums/index.php?topic=18539.0
Title: Re: LWJGL 2.0 Beta 1 released
Post by: wazoo on April 23, 2008, 14:28:56
*Tucks DirectX source code back into CVS*

SOLD!

*creates new repository*
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Jens v.P. on April 24, 2008, 12:30:17
As usual, I have also updated the Eclipse plugin. Since a plugin's version number must be numeric, I have called this version 1.9.1.
See http://www.fernuni-hagen.de/se/personen/pilgrim/gef3d/lwjgl.html (http://www.fernuni-hagen.de/se/personen/pilgrim/gef3d/lwjgl.html) for update site and more information.

BTW: I've noticed that Vectorxx.add(..) (and all the other static methods) still requires Vectorxx parameters instead of ReadableVectorxx. Do you plan to change this in the final release?
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on April 24, 2008, 18:07:14
Quote from: jpilgrim on April 24, 2008, 12:30:17
As usual, I have also updated the Eclipse plugin. Since a plugin's version number must be numeric, I have called this version 1.9.1.
See http://www.fernuni-hagen.de/se/personen/pilgrim/gef3d/lwjgl.html (http://www.fernuni-hagen.de/se/personen/pilgrim/gef3d/lwjgl.html) for update site and more information.
thanks

Quote from: jpilgrim on April 24, 2008, 12:30:17BTW: I've noticed that Vectorxx.add(..) (and all the other static methods) still requires Vectorxx parameters instead of ReadableVectorxx. Do you plan to change this in the final release?
No, there are some performance issues with accessing it interface wise.
Title: Re: LWJGL 2.0 Beta 1 released
Post by: dronus on April 30, 2008, 21:37:38
Ok, my first issues :-)

Concern the Display.setParent(Canvas) way of life:

-after Display.setParent(canvas), the Canvas' AWT Event System is just stone dead. That holds even if I do not create Mouse and Keyboard, also if I explicitely invoke Mouse.destroy(), Keyboard.destroy().  Canvas.processEvents() just don't receive anything.

-with a Canvas as parent Display.swapBuffers() stalls at first OS event (eg. Click on Window). Replacing by Display.update() works. I also overriden the Canvas' paint() and update() empty to not interefere GL.

Platform: WindowsXP.

Otherwise, looks nice :-]
Title: Re: LWJGL 2.0 Beta 1 released
Post by: oak on May 01, 2008, 19:01:43
Are you sure that 2.0b1.zip/native/linux/libopenal.so is the openal-soft one? The one I compiled (http://emanuelgreisen.dk/stuff/libopenal.so) works fine with lwjgl but the bundled one is as bad on Linux as earlier releases :-)

Also you might have to enable Alsa when you compile it. At least most modern Linux distros (with sounds cards) have alsa.
Title: Re: LWJGL 2.0 Beta 1 released
Post by: elias4444 on May 09, 2008, 00:43:42
Ok... big question:

Would you consider this version safe for an official game release?

I'm just about to release my latest game, but am thinking I want to move up for the better Linux sound and the option of eventually going with an applet.

Title: Re: LWJGL 2.0 Beta 1 released
Post by: princec on May 09, 2008, 08:25:24
I had a little trouble with it - mostly because of a broken Mac native which wasn't mentioned (bah). It seems fixed now and stable.

Cas :)
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on May 09, 2008, 09:08:30
Quote from: princec on May 09, 2008, 08:25:24
I had a little trouble with it - mostly because of a broken Mac native which wasn't mentioned (bah)
http://lwjgl.org/forum/index.php/topic,2607.msg14546.html#msg14546  :-*
Title: Something instead of DevIL
Post by: ScratchBoom on May 09, 2008, 21:59:33
What is the most appropriate way to load textures without DevIL?
Should I use java ImageIO API?
Title: Re: LWJGL 2.0 Beta 1 released
Post by: kappa on May 09, 2008, 22:13:02
the recommended replacement for both Devil and Fmod in lwjgl 2.0 is "slick-util" it can be found at http://slick.cokeandcode.com/downloads/util/
with javadoc being at http://slick.cokeandcode.com/javadoc-util/
Title: Re: LWJGL 2.0 Beta 1 released
Post by: elias4444 on May 14, 2008, 16:34:39
I think I found a bug.

On my Mac, Keyboard.KEY_TAB doesn't seem to be mapped properly.
This code:
if (Keyboard.isKeyDown(Keyboard.KEY_TAB) || mapisover) {
drawScores();
}

Returns false no matter what. I tried changing the key to something else, and then it worked.

Update:  Looks like TAB doesn't return anything at all. It's like a dead key according to LWJGL.
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on May 15, 2008, 20:15:27
@ Tab bug, confirming - used to work
Title: Re: LWJGL 2.0 Beta 1 released
Post by: paulscode on May 17, 2008, 11:36:04
I'm having some trouble with the lzma stuff in the 2.0b1 version of appletloader.

The Java Console shows:

Opening connection to: http://www.paulscode.com/source/SoundManager/13APR2008/Helicopter.jar
Opening connection to: http://www.paulscode.com/source/jpct/jpct.jar
Opening connection to: http://www.paulscode.com/source/lwjgl/JARs/lwjgl.jar.pack.lzma
Fatal error occured (4): Could not verify signing in resource: http://www.paulscode.com/source/lwjgl/JARs/lwjgl.jar.pack.lzma


Here is the html I am using:
<applet code="org.lwjgl.util.applet.AppletLoader"
archive="http://www.paulscode.com/source/lwjgl/JARs/lwjgl_util_applet.jar,
http://www.paulscode.com/source/lwjgl/JARs/lzma.jar"
codebase="." width="640" height="480">

<param name="al_title" value="Helicopter">
<param name="al_main" value="Helicopter">
<param name="al_logo" value="http://www.paulscode.com/source/lwjgl/paulscodelogo.png">
<param name="al_progressbar" value="http://www.paulscode.com/source/lwjgl/paulscodeprogress.gif">
<param name="al_jars"
value="http://www.paulscode.com/source/SoundManager/13APR2008/Helicopter.jar,
http://www.paulscode.com/source/jpct/jpct.jar,
http://www.paulscode.com/source/lwjgl/JARs/lwjgl.jar.pack.lzma,
http://www.paulscode.com/source/lwjgl/JARs/jinput.jar.pack.lzma,
http://www.paulscode.com/source/lwjgl/JARs/lwjgl_util.jar.pack.lzma,
http://www.paulscode.com/source/lwjgl/JARs/res.jar.lzma">
<param name="al_windows" value="http://www.paulscode.com/source/lwjgl/JARs/windows_natives.jar.lzma">
<param name="al_linux" value="http://www.paulscode.com/source/lwjgl/JARs/linux_natives.jar.lzma">
<param name="al_mac" value="http://www.paulscode.com/source/lwjgl/JARs/macosx_natives.jar.lzma">
   
<param name="al_version" value="0.4">
</applet>


The lzma files I am using are the ones distributed in lwjgl_applet-2.0b1.zip.  Anyone know what might be causing this problem?
Title: Re: LWJGL 2.0 Beta 1 released
Post by: Matzon on May 17, 2008, 11:40:57
this may be related to is because of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6697988
try adding a .htaccess file or similar
Title: Re: LWJGL 2.0 Beta 1 released
Post by: paulscode on May 17, 2008, 13:08:33
Quote from: Matzon on May 17, 2008, 11:40:57
this may be related to is because of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6697988
try adding a .htaccess file or similar

Yep, that fixed it.  Here is a more detailed explanation on how to fix the problem, for anoyone else who's a noob like me  ;D

1) Create a text file named ".htaccess".
If you are running Windows, it will complain, because that is not a valid filename, according to Bill.  You'll have to name it something like ".htaccess.txt", then rename it later after uploading it.

2) Edit the file you created, with notepad or other text editor.  Add the line:
AddType application/x-lzma .lzma

3) Save your file, and FTP it to wherever lwjgl_util_applet.jar and lzma.jar are located.  If necessary, rename your file ".htaccess" (remove the ".txt" extension)
Make sure you are allowed to use .htaccess before doing this!  Some of the things that .htaccess is able to do can compromise a server configuration.  For this reason, some web hosting companies may require them to be set up by an admin, so don't get in trouble.  You should CHMOD your .htaccess file to 644 (RW-R--R--) to prevent people from messing with it

That's it.  Thanks for the help, BTW!  My only suggestions would be to have a document related to the fix, included in the appletloader bundle.  Also, the plain old JAR's should be included, not just the LZMA's, just in case some users are not allowed to use .htaccess files -- at least until the Java bug is fixed.
Title: Re: LWJGL 2.0 Beta 1 released
Post by: kappa on May 17, 2008, 14:05:32
The latest version of appletloader (svn) includes a workaround for this so you don't have to worry about .htaccess files in future releases.
Title: Re: Something instead of DevIL
Post by: ndhb on May 18, 2008, 04:19:10
Quote from: ScratchBoom on May 09, 2008, 21:59:33
What is the most appropriate way to load textures without DevIL?
Should I use java ImageIO API?

I found that it is still possible to use DevIL with LWJGL 2. I simply copied the jar and dll files from the old archieve LWJGL 1.4 and everything seems to work.

Also, it is my opinion that we could use a library that offers a bit more than Slick currently does. Standard algorithms for image processing and more exotic formats (than just RGB 8bit, PNG, JPG etc.) is often needed for developing some cutting edge stuff.
Title: Re: Something instead of DevIL
Post by: Evil-Devil on May 26, 2008, 08:25:28
Quote from: ndhb on May 18, 2008, 04:19:10
Also, it is my opinion that we could use a library that offers a bit more than Slick currently does. Standard algorithms for image processing and more exotic formats (than just RGB 8bit, PNG, JPG etc.) is often needed for developing some cutting edge stuff.
What ya need? DDS, TGA?

For TGA i posted long time ago some stuff http://lwjgl.org/forum/index.php/topic,2439.msg13498.html#msg13498 and the DDS stuff i have is quite old too. You can take a look at DDS loading here: http://www.evil-devil.com/dlfiles/dds_loader.rar

Anyway, as i have to redo alot for my current project prototype i thought of making the textureloading stuff as own lib. Only think that really make me worry is how i do this without breaking my engine design. Maybe someone have some good ideas. My current engine attempt is multithreaded for gameloop, sound and ressource loading ;)

Maybe the textureloader itself don't have to be part of the lib, only the loading routines. Guess that might be enough at all. Any comments/thoughts about?