Rendering

Eddy’s renderer is an unbiased, physically based, path tracing volumetric renderer. In addition to volumetric primitives it supports multiple light types, volumetric and mesh holdouts, motion blur, multiple scattering, and can also produce deep image data.

Color spaces

In general the Eddy renderer, like other renderers or Nuke itself, is agnostic when it comes to the choice of color space. The color space of the output will simply be the same color space as the provided inputs. However some nodes, such as the SunSky node or the fire shader, need to generate their own colors and therefore require the color space to be specified.

It is also possible to register custom color spaces with Eddy. These custom color spaces will then be available in all the nodes that allow color spaces to be specified. To register a custom color space, place a new python file in your Eddy “nodeScripts” folder. The following is an example python file which registers a couple of new color spaces.

custom_color_spaces.py
from eddy import *

# ProPhoto RGB
# Registering using primary chromaticities.
register_color_space_primaries(name="ProPhotoRGB", display_name="ProPhoto RGB",
                               red_primary=V2f(0.7347, 0.2653),
                               green_primary=V2f(0.1596, 0.8404),
                               blue_primary=V2f(0.0366, 0.0001),
                               white_point=V2f(0.3457, 0.3585))

# PAL/SECAM RGB
# Registering using conversion matrix directly.
pal_mtx = M33f((( 3.0628971, -1.3931791, -0.4757517 ),
                (-0.9692660,  1.8760108,  0.0415560 ),
                ( 0.0678775, -0.2288548,  1.0693490 )))
register_color_space_matrix(name="pal", display_name="PAL/SECAM RGB", from_xyz=pal_mtx)

See the Color space functions API documentation for more details.