May 17, 2012
The Cinder team is pleased to announce the release of Cinder version 0.8.4. Features in this release include:
A full-featured parser of the SVG vector graphics file format, including support for gradients, embedded images, and compressed SVG (SVGZ). Includes both a Cairo and OpenGL rendering pipeline, as well as full DOM-style access to element data.
In the spirit of the popular TweenLite engine for Flash, the new Timeline API allows sophisticated animation of arbitrary properties. Support for a large library of easing functions as well as custom easing, callbacks and fire-and-forget tween management.
JSON Parser & Writer
Courtesy of Stephen Schieberl, Cinder now includes a powerful JSON reader/writer called JsonTree, similar to our XmlTree XML parser.
A new alternative to resources, assets in Cinder provide a convenient method for including data with your application which requires no setup code. Read more here.
Numerous New Samples
Many new samples demonstrating multithreaded network I/O, advanced frustum culling as well as the new SVG and Timeline APIs.
Polygon Boolean Operations
Polygonal booleans supporting the calculation of arbitrarily complex polygons' union, intersection, XOR and difference.
Shape2d Hit-Testing and Precise Bounding Boxes
Simple determination of whether a point is inside of a Shape2d, as well as the precise or "tight" bounding box of a Shape2d. Suitable for click detection, for example in determining which region a user clicked in a map.
Standardization On fs::path
All file I/O routines now use fs::path (shorthand for Boost.Filesystem paths) in place of bare strings.
Base64 Encode & Decode
Built-in support for encoding and decoding Base64, necessary for things like MIME attachments and embedded images in SVGs.
An STL-style container which simplifies safe data exchange between threads, especially well-suited for implementing a producer-consumer pattern.
New Math Classes
Including new classes for representing planes, frusta and affine matrices in 2D.
Fixes and Improvements
A number of other enhancements and bug fixes including new Cairo functionality, gaussian-distributed random numbers, runtime vertical sync and window position control.
Cinder is the work of an ever-growing community of developers, and we are grateful for everyone who helped out with this release. Github reflects commits from 32 contributors now. And finally, Cinder is incredibly indebted to The Barbarian Group, who have generously underwritten the majority of the code in this release. Thanks TBG!