OpenGL-ES

Contents

OpenGL-ES

Maemo OpenGL-ES


Books about OpenGL-ES

Other documentation

Imagination Technologies SDK

Other related documentation


OpenGL variants

image:Opengl.svg

  • OpenGL-1.0 has fixed shaders and fixed API to using them
  • OpenGL-2.0 adds programable shaders but fixed pipeline api is still there for backward compatibility
  • OpenGL-ES1.0 is OpenGL-1.0 with lot of "syntactic sugar". extra redundant API's removed and fractional integer API added
  • OpenGL-ES2.0 is OpenGL-2.0 using programable shaders is mandatory, all old fixed pipeline API's removed

Porting between openGL variants

  • OpenGL-1.0 application works with OpenGL-2.0 but not opposite
  • OpenGL-1.0 application is possible to port to OpenGL-ES1.0 but needs work if it is using some of removed API's
  • OpenGL-2.0 application that uses programable shaders is possible to port OpenGL-ES2.0 but may need so me work
  • Porting OpenGL1.0 or OpenGL-ES1.0 applications to OpenGL-ES2.0 needs lot of rewrite to use programable shaders.

Compiling under scratchbox

To compile OpenGL-ES2.0 applivations you need to have package "libgles2-dev" installed. It is as standard, part of Fremantle aplha ARMEL but at the moment it is missing from x86 version. We try to get x86 equivalent opengl-es2 emulation library available soon.

To compile some of PoverVR tutorial examples, you can use following Makefile

CC=g++

CPPFLAGS = -DBUILD_OGLES2
LDFLAGS=-lEGL -lX11 -lGLESv2 

all:OGLES2Texturing OGLES2BasicTnL OGLES2IntroducingPVRTools OGLES2HelloTriangle_LinuxX11

OGLES2HelloTriangle_LinuxX11:OGLES2HelloTriangle_LinuxX11.o

OGLES2Texturing: PVRShellOS.o OGLES2Texturing.o  PVRShell.o PVRShellAPI.o

OGLES2BasicTnL: PVRShellOS.o OGLES2BasicTnL.o  PVRShell.o PVRShellAPI.o

OGLES2IntroducingPVRTools: PVRShellOS.o OGLES2IntroducingPVRTools.o  PVRShell.o PVRShellAPI.o