A programmable node-based system
for GPU-friendly applications.

Take a look at it

Take a look at Gratin

What is it?

Gratin is a programmable node-based system tailored to the creation, manipulation and animation of 2D/3D data in real-time time on GPUs. It is free, open source and relies on OpenGL and GLSL to ensure wide OS and GPU compatibility. It offers three levels of programmability (group, generic and plugin nodes) which make it adapted to the needs of experts and non-experts alike.

Here’s some stuff you can make with Gratin

Gratin is useful if you want to work with 2D compositing or 3D scene rendering

Image processing

The color palette of a target image (A) is applied to a source image (B), using global mean and variance properties. The image in (C) is obtained by directly writing a transfer function in GLSL inside a generic node.

3D rendering

Displacement mapping is applied to an input sphere, resulting in a 3D object. The images in (A) and (B) show two output renderings where shading effects are mixed based on surface curvature.

Source code (tested on Linux, MacOSX and Windows):


Windows64 binaries:


Bundle for MacOSX:


Documentation (get started):


For more technical information and a (read-only) access to the code repository, please visit this site

Gratin is licensed under the Mozilla Public License (MPL), v. 2.0. For more details, a copy of the MPL can be found here



  • Romain Vergne (romain[dot]vergne[at]inria[dot]fr): Website - design, core/node dev
  • Pascal Barla (pascal[dot]barla[at]inria[dot]fr): Website - design


  • Gautier Ciaudo - node dev
  • Jean Bourgeas - node dev, debug
  • Pierre Bénard - bundle macosx, debug
  • Simon Boyé - node dev, links with patate lib
  • Nicolas Mellado - links with patate lib

Special Thanks to ...

  • Daniel Holtmann-Rice for OpenGL versionning and OSX tests
  • Steven A. Cholewiak for OSX tests
  • Georges-Pierre Bonneau for OSX tests
  • Gael Guennebaud for Eigen tips