PDA

View Full Version : Compatibility between OpenGL API , OpenGL ES and WebGL versions



dolly_cute
09-25-2014, 05:47 AM
Hello,

Good Day! I was wondering if it possible to port or switch between OpenGL applications to OpenGL ES and WebGL or vice versa?

Thank you.

Agent D
09-26-2014, 11:52 AM
OpenGL(R) is an open standard API for hardware accelerated graphics rendering, typically implemented by a graphics driver on a desktop system.

OpenGL ES(R) is a simplified version for embedded systems (e.g. cell phones). There are (AFAIK) 3 versions based on 3 different versions of desktop OpenGL(R) and heavly simplified.
There are OpenGL ES(R) implementations for desktop systems, but neither can be used as a snap-in replacement for the other.

Getting a desktop OpenGL(R) program to run on an OpenGL ES(R) implementation requires some effort of porting the application. The reverse (porting from ES to desktop) is probably easier,
since the feature set of the target version is larger and also because for desktop versions, there is an extension to enhance compatibillity with the ES API.

WebGL(R) is an in-browser JavaScript API based on OpenGL ES(R), so JavaScript code in an HTML5 web page can use hardware accelerated 3D graphics. Browsers typically implement WebGL(R)
by using OpenGL ES(R) in their backend (there is a project called ANGLE that provides an OpenGL ES(R) like API for Windows(R) systems by translating API calls to Direct3D(R) 9).

Using WebGL(R) and OpenGL(R) is obviously mutually exclusive.

dolly_cute
09-28-2014, 03:46 AM
OpenGL(R) is an open standard API for hardware accelerated graphics rendering, typically implemented by a graphics driver on a desktop system.

OpenGL ES(R) is a simplified version for embedded systems (e.g. cell phones). There are (AFAIK) 3 versions based on 3 different versions of desktop OpenGL(R) and heavly simplified.
There are OpenGL ES(R) implementations for desktop systems, but neither can be used as a snap-in replacement for the other.

Getting a desktop OpenGL(R) program to run on an OpenGL ES(R) implementation requires some effort of porting the application. The reverse (porting from ES to desktop) is probably easier,
since the feature set of the target version is larger and also because for desktop versions, there is an extension to enhance compatibillity with the ES API.

WebGL(R) is an in-browser JavaScript API based on OpenGL ES(R), so JavaScript code in an HTML5 web page can use hardware accelerated 3D graphics. Browsers typically implement WebGL(R)
by using OpenGL ES(R) in their backend (there is a project called ANGLE that provides an OpenGL ES(R) like API for Windows(R) systems by translating API calls to Direct3D(R) 9).

Using WebGL(R) and OpenGL(R) is obviously mutually exclusive.


Thank you for your reply Agent_D