Share this post

Link to post

Share on other sites

I haven't read much about Java3D, but JavaOpenGL (jogl) has shown a fair bit of promise. (plus it is used basically the same as in other languages, so should you need/want to work in another language, you can switch over easily)

Share this post

Link to post

Share on other sites

Java3D is and will be officially supported. Some time ago, it seemed that there was no active development, but this has changed. Further not only SUN's Project Looking Glass uses Java3D, but also new games like Cosmic Birdie.

Java3D offers a lot of useful stuff out-of-the box and offers a great functionality (including shaders,,), so IMHO it is a very good starting point. However, if you need to access the latest hardware features, jOGL are LWJGL are the right API.

Btw, the new versions of Java3D use the jOGL API and not OpenGL directly as the earlier ones.

Share this post

Link to post

Share on other sites

Original post by jolyqrwhat are the differences between the following api :

-LWJGL -JavaOGL -Java3D

There are two API's in java that provide hardware-accelerated OpenGL access (use all the raw power of that shiny 7-series dual-SLI nVidia card you've got ;)):

JOGL: sun-supported C-style (i.e. NOT java style) API that looks just like using OpenGL in C. Traditionally had more performance problems than LWJGL and more bugs. Traditionally had slower development. None of that really true any more.

LWJGL: games-dev community effort started at approx same time as JOGL, but focussed more on working fast and getting to release sooner. Has been used in quite a few commercial games. Because games need more than just OpenGL - they need some sound too, and java has no proper working input system for joysticks etc, LWJGL added those in too, making it a complete system for games dev. Most people used it for the OpenGL.

Both have become less distinguished over time, especially now that they share a lot of common modular elements, e.g. integration with scenegraph APIs, integration with input systems.

LWJGL is still innately preferred by a lot of games devs because of its pedigree, but it's hard to demonstrate a large real difference between the two now - except that LWJGL is a bit more java-friendly, and a bit easier to use sound API's like OpenAL, whereas JOGL is a bit easier to use with AWT stuff if you need to do backwards compatible etc.

Share this post

Link to post

Share on other sites

Original post by jolyqrwhat are the differences between the following api :

-LWJGL -JavaOGL -Java3D

There are two API's in java that provide hardware-accelerated OpenGL access (use all the raw power of that shiny 7-series dual-SLI nVidia card you've got ;)):

JOGL: sun-supported C-style (i.e. NOT java style) API that looks just like using OpenGL in C. Traditionally had more performance problems than LWJGL and more bugs. Traditionally had slower development. None of that really true any more.

LWJGL: games-dev community effort started at approx same time as JOGL, but focussed more on working fast and getting to release sooner. Has been used in quite a few commercial games. Because games need more than just OpenGL - they need some sound too, and java has no proper working input system for joysticks etc, LWJGL added those in too, making it a complete system for games dev. Most people used it for the OpenGL.

Both have become less distinguished over time, especially now that they share a lot of common modular elements, e.g. integration with scenegraph APIs, integration with input systems.

LWJGL is still innately preferred by a lot of games devs because of its pedigree, but it's hard to demonstrate a large real difference between the two now - except that LWJGL is a bit more java-friendly, and a bit easier to use sound API's like OpenAL, whereas JOGL is a bit easier to use with AWT stuff if you need to do backwards compatible etc.

...

Java3D should be compared side by side with: JME, Xith3D and others.

ok, everything is becoming clearer...

0

Share this post

Link to post

Share on other sites

Guest Anonymous Poster

Original post by Michael NischtJava3D is and will be officially supported. Some time ago, it seemed that there was no active development, but this has changed. Further not only SUN's Project Looking Glass uses Java3D, but also new games like Cosmic Birdie.

Java3D offers a lot of useful stuff out-of-the box and offers a great functionality (including shaders,,), so IMHO it is a very good starting point. However, if you need to access the latest hardware features, jOGL are LWJGL are the right API.

Btw, the new versions of Java3D use the jOGL API and not OpenGL directly as the earlier ones.

What do you mean with "official support"?. There is a JSR for Java3D 1.3, 5 years old with an 1.4 "maintenance" version JSR, there was a Sun implementation, but Sun has donated the project to open source community and a new and ambitious JSR was dropped a year ago or so. Shader support is limited and no one use it now.

I dont think Java3D is the best Java option talking about games. Its 6 years old and its use has gone down.