Double Buffering for Visualization

The core of Fatum is driven by an architecture based on double buffering for visualization. It is inspired by a common computer graphics technique called double buffering (see Wikipedia).

Two buffers for two states

The properties for the elements of the visualization in Fatum are stored in two buffers : a front buffer and a back buffer.

At first, values are changed in the back buffer only. When you call animate(), Fatum begins an animation using the linear interpolation between the values of the front and back buffers. It is also possible to update the visualization state using swap(). This will only exchange the buffers without any animation.

A write buffer

A third buffer is added to store your modifications. This avoids modifying the visualization states during animation. When the animation starts, the write buffer is copied to the back buffer.

First buffer step

second step

third step