Advice: JME or JOGL for a non-game

Hi folks,

I am working on a sort of 2D/3D animation creator and exporter. So far I have been playing around with Java’s 2D only and have been thinking about making a move towards JOGL. My dilemma is that I want to have interactivity in my program. This leads me to software designs that resemble those of games (ie, has some sort of game loop, play with and throw around objects, simple physics), except its not a game. I am unsure in what direction to go in. I plan on using swing for my GUI. So do I dive into JME3? or JOGL and implement my own simple loop and game-like physics mechanics?

Would it make sense to use JME3 in my case (using it as an animation canvas and engine, sandbox, and video exporter)?

You could go for jME, I think it’s easy to use and you can have a GUI library like Nifty to make things really good (or even tonegood’s recent library!)

1 Like

JME is not dedicated to games. I’ve already used it for displaying 3D simulation, with little to no user input, and it’s really easy.

1 Like

JME is somewhat higher-level than JOGL, I think.
JME adds code to manage various recurring aspects such as running the render loop in its own thread, scenegraph management (keeping track of the transformations that accumulate of a hierarchy of translated, scaled and rotated nodes), importing models from external 3D tools such as Blender, and probably a few other things I didn’t notice because I don’t use them (yet).
Whether that’s helpful for you depends a lot on what kind of code you still need to write, I think.

JOGL is just a thin wrapper to expose the OpenGL API in java. Unless you have really special needs I think jME is the way to go.

1 Like

Thanks for all your input guys. Then I’ll research deeper into JME!

JME is not only for games, so you are free to go.

It’s just higher level java wrapper for OpenGL. It also provide tools to make work much easier.

you can also just load only needed libraries into project, so it will not weight too much.

remember to read dokumentation:
https://wiki.jmonkeyengine.org/legacy/doku.php