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. |
Geometry | |
Joint | |
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. |