<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-clutter" xml:lang="fr">

  <info>
    <link type="guide" xref="tech" group="clutter"/>
    <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>

    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email its:translate="no">shaunm@gnome.org</email>
      <years>2011–2012</years>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>

    <desc>Animations and scene graph</desc>
  </info>

<title>Clutter</title>

<p>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.</p>

<p>Clutter utilise <link href="http://www.khronos.org/opengl/">OpenGL</link> et <link href="http://www.khronos.org/opengles/">OpenGL|ES</link> pour bénéficier de l'accélération de la carte graphique, sans pour autant exposer la complexité de la programmation d'un GPU.</p>

<p>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 <em>actors</em>) on the main viewport (or <em>stage</em>).</p>

  <p>Clutter comes with pre-defined actors for displaying solid colors, image
  data, text and custom high-precision 2D drawing using the
  <link xref="tech-cairo">Cairo</link> API. Clutter also provides generic
  classes for structuring a user interface using both a box-packing model like
  <link xref="tech-gtk">GTK+</link>, and a series of free-form
  <em>constraints</em>.</p>

<p>Clutter fournit un cadre applicatif extensible d'animations et des effets graphiques. Une animation est associée à un axe temporel et modifie une ou plusieurs propriétés d'un ou plusieurs acteurs au cours du temps, par exemple leur rotation dans un certain sens, l'échelle, la taille, l'opacité, etc.</p>

<p>Des bibliothèques additionnelles permettent de combiner Clutter avec d'autres technologies. Par exemple, Clutter-GTK permet d'intégrer une scène Clutter dans une interface construite avec GTK+. Clutter-GStreamer permet d'ajouter un flux vidéo ou audio sur la scène de Clutter. Clutter-Box2D et Clutter-Bullet permettent de simuler des interactions physiques, comme l'action de l'apesanteur ou les collisions, entre les acteurs, ceci en 2D et en 3D.</p>

<list style="compact">
  <item><p><link href="https://developer.gnome.org/clutter-cookbook/stable/">The Clutter Cookbook</link></p></item>
  <item><p><link href="http://developer.gnome.org/clutter/stable">Clutter Reference Manual</link></p></item>
  <item><p><link href="http://www.clutter-project.org">The Clutter web site</link></p></item>
</list>

</page>
