OpenGL|ES + OpenVG using the same surface


Does anybody know of a good example that shows how to have both OpenGL|ES + OpenVG rendering to the same surface?

I have seen some code for the desktop environment but it would be great if the sample code for an embedded environment (windows or linux).



Could you please share the code that you have seen the code for desktop.I am also looking for similar code, so to start with anything will help me.


Hi, thanks for your reply…

This must be a hard thing to do since I haven’t received a reply in months. :smiley:

ok, going back to your questions, yes, I have some OpenVG code that does what I want, but when I tried it for OpenGL|ES it didn’t work. I am using a proprietary driver, and I was told by them that one of the reasons is that their driver is currently using EGL 1.1 and that they haven’t done the upgrade yet to 1.2, although there’s an even a more recent version, EGL 1.3.

Anyways, if you google for Amanith VG or Hybrid VG you will find this code. They have done their own implementation of the API for the Dekstop. Hope this help.


Hi Santa,

Amanith implementation says it does not include EGL implementation, then do you have any idea how they are supporting multiple client remdering API.

I hv subscribed , but yet not got my confirmation, so could not get a chance to look into their code.Can you give me some brief about this?.

And in one release, they mentioned that their implementation is testes on TI OMAPxxxx , is this chip for desktop or for embedded system?

Thanks & Regards,


actually try to download the VG implementation by Hybrid. Follow this link:

This implementation does use EGL and reflects more my environment. Look for the demo elg_interwork.

As for the Amanith VG implementation, you’re right they don’t use EGL for the rendering surface but rather they use GLUT or WGLEXT + windows.h There’s no demo with GL|ES/VG surface.

About the TI OMAPxxxx chip, yes it’s exclusively for embedded systems. Nokia’s N95, Nokia’s N800, MOT Q9, NEC N904 all use this chip. Google for the OMAP platform on the net.


Because AmanithVG is based on OpenGL / OpenGL ES, a surface context can be created and bound externally (eg: window / pbuffer) through EGL (for embedded platforms) or WGL / AGL / XGL (for desktop platforms).

What you want to do (probably a render to texture), can be achieved binding a pbuffer and render with AmanithVG on it, then use the pbuffer as a texture.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.