Processing to JMonkey

I’ve developed a graphing application in the Processing environment, but I’d like to take it to the next level. I use a few external java libraries and I’ve mainly written my application using OpenGL calls (Processing uses JOGL). So now I’m looking at JMonkey with the thought of porting my application to a “real” game engine, which I hope would give me better performance and increased options for intense graphic effects. Is JMonkey the right choice… does this sound like the best transition? My Java skills are beginner-intermediate level. Also, any suggestions on a quick project that I could load to get familiar with JMonkey? Thanks for any guidance…

I imagine Processing can be an excellent stepping stone into something a tad more advanced; sounds like jME will fit you just fine.

As for a “quick project to load” I’m not quite sure what you’re after. The starter tutorials will give you a smooth ride through the basics, and from there you can cherry pick whatever tingles your taste buds from the intermediate/advanced sections. We’re still working on some simple game samples, but jME3 already comes bundled with a whole bunch of tests that all together cover pretty much every essential feature, including some experimental ones.

Welcome to the forum!

Thanks! I’ll start playing. :slight_smile: Wanted to ask… so does JME3’s move toward OpenGL 2 & 3 mean that computers with OpenGL 1.2 will not work? All my shaders currently are written for OpenGL 1.2 and didn’t know if that meant that I would have to choose JME2 if I wanted to use them. The wiki states “jME2 fully supports OpenGL 1, while jME3 does not.” However, does this mean that jME3 does not fully support 1.2 or that it doesn’t support it at all and will fail to run?

At the moment that is true. jME3 depends on shaders which are only part of OpenGL since v2.0.

A simple fallback implementation might be developed sooner or later but really jMonkeyEngine3 is a high performance engine for state of the art games. If you want “advanced graphics effects” there is no way around shaders anyway.

OpenGL1.2 does not support shaders, so there’s no way you could have written them?

Only OpenGL1.5 added support, but those were assembly-based shaders and are very rarely used due to their limitations. I think you might have confused 1.2 with 2.0

Oh, I rather think its a confusion of GLSL and OpenGL versions :slight_smile:

Normen, I think you’re right. My GLSL is 1.2. I use a vertex and a fragment shader for point sprites. So I’m not sure if that’s part of OpenGL 1.5 or not (I think that may be when point sprites were introduced into the ARB). I use “GL_VERTEX_PROGRAM_POINT_SIZE_ARB”, which I think may be an OpenGL 2.0 feature. They need a chart for extension support. :slight_smile: Since I’m not really developing a game, but a 3d data visualization application, I’m trying to give a decent range of hardware support. But I guess OpenGL 2.0 has been pretty standard now for the last few years in the everyday graphics adapter… right?