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

Reply via email to