OpenGL-ES

Line 44: Line 44:
It is as standard, part of Fremantle aplha ARMEL but at the moment it is missing from x86 version.
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.
We try to get x86 equivalent opengl-es2 emulation library available soon.
 +
 +
There is excellent way to familiarize yourself to OpenGL-ES2.0 by trying the
 +
PoverVR tutorials that can be found form SDK under TrainingCouse ridectory.
 +
The examples have their own Makefiles for Linux host but you can copy the files
 +
to your own directory and try makefile above. This Makefile at the moment supports the basic
 +
and PvrShell examples (01..05) but not yet PvrTools exaples ( 06 and above ). 
To compile some of PoverVR tutorial examples, you can use following Makefile
To compile some of PoverVR tutorial examples, you can use following Makefile

Revision as of 15:53, 25 March 2009

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.

There is excellent way to familiarize yourself to OpenGL-ES2.0 by trying the PoverVR tutorials that can be found form SDK under TrainingCouse ridectory. The examples have their own Makefiles for Linux host but you can copy the files to your own directory and try makefile above. This Makefile at the moment supports the basic and PvrShell examples (01..05) but not yet PvrTools exaples ( 06 and above ).

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