Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL ES versus OpenGL [closed]

What are the differences between OpenGL ES and OpenGL ?

like image 371
kml_ckr Avatar asked Dec 23 '10 13:12

kml_ckr


People also ask

What is OpenGL ES version?

OpenGL is a cross-platform graphics API that specifies a standard software interface for 3D graphics processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices.

Is OpenGL ES a subset of OpenGL?

OpenGL ES is an “embeddable subset” of OpenGL. It slims down the rather large OpenGL API to the bare essentials, so that it can be implemented on devices with simpler, cheaper hardware, and above all, low enough power requirements to run on batteries.

Is OpenGL discontinued?

In June 2018, Apple deprecated OpenGL APIs on all of their platforms (iOS, macOS and tvOS), strongly encouraging developers to use their proprietary Metal API, which was introduced in 2014.


2 Answers

Two of the more significant differences between OpenGL ES and OpenGL are the removal of the glBegin ... glEnd calling semantics for primitive rendering (in favor of vertex arrays) and the introduction of fixed-point data types for vertex coordinates and attributes to better support the computational abilities of embedded processors, which often lack an FPU

Have a look here: OpenGL_ES

like image 122
kamaci Avatar answered Sep 19 '22 00:09

kamaci


OpenGL ES is the opengl api for embedded systems. It is simpler than the normal opengl in terms of the number of the api functions, but may be harder to use, since you will have to use vertex buffers and write more shaders.

When you use a normal opengl, you can use glBegin and glEnd to enclose the geometry primitives you need to draw, but when using Opengl ES, you will have to use vertex buffers. I guess this is for performance concerns.

Currently, there are two Opengl ES versions, the 1.1 version can only support the fixed rendering pipeline, while the 2.0 version supports glsl shader. However it has no fixed rendering pipeline. In other word, you will have to write your own shader for everything.

Opengl ES is mainly used on cell phones and web (webgl). According to the spec, your desktop opengl driver can support all opengl es apis.

like image 39
Bill Yan Avatar answered Sep 22 '22 00:09

Bill Yan