Composite images


The composite image is a REDsdk only feature: it's a shader-based image meaning that it doesn't exist as an image but is rather evaluated on the fly when image pixels are needed. The composite image texture space is the viewport space as the size of a composite image is the one of the viewport being rendered: this makes the composite image a special case of 2D images.

Composite images are used as inputs to material shaders; when the geometries using those materials are rendered, their composite textures are first rendered in viewport-size buffers and then injected back into the material shaders as classical 2D textures.


Two shaders are needed to define a composite image: a direct and an indirect shader. The former is used for direct visualization of the composite image while the later is used in ray-traced indirect visualization (i.e after at least one bounce of the ray). Each shader can accept composite images as well as inputs and form a recursive composite image definition tree. This powerful feature enables the support of complex hierarchical shading trees for modern materials, even using the graphics hardware.

The composite images support only the RGBA pixel formats including: RED::FMT_RGBA, RED::FMT_HALF_FLOAT_RGBA and RED::FMT_FLOAT_RGBA.


A complete composite image tutorial is available here: Setup a composite image.