Finding a 3D Modelling Application for iPhone Development

by Rob Bajorek
Originally posted: May 7, 2009

After starting down the road of OpenGL development on the iPhone, I knew I needed a 3D modeling application to do anything fancier than spheres and cubes. My first try at an application was Blender. Blender has a lot of fans, but it’s also quite complicated. Just going through the tutorials was a chore. I didn’t want to learn how to draw fancy shapes like monkeys; simple polygons were sufficient.

After getting some basic models together in Blender, I had difficulty exporting into a usable format for the iPhone. The Wavefront OBJ format is the generic 3D model standard, and there is an importer for iPhone out there. It’s not feature complete, and doesn’t support UV texture mapping at this time. That’s a big hole for my purposes.

I played with Blender for a couple of days, but I struggled getting textured Blender objects into my iPhone project. Other people do it, so I’m sure it’s my lack of knowledge in that field. However, I don’t plan on being a 3d modeler; I’m the software architect. I need to spend my time on my area of expertise. But my needs were simple (mostly basic textured polygons), so I still preferred to do it myself.

What did I do? I ended up buying Cheetah3D, made my shapes quickly (and easily!), and exported it to a .h file in under 15 minutes. Now that’s what was I looking for from Blender!

All done? Close, but not quite. Cheetah3D’s .h export feature makes an OpenGL-compatible file, not an OpenGL ES one. But, it took under an hour to hammer out a Perl program to convert the header file into an iPhone-usable one. Now I just run my Perl program over Cheetah’s exports and *poof*! Add the new header file to my iPhone project, import it at the appropriate place, and it Just Works.

End result? Cheetah3D is doing everything I need in a 3D tool. Not to say that Blender is a bad program. Far from it; it has an enormous amount of power and it’s free. But just like you won’t recommend Photoshop to get rid of red-eye, for my basic needs Cheetah3D does the job.

[Update: if you would like my (free!) Cheetah3D to iPhone header converter, please click here.]