The graphics hardware behind the iPhone and iPod Touch is a PowerVR MBX Lite, which uses Tile-Based Deferred Rendering.

There are a few limitations you should know from the start:
* There is no stencil or accumulation buffer.
* There are only two texture units.
* The maximum texture size is 1024×1024 (use power of two only).
* The maximum space for textures and surfaces is 24MB.
* Only 2D textures are supported.
* There is no software rendering fallback.

The PowerVR chip uses a full floating-point pipeline throughout. The OpenGL lighting model is fully hardware accelerated, and there is no need to use fixed-point values for either lighting and material values, or vertex data. For best performance, use directional lights instead of point lights when possible, and try to always use indexed strips for geometry submission. To minimize bandwidth, you can use unsigned byte values for colors, and either unsigned byte or shorts instead of floats for texture coordinates.