First off, yes, Pocket PCs can handle very substantial 3D rendering, if the entire rendering pipeline has been specifically designed around Pocket PC hardware. Take a look at what the PS1 can do with a very well written software renderer.
I concur that PocketGL is probably your best bet. It certainly has limitations when you try to do anything substantial with it. For example, it uses a Z-Buffer, which provides the most simplistic (implementation-wise) yet accurate depth sorting. However it is also very expensive. Pierre reduced the cost of using a Z-buffer by merging the depth buffer and color buffer together. So the high word is the depth, the low word is the RGB565 color value. The big downside is it requires special GAPI blits because it isn't a plain 16 bit color buffer. If one uses an extra pass through the buffer to convert it to a regular buffer then it negates any performance gain you would get from an optimized GAPI toolkit like GapiDraw (see .
Other disadvantages for large projects include:
Only imports ASE format (raw polygons), which can only really be generated by the very expensive 3D Studio Max.
No hidden surface removal (coverage spans, etc).
Limited Z-distance (4096 units for perspective correction).
Texture color depth is reduced to 9 bit before gourard shading is applied.
No entity system.
Many hard-coded values (screen dimensions, FOV, etc).
No high level polygon management (BSP). Note that the BSP implementation used by the Quake3 demo is not real BSP. It is not a tree, it it just divides the world into a grid.
Custom GAPI flush routines not optimized for newer devices (e740, Axim, etc).
No documentation, and demos are only of limited value for someone new to 3D programming in general.
It is a good toolkit to build off of. It allows one to quickly prototype off of it, but by itself it can only be used for pretty basic games, like Ghostworld. It is not possible to create a first person shooter or any high poly maps with it due to performance reasons, without a substantial amount of additional coding. But for the money it is a good investment.
Dan East