Please disable AdBlock. CAN is an ad-supported site that takes hundreds of hours and thousands of dollars to sustain.

Cinder [Cinder, C++]

Cinder is a new C++ frameworks created by The Barbarian Group for programming graphics, audio, video, networking, image processing and computational geometry. Cinder is cross-platform, and in general the exact same code works under Mac OS X, Windows and a growing list of other platforms — most recently the iPhone and iPad. Cinder will be made publicly available later this week and we have been given an early access to have a play and if you are interested in trying it out early yourself, see the bottom of this post.

If you are already familiar with other creative code platforms such as Processing or openFramworks, you’ll find Cinder setup quite familiar. Although not recomended for someone just getting started with creative code, Cinder download includes many examples, from simple to more complex to get you started. There is a also a great ‘getting started’ tutorial included by Robert Hodgin called “Hello, Cinder” taking you though setup, image manipulation, influence and particle effects. The framework has been designed to take advantage of platforms’ native capabilities whenever it’s possible, and relies on a minimum of 3rd party libraries. This makes for much lighter, faster applications, and means Cinder apps get free performance, security and capability upgrades whenever the operating system does.

The team have also worked hard to create a library that feels familiar and intuitive to C++ programmers, building on the idioms and techniques the C++ community has developed over its long history. Cinder’s modern internal memory management virtually eliminates leaks, not only of memory but also of resources like OpenGL textures. We make use of the exceptional Boost libraries to fill in any gaps, and always favor techniques built on features which are currently or soon will be standard C++ (such as std::thread orstd::shared_ptr).

Here is a list of features:

Standalone Mac & Pc Applications
Platform-Native Windowing And Event Handling

Screensavers
Create Native Mac Os X And Windows Screensavers

Internet I/O
Load Media Via Http And Ftp Natively

Full I/O Abstraction
Seamless I/O From Flat Files, Memory, Resources And Networks

C++ Core
Internally Reference-Counted Design Prevents Leaks, C++0X Std::Thread For Multithreading

Cocoa Touch Support
Targets The Iphone & Ipad; Provides A Growing List Of Device-Specific Features

Ui Events
Full Keyboard, Mouse (Including Scroll Wheel), Window And File Drag & Drop

Xml Dom Parser
Built-In Object Oriented Xml Parsing Api

Serial Port

Core Classes
Perspective And Orthographic Cameras, Triangle Meshes, Obj Loading, Geometric Primitives

Opengl Core
Multisampled Antialiasing, Dynamic Switching Between Full-Screen & Windowed Modes, Convenience Methods For Rapid Development

Opengl Classes
Full-Featured Classes For Textures, Fbos, Glsl, Vbos, Lights, Materials And Display Lists

Tile-Based Renderer
Render Arbitrarily Large Images (For Print & Other Applications)

Gui Parameters
Gl-Based Gui For Powerful, Convenient Manipulation Of Parameters

Math Primitives
Full-Featured Matrix, Vector And Quaternion Classes

Utilities
Colors, Random Numbers, Perlin Noise (Up To 4D, With Analytical Derivatives)

Geometric Primitives
Poly-Bezier Paths, Polygons, Axis-Aligned Bounding Boxes, B-Splines, Least-Squares B-Spline Curve Fitting

Robust Image I/O
Png, Jpeg, Tiff, Bmp & Others Via Platform-Native Libraries. Preservation Of Premultiplication And High Dynamic Range Information

2D Image Processing
Professional Quality Image Resizing, Edge Detection, Desaturation, Adaptive Thresholding

High Dynamic Range Imaging
Full Support For Floating Point Hdr Pixel Processing In Image I/O, Opengl And Software

Powerful 2D Rasterizer Via Cairo
Full Featured Vector Renderer Exports To Svg, Pdf, Postscript, Eps, Coregraphics, Gdi And A Pixel-Based Antialiasing Rasterizer

Fonts & Text
Font Enumeration, Glyph Path Extraction, Unicode Text Layout And Rasterization, Custom Fonts Via Flat Files Or Resources

Video Capture
Webcam Support Via Platform Native Libraries

Full-Featured Quicktime
Frame Extraction, Native Accelerated Opengl Path, Audio Playback, Fft Analysis, Asynchronous Network Loading

Audio Support
Loading Standard File Formats, Access To Raw Pcm Data And Fft, Microphones

To try out Cinder early, please send us an email at info(at)creativeapplications.net with your portfolio site/past work and we’ll drop you a message with l/p to the site where you can download the framework, read up on the details and watch demo movies of other projects created using this framework. The site is now open: http://libcinder.org

To get started with Cinder on a Mac running OSX, you will need Xcode installed. If you don’t have it, you can download the latest version from Apple right here. Note you’ll first need to create ADC account if you don’t have one, which you can do here. From then on, it’s simple, open one of the samples and “build” in xcode.

Cinder on Windows is designed to use Microsoft Visual Studio 2008, and works with both the commercial version and the freely availableExpress editions. If you don’t already have it installed, you can download Visual C++ Express here. If you are you using an Express edition of Visual C++ and you have never installed the Platform SDK, you’ll want to do that too – just download and run the installer here.

For more information on Cinder, see http://libcinder.org/ (l/p required)

Posted on: 28/04/2010

Posted in: c++, Cinder

Post tags:

  • klwilles

    It looks promising–once the community embraces it, it should really take off.

  • http://www.antivj.com AntiVJ

    You guys are geniuses !!! :)
    Joanie

  • DieTapete

    Yay, been waiting for this!

  • http://www.lab101.be Kris

    Any major advantages over openFrameworks ?

  • Robert

    I too like to know what are the pros – or cons – of this framework over oF or other C/C++ frameworks (Juce, nuiLib and so on)

  • http://www.creativeapplications.net Filip

    Peter has just published a great article on Cinder, interview with Andrew Bell, one of the creators. Check it out here ..hopefully will answer questions you may have about why. http://createdigitalmotion.com/2010/04/meet-cin

  • http://www.lab101.be Kris

    Great article. It seems they work more directly with the OS than oF plus some other improvements.
    I'm sticking with oF for a while I think :)

  • http://www.digitalmediaminute.com/article/6350/c-framework Tom

    Digital Media Minute's pointer of the day, it looks promising.

  • Someone

    BUT NO LINUX VERSION!!!!!!

  • Someone

    BUT NO LINUX VERSION!!!!!!