Easy Question:  What is JOGL?  Doh!

Hi,

Seen and heard so many good things about JOGL - could some kind sir please jst give me the basics as I’m thinking about dropping Java3D in favour if it. JavaCoolDude was telling me the app he ported over was getting double the FPS - this sounds good to me!

I wanna know the fundamentals behinds JOGL. How does it operate compared to Java3D? Also, does it work using JNI because I noticed on the JOGL page that if you’re on a windoze platform you need the ming32 compiler.

Does this mean we’re using the same graphics libs as C++ OpenGL developers?

You’ll have to forgive my ingorance I don’t know much about OpenGL.

Thanks in advance 8)

Xith3d is a JOGL Java3D type thing… very cool to so far :slight_smile:

JOGL is an OpenGL wrapper. So its a little be darker then Java3D. Come play with JOGL like the rest of us :slight_smile: its been crying and giggles all the way so far…

works on macosx also. and u cant say no to that…

Thanks for your reply but I’m still a modicum confised ???.

What does this term ‘OpenGL wrapper’ mean? Is it something that allows one API to interface with OpenGL?

And back to part of my OP - does JOGL call C/C++ code using JNI?

If this Xith3D thingy is built on JOGL does that mean the JOGL developer can use higher-level classes on top of a JOGL app?

Thanks again 8)

[quote] What does this term ‘OpenGL wrapper’ mean? Is it something that allows one API to interface with OpenGL?

And back to part of my OP - does JOGL call C/C++ code using JNI?
[/quote]
basically yes.

[quote] If this Xith3D thingy is built on JOGL does that mean the JOGL developer can use higher-level classes on top of a JOGL app?
[/quote]
yes.

Think of JOGL as being no more than OpenGL (sure bindings to OpenGL) and Xith3D as a Graphics Engine using OpenGL (JOGL), similar to something like Ogre.

JOGL uses JNI to call the OpenGL Library, the same one that C++ developers use. JOGL is at the same level as C++ OpenGL, in that you have to do everything the detailed way.

Its a long way from Java3D, you have to consider more how physically its going to be rendered and in what order. Every is at a finer granuality, more control, more complexity… more speed (due to finer control).

Xith3D is a Java3D like scenegraph that sits on top of JOGL. It supports a similar set of nodes and scenegraph structure that can be used to render using JOGL.

Kev

Thanks guys ;D

This is starting to make more sense now… I am most interested in this. My biggest qualm with Java3D is you can’t stick your hands into the lower depths of the API to tweak something here and change something there to make your game faster. This sounds like a much better solution.

Hopefully, I’ll be able to look back on this post in a couple of years and laugh at how little I knew… 8)

[quote]JOGL uses JNI to call the OpenGL Library, the same one that C++ developers use. JOGL is at the same level as C++ OpenGL, in that you have to do everything the detailed way.
[/quote]
OpenGL is a hardware API, not a library. Think of it as being just an interface to the hardware’s state machine as opposed to a piece of software that does something. ;D

Thats an interesting point, I don’t know enough about it to be sure :-[

Just to nit pick back, a hardware interface would make assumptions that the call you’re about to make will be implemented in hardware? But you can have software OpenGL… and you do get drivers that implement part of the spec in software?

I’m not saying any of the point above change the fact I’m wrong, like I say I don’t actually know that much about the guts of things, just wondering…

Kev

Well the idea is that it is implemented in hardware, but if its a choice between taking a feature in software against not having it, i know which one i’d choose :wink:

Software GL renderer are just a driver implementing the same interface AFAIK, which makes it more of an emulator instead of a library. But i guess it depends on someones exact definition of the words…

As you said, its a nit pick, I’ll defer to your larger grasp of the subject ;D

Kev

Actually to nitpick back at the great orangy monkey one might note the L in OpenGL stands for library :stuck_out_tongue:

Cas :slight_smile:

touché, probably just my own funny definition of ‘library’ then…

JOGL is the best thing I ever learned right after coding :stuck_out_tongue:
Notice the frame rate
http://www.realityflux.com/abba/java3d.jpg
http://www.realityflux.com/abba/jogl.jpg

Here’s the demo
http://www.realityflux.com/abba/JOGL%20collisions.rar

And here’s my work frame to get you started
http://www.realityflux.com/abba/JCD_WORK_Frame.zip
Enjoy