Looking for an easy to use 3D Java Engine API (i.e. not wrapper) that has a good community and good development. Extra features (i.e. audio, input, etc.) are not necessary but nice.
List of the most popular Java 3D graphics APIs I found:
Wrappers / Low Level
Engines
jMonkey Engine - Wikipedia - Active
ogre4j - Wikipedia - Active
Bindenlicht - No Wikipedia! - Not active
High Level (Not designed for gaming)
Update: Please pick a JAVA engine and explain why its your choice! Thanks!
So, when it comes to 3d, for example, Java has Java3D, which is an API, which is much easier for Object-oriented design. However, C / C ++ has OpenGL, which is useful for things like 3D, which is much better with graphics and takes the least amount of time to render and load.
Java uses something called application programming interface or Java 3D API, which gives the programmers a variety of tools to create and build 3D models, as well as huge world environments that can be created thanks to the great possibilities of world rendering of Java.
The Java 3D API enables the creation of three-dimensional graphics applications and Internet-based 3D applets. It provides high-level constructs for creating and manipulation 3D geometry and building the structures used in rendering that geometry.
I would look at Ardor3D and have another look at JMonkeyEngine.
UPDATE: Ardor3D's developer ceased the project, but a subset of it continues to exist
Created by the original JMonkeyEngine developer(s) who decided a clean break was required so they could start over and use all the experience gained to create a better API and platform.
The people I know who have used Ardor3D have very positive things to say about its design and API. It is actively maintained and has a good community and good API documentation, although tutorials are a little short in supply and generally you'll have to be familiar with 3D programming concepts to be able to pick it up.
A community-led rewrite of JMonkeyEngine 2, driven by dissatisfaction with JME2 design and related issues caused by said design, it has gone from strength to strength since its release.
There is ample documentation including tutorials and plenty of projects using it. If you had issues with JMonkeyEngine 2 or earlier, it is well worth another look at version 3.
You are mixing libraries and levels of libraries, Jogl and lwjgl are both pretty thin wrappers around OpenGl (IIRC lwjgl has more wrappers for OpenAL i.e. audio). While you can write a game using pure opengl you will probably spend a lot of time managing geometry, building (or reinventing) a scenegraph and other management functionality.
Processing is mostly 2D oriented.
I don't have any experience with ogre4j, but the last time I looked JMonkey was under current development looking at the 2.0 repository there is a long list of changes that are current.
If you are not too set on using Java consider some of the alternatives Torque (private Scripting Language) Panda3d (python) or the aforementioned OGRE using C++. I don't know what classes and constructs you are talking about in your first paragraph, but having a library or backend that takes care of the scene management, visibility calculations, sound management, game loop, possibly even networking might be a better driver for your decision than a specific language feature.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With