The IDrawable property interface. More...

#include "murl_graph_i_drawable.h"

Inheritance diagram for Murl::Graph::IDrawable:

Public Member Functions

virtual Bool SetVerticesSlot (SInt32 slot)=0
 Set the vertices slot used for rendering. More...
 
virtual SInt32 GetVerticesSlot () const =0
 Get the vertices slot used for rendering. More...
 
virtual Bool SetMaterialSlot (SInt32 slot)=0
 Set the material slot used for rendering. More...
 
virtual SInt32 GetMaterialSlot () const =0
 Get the material slot used for rendering. More...
 
virtual Bool SetParametersSlot (SInt32 slot)=0
 Set the parameters slot used for rendering. More...
 
virtual SInt32 GetParametersSlot () const =0
 Get the parameters slot used for rendering. More...
 
virtual Bool SetTextureSlot (UInt32 unit, SInt32 slot)=0
 Set a texture slot used for rendering. More...
 
virtual SInt32 GetTextureSlot (UInt32 unit) const =0
 Get a texture slot used for rendering. More...
 
virtual Bool SetBufferAccessMode (IEnums::BufferAccessMode mode)=0
 Set the buffer access mode. More...
 
virtual IEnums::BufferAccessMode GetBufferAccessMode () const =0
 Get the buffer access mode. More...
 
virtual Bool SetPrimitiveType (IEnums::PrimitiveType type)=0
 Set the primitive type used for rendering. More...
 
virtual IEnums::PrimitiveType GetPrimitiveType () const =0
 Get the primitive type used for rendering. More...
 
virtual Bool SetMaxNumberOfLightStages (UInt32 maxNumStages)=0
 Set the maximum number of light stages used for rendering. More...
 
virtual UInt32 GetMaxNumberOfLightStages () const =0
 Get the maximum number of light stages used for rendering. More...
 
virtual Bool SetMaxNumberOfBonesPerVertex (UInt32 maxNumBones)=0
 Set the maximum number of bones per vertex for vertex skinning. More...
 
virtual UInt32 GetMaxNumberOfBonesPerVertex () const =0
 Get the maximum number of bones per vertex for vertex skinning. More...
 
virtual Bool SetViewCullingEnabled (Bool enabled)=0
 Enable/disable view culling. More...
 
virtual Bool IsViewCullingEnabled () const =0
 Check if view culling is enabled. More...
 
virtual Bool SetDynamicBatchingAllowed (Bool allowed)=0
 Allow/disallow dynamic batching. More...
 
virtual Bool IsDynamicBatchingAllowed () const =0
 Check if dynamic batching is allowed. More...
 
virtual Bool SetCpuSkinningEnabled (Bool enabled)=0
 Enable/disable CPU vertex skinning. More...
 
virtual Bool IsCpuSkinningEnabled () const =0
 Check if CPU vertex skinning is enabled. More...
 

Detailed Description

The IDrawable property interface.

This interface provides setting and retrieving common properties of a drawable geometry object, such as associated material, parameters and texture slots, the maximum number of light stages applied, and enabling/disabling view culling.

Member Function Documentation

◆ SetVerticesSlot()

virtual Bool Murl::Graph::IDrawable::SetVerticesSlot ( SInt32  slot)
pure virtual

Set the vertices slot used for rendering.

Parameters
slotThe vertices slot.
Returns
true if successful.

◆ GetVerticesSlot()

virtual SInt32 Murl::Graph::IDrawable::GetVerticesSlot ( ) const
pure virtual

Get the vertices slot used for rendering.

Returns
The vertices slot.

◆ SetMaterialSlot()

virtual Bool Murl::Graph::IDrawable::SetMaterialSlot ( SInt32  slot)
pure virtual

Set the material slot used for rendering.

Parameters
slotThe material slot.
Returns
true if successful.

◆ GetMaterialSlot()

virtual SInt32 Murl::Graph::IDrawable::GetMaterialSlot ( ) const
pure virtual

Get the material slot used for rendering.

Returns
The material slot.

◆ SetParametersSlot()

virtual Bool Murl::Graph::IDrawable::SetParametersSlot ( SInt32  slot)
pure virtual

Set the parameters slot used for rendering.

Parameters
slotThe parameters slot.
Returns
true if successful.

◆ GetParametersSlot()

virtual SInt32 Murl::Graph::IDrawable::GetParametersSlot ( ) const
pure virtual

Get the parameters slot used for rendering.

Returns
The parameters slot.

◆ SetTextureSlot()

virtual Bool Murl::Graph::IDrawable::SetTextureSlot ( UInt32  unit,
SInt32  slot 
)
pure virtual

Set a texture slot used for rendering.

Parameters
unitThe texture unit for which to set the slot.
slotThe texture slot.
Returns
true if successful.

◆ GetTextureSlot()

virtual SInt32 Murl::Graph::IDrawable::GetTextureSlot ( UInt32  unit) const
pure virtual

Get a texture slot used for rendering.

Parameters
unitThe texture unit for which to query the slot.
Returns
The texture slot.

◆ SetBufferAccessMode()

virtual Bool Murl::Graph::IDrawable::SetBufferAccessMode ( IEnums::BufferAccessMode  mode)
pure virtual

Set the buffer access mode.

Parameters
modeThe access mode.
Returns
true if successful.

◆ GetBufferAccessMode()

virtual IEnums::BufferAccessMode Murl::Graph::IDrawable::GetBufferAccessMode ( ) const
pure virtual

Get the buffer access mode.

Returns
The access mode.

◆ SetPrimitiveType()

virtual Bool Murl::Graph::IDrawable::SetPrimitiveType ( IEnums::PrimitiveType  type)
pure virtual

Set the primitive type used for rendering.

Parameters
typeOne of the IEnums::PrimitiveType members.
Returns
true if successful.

◆ GetPrimitiveType()

virtual IEnums::PrimitiveType Murl::Graph::IDrawable::GetPrimitiveType ( ) const
pure virtual

Get the primitive type used for rendering.

Returns
One of the IEnums::PrimitiveType members.

◆ SetMaxNumberOfLightStages()

virtual Bool Murl::Graph::IDrawable::SetMaxNumberOfLightStages ( UInt32  maxNumStages)
pure virtual

Set the maximum number of light stages used for rendering.

Parameters
maxNumStagesThe maximum number of light stages.
Returns
true if successful.

◆ GetMaxNumberOfLightStages()

virtual UInt32 Murl::Graph::IDrawable::GetMaxNumberOfLightStages ( ) const
pure virtual

Get the maximum number of light stages used for rendering.

Returns
The maximum number of light stages.

◆ SetMaxNumberOfBonesPerVertex()

virtual Bool Murl::Graph::IDrawable::SetMaxNumberOfBonesPerVertex ( UInt32  maxNumBones)
pure virtual

Set the maximum number of bones per vertex for vertex skinning.

Parameters
maxNumBonesThe maximum number of bones.
Returns
true if successful.

◆ GetMaxNumberOfBonesPerVertex()

virtual UInt32 Murl::Graph::IDrawable::GetMaxNumberOfBonesPerVertex ( ) const
pure virtual

Get the maximum number of bones per vertex for vertex skinning.

Returns
The maximum number of bones.

◆ SetViewCullingEnabled()

virtual Bool Murl::Graph::IDrawable::SetViewCullingEnabled ( Bool  enabled)
pure virtual

Enable/disable view culling.

Parameters
enabledIf true, culling is performed, otherwise the geometry is always rendered.
Returns
true if successful.

◆ IsViewCullingEnabled()

virtual Bool Murl::Graph::IDrawable::IsViewCullingEnabled ( ) const
pure virtual

Check if view culling is enabled.

Returns
true if enabled.

◆ SetDynamicBatchingAllowed()

virtual Bool Murl::Graph::IDrawable::SetDynamicBatchingAllowed ( Bool  allowed)
pure virtual

Allow/disallow dynamic batching.

Parameters
allowedIf true, the renderer tries to batch the drawable together with other drawables sharing the same material/texture/light state.
Returns
true if successful, or false if not supported by this drawable.

◆ IsDynamicBatchingAllowed()

virtual Bool Murl::Graph::IDrawable::IsDynamicBatchingAllowed ( ) const
pure virtual

Check if dynamic batching is allowed.

Returns
true if allowed.

◆ SetCpuSkinningEnabled()

virtual Bool Murl::Graph::IDrawable::SetCpuSkinningEnabled ( Bool  enabled)
pure virtual

Enable/disable CPU vertex skinning.

Enabling CPU vertex skinning only has effect when the drawable contains skeleton information, i.e. bone indices and weights.

Parameters
enabledIf true, vertex skinning is performed using the CPU, otherwise a GPU shader program must be active to perform this task.
Returns
true if successful.

◆ IsCpuSkinningEnabled()

virtual Bool Murl::Graph::IDrawable::IsCpuSkinningEnabled ( ) const
pure virtual

Check if CPU vertex skinning is enabled.

Returns
true if enabled.

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


Copyright © 2011-2018 Spraylight GmbH.