next up previous
Next: Transfer Functions Up: A Flexible Framework Previous: A Flexible Framework

Density Functions

The interface of density functions consists of a single function $getDensity(X)$, which simply returns a scalar density value for each point $X$ in space. Procedural density functions [Per85] (i.e. noise, turbulence, checker, ...), volume data sets (different interpolation filters can be used [MN88] [ML94]) and density emitters [Ebe93] will be mapped to this single interface function. Because it would be rather boring if only one density function at a time could be used, it has to be possible to combine different density functions. Therefore, a set of arithmetic functions has to be provided to be able to add, substract, multiply and so on on, different density functions. Of course these arithmetic operators are implemented as density functions themselves. With this approach, expressions of arbitrary complexity can be constructed.


2000-04-06