I''m thinking about including support for OpenGL API in my game library and I''m quite certain I don''t want to try and build one totally myself.
Has anyone any experiences with any OpenGL Java bindings (Magician, GL4Java, YAJOGLB, JOGL etc.)? Every binding I''ve ran into has been in beta, alpha or worse condition. Do they really work? Has anyone seen a pure 100% Java software OpenGL renderer?
I used Magician for building basic geometry (just messing around). That was about a year ago. The only downside was that it wasn't a full implementation of OpenGL and you had to license it so that it wouldn't bug the end user about being an unregisterd copy. Luckily arcane technolodgies does not have it's head in the sand. the current release has full OpenGL 1.2 and most of the GLU toolkit. And they have a free shareware license (I'm not sure about the nagging). I haven't tried it since then, but i wouldn't mind doing some more 3D stuff.
You can find a link to arcane tech at the www.opengl.org. Under documentation->implementations.
I'm pretty sure that a 100% pure Java implementation would be impossible because java doesn't have a way to talk directly to memory address. So you couldn't just send info to the 3D card.
or could you??? http://www.cs.berkeley.edu/~mdw/proj/jaguar/
I''ve not make my choice for now and I''m exploring possibilities. I think I''ll choose Gl4Java or Sun Java3D for OpenGL. The first because almost any article/tutorial on the internet will easily be ported to GL4Java. The second, because it''s Sun stuff, and I thrust sun...
The best is to look for each and try to understand all. After that you''ll be ready to choose. Remember that you must choose the right tools before beginning coding, cause porting is a very hard task.
I think Magician''s licensing has been relaxed a bit and it sounds like the best choice at the moment.
100% Java OpenGL pure software renderer implementation isn''t impossible, it just propably would be very slow (as all OpenGL compatible renderers are required to provide every feature in the API).
But as I''ve pondered things, I think OpenGL is propably too difficult to learn for the audience I''m aiming my library at. They''d propably like something like the Retained Mode Direct3D, just loading of 3D objects and then moving them around along with few light sources and stuff.
I think I''ll stick with the 2D only approach for now...
100% pure java OpenGL... Don''t know why you would do that, OpenGL supports hardware acceleration, so you should use it when available. About you''re library: D3DRM is the kind of things a library could provide, in this case, people may not even know they are using OpenGL...
After writing a little 2d engine, you''ll certainly be more prepared to write a 3d engine.
-* Sounds, music and story makes the difference between good and great games *-