Hi. I am working on a business app (not a game, unfortunately ;-) written in Groovy/Griffon. It currently uses Processing (http://processing.org
) for interactive 3D graphics. However, Processing's 3D capabilities and visual appeal are, at least from what I've been able to accomplish, weak (unlike it's impressive 2D capabilities).
So, I'm looking for something that's a not-too-painful improvement over Processing. I don't need a major gaming engine. I don't need collision, physics, textures, full screen, etc. Whatever library or engine I use can't take over the entire application. I need it to be embeddable within a Swing frame and run in its own render thread. That is, it needs to be a graphical window within my larger application, as opposed to forcing itself to be the program's main().
What I do need is the ability for the user to interact (rotate objects, fly around in 3D space, etc.). And I need to be able to add and delete objects into the scene at any time. The user also needs to be able to pick (select) objects, by both hover and click.
I did a lot of research yesterday, though, and I will say that Xith3D's HUD capabilities are somewhat intriguing. It makes me wonder if I could use a gaming engine as the foundation for the entire business app's GUI. That's a little scary, but could be great, if it could be made to look professional. One fear there is that I am not a designer.
I need my app to be easy to install in any environment. I get the feeling adding OpenGL makes an app more painful to install. Is that true?
I'm willing to use OpenGL if it makes sense, but it looks like trouble to me. It seems like you get a lot of strange artifacts with the mouse cursor and other windows. Is that a known issue, or are there workarounds? Is OpenGL mainly about speed or textures/effects? One of my main issues with Processing is that it gets bogged down when there are too many objects (just plain cubes) on the screen. Is that common to all Java engines? Does OpenGL render faster?
So, what libraries or engines are recommended, given my requirements? Since I am a newless clubie, feel free to make any other comments. I would appreciate learning from those who have gone this way before. I've already invested a lot of time in my work with Processing, so I would like my next change to be one that is a good fit for the long haul. Many thanks in advance for your advice!