C++ Programming Tutorials that take you up to expert level with plenty of examples, source code and explanations.
About C, C++ and C# brings you tutorials for C Programming, C++ Programming and C# Programming; part works built up week by week. Choose C, C++ or C# or all three.
Solid 3D shapes can be described using a mesh of triangles. Data for 3D objects can occupy a lot of memory and is thus suitable for compression and the patented Topological Surgery (115 page PDF!) scheme was devised in the late 90s. It's used in MPEG-4 video.
However, the clever people at the Georgia Institure of Technology lead by the inventor of Toplogical surgery Prof. Jarek Rossignac have devised an improved (and unpatented!) compression scheme called Edgebreaker which sounds like a Tolkeinesque Magic Sword! The C source code for Edgebreaker is publicly available from the inventor's site.
The algorithm has been used to compress animals, well their 3d likenesses in Zynga's Dream Zoo to keep the code size below the 20MB download limit for iPhones on 3G.
I was really impressed with this book on Learning iOS Game Programming as the author knows his stuff and explains it well.
The book is just about programming one game (which is in the App Store) and covers all aspects of it, including OpenGL, Sound, the lot. If you're interested in game programming this is an excellent way to get started but it's not for anyone new to programming or programming iPhones etc. You need to know a little about using XCode etc.
The tutorial includes source code but isn't the full game just some asteroids randomly moving across the screen (no collisions yet or shooting). You have to press t to add new asteroids. It's an early demo.
The next tutorial will add more game bits in, plus better graphics and proper game play. Still, it's a start!
This is a book by Zed A Shaw that's available in alpha form online. It's for programmers with skills in one other "scripting" language, or who need to relearn C, Objective-C programmers who want better C skills and people who like a challenge.
Why is it the hard way? Because he wants you to type in all of the code and not copy-paste, typing it in exactly, even the comments. Then get it to run and make sure it prints the same output. If there are bugs fix them. Plus do the extra credit but you can skip ones that you can't figure out and always try to figure it out first before trying to get help.
I can see where he's coming from. If you learn as book by copy pasting examples, you've less involvement. When I skipped a lecture at Uni I'd photocopy somebody elses notes but it wasn't as good as writing them myself.