Intel 2700 programming - tips, links and pointers
I have had a few people ask me about intel 2700 programming, so I though I would start a thread with the relevant info.
LIBRARIES:
The official intel libraries are supposed to be available on premier.intel.com somewhere. Registration is free, so get an account and search for "2700G Graphics Drivers"
They also seem to be available as part of the Cube port. See links.
PowerVR has sdks available at http://www.pvrdev.com/
drgoldie has posted his source code for dynamically binding the libraries at
http://www.pocketmatrix.com/forums/view ... hp?t=19869
I don't know what his licensing is, but I assume it is fairly liberal.
DOCS:
Go to http://sourceforge.net/projects/ogl-es/ and download their docs file.
Go to http://www.khronos.org and download the 1.0 manual http://www.khronos.org/opengles/documen ... manual.pdf
Also search premier.intel.com
SAMPLES:
Few and far between at the moment:
One at http://www.pocketmatrix.com/forums/view ... hp?t=19626
Several at the Vincent site, but may need converting as the 2700 does not support any of the floating point routines.
Intel have ported the Cube engine to the ppc. See http://sourceforge.net/project/showfile ... p_id=91993
PERFORMANCE TIPS:
Straight from the horses mouth.
- Sending all your geometry as indexed triangle lists is your best bet for performance.
- Try to minimize the number of render calls or render state changes (e.g. send all models sharing the same material together)
- Do not use multi-pass; prefer multi-texturing instead (the MBX-Lite in the Axim supports two layers multitexturing)
- PVRTC textures will improve performance (cache efficiency, memory footprint)
- Minimize the number of the fog colour changes per frame.
- Textures: do not do mid-scene texture updates, i.e. updating and re-using the contents of a texture surface that's already been used in the scene.
- Make sure to disable alpha test/alpha blend when they're not required.
glDrawElements is the best way to draw geometry.
Applying the first 2 tips above increased the starting fps for yeti from 18 to 31. I did this by caching triangles per texture and then drawing all tris for a single texture (or at least the first 30) with a single glDrawElements.
DO NOT MIX 3D AND 2D CALLS
This causes bad things to happen (ie lockups) and slows things down.
LINKS
Vincent - Software open gl and docs - http://sourceforge.net/projects/ogl-es/
khronos specs and docs - http://www.khronos.org/
PowerVR - SDK and demos http://www.pvrdev.com/
LIBRARIES:
The official intel libraries are supposed to be available on premier.intel.com somewhere. Registration is free, so get an account and search for "2700G Graphics Drivers"
They also seem to be available as part of the Cube port. See links.
PowerVR has sdks available at http://www.pvrdev.com/
drgoldie has posted his source code for dynamically binding the libraries at
http://www.pocketmatrix.com/forums/view ... hp?t=19869
I don't know what his licensing is, but I assume it is fairly liberal.
DOCS:
Go to http://sourceforge.net/projects/ogl-es/ and download their docs file.
Go to http://www.khronos.org and download the 1.0 manual http://www.khronos.org/opengles/documen ... manual.pdf
Also search premier.intel.com
SAMPLES:
Few and far between at the moment:
One at http://www.pocketmatrix.com/forums/view ... hp?t=19626
Several at the Vincent site, but may need converting as the 2700 does not support any of the floating point routines.
Intel have ported the Cube engine to the ppc. See http://sourceforge.net/project/showfile ... p_id=91993
PERFORMANCE TIPS:
Straight from the horses mouth.
- Sending all your geometry as indexed triangle lists is your best bet for performance.
- Try to minimize the number of render calls or render state changes (e.g. send all models sharing the same material together)
- Do not use multi-pass; prefer multi-texturing instead (the MBX-Lite in the Axim supports two layers multitexturing)
- PVRTC textures will improve performance (cache efficiency, memory footprint)
- Minimize the number of the fog colour changes per frame.
- Textures: do not do mid-scene texture updates, i.e. updating and re-using the contents of a texture surface that's already been used in the scene.
- Make sure to disable alpha test/alpha blend when they're not required.
glDrawElements is the best way to draw geometry.
Applying the first 2 tips above increased the starting fps for yeti from 18 to 31. I did this by caching triangles per texture and then drawing all tris for a single texture (or at least the first 30) with a single glDrawElements.
DO NOT MIX 3D AND 2D CALLS
This causes bad things to happen (ie lockups) and slows things down.
LINKS
Vincent - Software open gl and docs - http://sourceforge.net/projects/ogl-es/
khronos specs and docs - http://www.khronos.org/
PowerVR - SDK and demos http://www.pvrdev.com/