Took long enough. Well, looks like my toolkit is now basically OpenGL ES 2 compatible. Same program but will auto detect ES 1/2 and draw appropriately. That is, I can draw 3D stuff with shaders now. Yippie! This will be a help in future games.
Shaders are loading in and drawing. Lots of uniforms being set, if they are present in the programs. One difference with glsl in OpengL 2.x versus OpenGL ES 2 essl is that many of the built in variables are not present. You find yourself loading in the model view matrix, projection matrix, materials information and lighting information into uniforms -- loading in all the things you take for granted. Though, you could hardcode some of these to speed things up. One difference on loading a 4x4 matrix into a uniform is that ES 2 will not let you transpose via the api. But I do only load it in at the beginning of the level. In some ways, ES 2 and OpenGL 3.x and shaders in general are very little guy unfriendly because you happen to have to code this stuff yourself now! eg. doing the hardcore math in the shader etc. That is going to weed people out for sure. I'd expect main changes after this point to just be new shaders and maybe tweaks to add in new uniforms as needed. Might want to fiddle with bump mapping since I'm already passing in tangent and normal information with attributes -- from that I can get the binormal value and a tbn matix. A first small step in this was to make sure I get the tangent data into the mix with regard to loading models.
At some point in the future, I'll do projective shadow mapping. I had implemented it on the mac in the past but not on the iPhone. But I'll have to add in a render to depth from camera view point which is a little more involved.
Still, I had to clean up some loose ends like integrating the new transform stack with unprojection code for tapping.
Huff, still wish iPhone/iPod had multisample. I wonder if, iPad will have multisample?
Definitely coming to a close to the in between making games R&D retrofit phase.