[java] Java3D

Started by
15 comments, last by jolyqr 17 years, 8 months ago
I just wanted to know what do you think abouth Java3D. Could it be a good video game API? Cheers !!!
Advertisement
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)
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
I heard that LWJGL or JavaOGL (this is one being backed by Sun officially) are the way to go for 3D development in Java. Java3D as I heard it is no longer supported by Java officially.

Beginner in Game Development?  Read here. And read here.

 

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.
ok thanks guys.
I've got another question. Was the online video game Runscape developed in Java3D ?
i'm quiet lost with all java api.
what are the differences between the following api :

-LWJGL
-JavaOGL
-Java3D

Basically I want to start a new game by using a java api, but i don't know which one to choose...
LWJGL - OpenGL binding, also input and OpenAL
JOGL - OpenGL binding
Java3D - 3D scenegraph, API agnostic. It'll do a lot of difficult stuff for you, but it's unlikely to be exactly what you want.
Quote:Original post by jolyqr
what 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.

Quote:Original post by redmilamber
Quote:Original post by jolyqr
what 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...
Quote:Original post by Michael Nischt
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.


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.

This topic is closed to new replies.

Advertisement