EGL,OpenvG and OpenGL ES

Hi

I am new to OpenVG…
I have some basic questions

1.If I am not wrong…
OpenGL is a set of API s for 3d graphical programming.
It needs glut and glu for creating windows and other UI related stuff…
which runs on both linux and Windows…

Similarly,
OpenVG is a set of API s for 2d graphical programming
What does it need for creating windows and other UI related ones…
(which runs on both linux and windows)

2.What is EGL?(Is it connected to OpenGL ES)
Cant openVG function without EGL?

Creating windows is in the domain of the platform window system.
To create an OpenGL context and renderable window surfaces you need a platform specific API like WGL, GLX, or EGL.

GLUT is just an abstraction layer on top of these that hides the platform specific parts. You don’t need GLUT, it’s just convenient to use.

GLU is not platform specific at all and has nothing to do with creating windows or UI. It provides helper functions for OpenGL and is entirely layered on top of it.

Similarly,
OpenVG is a set of API s for 2d graphical programming
What does it need for creating windows and other UI related ones…
(which runs on both linux and windows)

2.What is EGL?(Is it connected to OpenGL ES)
Cant openVG function without EGL?

EGL is the Khronos native platform graphics interface. It is the connection between the native window system and graphics APIs such as OpenGL ES, OpenVG, and potentially other Khronos APIs.

A typical OpenVG implementation would be accompanied by an EGL implementation to perform the initialization tasks. This is not a requirement, though, and the OpenVG implementer could choose any method they like.

Hi All,

The title of this thread exactly matches what I had in mind; so instead of starting another thread I thought I’d reuse this one :slight_smile:

Does anybody know of any OpenVG implementation that uses OpenGL-ES as well as EGL for rendering?

I’d be glad to share what I intend to do with it in case anybody wants to know :smiley:

Thanks in advance,
Gautam

Phew!! I finally made some progress :smiley: :smiley:

I downloaded the OpenVG reference implementation (RI) given by Khronos, removed all references to Glut and hooked it up with the OpenGL-ES implementation provided by Vincent3D (and boy! was it tough or was it tough :mrgreen: )

But now I see that the function “PS_render” in “main.c” takes way too long to return (about 5 minutes :roll: :roll: )
Does anyone know what may be the reason?

Also, the output I see on the display is a highly distorted Tiger (bcoz in its current form, the implementation is designed for a sRGBA 8888 display; while my display is RGB 565)
Can anyone tell me if it is possible for me to play around with the code a little so that the Tiger would look like a Tiger? :smiley:

Thanks in advance,
Gautam

to add some more details:

I’ve compiled my program on a Linux box (which doesn’t have Glut). For rendering, I’m directly accessing the framebuffer and writing into it (from within eglSwapBuffers).

If I compile the .cpp files with any level of optimisation (-O2 or -O3), I get a runtime error; whereby one of the ‘assert’ statements in the OpenVG code aborts the program.

Please let me know if anybody can help.
Also please let me know in case any further details would help.

Thanks,
G