Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL ES, OpenFrameworks, Cinder and IOS creative development

I'm in the middle of a difficult choice. I'd like to learn a language that can help me create application with a strong artistic/creative/graphic component and use it for commercial projects for my customers.

My first choice was OpenGL ES, i think of it as the "Standard" way to go through. But, in the meanwhile, i discovered this site : http://www.creativeapplications.net/ where i found many cool apps for ios, for most built using OpenFramewors and Cinder.

My question is: why choose this 2 "wrapper" instead of OpenGL? I need to understand benefits and disadvantages.

I'm not sure that using these frameworks i can mix in a easy (and standard) way (As for OpenGL) UIKit/Cocoa and Graphics. At the moment i still prefer OpenGL because i know that this's the way suggested by apple (i mean... proposed by Apple) and i'm sure that i can take advantage of it for my customer too. While i' not sure that using OF and Cinder i can fully manage UIKit and Cocoa without tricks.

like image 295
MatterGoal Avatar asked Apr 25 '11 09:04

MatterGoal


3 Answers

The benefits of using a framework are, as stated by Ruben, that you're not re-inventing the wheel. OpenGL doesn't come with a lot of classes you would normally need: Vectors, matrices, cameras, colour, images etc and the methods that you will need to work with them: normalise, arithmetic, cross product etc

Of course you can implement all this in OpenGL but if someone's done it before, why not just leverage that instead? Your choice of framework or library will depend on what implementation you prefer. OF will do things differently to Cinder which is different to another library instead.

You don't have to use everything a framework provides. If you don't like the base application (like Cinder for example) you can create your own contexts and what not and just use the framework's 3d maths libraries, or its image library, or whatever other part you want. Just include the relevant headers you want.

Alternatively you can just use a 3d math library if you are so inclined and do away with frameworks all together. This gives you more control over your rendering pipeline and also potentially decreases application size.

Ultimately what you choose will depend on its features and your preference for a particular style. I would suggest going with a framework or library you are comfortable with and that has been used in production (unless you are just playing around with stuff). Documentation is also important. If the docs/resources aren't very good I would shy away from using something.

Of course, if you want to learn the ins and outs (never a bad idea), by all means write your own library.

like image 177
Svenito Avatar answered Oct 22 '22 10:10

Svenito


I think the main advantage of choosing OF and Cinder is that you can focus on your creation better than loosing lots of hours dealing with the OpenGL library. Cinder even includes image downloading and memory treatment. However, you must be patient because these frameworks are being imported to the iOS platform right now.

In some months or years, everybody will use these frameworks that abstract all the stuff behind the graphics programming to bring them the full potential and time to make art!

like image 7
Ruben Marin Avatar answered Oct 22 '22 11:10

Ruben Marin


If you don't miss anything, i think you'd be OK with OpenGL alone.

Cinder offers some additional goodies, see http://libcinder.org/features/. Maybe triangulation, loading of system fonts, matrix support etc might be interesting for you in the future.

Also Cinder's Tinderbox makes creating new projects very easy.

like image 3
LennyStackOverflow Avatar answered Oct 22 '22 12:10

LennyStackOverflow