Murl::Graph::IProcessOutputTracker Interface Referenceabstract

The tracker used for output processing traversals. More...

#include "murl_graph_i_process_output_tracker.h"

Inherited by Murl::Core::GraphProcessOutputTracker.

Public Member Functions

virtual Bool Init ()=0
 Initialize the tracker. More...
 
virtual Bool DeInit ()=0
 Deinitialize the tracker. More...
 
virtual ITrackerGetTrackerInterface ()=0
 Get the tracker base class interface. More...
 
virtual Bool BeginFrame ()=0
 Begin a traversal frame. More...
 
virtual Bool EndFrame ()=0
 End a traversal frame. More...
 
virtual Video::IRendererGetVideoRenderer () const =0
 Get the video renderer used to submit video objects. More...
 
virtual Audio::IRendererGetAudioRenderer () const =0
 Get the audio renderer used to submit audio objects. More...
 
virtual const Output::IDeviceHandlerGetOutputDeviceHandler () const =0
 Get the output device handler used to submit output objects. More...
 
virtual const Resource::ICollectionGetResourceCollection () const =0
 Get the engine's main resource collection. More...
 
virtual IHandleGetCurrentHandle ()=0
 Obtain a handle for the current node. More...
 
virtual IHandleInstanceGetCurrentHandleInstance ()=0
 Obtain a handle instance for the current node. More...
 
virtual void SetCurrentAnchor (const IAnchor *anchor, SInt32 slot)=0
 Bind a transform anchor to a specific slot. More...
 
virtual const IAnchorGetCurrentAnchor (SInt32 slot) const =0
 Get a transform anchor bound to a specific slot. More...
 
virtual void ClearCurrentAnchors ()=0
 Clear the current transform anchor binding.
 
virtual void SaveCurrentAnchors ()=0
 Save the current transform anchor binding.
 
virtual void RestoreCurrentAnchors ()=0
 Restore the previous transform anchor binding.
 
virtual void SetCurrentAudioCuller (const ICuller *culler, SInt32 slot)=0
 Bind an audio culler to a specific slot. More...
 
virtual const ICullerGetCurrentAudioCuller (SInt32 slot) const =0
 Get an audio culler bound to a specific slot. More...
 
virtual void ClearCurrentAudioCullers ()=0
 Clear the current audio culler binding.
 
virtual void SaveCurrentAudioCullers ()=0
 Save the current audio culler binding.
 
virtual void RestoreCurrentAudioCullers ()=0
 Restore the previous audio culler binding.
 
virtual void SetCurrentListener (const IListener *listener, SInt32 slot)=0
 Bind a listener to a specific slot. More...
 
virtual const IListenerGetCurrentListener (SInt32 slot) const =0
 Get a listener bound to a specific slot. More...
 
virtual void ClearCurrentListeners ()=0
 Clear the current listener binding.
 
virtual void SaveCurrentListeners ()=0
 Save the current listener binding.
 
virtual void RestoreCurrentListeners ()=0
 Restore the previous listener binding.
 
virtual void SetCurrentVideoCuller (const ICuller *culler, SInt32 slot)=0
 Bind a video culler to a specific slot. More...
 
virtual const ICullerGetCurrentVideoCuller (SInt32 slot) const =0
 Get a video culler bound to a specific slot. More...
 
virtual void ClearCurrentVideoCullers ()=0
 Clear the current video culler binding.
 
virtual void SaveCurrentVideoCullers ()=0
 Save the current video culler binding.
 
virtual void RestoreCurrentVideoCullers ()=0
 Restore the previous video culler binding.
 
virtual void SetCurrentCamera (const ICamera *camera, SInt32 slot)=0
 Bind a camera to a specific slot. More...
 
virtual const ICameraGetCurrentCamera (SInt32 slot) const =0
 Get a camera bound to a specific slot. More...
 
virtual void ClearCurrentCameras ()=0
 Clear the current camera binding.
 
virtual void SaveCurrentCameras ()=0
 Save the current camera binding.
 
virtual void RestoreCurrentCameras ()=0
 Restore the previous camera binding.
 
virtual void SetCurrentLayer (UInt32 index)=0
 Set the current camera layer. More...
 
virtual UInt32 GetCurrentLayer () const =0
 Get the current camera layer. More...
 
virtual void ClearCurrentLayer ()=0
 Clear the current camera layer state.
 
virtual void SaveCurrentLayer ()=0
 Save the current camera layer state.
 
virtual void RestoreCurrentLayer ()=0
 Restore the previous camera layer state.
 
virtual void SetCurrentMaterial (const IMaterial *material, SInt32 slot)=0
 Bind a material to a specific slot. More...
 
virtual const IMaterialGetCurrentMaterial (SInt32 slot) const =0
 Get a material bound to a specific slot. More...
 
virtual void ClearCurrentMaterials ()=0
 Clear the current material binding.
 
virtual void SaveCurrentMaterials ()=0
 Save the current material binding.
 
virtual void RestoreCurrentMaterials ()=0
 Restore the previous material binding.
 
virtual void SetCurrentParameters (const IParameters *parameters, SInt32 slot)=0
 Bind parameters to a specific slot. More...
 
virtual const IParametersGetCurrentParameters (SInt32 slot) const =0
 Get parameters bound to a specific slot. More...
 
virtual void ClearCurrentParameters ()=0
 Clear the current parameters' binding.
 
virtual void SaveCurrentParameters ()=0
 Save the current parameters' binding.
 
virtual void RestoreCurrentParameters ()=0
 Restore the previous parameters' binding.
 
virtual void SetCurrentTexture (const ITexture *texture, SInt32 slot, UInt32 unit)=0
 Bind a texture to a specific slot and unit. More...
 
virtual const ITextureGetCurrentTexture (SInt32 slot, UInt32 unit) const =0
 Get a texture bound to a specific slot and unit. More...
 
virtual void ClearCurrentTextures (UInt32 unit)=0
 Clear the current texture binding. More...
 
virtual void SaveCurrentTextures (UInt32 unit)=0
 Save the current texture binding. More...
 
virtual void RestoreCurrentTextures (UInt32 unit)=0
 Restore the previous texture binding. More...
 
virtual void SetCurrentLight (const ILight *light, UInt32 unit)=0
 Bind a light to a specific unit. More...
 
virtual const ILightGetCurrentLight (UInt32 unit) const =0
 Get a light bound to a specific unit. More...
 
virtual void ClearCurrentLights (UInt32 unit)=0
 Clear the current light binding. More...
 
virtual void SaveCurrentLights (UInt32 unit)=0
 Save the current light binding. More...
 
virtual void RestoreCurrentLights (UInt32 unit)=0
 Restore the previous light binding. More...
 
virtual void SetCurrentSkeleton (const ISkeleton *skeleton)=0
 Set the current skeletom. More...
 
virtual const ISkeletonGetCurrentSkeleton () const =0
 Get the current skeleton. More...
 
virtual void ClearCurrentSkeleton ()=0
 Clear the current skeleton state.
 
virtual void SaveCurrentSkeleton ()=0
 Save the current skeleton state.
 
virtual void RestoreCurrentSkeleton ()=0
 Restore the previous skeleton state.
 
virtual void SetCurrentBone (const IBone *bone, UInt32 unit)=0
 Bind a bone to a specific unit. More...
 
virtual const IBoneGetCurrentBone (UInt32 unit) const =0
 Get a bone bound to a specific unit. More...
 
virtual void ClearCurrentBones ()=0
 Clear the current bone binding.
 
virtual void SaveCurrentBones ()=0
 Save the current bone binding.
 
virtual void RestoreCurrentBones ()=0
 Restore the previous bone binding.
 
virtual void PushWorldTransform (const Matrix &transform)=0
 Push a world transform matrix to the matrix stack. More...
 
virtual void PushLocalTransform (const Matrix &transform)=0
 Push a local transform matrix to the matrix stack. More...
 
virtual void PopTransform ()=0
 Pop the topmost transform matrix off the matrix stack.
 
virtual MatrixGetRecentWorldTransform () const =0
 Get the most recent world transform matrix from the matrix stack. More...
 
virtual void PushWorldScaleFactor (const Vector &scaleFactor)=0
 Push a world scale factor vector to the scale factor stack. More...
 
virtual void PushLocalScaleFactor (const Vector &scaleFactor)=0
 Push a local scale factor vector to the scale factor stack. More...
 
virtual void PopScaleFactor ()=0
 Pop the topmost scale factor vector off the scale factor stack.
 
virtual VectorGetRecentWorldScaleFactor () const =0
 Get the most recent world scale factor vector from the scale factor stack. More...
 
virtual void PushWorldDepthOrder (SInt32 depthOrder)=0
 Push a world depth order to the depth order stack. More...
 
virtual void PushLocalDepthOrder (SInt32 depthOrder)=0
 Push a local depth order to the depth order stack. More...
 
virtual void PopDepthOrder ()=0
 Pop the topmost depth order off the depth order stack.
 
virtual SInt32 GetRecentWorldDepthOrder () const =0
 Get the most recent world depth order from the depth order stack. More...
 
virtual void PushReference (IReference *node)=0
 Push a reference node to the reference stack. More...
 
virtual void PopReference ()=0
 Pop the topmost reference node off the reference stack.
 
virtual IReferenceGetRecentReference () const =0
 Get the most recent reference node from the reference stack. More...
 
virtual void PushNodeFlags (UInt32 nodeFlags)=0
 Push the current node flags to the node flag stack. More...
 
virtual void PopNodeFlags ()=0
 Pop the topmost node flags off the node flag stack.
 
virtual UInt32 GetRecentNodeFlags () const =0
 Get the most recent node flags from the node flag stack. More...
 
virtual void PushTargetBoundingVolume (IBoundingVolume *boundingVolume)=0
 Push the current target bounding volume to the BV stack. More...
 
virtual void PopTargetBoundingVolume ()=0
 Pop the topmost target bounding volume off the BV stack.
 
virtual IBoundingVolumeGetRecentTargetBoundingVolume () const =0
 Get the most recent target bounding volume from the BV stack. More...
 
virtual void PushNodeToFinishOutput (INode *node)=0
 Queue up a node to have its FinishOutput() method called after traversal. More...
 
virtual UInt32 ProcessCurrentAudioCullers (const IBoundingVolume *boundingVolume, UInt32 intersectionFlags)=0
 Process the current audio cullers. More...
 
virtual UInt32 GetCurrentAudioCullerFlags (SInt32 cullerSlot) const =0
 Get the query result of an audio culler after ProcessCurrentAudioCullers(). More...
 
virtual Bool ApplyCurrentAudioTransform () const =0
 Apply the current world transform in the audio renderer. More...
 
virtual Bool ApplyCurrentAudioListener (SInt32 listenerSlot)=0
 Apply the current listener in the audio renderer. More...
 
virtual UInt32 ProcessCurrentVideoCullers (const IBoundingVolume *boundingVolume, UInt32 intersectionFlags)=0
 Process the current video cullers. More...
 
virtual UInt32 GetCurrentVideoCullerFlags (SInt32 cullerSlot) const =0
 Get the query result of a video culler after ProcessCurrentVideoCullers(). More...
 
virtual UInt32 ProcessCurrentLights (const IBoundingVolume *boundingVolume, UInt32 maxNumberOfStages)=0
 Process the currently active light sources. More...
 
virtual UInt32 GetCurrentNumberOfMaterialStages (SInt32 materialSlot) const =0
 Get the currently needed number of material stages to render. More...
 
virtual UInt32 GetCurrentNumberOfCameraStages () const =0
 Get the currently needed number of camera stages to render. More...
 
virtual UInt32 GetCurrentNumberOfLightStages () const =0
 Get the currently needed number of light stages to render. More...
 
virtual Bool ApplyCurrentVideoTransform () const =0
 Apply the current world transform in the video renderer. More...
 
virtual Bool ApplyCurrentVideoCamera (SInt32 cameraSlot)=0
 Apply the current camera in the video renderer. More...
 
virtual Bool ApplyCurrentVideoMaterialStage (UInt32 materialStage, SInt32 materialSlot, SInt32 parametersSlot, const SInt32 *textureSlots)=0
 Apply the current material stage in the video renderer. More...
 
virtual Bool ApplyCurrentVideoCameraStage (UInt32 cameraStage)=0
 Apply the current camera stage in the video renderer. More...
 
virtual Bool ApplyCurrentVideoLightStage (UInt32 lightStage)=0
 Apply the current light stage in the video renderer. More...
 
virtual Bool ApplyCurrentVideoBones (UInt32 numberOfUnits)=0
 Apply the current set of bones in the video renderer. More...
 
virtual SInt32 GetCurrentVideoLightStage (UInt32 unit) const =0
 Get the current light stage. More...
 
virtual UInt32 ProcessCurrentBoundingVolume (IBoundingVolume *boundingVolume)=0
 Process the current node's bounding volume. More...
 
virtual Bool WasTraversedInCurrentFrame (UInt32 &frameCount) const =0
 Check if the current node was already traversed in the current frame. More...
 
virtual Array< INode * > & GetNodesToFinish ()=0
 Get a reference to the array of nodes that need their FinishOutput() method called. More...
 
virtual UInt32 SetTriggers (UInt32 mask)=0
 Replace the currently set traversal triggers. More...
 
virtual UInt32 AddTriggers (UInt32 mask)=0
 Add given triggers to the currently set traversal triggers. More...
 
virtual UInt32 RemoveTriggers (UInt32 mask)=0
 Remove given triggers from the currently set traversal triggers. More...
 
virtual UInt32 GetResponse (UInt32 mask) const =0
 Check the traversal response for a given set of triggers. More...
 
virtual ILazyNodeGetCurrentLazyNode ()=0
 Get the most recent lazy node from the reference stack. More...
 
virtual void PushLazyNode (ILazyNode *node)=0
 Push a lazy node to the reference stack. More...
 
virtual void PopLazyNode ()=0
 Pop the topmost lazy node off the reference stack.
 

Detailed Description

The tracker used for output processing traversals.

This interface represents a graph state tracker used during Graph::INode::ProcessOutput traversals, as well as the respective methods in Graph::IController, Graph::IGenericNodeTarget and Graph::IGenericResourceTarget.

Member Function Documentation

◆ Init()

virtual Bool Murl::Graph::IProcessOutputTracker::Init ( )
pure virtual

Initialize the tracker.

Called by the engine.

Returns
true if successful.

◆ DeInit()

virtual Bool Murl::Graph::IProcessOutputTracker::DeInit ( )
pure virtual

Deinitialize the tracker.

Called by the engine.

Returns
true if successful.

◆ GetTrackerInterface()

virtual ITracker* Murl::Graph::IProcessOutputTracker::GetTrackerInterface ( )
pure virtual

Get the tracker base class interface.

Returns
The tracker base class interface.

◆ BeginFrame()

virtual Bool Murl::Graph::IProcessOutputTracker::BeginFrame ( )
pure virtual

Begin a traversal frame.

Called by the engine.

Returns
true if successful.

◆ EndFrame()

virtual Bool Murl::Graph::IProcessOutputTracker::EndFrame ( )
pure virtual

End a traversal frame.

Called by the engine.

Returns
true if successful.

◆ GetVideoRenderer()

virtual Video::IRenderer* Murl::Graph::IProcessOutputTracker::GetVideoRenderer ( ) const
pure virtual

Get the video renderer used to submit video objects.

Returns
The video renderer.

◆ GetAudioRenderer()

virtual Audio::IRenderer* Murl::Graph::IProcessOutputTracker::GetAudioRenderer ( ) const
pure virtual

Get the audio renderer used to submit audio objects.

Returns
The audio renderer.

◆ GetOutputDeviceHandler()

virtual const Output::IDeviceHandler* Murl::Graph::IProcessOutputTracker::GetOutputDeviceHandler ( ) const
pure virtual

Get the output device handler used to submit output objects.

Returns
The output device handler.

◆ GetResourceCollection()

virtual const Resource::ICollection* Murl::Graph::IProcessOutputTracker::GetResourceCollection ( ) const
pure virtual

Get the engine's main resource collection.

Returns
The resource collection.

◆ GetCurrentHandle()

virtual IHandle* Murl::Graph::IProcessOutputTracker::GetCurrentHandle ( )
pure virtual

Obtain a handle for the current node.

Returns
The current node handle.

◆ GetCurrentHandleInstance()

virtual IHandleInstance* Murl::Graph::IProcessOutputTracker::GetCurrentHandleInstance ( )
pure virtual

Obtain a handle instance for the current node.

Returns
The current node handle instance.

◆ SetCurrentAnchor()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentAnchor ( const IAnchor anchor,
SInt32  slot 
)
pure virtual

Bind a transform anchor to a specific slot.

Parameters
anchorThe anchor to bind.
slotThe slot to use, from 0 to IEnums::NUM_ANCHOR_SLOTS-1.

◆ GetCurrentAnchor()

virtual const IAnchor* Murl::Graph::IProcessOutputTracker::GetCurrentAnchor ( SInt32  slot) const
pure virtual

Get a transform anchor bound to a specific slot.

Parameters
slotThe slot to query, from 0 to IEnums::NUM_ANCHOR_SLOTS-1.
Returns
The anchor at the given slot, or null if none is bound.

◆ SetCurrentAudioCuller()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentAudioCuller ( const ICuller culler,
SInt32  slot 
)
pure virtual

Bind an audio culler to a specific slot.

Parameters
cullerThe culler to bind.
slotThe slot to use. Currently only slot 0 is allowed.

◆ GetCurrentAudioCuller()

virtual const ICuller* Murl::Graph::IProcessOutputTracker::GetCurrentAudioCuller ( SInt32  slot) const
pure virtual

Get an audio culler bound to a specific slot.

Parameters
slotThe slot to query. Currently only slot 0 is allowed.
Returns
The culler at the given slot, or null if none is bound.

◆ SetCurrentListener()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentListener ( const IListener listener,
SInt32  slot 
)
pure virtual

Bind a listener to a specific slot.

Parameters
listenerThe listener to bind.
slotThe slot to use. Currently only slot 0 is allowed.

◆ GetCurrentListener()

virtual const IListener* Murl::Graph::IProcessOutputTracker::GetCurrentListener ( SInt32  slot) const
pure virtual

Get a listener bound to a specific slot.

Parameters
slotThe slot to query. Currently only slot 0 is allowed.
Returns
The listener at the given slot, or null if none is bound.

◆ SetCurrentVideoCuller()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentVideoCuller ( const ICuller culler,
SInt32  slot 
)
pure virtual

Bind a video culler to a specific slot.

Parameters
cullerThe culler to bind.
slotThe slot to use. Currently only slot 0 is allowed.

◆ GetCurrentVideoCuller()

virtual const ICuller* Murl::Graph::IProcessOutputTracker::GetCurrentVideoCuller ( SInt32  slot) const
pure virtual

Get a video culler bound to a specific slot.

Parameters
slotThe slot to query. Currently only slot 0 is allowed.
Returns
The culler at the given slot, or null if none is bound.

◆ SetCurrentCamera()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentCamera ( const ICamera camera,
SInt32  slot 
)
pure virtual

Bind a camera to a specific slot.

Parameters
cameraThe camera to bind.
slotThe slot to use. Currently only slot 0 is allowed.

◆ GetCurrentCamera()

virtual const ICamera* Murl::Graph::IProcessOutputTracker::GetCurrentCamera ( SInt32  slot) const
pure virtual

Get a camera bound to a specific slot.

Parameters
slotThe slot to query. Currently only slot 0 is allowed.
Returns
The camera at the given slot, or null if none is bound.

◆ SetCurrentLayer()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentLayer ( UInt32  index)
pure virtual

Set the current camera layer.

Parameters
indexThe layer index.

◆ GetCurrentLayer()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentLayer ( ) const
pure virtual

Get the current camera layer.

Returns
The layer index.

◆ SetCurrentMaterial()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentMaterial ( const IMaterial material,
SInt32  slot 
)
pure virtual

Bind a material to a specific slot.

Parameters
materialThe material to bind.
slotThe slot to use, from 0 to IEnums::NUM_MATERIAL_SLOTS-1.

◆ GetCurrentMaterial()

virtual const IMaterial* Murl::Graph::IProcessOutputTracker::GetCurrentMaterial ( SInt32  slot) const
pure virtual

Get a material bound to a specific slot.

Parameters
slotThe slot to query, from 0 to IEnums::NUM_MATERIAL_SLOTS-1.
Returns
The material at the given slot, or null if none is bound.

◆ SetCurrentParameters()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentParameters ( const IParameters parameters,
SInt32  slot 
)
pure virtual

Bind parameters to a specific slot.

Parameters
parametersThe parameters to bind.
slotThe slot to use, from 0 to IEnums::NUM_PARAMETERS_SLOTS-1.

◆ GetCurrentParameters()

virtual const IParameters* Murl::Graph::IProcessOutputTracker::GetCurrentParameters ( SInt32  slot) const
pure virtual

Get parameters bound to a specific slot.

Parameters
slotThe slot to query, from 0 to IEnums::NUM_PARAMETERS_SLOTS-1.
Returns
The parameters at the given slot, or null if none are bound.

◆ SetCurrentTexture()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentTexture ( const ITexture texture,
SInt32  slot,
UInt32  unit 
)
pure virtual

Bind a texture to a specific slot and unit.

Parameters
textureThe texture to bind.
slotThe slot to use, from 0 to IEnums::NUM_TEXTURE_SLOTS-1.
unitThe unit to use, from 0 to IEnums::NUM_TEXTURE_UNITS-1.

◆ GetCurrentTexture()

virtual const ITexture* Murl::Graph::IProcessOutputTracker::GetCurrentTexture ( SInt32  slot,
UInt32  unit 
) const
pure virtual

Get a texture bound to a specific slot and unit.

Parameters
slotThe slot to query, from 0 to IEnums::NUM_TEXTURE_SLOTS-1.
unitThe unit to query, from 0 to IEnums::NUM_TEXTURE_UNITS-1.
Returns
The texture at the given slot and unit, or null if none is bound.

◆ ClearCurrentTextures()

virtual void Murl::Graph::IProcessOutputTracker::ClearCurrentTextures ( UInt32  unit)
pure virtual

Clear the current texture binding.

Parameters
unitThe texture unit.

◆ SaveCurrentTextures()

virtual void Murl::Graph::IProcessOutputTracker::SaveCurrentTextures ( UInt32  unit)
pure virtual

Save the current texture binding.

Parameters
unitThe texture unit.

◆ RestoreCurrentTextures()

virtual void Murl::Graph::IProcessOutputTracker::RestoreCurrentTextures ( UInt32  unit)
pure virtual

Restore the previous texture binding.

Parameters
unitThe texture unit.

◆ SetCurrentLight()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentLight ( const ILight light,
UInt32  unit 
)
pure virtual

Bind a light to a specific unit.

Parameters
lightThe light to bind.
unitThe unit to use, from 0 to IEnums::NUM_LIGHT_UNITS-1.

◆ GetCurrentLight()

virtual const ILight* Murl::Graph::IProcessOutputTracker::GetCurrentLight ( UInt32  unit) const
pure virtual

Get a light bound to a specific unit.

Parameters
unitThe unit to query, from 0 to IEnums::NUM_LIGHT_UNITS-1.
Returns
The light at the given unit, or null if none is bound.

◆ ClearCurrentLights()

virtual void Murl::Graph::IProcessOutputTracker::ClearCurrentLights ( UInt32  unit)
pure virtual

Clear the current light binding.

Parameters
unitThe light unit.

◆ SaveCurrentLights()

virtual void Murl::Graph::IProcessOutputTracker::SaveCurrentLights ( UInt32  unit)
pure virtual

Save the current light binding.

Parameters
unitThe light unit.

◆ RestoreCurrentLights()

virtual void Murl::Graph::IProcessOutputTracker::RestoreCurrentLights ( UInt32  unit)
pure virtual

Restore the previous light binding.

Parameters
unitThe light unit.

◆ SetCurrentSkeleton()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentSkeleton ( const ISkeleton skeleton)
pure virtual

Set the current skeletom.

Parameters
skeletonThe skeleton.

◆ GetCurrentSkeleton()

virtual const ISkeleton* Murl::Graph::IProcessOutputTracker::GetCurrentSkeleton ( ) const
pure virtual

Get the current skeleton.

Returns
The skeleton.

◆ SetCurrentBone()

virtual void Murl::Graph::IProcessOutputTracker::SetCurrentBone ( const IBone bone,
UInt32  unit 
)
pure virtual

Bind a bone to a specific unit.

Parameters
boneThe bone to bind.
unitThe unit to use, from 0 to IEnums::NUM_BONE_UNITS-1.

◆ GetCurrentBone()

virtual const IBone* Murl::Graph::IProcessOutputTracker::GetCurrentBone ( UInt32  unit) const
pure virtual

Get a bone bound to a specific unit.

Parameters
unitThe unit to query, from 0 to IEnums::NUM_BONE_UNITS-1.
Returns
The bone at the given unit, or null if none is bound.

◆ PushWorldTransform()

virtual void Murl::Graph::IProcessOutputTracker::PushWorldTransform ( const Matrix transform)
pure virtual

Push a world transform matrix to the matrix stack.

Parameters
transformThe world transform.

◆ PushLocalTransform()

virtual void Murl::Graph::IProcessOutputTracker::PushLocalTransform ( const Matrix transform)
pure virtual

Push a local transform matrix to the matrix stack.

Parameters
transformThe local transform.

◆ GetRecentWorldTransform()

virtual Matrix& Murl::Graph::IProcessOutputTracker::GetRecentWorldTransform ( ) const
pure virtual

Get the most recent world transform matrix from the matrix stack.

Returns
The (possibly calculated) world transform.

◆ PushWorldScaleFactor()

virtual void Murl::Graph::IProcessOutputTracker::PushWorldScaleFactor ( const Vector scaleFactor)
pure virtual

Push a world scale factor vector to the scale factor stack.

Parameters
scaleFactorThe world scale factor.

◆ PushLocalScaleFactor()

virtual void Murl::Graph::IProcessOutputTracker::PushLocalScaleFactor ( const Vector scaleFactor)
pure virtual

Push a local scale factor vector to the scale factor stack.

Parameters
scaleFactorThe local scale factor.

◆ GetRecentWorldScaleFactor()

virtual Vector& Murl::Graph::IProcessOutputTracker::GetRecentWorldScaleFactor ( ) const
pure virtual

Get the most recent world scale factor vector from the scale factor stack.

Returns
The (possibly calculated) world scale factor.

◆ PushWorldDepthOrder()

virtual void Murl::Graph::IProcessOutputTracker::PushWorldDepthOrder ( SInt32  depthOrder)
pure virtual

Push a world depth order to the depth order stack.

Parameters
depthOrderThe world depth order.

◆ PushLocalDepthOrder()

virtual void Murl::Graph::IProcessOutputTracker::PushLocalDepthOrder ( SInt32  depthOrder)
pure virtual

Push a local depth order to the depth order stack.

Parameters
depthOrderThe local depth order.

◆ GetRecentWorldDepthOrder()

virtual SInt32 Murl::Graph::IProcessOutputTracker::GetRecentWorldDepthOrder ( ) const
pure virtual

Get the most recent world depth order from the depth order stack.

Returns
The (possibly calculated) world depth order.

◆ PushReference()

virtual void Murl::Graph::IProcessOutputTracker::PushReference ( IReference node)
pure virtual

Push a reference node to the reference stack.

Parameters
nodeThe node to push.

◆ GetRecentReference()

virtual IReference* Murl::Graph::IProcessOutputTracker::GetRecentReference ( ) const
pure virtual

Get the most recent reference node from the reference stack.

Returns
The reference node.

◆ PushNodeFlags()

virtual void Murl::Graph::IProcessOutputTracker::PushNodeFlags ( UInt32  nodeFlags)
pure virtual

Push the current node flags to the node flag stack.

Parameters
nodeFlagsThe node flags to push.

◆ GetRecentNodeFlags()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetRecentNodeFlags ( ) const
pure virtual

Get the most recent node flags from the node flag stack.

Returns
The node flags.

◆ PushTargetBoundingVolume()

virtual void Murl::Graph::IProcessOutputTracker::PushTargetBoundingVolume ( IBoundingVolume boundingVolume)
pure virtual

Push the current target bounding volume to the BV stack.

Parameters
boundingVolumeThe bounding volume to push.

◆ GetRecentTargetBoundingVolume()

virtual IBoundingVolume* Murl::Graph::IProcessOutputTracker::GetRecentTargetBoundingVolume ( ) const
pure virtual

Get the most recent target bounding volume from the BV stack.

Returns
The bounding volume.

◆ PushNodeToFinishOutput()

virtual void Murl::Graph::IProcessOutputTracker::PushNodeToFinishOutput ( INode node)
pure virtual

Queue up a node to have its FinishOutput() method called after traversal.

Parameters
nodeThe node to queue up.

◆ ProcessCurrentAudioCullers()

virtual UInt32 Murl::Graph::IProcessOutputTracker::ProcessCurrentAudioCullers ( const IBoundingVolume boundingVolume,
UInt32  intersectionFlags 
)
pure virtual

Process the current audio cullers.

Parameters
boundingVolumeThe node's bounding volume for the cullers to check against.
intersectionFlagsA bit mask of intersection flags to check, from the Graph::ICuller::IntersectionFlags enumeration.
Returns
The number of nonzero intersections over all active audio cullers.

◆ GetCurrentAudioCullerFlags()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentAudioCullerFlags ( SInt32  cullerSlot) const
pure virtual

Get the query result of an audio culler after ProcessCurrentAudioCullers().

Parameters
cullerSlotThe slot of the culler to query.
Returns
A bit mask of actually occurred intersections (Graph::ICuller::IntersectionFlags).

◆ ApplyCurrentAudioTransform()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentAudioTransform ( ) const
pure virtual

Apply the current world transform in the audio renderer.

Returns
true if successful.

◆ ApplyCurrentAudioListener()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentAudioListener ( SInt32  listenerSlot)
pure virtual

Apply the current listener in the audio renderer.

Parameters
listenerSlotThe slot of the bound listener to apply.
Returns
true if a listener is present at the given slot, false otherwise.

◆ ProcessCurrentVideoCullers()

virtual UInt32 Murl::Graph::IProcessOutputTracker::ProcessCurrentVideoCullers ( const IBoundingVolume boundingVolume,
UInt32  intersectionFlags 
)
pure virtual

Process the current video cullers.

Parameters
boundingVolumeThe node's bounding volume for the cullers to check against.
intersectionFlagsA bit mask of intersection flags to check, from the Graph::ICuller::IntersectionFlags enumeration.
Returns
The number of nonzero intersections over all active audio cullers.

◆ GetCurrentVideoCullerFlags()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentVideoCullerFlags ( SInt32  cullerSlot) const
pure virtual

Get the query result of a video culler after ProcessCurrentVideoCullers().

Parameters
cullerSlotThe slot of the culler to query.
Returns
A bit mask of actually occurred intersections (Graph::ICuller::IntersectionFlags).

◆ ProcessCurrentLights()

virtual UInt32 Murl::Graph::IProcessOutputTracker::ProcessCurrentLights ( const IBoundingVolume boundingVolume,
UInt32  maxNumberOfStages 
)
pure virtual

Process the currently active light sources.

Parameters
boundingVolumeThe node's bounding volume with which to intersect each light's influence volume.
maxNumberOfStagesThe maximum number of light stages to process, for multi-stage light sources.
Returns
The number of actually used lights.

◆ GetCurrentNumberOfMaterialStages()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentNumberOfMaterialStages ( SInt32  materialSlot) const
pure virtual

Get the currently needed number of material stages to render.

Parameters
materialSlotThe slot of the material to query.
Returns
The number of material stages.

◆ GetCurrentNumberOfCameraStages()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentNumberOfCameraStages ( ) const
pure virtual

Get the currently needed number of camera stages to render.

Returns
The number of camera stages.

◆ GetCurrentNumberOfLightStages()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetCurrentNumberOfLightStages ( ) const
pure virtual

Get the currently needed number of light stages to render.

Returns
The number of light stages.

◆ ApplyCurrentVideoTransform()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoTransform ( ) const
pure virtual

Apply the current world transform in the video renderer.

Returns
true if successful.

◆ ApplyCurrentVideoCamera()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoCamera ( SInt32  cameraSlot)
pure virtual

Apply the current camera in the video renderer.

Parameters
cameraSlotThe slot of the bound camera to apply.
Returns
true if a camera is present at the given slot, false otherwise.

◆ ApplyCurrentVideoMaterialStage()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoMaterialStage ( UInt32  materialStage,
SInt32  materialSlot,
SInt32  parametersSlot,
const SInt32 textureSlots 
)
pure virtual

Apply the current material stage in the video renderer.

Parameters
materialStageThe material stage, from 0 to GetCurrentNumberOfMaterialStages()-1.
materialSlotThe slot of the bound material to apply.
parametersSlotThe slot of the bound parameters to apply.
textureSlotsAn array of IEnums::NUM_TEXTURE_UNITS slot values of the bound textures to apply.
Returns
true if the current stage needs to be rendered, false otherwise.

◆ ApplyCurrentVideoCameraStage()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoCameraStage ( UInt32  cameraStage)
pure virtual

Apply the current camera stage in the video renderer.

Parameters
cameraStageThe camera stage, from 0 to GetCurrentNumberOfCameraStages()-1.
Returns
true if the current stage needs to be rendered, false otherwise.

◆ ApplyCurrentVideoLightStage()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoLightStage ( UInt32  lightStage)
pure virtual

Apply the current light stage in the video renderer.

Parameters
lightStageThe light stage, from 0 to GetCurrentNumberOfLightStages()-1.
Returns
true if the current stage needs to be rendered, false otherwise.

◆ ApplyCurrentVideoBones()

virtual Bool Murl::Graph::IProcessOutputTracker::ApplyCurrentVideoBones ( UInt32  numberOfUnits)
pure virtual

Apply the current set of bones in the video renderer.

Parameters
numberOfUnitsThe number of bones, from 0 to IEnums::NUM_BONE_UNITS-1.
Returns
true if bones are present, false otherwise.

◆ GetCurrentVideoLightStage()

virtual SInt32 Murl::Graph::IProcessOutputTracker::GetCurrentVideoLightStage ( UInt32  unit) const
pure virtual

Get the current light stage.

Parameters
unitThe light unit to check.
Returns
The current stage.

◆ ProcessCurrentBoundingVolume()

virtual UInt32 Murl::Graph::IProcessOutputTracker::ProcessCurrentBoundingVolume ( IBoundingVolume boundingVolume)
pure virtual

Process the current node's bounding volume.

Parameters
boundingVolumeThe node's bounding volume.
Returns
The number of bounding volumes processed;

◆ WasTraversedInCurrentFrame()

virtual Bool Murl::Graph::IProcessOutputTracker::WasTraversedInCurrentFrame ( UInt32 frameCount) const
pure virtual

Check if the current node was already traversed in the current frame.

Parameters
frameCountThe frame count variable to update.
Returns
true if the node was previously traversed within the current frame.

◆ GetNodesToFinish()

virtual Array<INode*>& Murl::Graph::IProcessOutputTracker::GetNodesToFinish ( )
pure virtual

Get a reference to the array of nodes that need their FinishOutput() method called.

Returns
The array of nodes to finish.

◆ SetTriggers()

virtual UInt32 Murl::Graph::IProcessOutputTracker::SetTriggers ( UInt32  mask)
pure virtual

Replace the currently set traversal triggers.

Parameters
maskA bit mask of individual triggers, from the Graph::INode::ProcessOutputTriggers enumeration.
Returns
The previous triggers' bit mask.

◆ AddTriggers()

virtual UInt32 Murl::Graph::IProcessOutputTracker::AddTriggers ( UInt32  mask)
pure virtual

Add given triggers to the currently set traversal triggers.

Parameters
maskA bit mask of individual triggers, from the Graph::INode::ProcessOutputTriggers enumeration.
Returns
The previous triggers' bit mask.

◆ RemoveTriggers()

virtual UInt32 Murl::Graph::IProcessOutputTracker::RemoveTriggers ( UInt32  mask)
pure virtual

Remove given triggers from the currently set traversal triggers.

Parameters
maskA bit mask of individual triggers, from the Graph::INode::ProcessOutputTriggers enumeration.
Returns
The previous triggers' bit mask.

◆ GetResponse()

virtual UInt32 Murl::Graph::IProcessOutputTracker::GetResponse ( UInt32  mask) const
pure virtual

Check the traversal response for a given set of triggers.

Parameters
maskA bit mask of individual triggers to query for, from the Graph::INode::ProcessOutputTriggers enumeration.
Returns
A bit mask of affected triggers.

◆ GetCurrentLazyNode()

virtual ILazyNode* Murl::Graph::IProcessOutputTracker::GetCurrentLazyNode ( )
pure virtual

Get the most recent lazy node from the reference stack.

Returns
The lazy node.

◆ PushLazyNode()

virtual void Murl::Graph::IProcessOutputTracker::PushLazyNode ( ILazyNode node)
pure virtual

Push a lazy node to the reference stack.

Parameters
nodeThe node to push.

The documentation for this interface was generated from the following file:
  • murl_graph_i_process_output_tracker.h


Copyright © 2011-2024 Spraylight GmbH.