Implicit surfaces

The framework supports rendering of arbitrary implicit surfaces, e.g. the 0-level-set of arbitrary functions in 3D space. The functions are then approximated to distance-fields at runtime using automatic differentiation of the gradient (for a first-order approximation) and the hessian (for a second-order approximation). As usual, implicit surfaces integrate seamlessly with the rest of the framework.

Implicit surfaces can be built at run-time in the editor and additionally support the usage of parameters in a custom language, which are then exposed as pins in the editor and code, allowing for animation.