Adventus
GP Mania
Hiya, Since the other forum is down I'll post here.
I've written a wrapper that translates some of the OpenGL 2.0 API to OpenGL ES 2.0. As far as possible i've done it by reading through the OGL2 spec ignoring error production, but there is bound to be some oversights. Currently it runs most of the Nehe tutorials. Due to the large scope of the library i have not been able to thoroughly test much of the fuctionailty. There is also some functionality that i have written into the vertex shader but not fully exposed in the interface. This post is not for a "public release", the code is too messy and undocumented at the moment, I wish it to be a discussion on the more technical aspects.
You can find the GPLv3 source code here:
http://code.google.com/p/gl-wes-v2/
If anyone would like to collaborate just contact me via PM / email / etc.
Currently Supported Features:
Things that it doesn't support yet (but may in the future):
Notes on using in your projects:
I've written a wrapper that translates some of the OpenGL 2.0 API to OpenGL ES 2.0. As far as possible i've done it by reading through the OGL2 spec ignoring error production, but there is bound to be some oversights. Currently it runs most of the Nehe tutorials. Due to the large scope of the library i have not been able to thoroughly test much of the fuctionailty. There is also some functionality that i have written into the vertex shader but not fully exposed in the interface. This post is not for a "public release", the code is too messy and undocumented at the moment, I wish it to be a discussion on the more technical aspects.
You can find the GPLv3 source code here:
http://code.google.com/p/gl-wes-v2/
If anyone would like to collaborate just contact me via PM / email / etc.
Currently Supported Features:
- Matrix Transforms: glScale, glRotate, etc
- Fixed Function shader and interface: glFog, glLight, glMaterial, etc
- Begin / End Paradigm: glBegin, glEnd, GL_QUADS, GL_QUAD_STRIP, etc
- Texture Environments and Multi-Texturing: glTexEnv, etc.
- Alpha Test: glAlphaFunc, etc.
- Support for GL_BGR & GL_BGRA texture formats.
- Some GLU functionality: gluBuildMipmaps, gluPerspective, gluLookAt, etc
Things that it doesn't support yet (but may in the future):
- Display lists.
- Color Indices.
- Many obscure texture formats.
- NEON-ized matrix math.
Notes on using in your projects:
- For a good indication of the functions i've wrapped look at "wes_gl.h" and "wes_glu.h".
- Replace instances of "gl.h" and "glu.h" with "wes_gl.h" and "wes_glu.h"
- The "context" files are not actually part of the library just functions to help with context creation on Windows (they are not portable).
- You must call wes_init() before any OpenGL calls are made and after context creation. You should also call wes_destroy() at the end of OpenGL execution.
- I link at runtime to the OpenGL ES 2.0 library, You must provide its location with wes_init().
- I develop solely on Windows but the code is designed to be portable.... there might be some minor issues.
- The fragment shader is dynamically generated after a texenv/alpha/fog state change. It expects the vertex shader WES.VSH to be in the application root (you can change it easily).