Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Lightweight Java Game Library Alpha 0.4 Released  (Read 3687 times)
0 Members and 1 Guest are viewing this topic.
Offline elias

Senior Member





« Posted 2002-12-23 13:27:33 »

Yes, you heard it, lwjgl version 0.4 is released with the following changes (from the changelog):

Dynamic loading of OpenGL and OpenAL
- It is now possible to use parts of lwjgl, without requiring the user to have
   OpenGL or OpenAL installed.
   
Caption bar in windowed mode:
- When not running in fullscreen mode, the window displayed, will have a caption
  bar. This feature is work in progress, and will expand to better windowed support.
 
Bufixes:
- Many bugfixes, most notably the failure to create and register a window

Linux support:
- This release includes the first release for Linux.

NeHe tutorials:
- Also available is many of NeHe's OpenGL tutorials - located in the examples.jar

More tests
- More tests added - check the org.lwjgl.test package

API Changes:
- DisplayMode/Display.create changed a bit
- ALUT is gone, now using WaveData class which loads via java.sound.sampled instead of native wav loader
- Added some missing gl/glx/glu functions

(We consider the library to be essentially feature complete, so this might very well be the last alpha release before we head for a real lwjgl 1.0)

- elias

Offline vrm

Junior Member




where I should sign ?


« Reply #1 - Posted 2003-01-27 19:27:04 »

work nicely on linux

tips : the examples request the 640x480 mode if you haven't it in your XConfig, it will crash.

strange stuff : SPGL nvidia alloc in AGP doesn't work (no Cas, it's not my Bios config Tongue)
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #2 - Posted 2003-01-27 23:06:44 »

'sfunny, seems to work for me. How do you know it's not working?

Cas Smiley

Games published by our own members! Check 'em out!
Play the free demo of Revenge of the Titans!
Offline vrm

Junior Member




where I should sign ?


« Reply #3 - Posted 2003-01-28 06:03:07 »

wasn't working on elias comp too,

but the strange is you placed error handling everywhere, but a putInt finish in a segfault.

like it's allocating sucessfully, but not Smiley

cat /proc/driver/nvidia/agp/card
Fast Writes:     Supported
SBA:             Not Supported
AGP Rates:       2x 1x
Registers:       0x1f000013:0x1f000102

cat /proc/driver/nvidia/agp/status
Status:          Enabled
Driver:          AGPGART
AGP Rate:        2x
Fast Writes:     Disabled
SBA:             Disabled

don't bother too much with that, I'll try to find by myself Smiley I want to understand how it work.
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #4 - Posted 2003-01-28 10:51:48 »

ahhh.... are you using Linux perchance?

Cas Smiley

Offline Matzon
« League of Dukes »

JGO Knight


Medals: 13
Projects: 2


I'm gonna wring your pants!


« Reply #5 - Posted 2003-01-28 11:26:19 »

Huh

Quote
cat /proc/driver/nvidia/agp/card

Quote
segfault


isn't enough to give away his OS?  Roll Eyes

Offline vrm

Junior Member




where I should sign ?


« Reply #6 - Posted 2003-01-28 11:49:02 »

thats too easy ...   Cry
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #7 - Posted 2003-01-28 12:30:10 »

Ah, well it doesn't work on Linux. Behold:

1  
2  
3  
4  
5  
6  
7  
            if (gl.NV_vertex_array_range || gl.NV_vertex_array_range2) {
                  agp = new MemoryBuffer(Sys.createDirectBuffer(GL.wglAllocateMemoryNV(length, 0, 0, 0.5f), length));
                  if (agp == null)
                        throw new OutOfMemoryError("Failed to reserve AGP ram.");
                  size = length;
                  System.out.println("Reserved " + length + " bytes of AGP RAM");
            }


It checks for NV_vertex_array_range, as it should, but doesn't check for the existence of wglAllocateMemoryNV. This is a shortcoming of LWJGL I think because I've just realised there's no way to easily check if that function is available. (In fact, it should segfault here as it'll be calling a null function - unless Nvidia are doing something weird and providing a dummy even for Linux).

Anyone know how to get AGP ram under Linux/Nvidia combinations? (Or OSX for that matter?)

Cas Smiley

Offline elias

Senior Member





« Reply #8 - Posted 2003-01-28 12:50:22 »

Why don't you check for the appropriate extension? Or is the extension the same on all OpenGL systems, so one needs to differentiate between wgl,glx and agl? On glx systems, it's glXAllocateMemoryNV(...)


- elias

Offline alexz

Senior Newbie




Java games rock!


« Reply #9 - Posted 2003-01-28 12:52:53 »

I think that there should be glXAllocateMemoryNV() and glXFreeMemoryNV()...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #10 - Posted 2003-01-28 13:17:23 »

Yes, unfortunately the extension is the same on all systems but the underlying windowing call differs. We need the glX code, whatever OSX uses, and a way to know which one to call which doesn't rely on hacks and strings. Or maybe we abstract all of them down into the .dll and have one call. Which is my preferred option as there's very little merit leaving this in Java, except for the fact that it's a vendor-specific extension that we're writing native code for which I'm not so happy about.

Cas Smiley

Offline elias

Senior Member





« Reply #11 - Posted 2003-01-28 13:21:31 »

I'd say one call - allocateMemoryNV(..) that is different on the dll level. That seems like the easiest way of doing it.

Offline alexz

Senior Newbie




Java games rock!


« Reply #12 - Posted 2003-01-28 13:52:14 »

Unfortunately generalization won't help much if you are going to support all of the three platforms. There is no NV_vertex_array_range on MacOS X but there we've got its brother - APPLE_vertex_array_range (yes, on GeForce)... So the game code will look like the following crap is placed everywhere across the drawing code:


if (isWin32 || isLinux)
   ... go with NV_vertex_array_range
else
   ... go with APPLE_vertex_array_range


Sad

Please provide wgl/glx/agl extensions for LWJGL in a way similar to regular OpenGL extensions so it will be possible to deal with them directly...  :-/
Offline vrm

Junior Member




where I should sign ?


« Reply #13 - Posted 2003-01-28 16:42:40 »

arf they prolly tryed to mask ATI & Nvidia diffs ?
Offline alexz

Senior Newbie




Java games rock!


« Reply #14 - Posted 2003-01-28 19:22:12 »

Personaly I don't need the masking... there will be cases when similar extensions need different things. IMO it's good to have wgl/glx/agl extension mechanism and platform detection methods (in the Sys class?) to get the best of each extension available.
Offline cfmdobbie

Senior Member




Who, me?


« Reply #15 - Posted 2003-01-29 12:15:29 »

[size=5]Hurrah![/size]


With release 0.4 my laptop is finally able to open a rendering window.  I now have the raw power of an 8MB Savage/IX at my command. Grin

One small comment - as fundamental things like the constructor for GL and the way you obtain a DisplayMode have changed, most users' first point of contact (the OpenGL skeleton code) is totally broken. Wink

Hellomynameis Charlie Dobbie.
Offline Matzon
« League of Dukes »

JGO Knight


Medals: 13
Projects: 2


I'm gonna wring your pants!


« Reply #16 - Posted 2003-01-29 14:22:09 »

Quote
point of contact (the OpenGL skeleton code) is totally broken.


Yeah -  it's on the official todo list - in fact I think I will fix it tonight - unless Cas beats me to it *hint*

Offline cfmdobbie

Senior Member




Who, me?


« Reply #17 - Posted 2003-01-30 20:45:28 »

Someone's updated it - cheers!

Hellomynameis Charlie Dobbie.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars and Titan!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (84 views)
2013-05-17 21:29:12

alaslipknot (92 views)
2013-05-16 21:24:48

gouessej (123 views)
2013-05-16 00:53:38

gouessej (115 views)
2013-05-16 00:17:58

theagentd (127 views)
2013-05-15 15:01:13

theagentd (114 views)
2013-05-15 15:00:54

StreetDoggy (158 views)
2013-05-14 15:56:26

kutucuk (180 views)
2013-05-12 17:10:36

kutucuk (180 views)
2013-05-12 15:36:09

UnluckyDevil (187 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.097 seconds with 21 queries.