Scene Objects

We define scene objects as the various constructs that describe a scene. This section includes attribute descriptions for all of these scene objects, along with some contextual information and examples.

Scene objects in MoonRay have several canonical types and include the following:

Scene Object Description
Camera MoonRay has several standard cameras (Orthographic, Perspective) as well as several camera shaders used to generate map data (BakeCamera, SphericalCamera).
Displacement Displacement shaders are nodes that can displace geometry given an input map and/or displacement amount.
DisplayFilter DisplayFilters are compositing nodes that can alter pixel values as a post-process in MoonRay.
Layer A Layer assigns scene objects (e.g. materials, volumes, lights, etc) to geometry objects or parts.
Light / LightSet Lights in MoonRay are not treated as solid objects, but rather as abstract entities that inject light into the scene. A LightSet is a high-level grouping of lights, whose purpose is primarily to specify which lights influence any specific geometry object.
LightFilter / LightFilterSet LightFilters can be used to alter a light, to give it a different shape, color, etc. As with the LightSet, a LightFilterSet is a high-level grouping of light filters, whose purpose is to specify which light filters influence a specified geometry object.
Material Materials produce BSDFs (bidirectional scattering distribution functions) which describe to the integrator how a surface scatters light at a given point and therefore its appearance.
Map Maps are 2 or 3 dimensional patterns that are evaluated for each sample.
MetaData Metadata is a list of attributes, along with their types and values. It is often used to specify arbitrary image header data.
NormalMap A normal map is used to alter the shading normals of a surface to produce a textured, light-responsive effect.
RenderOutput The RenderOutput object is used to specify any output the renderer produces.
SceneVariables SceneVariables are the global rendering settings.
ShadowSet Prevent the associated geometry from casting shadows originating from the lights in this ShadowSet.
ShadowReceiverSet Prevent the associated geometry from casting shadows on the “receiver” geometries included in the ShadowReceiverSet.
TraceSet A Trace Set is a list of geometries and parts. It is used to specify a set of geometric primitives that a ray can trace. This can be useful in subsurface scattering, when we want to trace rays through geometries that have similar, but different, subsurface materials.
UserData An object used to encapsulate arbitrary, user-specified primitive attributes.
Volumes MoonRay supports both homogenous volumes with BaseVolume, and heterogeneous volumes with VdbVolume.