Java3d vs jMe

As the topic say, I have been wondering what are the biggest jME advantages versus java3D?

What can jME do that java3d can't, or what can be done in jME easier?

That's been asked many times before, try a forum search. :wink:

When I started getting interested in 3D rendering, I looked at Java3D because it was official and seemed to be the logical choice. However their design was quite overdone… they sort of took the OOP concept and pushed it even further and I think that was just too much. To make a mere transform you had to put a node in your scene graph. All these issues caused Java3D to have a rather steep learning curve, jME seemed more streamlined for 3D applications and was easier to learn in general even though it has less documentation.

Java3D was the first 3D thing I tried with Java and it just felt impossible thing to understand. Making  things with pure lwjgl is actually easier than it is with Java3D.

Hey there :slight_smile:

Firstly, thanks for all of your opinions guys I really appreciate it.


nymon said:

That's been asked many times before, try a forum search. ;)

I do know about forum search but as we know jme do change over time and I wanted to know's the situation now :)

I have several years of Java3D experience and only few months of jMe.



My opinion is following:

jMe:

  • Better for games
  • Easier to adopt
  • Smaller memory consumption
  • Faster rendering
  • Good discussion forum with people that understand about 3D engines
  • Easier to make nice effect
  • Lots of nice examples



    Java3D
  • Has Directx support. Sometimes OpenGL implementation is so bad that this is needed.
  • More professional scenegraph architecture.
  • Better support mouse and keyboard events
  • API development is not active
mazander said:

Java3D
- Has Directx support. Sometimes OpenGL implementation is so bad that this is needed.

This happens extremely rarely. When I have a bad OpenGL support, I often have a bad DirectX support on the same graphics card too. Java3D used only a limited part of DirectX, it is the same for the current DirectX pipeline, it is even less reliable than the OpenGL pipeline on some machines. We have had to disable this pipeline systematically at work.

mazander said:

- Better support mouse and keyboard events

I think that the mouse and the keyboard support is becoming better especially with the fixes I'm going to submit for the JOGL/AWT side. The LWJGL/JInput side seems stable. What do you expect from JME 2 that you had in Java3D concerning this aspect?

mazander said:

- API development is not active

I agree with you. It is quite dead.

Morq, I prefer JME 2 but if you're familiar with Java3D, look at Xith3D.

In fact I am planning to stick to jME, just been curious about differences between it and java3D :slight_smile:

Thanks guys!

I took a 3D Graphics / Game Design class this last year. We used Java3D in the first semester. I don't have enough time to write all of the reasons Java3D sucks, but I would rather write a game in assembly language than in Java3D.

Trussell said:

I took a 3D Graphics / Game Design class this last year. We used Java3D in the first semester. I don't have enough time to write all of the reasons Java3D sucks, but I would rather write a game in assembly language than in Java3D.

That bad eh?  :D
SomethingNew said:

Trussell said:

I took a 3D Graphics / Game Design class this last year. We used Java3D in the first semester. I don't have enough time to write all of the reasons Java3D sucks, but I would rather write a game in assembly language than in Java3D.

That bad eh?  :D

It is very painful and very buggy. I tried to modify "Arabian Flights" and the author told me that he gave up this project because Java3D was too much buggy.