Shaun McCance
shaunm@gnome.org 2011–2012
Animations and scene graph

# Clutter

Clutter is a library for doing animations and using a 2.5-D canvas. You create graphical objects out of images, and you can manipulate them later to move them, rotate them, or give them quasi-3D effects.

La Clutter utilitza l'API estàndard industrial OpenGL i OpenGL|ES per accedir a l'acceleració de gràfics per maquinari tan en entorns d'escriptori com de mòbil i tot això sense haver d'exposar les complexitats de la programació per GPU.

Clutter does not specify any visual style, and does not provide any pre-defined complex user interface control; it lets the developer define what is needed, using a flexible scene graph API, with free-form placement of the scene elements (or actors) on the main viewport (or stage).

Clutter comes with pre-defined actors for displaying solid colors, image data, text and custom high-precision 2D drawing using the Cairo API. Clutter also provides generic classes for structuring a user interface using both a box-packing model like GTK, and a series of free-form constraints.

Clutter provides an extensible animation framework and graphical effects. An animation is associated with a timeline and changes one or more properties of one or more actors over time, for example their rotation in a particular dimension, scale, size, opacity, etc.

A number of third-party libraries allow integration with other technologies, such as: Clutter-GTK, for embedding a Clutter stage inside a GTK application; Clutter-GStreamer, for embedding GStreamer video and audio pipelines; Clutter-Box2D and Clutter-Bullet, for adding physics interaction in both 2D and 3D environments.

The Clutter Cookbook

Clutter Reference Manual

The Clutter web site