Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (542)
Games in Android Showcase (133)
games submitted by our members
Games in WIP (604)
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  
  Official OpenGL 3.0 support / How dead is JOGL?  (Read 5331 times)
0 Members and 1 Guest are viewing this topic.
Offline krausest

Junior Devvie


Exp: 15 years


I love YaBB 1G - SP1!


« Posted 2008-12-19 12:58:10 »

Now that nvidia offers official opengl 3.0 support and JOGL offers no opengl 3 support I start to wonder whether JOGL is actually as dead as it currently seems. Is there any hope that after JavaFX has been pushed out we'll see opengl 3.0 support and new nightly builds?
Offline gibe

Junior Devvie





« Reply #1 - Posted 2008-12-19 13:31:16 »

JOGL is not dead: http://www.java-gaming.org/topics/jogl-es-binding/19251/view.html.
Offline Riven
« League of Dukes »

« JGO Overlord »


Medals: 849
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #2 - Posted 2008-12-19 16:56:36 »

OpenGL 3.0 is not that interesting anyway, as it doesn't support geometry shaders and all other promised fancy stuff... yet.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #3 - Posted 2008-12-19 18:42:25 »

OpenGL 3.0 is not that interesting anyway, as it doesn't support geometry shaders and all other promised fancy stuff... yet.
Well it always depends what you want to do but there is already some fancy stuff in it. Async vbo updates, texture arrays and AFAIK all OpenGL3.0 ready cards support geometry shaders via extension (GF8 and later).

But i agree GL 3.1 will look cleaner since it removes the now deprecated features.

Offline krausest

Junior Devvie


Exp: 15 years


I love YaBB 1G - SP1!


« Reply #4 - Posted 2008-12-19 19:32:56 »

Thanks for your answers - at least the community seems to be alive ;-)

Good to see that there is a momentum for JOGL (even if it's seem to be focused on OpenGL ES), but still a bit disappointing that there seem to be no GL 3 features in the JOGL_2_SANDBOX branch.
I really hoped that the official binding would keep up with current versions. I think I'll switch to LWJGL, since I want to play with the GL_EXT_direct_state_access extension.
Offline irreversible_kev

Junior Devvie





« Reply #5 - Posted 2008-12-19 20:09:33 »

I have seen a few people raving about the "GL_EXT_direct_state_access" extension and I get the impression it will play a large part in the future of OpenGL. But i'm not quite sure what it acctually does....

Does it allow the API to be more object orientated & faster in some way? (I read that it will help to get rid of the "bind" concept, and help to make the API more similar to DirectX)

A "hacked" version of JOGL was posted on these forums with 3.0 support. http://www.java-gaming.org/topics/jogl-and-opengl-3/19129/msg/150960/view.html#msg150960

EDIT: Ah yes you can load a matrix without setting the matrix mode

glMatrixLoadfEXT(GL_MODELVIEW, matrix);

EDIT2:

   (27) What feedback has Id Software given on this extension?
        John Carmack:  "This should have happened a long time ago."

EDIT3:

Very interesting post at gamedev.net giving examples of the benefits of DirectStateAccess : http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=243609#Post243609

Offline gouessej
« Reply #6 - Posted 2008-12-25 09:57:32 »

Thanks for your answers - at least the community seems to be alive ;-)

Good to see that there is a momentum for JOGL (even if it's seem to be focused on OpenGL ES), but still a bit disappointing that there seem to be no GL 3 features in the JOGL_2_SANDBOX branch.
I really hoped that the official binding would keep up with current versions. I think I'll switch to LWJGL, since I want to play with the GL_EXT_direct_state_access extension.
Maybe it is not a good idea to switch to LWJGL only for this feature.

Offline irreversible_kev

Junior Devvie





« Reply #7 - Posted 2008-12-25 10:42:25 »

Maybe it is not a good idea to switch to LWJGL only for this feature.

Yes, absolutely right.

We have to remember that LWJGL is extremely evil and we have to be thankful that JOGL has come to save us.
Offline gouessej
« Reply #8 - Posted 2008-12-27 09:21:08 »

We have to remember that LWJGL is extremely evil and we have to be thankful that JOGL has come to save us.
That is not why I meant, sorry. But I really wonder if it is enough to switch to LWJGL just for a particular feature. Is it really a "must-have" feature?

Offline krausest

Junior Devvie


Exp: 15 years


I love YaBB 1G - SP1!


« Reply #9 - Posted 2008-12-28 20:48:20 »

But I really wonder if it is enough to switch to LWJGL just for a particular feature. Is it really a "must-have" feature?
It depends - from a OpenGL user's view it isn't, but from a OpenGL programmer's view it is.
Anyways JOGL's promise (at least my view of it) was to be the Sun endorsed OpenGL API. That's what I'm looking for (I was sick of all the short lived OpenGL extensions C++ wrappers), but if JOGL fails to support OpenGL 3 now (though as we've seen it shouldn't be too difficult - just a bunch of extensions and maybe some initialization stuff) then I lose confidence that JOGL will support the next revisions of OpenGL in time.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Riven
« League of Dukes »

« JGO Overlord »


Medals: 849
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #10 - Posted 2008-12-28 21:57:32 »

As for the short lived comment, LWJGL is older than JOGL.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social
Offline princec

« JGO Spiffy Duke »


Medals: 439
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #11 - Posted 2008-12-28 23:26:03 »

Lots older.

And better, of course Wink

Cas Smiley

Offline jezek2
« Reply #12 - Posted 2008-12-29 03:27:32 »

Personally I don't know why JOGL exists. It tries to have object oriented approach on too low level and imposes arbitrary limits that OpenGL doesn't have. LWJGL on the other hand gives you exactly the same OpenGL API as is, eg. functions are static methods and can be called at any time as long as you have OpenGL context current on current thread. Exactly as in OpenGL in native code.

This conclusion is derived from my own experience with handling OpenGL. I did several attempts until I finally found the right choice. It began as simple utility classes which worked for awhile, but then things were getting messier and messier. Ok, I did a better object oriented abstraction which exposed all the state etc. it looked cool, so I've rewritten all my apps to it (and it wasn't that straightforward sometimes) and was happy for some time... then I started realizing how messy it is and realized that it's the very bad way of doing things.

I needed something that is realiable from API view, uses modern rendering approach that is shader-centric (= same as current HW implementations). This means my new library has reversed approach, you set shader and it's inputs (uniforms, vertex data, etc.) and there is minimal set of states (eg. some fixed functionality is grouped into few classes containg more states, which can be replaced as a group). It requires Shader Model 2.0 or better. After I've again rewritten all my apps to it (which was even more painful as it diverged from original OpenGL pretty much, practically I did more a rewrite as I did also other things badly), I'm very very happy now and finally feel confident it's the right apporach. Nice object oriented, still low-level (nothing engine specific is there, just better exposing of HW) and reliable by design (just few state groups to handle and easy to reset to known default state).

My experience concludes that JOGL has stuck with the first design of mine and thus it's FAIL. You know when design of something is flawed then it's needed to move on and use better one. LWJGL does exactly what it has to do on it's level, eg. exposing just OpenGL as is.
Offline krausest

Junior Devvie


Exp: 15 years


I love YaBB 1G - SP1!


« Reply #13 - Posted 2008-12-30 18:57:18 »

Personally I don't know why JOGL exists. It tries to have object oriented approach on too low level and imposes arbitrary limits that OpenGL doesn't have.

Can you please explain what limits JOGL imposes? I don't know any GL feature that LWJGL supports and JOGL does not (except GL3 of course). And I'm the greatest fan of DebugGL (and it's the object oriented approach that makes that decorator easily possible) - if I had had that with C++ it would have saved me much frustration. Is there something like that in LWJGL?

Another question: Do you LWJGL users really know to which GL revision or extension a specific function belongs (I don't) or do you have static import blocks that you simply copy each time?
Offline Riven
« League of Dukes »

« JGO Overlord »


Medals: 849
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #14 - Posted 2008-12-30 19:08:35 »

You are absolutely right, those are my only two 'problems' with LWJGL.

It hate to scatter glGetError all over the place to narrow down the bug.
It feels like System.out.println("1" -> "2a" -> "2b" -> "3") scattering...
and I sometimes (have to) use Google to find the class of a certain
GL extensions in LWJGL. Somebody should write a debug-version of
LWJGL that does the checks, maybe bytecode transformation...

Other than that, it rocks...


Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social
Offline Matzon

JGO Knight


Medals: 19
Projects: 1


I'm gonna wring your pants!


« Reply #15 - Posted 2008-12-30 20:53:21 »

You are absolutely right, those are my only two 'problems' with LWJGL.

It hate to scatter glGetError all over the place to narrow down the bug.
It feels like System.out.println("1" -> "2a" -> "2b" -> "3") scattering...

comment in <arg value="-Ageneratechecks"/> when compiling to get a debug lwjgl.jar

we dont provide this because ... well ... we dont Smiley

Offline Riven
« League of Dukes »

« JGO Overlord »


Medals: 849
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #16 - Posted 2008-12-30 21:24:46 »

Nice one. I'm going to give it a try later.

It wouldn't be a bad idea to provide this out of the box though, in a seperate jar...


me is a lazy basterd, like the bunch of us persecutioncomplex

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social
Offline gouessej
« Reply #17 - Posted 2008-12-30 23:56:05 »

Lots older.

And better, of course Wink

Cas Smiley
Lol I like your objectivity.

Offline princec

« JGO Spiffy Duke »


Medals: 439
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #18 - Posted 2008-12-31 00:07:11 »

It has to be said I am probably one of the least objective people in that particular argument Wink

As for DebugGL... yeuch! Nobody in the industry uses this horror. You either use a native GL interceptor or you just narrow down your problematic bits of code or you use that LWJGL debug flag (and Yes, it would be a great idea to include it with the distribution).

Cas Smiley

Offline Z-Knight

Senior Devvie


Medals: 2



« Reply #19 - Posted 2009-01-13 21:29:30 »

sigh...I'm lurking here...damn it to heck, why can't we just get one graphics api and stick with that and make that the best it can be rather than jumping from one to another every other year!!!!!

I initially started with Java3D but then that pretty much died when Sun stopped releasing updates....yes it lives, but in my opinion it is on its last legs.  So I move to JOGL thinking this will be backed by Sun and now it seems to be dying as well?!?!!  Frack me, I don't want to go learn yet another package and convert my code to it!!!   Sorry, but JOGL sounds better than LWJGL so I'm gonna stick with it for a bit and then I'm giving up on graphics programming forever.

edit: Meant to say I moved to JOGL thinking it WOULD be back by Sun (had a "not" in there).
Offline gouessej
« Reply #20 - Posted 2009-01-14 06:28:54 »

sigh...I'm lurking here...damn it to heck, why can't we just get one graphics api and stick with that and make that the best it can be rather than jumping from one to another every other year!!!!!

I initially started with Java3D but then that pretty much died when Sun stopped releasing updates....yes it lives, but in my opinion it is on its last legs.  So I move to JOGL thinking this will not be backed by Sun and now it seems to be dying as well?!?!!  Frack me, I don't want to go learn yet another package and convert my code to it!!!   Sorry, but JOGL sounds better than LWJGL so I'm gonna stick with it for a bit and then I'm giving up on graphics programming forever.
JOGL is not dying! It is tiring to read this whereas JOGL 2.0 is going to arrive. Don't worry.

Offline krausest

Junior Devvie


Exp: 15 years


I love YaBB 1G - SP1!


« Reply #21 - Posted 2009-03-25 19:18:54 »

Now that OpenGL 3.1 is released and (beta) driver support is also already there from day one (nvidia even released a linux version!) I'm excited to see if JOGL and when lwjgl will support OpenGL 3.1 and how the removal/deprecation of functions shows up in the java api.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 81
Projects: 15


★★★★★


« Reply #22 - Posted 2009-03-25 19:28:10 »

LWJGL has already added opengl 3.1 support.  Grin
Offline turquoise3232

Junior Devvie




Java (games) rock!


« Reply #23 - Posted 2009-04-17 17:39:27 »

LWJGL has already added opengl 3.1 support.  Grin

Should have choosen LWJGL so it seems...
Offline gouessej
« Reply #24 - Posted 2009-04-23 08:18:51 »

Should have choosen LWJGL so it seems...
If you want a big black screen under some Linux machines like mine, you should have chosen LWJGL  Kiss

Watch this a bit:
http://www.java-gaming.org/topics/nightly-builds/19941/view.html

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 81
Projects: 15


★★★★★


« Reply #25 - Posted 2009-04-23 08:37:17 »

If you want a big black screen under some Linux machines like mine, you should have chosen LWJGL  Kiss

Watch this a bit:
http://www.java-gaming.org/topics/nightly-builds/19941/view.html

I've used LWJGL on many linux machines and never had any problems with black screens. The LWJGL developers are aware of this bug and are willing to fix it, but it seems to only be specific to your machine (since you have a very old gfx card which ATI no longer support and you are using dodgy third party drivers), with no way to reproduce it, its very difficult to fix.

LWJGL is a community project and relies on the community to support it track down bugs and fix them, we do know that it worked on your machine with older versions of LWJGL and it was a change in a recent version of LWJGL that broke it correct?

It should be a simple matter to fix if we can find out which change caused it to break on your machine, if you can help by testing to find which change to the LWJGL caused it to break on your machine maybe this issue can be fixed.

Other than that this bug effects only an insignificantly small number of machines (and most likely due to crappy drivers).
Offline zammbi

JGO Coder


Medals: 4



« Reply #26 - Posted 2009-04-23 09:31:54 »

Gouessej you might want to be less negative against LWJGL, your the only one who complains about it, you don't want to anger more people. What I hear JOGL can have some rare problems too. Nothing is perfect. But doing what Kapta said might help fix this and then LWJGL can be your friend too  Roll Eyes

Current project - Rename and Sort
Offline gouessej
« Reply #27 - Posted 2009-04-23 10:12:48 »

I've used LWJGL on many linux machines and never had any problems with black screens. The LWJGL developers are aware of this bug and are willing to fix it, but it seems to only be specific to your machine (since you have a very old gfx card which ATI no longer support and you are using dodgy third party drivers), with no way to reproduce it, its very difficult to fix.

LWJGL is a community project and relies on the community to support it track down bugs and fix them, we do know that it worked on your machine with older versions of LWJGL and it was a change in a recent version of LWJGL that broke it correct?

It should be a simple matter to fix if we can find out which change caused it to break on your machine, if you can help by testing to find which change to the LWJGL caused it to break on your machine maybe this issue can be fixed.

Other than that this bug effects only an insignificantly small number of machines (and most likely due to crappy drivers).
But now it happens only with some applications, not systematically, even though they use the latest version of LWJGL  Huh

If you don't succeed in reproducing this bug, I will have to take another look at it (when I have some time) at least to tell you exactly which change list breaks LWJGL at home. Did you try LWJGL with a Matrox Millenium G400 under Linux? I remember that it worked reliably with JOGL even with the G200 that is older.

Gouessej you might want to be less negative against LWJGL, your the only one who complains about it, you don't want to anger more people. What I hear JOGL can have some rare problems too. Nothing is perfect. But doing what Kapta said might help fix this and then LWJGL can be your friend too  Roll Eyes
I already tried to fix this bug as it annoys me too! A final user does not make any difference between JOGL and LWJGL. If he gets a black screen when launching a Java game, it is bad for Java on the whole. I'm not the only one to complain about it. I interpret the fact that some LWJGL users come here to encourage people to use LWJGL rather than JOGL when they speak about OpenGL 3.0 and 3.1 as a provocation whereas it is difficult for me too, I have no idea of when Mr Russell will release a beta version of JOGL 2.0.

LWJGL is not my enemy if and only if bugs under Linux are treated as good as bugs under Windows.

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

 

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

The first screenshot will be displayed as a thumbnail.

CopyableCougar4 (16 views)
2014-12-28 02:10:29

BurntPizza (17 views)
2014-12-27 22:38:51

Mr.CodeIt (13 views)
2014-12-27 04:03:04

TheDudeFromCI (17 views)
2014-12-27 02:14:49

Mr.CodeIt (25 views)
2014-12-23 03:34:11

rwatson462 (56 views)
2014-12-15 09:26:44

Mr.CodeIt (46 views)
2014-12-14 19:50:38

BurntPizza (92 views)
2014-12-09 22:41:13

BurntPizza (113 views)
2014-12-08 04:46:31

JscottyBieshaar (86 views)
2014-12-05 12:39:02
How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
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!