nuclear
Still Fresh
Hello, this is my first message in this forum, good to meet you all.
I just wanted to announce, that I started a project recently for creating a fixed point OpenGL implementation, for the gp2x (which of course could also be used on other fpu-less platforms). I just finished a first working version of the library, and thought it would be a good idea to create a sourceforge project, and post this announcement to see if anyone is interested.
The code is free (as in freedom), provided under the GNU General Public License (yes GPL, *not* LGPL, I only want to help free software developers).
Development status
The library still has many things to be implemented yet, optimizations to be done, and in general a lot of work before it's deemed a complete OpenGL implementation for the gp2x (although it DOES work, check out this shot: http://libfixgl.sourceforge.net/img/gp2x.jpg ). But then again, if I had done the whole thing myself, it wouldn't be fun for the rest of you So in the spirit of free software development, I invite anyone who is interested to participate in the development of this library.
At this point, most of the OpenGL state is there, texturing, zbuffering, gouraud (and additionally phong shading, lighting, the usual modelview/projection matrix stacks, etc. The library works with 16.16 fixed point math internally, and provides additional fixed point API functions along with the regular floating point ones. So for example, glVertex3f is now a wrapper that converts its floating point arguments to fixed point and calls glVertex3x, which is the "new" fixed point equivalent.
Important missing features at this point
The most glaring ommision at this point is the total absence of 3D clipping. The rasterizer handles 2D image-space clipping but if the polygons cross the XY plane (go behind the camera) you're toast
The rasterizer handles blending, as well as color, depth, and (if requested) normal interpolation, BUT does not yet support perspective-correct texture mapping.
The lighting code is slow at this point. Vector normalization is handled with floating point arithmetic, due to overflow problems with fixed point vector calculations.
Download
You can get the code from the sourceforge subversion repository like this: "svn co https://svn.sourceforge.net/svnroot/libfixgl". For more information, visit the project homepage which I just uploaded: http://libfixgl.sourceforge.net/
There you can also find contact information if you wish to contribute to the development or, you just want to say hi, whatever
I'll try to watch this thread also, and answer any questions here...
I just wanted to announce, that I started a project recently for creating a fixed point OpenGL implementation, for the gp2x (which of course could also be used on other fpu-less platforms). I just finished a first working version of the library, and thought it would be a good idea to create a sourceforge project, and post this announcement to see if anyone is interested.
The code is free (as in freedom), provided under the GNU General Public License (yes GPL, *not* LGPL, I only want to help free software developers).
Development status
The library still has many things to be implemented yet, optimizations to be done, and in general a lot of work before it's deemed a complete OpenGL implementation for the gp2x (although it DOES work, check out this shot: http://libfixgl.sourceforge.net/img/gp2x.jpg ). But then again, if I had done the whole thing myself, it wouldn't be fun for the rest of you So in the spirit of free software development, I invite anyone who is interested to participate in the development of this library.
At this point, most of the OpenGL state is there, texturing, zbuffering, gouraud (and additionally phong shading, lighting, the usual modelview/projection matrix stacks, etc. The library works with 16.16 fixed point math internally, and provides additional fixed point API functions along with the regular floating point ones. So for example, glVertex3f is now a wrapper that converts its floating point arguments to fixed point and calls glVertex3x, which is the "new" fixed point equivalent.
Important missing features at this point
The most glaring ommision at this point is the total absence of 3D clipping. The rasterizer handles 2D image-space clipping but if the polygons cross the XY plane (go behind the camera) you're toast
The rasterizer handles blending, as well as color, depth, and (if requested) normal interpolation, BUT does not yet support perspective-correct texture mapping.
The lighting code is slow at this point. Vector normalization is handled with floating point arithmetic, due to overflow problems with fixed point vector calculations.
Download
You can get the code from the sourceforge subversion repository like this: "svn co https://svn.sourceforge.net/svnroot/libfixgl". For more information, visit the project homepage which I just uploaded: http://libfixgl.sourceforge.net/
There you can also find contact information if you wish to contribute to the development or, you just want to say hi, whatever
I'll try to watch this thread also, and answer any questions here...