OpenGL-ES: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>kate No edit summary |
imported>kate No edit summary |
||
| 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
OpenGL-ES
Maemo OpenGL-ES
Books about OpenGL-ES
Imagination Technologies SDK
OpenGL variants
- 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