I decided to take a stab at writing an iPhone game engine in OpenGL ES, with the intent of gaining a better understanding of GL and graphics programming in general. I’ve already done a bit of work with DirectX and general 3D graphics programming via Torque Game Engine Advanced, but this is my first attempt at writing a rendering engine from scratch. I’ve been working on this for around two weeks now, including doing a bit of research into GL itself and reading some 3D math primers. I should also mention that my end goal is to support both GL ES 1.0 and 2.0, although at the moment I’m only working with ES 2.0.
As it is now, I’ve completed a basic math library and started working on scene management and materials. The Matrix class was largely based on the one included in the Oolong Engine for iOS, as my knowledge of matrices is limited. I’ve also started to abstract as many of the rendering calls as possible to make it easier to add ES 1.0 support down the road.
There aren’t a lot of visuals to show right now as I’m still at the “single spinning object” stage as far as my scene goes, but here we are:
Both objects are running a basic lighting shader with a single light in the scene. That’s really about all for now. I plan on posting up some of my engine structure documents later, once I move them into something digital (they’re notes on paper at the moment).