OpenGL-ES

Line 30: Line 30:
* OpenGL-2.0 application that uses programable shaders is possible to port OpenGL-ES2.0 but may need so me work
* 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.
* 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
 +
<pre>
 +
CC=g++
 +
 +
CPPFLAGS = -DBUILD_OGLES2
 +
LDFLAGS=-lEGL -lX11 -lGLESv2
 +
 +
all:OGLES2Texturing OGLES2BasicTnL OGLES2IntroducingPVRTools OGLES2HelloTriangle_LinuxX11
 +
 +
2OGLES2HelloTriangle_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
 +
</pre>

Revision as of 12:05, 25 March 2009

Contents

OpenGL-ES

Maemo OpenGL-ES


Books about OpenGL-ES

Imagination Technologies SDK


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

2OGLES2HelloTriangle_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