jGL and general OpenGL integration in JNode
Hi,
I have noticed that there is no OpenGL support in JNode as present. There is a software OGL implementation for Java, jGL:
http://nis-lab.is.s.u-tokyo.ac.jp/~robin/jGL/
...which might be a nice thing to provide with a JNode build. I guess JNode supports Java3D, but frankly Java3D is weird and nonstandard as far as 3D graphics APIs go, and OpenGL is _the_ standard. jGL comes with a GLU port as well (high-level parametric curves/surfaces support), and also comes with a port of GLUT, which is an auxiliary library which wraps a basic GL context with some standard management and input device handling functions. I've never been that fond of GLUT as a general-purpose API for app development, and its input and event handling should obviously rather be done using the standard Java/JNode APIs, but it might be important for legacy support.
What would be even nicer would be to extend the internal abstraction system of jGL to support a device driver interface to 3D graphics hardware, which JNode also does not appear to currently have. A look at the internals of Mesa3D:
...would be useful here, as that is the current open-source reference standard insofar as extension and abstraction of 3D graphics hardware interfaces and capabilities is concerned. Integration of such a driver API with the existing 2D driver API would be a challenge, as would smooth integration of AWT/Swing and OpenGL, but doing those sorts of things would provide an impetus to develop, debug and extend a much more powerful and capable graphics device driver API in JNode. Those are not easy to design, and I have written several in C so I know firsthand. Architecting one properly in Java would be an interesting challenge.
Any interest in this? Has anyone already looked at it?
Jon
- Login to post comments