Murl Engine Lua Addon API  Version 1.0 beta
Murl.Graph.IResourceShadowGeometry

The IResourceShadowGeometry graph node interface.

This interface represents a renderable shadow volume geometry that is dynamically generated from the geometry information stored in a given read-only Resource::IMesh object, together with (an) active light source(s) at a given unit.


Table members

Methods


GetNodeInterface()

Get the constant Graph::INode interface. This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Murl.Graph.INode GetNodeInterface()

Returns
Murl.Graph.INode The constant Graph::INode interface, or null if not available

GetTransformInterface()

Get the constant Graph::ITransform interface. This method returns a constant pointer to the node's Graph::ITransform interface, to be able to query the node's transformation matrix and depth order.

Murl.Graph.ITransform GetTransformInterface()

Returns
Murl.Graph.ITransform The constant Graph::ITransform interface, or null if not available

GetResourceMeshGeometryInterface()

Get the constant Graph::IResourceMeshGeometry interface. This method returns a constant pointer to the node's Graph::IResourceMeshGeometry interface, to be able to query base properties of the shadow geometry.

Murl.Graph.IResourceMeshGeometry GetResourceMeshGeometryInterface()

Returns
Murl.Graph.IResourceMeshGeometry The constant Graph::ITransform Graph::IResourceMeshGeometry interface.

SetLightUnit(unit)

Set the light unit used for shadow volume creation.

Boolean SetLightUnit(Integer unit)

Parameters
unitThe light unit in the range from 0 to IEnums::NUM_LIGHT_UNITS-1.
Returns
Boolean true if successful.

GetLightUnit()

Get the light unit used for shadow volume creation.

Integer GetLightUnit()

Returns
Integer The light unit in the range from 0 to IEnums::NUM_LIGHT_UNITS-1.

SetFacesToExtrude(faces)

Set which faces are used to extrude the shadow volumes.

Boolean SetFacesToExtrude(Murl.IEnums.PolygonFaces faces)

Parameters
facesThe used faces, either IEnums::POLYGON_FACES_FRONT_ONLY or IEnums::POLYGON_FACES_BACK_ONLY.
Returns
Boolean true if successful.

GetFacesToExtrude()

Query which faces are used to extrude the shadow volumes.

Murl.IEnums.PolygonFaces GetFacesToExtrude()

Returns
Murl.IEnums.PolygonFaces The used faces.

SetShadowVolumeGenerationMode(mode)

Set the shadow volume generation mode. If set to IEnums::SHADOW_VOLUME_GENERATION_MODE_DEFAULT, the preferred way is to use geometry adjacency information, if present. Otherwise, bounding data is used.

Boolean SetShadowVolumeGenerationMode(Murl.IEnums.ShadowVolumeGenerationMode mode)

Parameters
modeThe generation mode.
Returns
Boolean true if successful.

GetShadowVolumeGenerationMode()

Query the shadow volume generation mode.

Murl.IEnums.ShadowVolumeGenerationMode GetShadowVolumeGenerationMode()

Returns
Murl.IEnums.ShadowVolumeGenerationMode The generation mode.