2. CONTENTS
• Introduction to OPENGL
• Introduction to OPENGL ES
• Features of OPENGL ES
• Difference between OPENGL and OPENGL ES
• Versions
• OPENGL ES fundamentals
• Basic GL operations
• Datatypes
• Rasterization
• Conclusion
2
3. Introduction to OPENGL (Open Graphics Library) :
OPENGL is a cross language, multi-platform API for
rendering 2D and 3D computer graphics
The API is used to interact with Graphics Processing
Unit(GPU)
OPENGL is platform independent APT that was easy
to use, close enough to the hardware to get excellent
performance.
3
5. Introduction to OpenGL ES:
– A subset of the OpenGL application
programming interface (API)
– Designed for embedded systems
– mobile phones, Personal Digital
Assistant(PDAs), and video game consoles.
– Lightweight interface
5
6. What is OpenGL ES Graphics System?
OpenGL ES is software interface to hardware
The inteface consist of a set of procedures and
functions
OpenGL ES requires that the graphics
hardware contain a framebuffer.
Programmers can produce high quality
graphical images,specifically color images of
3D objects.
6
7. Programmers view of OpenGL ES
7
OpenGL is a set of commands
OpenGL ES provides an immediate mode interface
The program begin with calls to open a window in to the
frame buffer.
Then calls are made to allocate OpenGL context.
These initial steps are done using the EGL(Khronos Native
Platform Graphics Interface)
The programmer is then free to issue commands
8. Implementer’s view
8
OpenGL ES is a set of commands that affect the operation of
graphics hardware
Implementer’s task is to provide the CPU software interface.
Graphics hardware may comprise varying degree of graphics
acceleration.
The work of OpenGL ES command is divided between CPU and
Graphics hardware.
9. Our view
9
In our view OpenGL ES is a state machine that control a set of
specific drawing operation
This model should engender a specification that satisfies the
needs of both programmers and implementers
An implementation must produce results conforming to those
produced by the specific methods
10. FEATURES OF OPENGL ES
• OpenGL ES was designed for constrained devices
• OpenGL ES was developed by removing redundancy
from OpenGL
• The application that were written to the embedded
subset of functionality in OPENGL would also run in
OPENGL ES
• New features were introduced to address specific
constraints of embedded devices
10
11. Differnce between OpenGL and OpenGL ES
Programmers need to compute projection matrix and transformation matrix in
OpenGL ES
No glBegin() and glEnd() functions
No GL_QUADS and GL_POLYGONS
GL is for Desktop GPUs , GL ES is for Mobile PDAs cell phones
Extension of GL ES is quite different than extension of GL.
11
12. Different versions
o OpenGL ES 1.0
o OpenGL ES 1.1
o OpenGL ES 2.0
o OpenGL ES 3.0
o OpenGL ES 3.1
o OpenGL ES 3.2
12
14. OpenGL ES 1.0
- released on July 28, 2003
- based on original OpenGL API
- glBegin() and glEnd() are removed
OpenGL ES 1.1
Added features are:
- better multitexture support
- automatic mipmap generation
- vertex buffer objects etc.
OpenGL ES 2.0
- released in March 2007
- based roughly on OpenGL 2.0
-eliminates fixed-function rendering pipeline
14
15. • OpenGL ES 3.0
• - released in August 2012
• - OpenGL ES 3.0 is backward compatible with OpenGL ES 2.0
• - enable applications to incrementally add new visual features
• OpenGL ES 3.1
• - released in March 2014
• Functionality include:
• - Computer shaders
• - Independent vertex and fragment shaders
• - Indirect draw commands
• OpenGL ES 3.2
• - released in August 2015
• - Geometry and tesellation shaders.
16. OpenGL ES is concerned only with processing data in GPU, memory.
There is no support for other input or output devices.
Each primitive is a point, line segment, or polygon.
Commands are always processed in the order in which they are received
The model for interpretation of GL commands is client-server.
A server may maintain a number of GL contexts.
OPENGL ES FUNDAMENTALS
17. OPENGL ES FUNDAMENTALS
A client may choose to make any one of these contexts current.
There are two classes of framebuffers: a window system-provided framebuffer
and application-created framebuffers.
The window system-provided framebuffer is referred to as the default
framebuffer.
Application-created framebuffers, referred to as framebuffer objects, may be
created as desired.
21. Practical considerations
What to expect from mobile platforms
CPU speed: 300 to 600MHz
GPU speed: Peak fill rates of 200-500MHz
21
22. CONCLUSION
• Mobile graphics is growing quickly and embedded platforms will
eventually outnumber desktops
• OpenGL ES gives you the power of OpenGL
in a much smaller package.
• OpenGL ES is great low level graphics API,mobile
friendly,Powerful,modern feature set,Simpler and easier to learn
than desktop APIs
22