Skip to content

Incremental Rendering

Stefan Maierhofer edited this page Jan 28, 2017 · 4 revisions

Concept

Incremental rendering is based on the idea of incremental computation, which means that whenever a piece of data changes, the system attempts to save time by only recomputing those outputs which depend on the changed data.

In Aardvark those outputs are mostly pixels on a screen and data is input devices, geometry, shaders, and all other static or dynamic data entering the system.

In a way, Aardvark sees each real-time rendering or visualization application as one giant incremental computation. A stream of ever-changing raw input data and user inputs entering the system, which are continuously converted to interactive real-time graphics, using the least amount of computation necessary.

Performance

Update performance of incremental systems is basically independent of the total amount of data. It only depends on the rate of change of this data.

Aardvark itself is implemented on top of incremental computation primitives, from high-level application code down to the depths of low-level rendering back-ends. Therefore all applications built on top of the Aardvark platform are incremental by default, unless the developer makes a conscious decision to actively opt out of this system.

Clone this wiki locally