OSG port to OpenGL ES2/EGL on iMX51 embedded SBC
AlphaPixel performed a port of OpenGL to a Freescale iMX51 based single board computer system running Linux without XWindows targeting OpenGL ES2 via EGL.
This was particularly challenging because OpenSceneGraph’s EGL implementation only supports Linux, but still requires the XGL APis. This port utilized the OSGViewerEmbedded class and set up the context ahead of time using pure EGL. ShaderGen tools were adapted for use by GLES2 to convert existing Fixed Function Pipeline models to display on a FFP-free GLES2 context, supporting lighting, materials and and basic texturing.
Other challenges included the limited bit depths offered by the target device, the performance bottlenecks of the graphics hardware’s Tile Based Renderer. Finally, the entire development process was conducted without hands-on access to the target hardware, using virtual machines to cross-compile and GLES2 emulators to test. The very first untested binary produced and delivered to the client ran successfully (though imperfectly).