I've also done some work toward pure EGL support, intending to improve support for Android in OSG. How far along is your EGL work? I've got most of the EGL context and surface management done in implementations of osg::GraphicsContext::WindowingSystemInterface and osgViewer::GraphicsWindow.
Mine never got that far. I think started with GraphicsWindowX11 (which if I recall, has some EGL support) and tried removing all the X11 code, substituting it with the proper EGL replacements. I didn't get all that far, because the PowerVR emulator wouldn't run properly on the Linux box we were using for testing. At that point, we discussed the clients ACTUAL needs as opposed to the requirements and realized that using GraphicsWindowEmbedded was really what they needed anyway, so the work was abandoned. > > I could separate the pure EGL calls from my Android-specific code to > create a osgViewer::GraphicsWindowEGL that implements > closeImplementation() > makeCurrentImplementation() > realizeImplementation() > releaseContextImplementation() > swapBuffersImplementation() > Then, it would be straightforward to subclass GraphicsWindowEGL to make a > GraphicsWindowAndroid or a GraphicsWindowLinuxEGL that would implement the > remaining virtuals like GraphicsWindow::checkEvents(). > Thoughts? > That seems pretty logical to me, but I think you'd want to discuss it with some of the other Android and iOS guys and see how it would fit with that. It would seem that GraphicsWindowLinuxEGL, GraphicsWindowWin32EGL and GraphicsWindowPureEGL would make sense. Our target was an embedded Linux with EGL/GLES but no X11, so we needed a solution that didn't care about events and such that could never arrive anyway. PureEGL should work on Linux or Windows or Mac, if your EGL implementation is able to open a context without specifying a default display or existing window to attach it to. -- Chris 'Xenon' Hanson, omo sanza lettere. [email protected] http://www.alphapixel.com/ Training • Consulting • Contracting 3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL Digital Imaging • GIS • GPS • Telemetry • Cryptography • Digital Audio • LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS • Android
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

