Seminar Presentation on
OPENGL for EMBEDDED SYSTEM
Megha V
MSc. Computer Science
Reg. No:B4PGCS1010
1
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
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
4
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
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
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
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.
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
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
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
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
Different versions
13
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
• 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.
 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
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.
BASIC GL OPERATIONS
Datatypes
GLtypes
boolean byte
ubyte char
short ushort
int uint
Int64 uint64
fixed sizei
enum intptr
sizeiptr sync
bitfield half
float clampf
19
Rasterization
Rasterization is the process by which a primitive is
converted to a two dimensional image
20
Practical considerations
What to expect from mobile platforms
 CPU speed: 300 to 600MHz
 GPU speed: Peak fill rates of 200-500MHz
21
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
THANK YOU
23

Seminar presentation on OpenGL

  • 1.
    Seminar Presentation on OPENGLfor EMBEDDED SYSTEM Megha V MSc. Computer Science Reg. No:B4PGCS1010 1
  • 2.
    CONTENTS • Introduction toOPENGL • 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
  • 4.
  • 5.
    Introduction to OpenGLES: – 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 OpenGLES 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 ofOpenGL 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  OpenGLES 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  Inour 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 OPENGLES • 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 OpenGLand 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 OpenGLES 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
  • 13.
  • 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 ES3.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 ESis 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.
  • 18.
  • 19.
    Datatypes GLtypes boolean byte ubyte char shortushort int uint Int64 uint64 fixed sizei enum intptr sizeiptr sync bitfield half float clampf 19
  • 20.
    Rasterization Rasterization is theprocess by which a primitive is converted to a two dimensional image 20
  • 21.
    Practical considerations What toexpect from mobile platforms  CPU speed: 300 to 600MHz  GPU speed: Peak fill rates of 200-500MHz 21
  • 22.
    CONCLUSION • Mobile graphicsis 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
  • 23.