I want to display and rotate a single 3D model, preferably textured, on the iPhone. Doesn’t have to zoom in and out, or have a background, or anything.
I have the following:
- an iPhone
- a MacBook
- the iPhone SDK
- Blender
My knowledge base:
- I can make 3D models in various 3D programs (I’m most comfortable with 3D Studio Max, which I once took a course on, but I’ve used others)
- General knowledge of procedural programming from years ago (QuickBasic – I’m old!)
- Beginner’s knowledge of object-oriented programming from going through simple Java and C# tutorials (Head Start C# book and my wife’s intro to OOP course that used Java)
- I have managed to display a 3D textured model and spin it using a tutorial in C# I got off the net (I didn’t just copy and paste, I understand basically how it works) and the XNA game development library, using Visual Studio on Windows.
What I do not know:
- Much about Objective C
- Anything about OpenGL or OpenGL ES, which the iPhone apparently uses
- Anything about XCode
My main problem is that I don’t know where to start! All the iPhone books I found seem to be about creating GUI applications, not OpenGL apps. I found an OpenGL book but I don’t know how much, if any, applies to iPhone development. And I find the Objective C syntax somewhat confusing, with the weird nested method naming, things like ‘id’ that don’t make sense, and the scary thought that I have to do manual memory management.
Where is the best place to start? I couldn’t find any tutorials for this sort of thing, but maybe my Google-Fu is weak. Or maybe I should start with learning Objective C? I know of books like Aaron Hillgrass’, but I’ve also read that they are outdated and much of the sample code doesn’t work on the iPhone SDK, plus it seems geared towards the Model-View-Controller paradigm which doesn’t seem that suited for 3D apps.
Basically I’m confused about what my first steps should be.
You should probably start with some simpler iphone apps/tutorials, just to get your footing on obj-c and xcode etc.
For that, I recommend the pragmatic programmer’s iphone book, which has enough information to get started (I started with no knowledge of xcode, obj-c, iphone or mac and got to a working app fairly fast, using mainly this). However I should add that I come from a fairly good background in C/C++ and Java.
For your particular project, perhaps take a look at this answer which refers to an open source 3D app that you can look at and get tips from.