KaleiDraw 3D for iPhone, UI made with Blender

I recently completed the 3D rendered UI of KaleiDraw:

http://lh4.ggpht.com/_HzkQT2tuwqg/SoyAE5LQ64I/AAAAAAAAAMU/0umVkIhBIgo/s144/final_hud_composizione.png

KaleiDraw is a simple OpenGL ES based kaleidoscope for iPhone, developed by friend and co-worker Giovanni Dal Negro aka GioFX.

All the 3D/2D graphics are my own work. GioFX is the author of the OpenGL ES based code. KaleiDraw, developed for iDiTeam, is based on a native Windows/Mac(Carbon) 3D engine, called Chimera, developed by GioFX in C/C++ and ported to iPhone(Cocoa).

GioFX is also author of other entertainement applications, based on his engine Chimera, like Jungle and Sparkles (vendor iQzero).

I am a developer too (see, for example, MD5 Reader 2), and recently our collaboration leaded to the development of a new engine, partially based on Chimera. The aim is the production of an upcoming 3D breathtaking title for iPhone… stay tuned! :wink:

OpenGL ES development: GioFX aka Giovanni Dal Negro (iQzero)
Graphics: Ender aka Marco Frisan (Ender’s comics blog)

Very cool!

I was considering making an app or game for iPhone but found the API is only accessible from Objective-C or Cocoa which are languages you would normally only run or program under a Mac from what I understood, that you could only program from a PC if I did some form of hacking along the way.

Is porting C++ to Cocoa easy?

Thanks for sharing.

Both Mac OS X and iPhone OS are Unix based systems, therefore code written in C and C++ are fully supported. GioFX’s Chimera engine, for example, is based on C++ and C (after all, OpenGL is a C API).

Furthermore, Objective-C is a superset of C. Then C code and libraries can be used directly in Cocoa/Objective-C programs. In fact, Core Foundation and Quartz 2D are C frameworks.

Only higher level UI and Event Handling (supported by UIKit framework in iPhone OS and AppKit framework in Mac OS X) have to be coded in Cocoa/Objective-C. But for games based on OpenGL or OpenGL ES, it means to write few lines of code in Objective-C, most of them already prepared for us in the Xcode templates.

Finally, to mix C++ and Objective-C code, it is possible to use Objective-C++. With few limits you can call C++ code from Objective-C code and vice versa.