Everything has been committed now, feel free to checkout the branch and do some tests. Details:
- OpenGL ES 2.0 support only, there's nothing for 1.x.
- No Mac support, AWT integration and Pbuffer not supported.
- All extensions are supported, except old ones that targeted ES 1.x (fixed-function and fixed-point data stuff).
- Simple API; everything like normal LWJGL, except you use a new package (org.lwjgl.opengles). There are new PixelFormat, ContextAttribs, GLContext and ContextCapabilities classes in there. Display is still in org.lwjgl.opengl and there are new methods to create GLES contexts. For example:
Display.createES();
Display.create(new org.lwjgl.opengles.PixelFormat());
There are a few new ANT targets for ES:
- generate-opengles
- generate-opengles-debug
- generate-opengles-capabilities
- compile_native_es
- jars_es
To build on a clean checkout, run the following:
- ant generate-all
- ant compile_native_es
I have included an OpenGL ES emulator in libs. It's PVRVFrame from Imagination Technologies, it's the most functional one in my experience. To run with the ES build on desktop, you need to add the emulator to the execution path.
- On Windows:
SET PATH=%PATH%;.\libs\windows (run this once)
java -cp bin -Djava.library.path=libs/windows org.lwjgl.test.opengles.Gears
- On Linux:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs/linux (run this once)
java -cp bin -Djava.library.path=libs/linux org.lwjgl.test.opengles.Gears
As you can see I have ported some of our tests to OpenGL ES. The org.lwjgl.test.opengles.util package contains a bunch of utility classes that will get you quickly started with ES2.0. Since there's no fixed-functionality present, you're going to have to use shaders, VBOs, etc. The GLMatrix class is particularly interesting because it simulates the fixed-function OpenGL matrix stack, you simply import it statically and you can use stuff like glLoadMatrix, glTranslatef, etc, then you do a glGetMatrix to get the current matrix to upload to your shader uniform. See the Gears demo source code for details.
Enjoy and let me know if you encounter any issues.