top of page

RayTK Features

Raymarch rendering

Raymarch rendering is an optimized approximation of light rays moving through a scene. The contents of the scene are defined with parametric formulas that describe shapes.

Unlike raytracing (or path tracing), raymarching is designed to run realtime without relying on specialized hardware (like RTX).

Spatial fields

Field operators make it possible to vary the properties of an SDF in different points in space, like having a cylinder with a thickness based on a sine wave.

SDF-based shapes

Signed distance functions (SDFs) are used to define surfaces in raymarching, rather than collections of vertices and primitives, like SOP-based geometry.

This allows them to have effectively infinite resolution, similar to vector graphics compared to bitmap graphics.

2D rendering

RayTK can also be used in a 2D context, using spatial fields and other operators to produce 2D images.

There's even a collection of 2D SDFs that can define shapes.

Using texture inputs, it can also be used for transforming and processing video streams.

Volumetric sampling

Volumetric sampling takes a set of point positions, and produces SDF-based scene content or spatial field values at each position.

This can be used for volumetric LED arrays like the LedPulse Dragon O2.

It can also be used with point clouds or particles.

Render compositing

The raymarch renderer can work with a traditional render TOP to do depth based compositing, combining traditional geometry with raymarched forms.

TD Integration

All properties of RayTK operators are exposed as parameters just like standard TouchDesigner operators. That means that you can bind them to CHOP channels for audio reactivity, MIDI control, or any other source of data.

Reflections and shadows

With raymarching, reflections and configurable shadows are fully supported. Materials can use reflection-based colors derived from secondary rays of simulated light bouncing off surfaces.

bottom of page