The IMaterial video object interface. More...

#include "murl_video_i_material.h"

Inherited by Murl::Video::Material.

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () const =0
 Get the constant Video::IObject interface. More...
 
virtual Bool Enable ()=0
 Enable the material. More...
 
virtual Bool Disable ()=0
 Disable the material. More...
 
virtual Bool Set (IProgram *currentProgram)=0
 Attach the material to the current GPU program. More...
 
virtual Bool SetVisibleFaces (IEnums::PolygonFaces faces)=0
 Set which faces of a triangle are visible for rendering. More...
 
virtual IEnums::PolygonFaces GetVisibleFaces () const =0
 Check which faces of a triangle are visible for rendering. More...
 
virtual Bool SetColorBufferMode (IEnums::ColorBufferMode mode)=0
 Set the material's color buffer access mode. More...
 
virtual IEnums::ColorBufferMode GetColorBufferMode () const =0
 Get the material's color buffer access mode. More...
 
virtual Bool SetColorBufferMask (IEnums::ColorBufferMask mask)=0
 Set the material's color buffer mask. More...
 
virtual IEnums::ColorBufferMask GetColorBufferMask () const =0
 Get the material's color buffer mask. More...
 
virtual Bool SetDepthBufferMode (IEnums::DepthBufferMode mode)=0
 Set the material's depth buffer access mode. More...
 
virtual IEnums::DepthBufferMode GetDepthBufferMode () const =0
 Get the material's depth buffer access mode. More...
 
virtual Bool SetDepthBufferMask (IEnums::DepthBufferMask mask)=0
 Set the material's depth buffer mask. More...
 
virtual IEnums::DepthBufferMask GetDepthBufferMask () const =0
 Get the material's depth buffer mask. More...
 
virtual Bool SetDepthTestFunction (IEnums::DepthTestFunction function)=0
 Set the material's depth test function. More...
 
virtual IEnums::DepthTestFunction GetDepthTestFunction () const =0
 Get the material's depth test function. More...
 
virtual Bool SetStencilBufferMode (IEnums::StencilBufferMode mode)=0
 Set the material's stencil buffer access mode. More...
 
virtual IEnums::StencilBufferMode GetStencilBufferMode () const =0
 Get the material's stencil buffer access mode. More...
 
virtual Bool SetStencilBufferMask (IEnums::StencilBufferMask mask)=0
 Set the material's stencil buffer mask. More...
 
virtual IEnums::StencilBufferMask GetStencilBufferMask () const =0
 Get the material's stencil buffer mask. More...
 
virtual Bool SetStencilTestFunction (IEnums::StencilTestFunction frontFunction, IEnums::StencilTestFunction backFunction)=0
 Set the material's stencil test functions. More...
 
virtual IEnums::StencilTestFunction GetFrontStencilTestFunction () const =0
 Set the material's stencil test function for front-facing primitives. More...
 
virtual IEnums::StencilTestFunction GetBackStencilTestFunction () const =0
 Set the material's stencil test function for back-facing primitives. More...
 
virtual Bool SetStencilTestReferenceValue (UInt32 frontValue, UInt32 backValue)=0
 Set the material's stencil test reference values. More...
 
virtual UInt32 GetFrontStencilTestReferenceValue () const =0
 Get the material's stencil test reference value for testing front-facing primitives. More...
 
virtual UInt32 GetBackStencilTestReferenceValue () const =0
 Get the material's stencil test reference value for testing back-facing primitives. More...
 
virtual Bool SetStencilTestMask (UInt32 frontMask, UInt32 backMask)=0
 Set the material's stencil test masks. More...
 
virtual UInt32 GetFrontStencilTestMask () const =0
 Get the material's stencil test mask for front-facing primitives. More...
 
virtual UInt32 GetBackStencilTestMask () const =0
 Get the material's stencil test mask for back-facing primitives. More...
 
virtual Bool SetStencilBufferActionForFailedStencilTest (IEnums::StencilBufferAction frontAction, IEnums::StencilBufferAction backAction)=0
 Set the actions to be performed if the stencil test fails. More...
 
virtual IEnums::StencilBufferAction GetFrontStencilBufferActionForFailedStencilTest () const =0
 Get the front-facing primitive stencil buffer action for failed stencil tests. More...
 
virtual IEnums::StencilBufferAction GetBackStencilBufferActionForFailedStencilTest () const =0
 Get the back-facing primitive stencil buffer action for failed stencil tests. More...
 
virtual Bool SetStencilBufferActionForFailedDepthTest (IEnums::StencilBufferAction frontAction, IEnums::StencilBufferAction backAction)=0
 Set the actions to be performed if the stencil test passes, but the depth test fails. More...
 
virtual IEnums::StencilBufferAction GetFrontStencilBufferActionForFailedDepthTest () const =0
 Get the front-facing primitive stencil buffer action for failed depth tests. More...
 
virtual IEnums::StencilBufferAction GetBackStencilBufferActionForFailedDepthTest () const =0
 Get the back-facing primitive stencil buffer action for failed depth tests. More...
 
virtual Bool SetStencilBufferActionForPassedDepthTest (IEnums::StencilBufferAction frontAction, IEnums::StencilBufferAction backAction)=0
 Set the actions to be performed if both the stencil test and the depth test pass. More...
 
virtual IEnums::StencilBufferAction GetFrontStencilBufferActionForPassedDepthTest () const =0
 Get the front-facing primitive stencil buffer action for passed depth tests. More...
 
virtual IEnums::StencilBufferAction GetBackStencilBufferActionForPassedDepthTest () const =0
 Get the back-facing primitive stencil buffer action for passed depth tests. More...
 
virtual Bool SetBlendMode (IEnums::BlendMode mode)=0
 Set the material's blend mode. More...
 
virtual IEnums::BlendMode GetBlendMode () const =0
 Get the material's blend mode. More...
 
virtual Bool SetBlendFunction (IEnums::BlendFunction srcColorFunction, IEnums::BlendFunction srcAlphaFunction, IEnums::BlendFunction dstColorFunction, IEnums::BlendFunction dstAlphaFunction)=0
 Set the material's blending functions. More...
 
virtual IEnums::BlendFunction GetSrcColorBlendFunction () const =0
 Get the material's blending function used for the source pixels' RGB values. More...
 
virtual IEnums::BlendFunction GetSrcAlphaBlendFunction () const =0
 Get the material's blending function used for the source pixels' alpha value. More...
 
virtual IEnums::BlendFunction GetDstColorBlendFunction () const =0
 Get the material's blending function used for the destination pixels' RGB values. More...
 
virtual IEnums::BlendFunction GetDstAlphaBlendFunction () const =0
 Get the material's blending function used for the destination pixels' alpha value. More...
 
virtual Bool SetBlendEquation (IEnums::BlendEquation colorEquation, IEnums::BlendEquation alphaEquation)=0
 Set the material's blending equations. More...
 
virtual IEnums::BlendEquation GetColorBlendEquation () const =0
 Get the material's blending equation for RGB values. More...
 
virtual IEnums::BlendEquation GetAlphaBlendEquation () const =0
 Get the material's blending equation for alpha values. More...
 
virtual Bool SetColorBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's color buffer. More...
 
virtual Bool IsColorBufferClearingEnabled () const =0
 Check if clearing of the render target's color buffer is enabled. More...
 
virtual Bool SetDepthBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's depth buffer. More...
 
virtual Bool IsDepthBufferClearingEnabled () const =0
 Check if clearing of the render target's depth buffer is enabled. More...
 
virtual Bool SetStencilBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's stencil buffer. More...
 
virtual Bool IsStencilBufferClearingEnabled () const =0
 Check if clearing of the render target's stencil buffer is enabled. More...
 
virtual Bool SetColorBufferClearValue (const Color &value)=0
 Set the clear color in effect when color buffer clearing is enabled. More...
 
virtual const ColorGetColorBufferClearValue () const =0
 Get the clear color in effect when color buffer clearing is enabled. More...
 
virtual Bool SetDepthBufferClearValue (Real value)=0
 Set the clear value in effect when depth buffer clearing is enabled. More...
 
virtual Real GetDepthBufferClearValue () const =0
 Get the clear value in effect when depth buffer clearing is enabled. More...
 
virtual Bool SetStencilBufferClearValue (UInt8 value)=0
 Set the clear value in effect when stencil buffer clearing is enabled. More...
 
virtual UInt8 GetStencilBufferClearValue () const =0
 Get the clear value in effect when stencil buffer clearing is enabled. More...
 
virtual Bool SetObjectSortMode (IEnums::ObjectSortMode mode)=0
 Set the material's object sorting mode. More...
 
virtual IEnums::ObjectSortMode GetObjectSortMode () const =0
 Get the material's object sorting mode. More...
 
virtual Bool SetSortOrder (SInt32 order)=0
 Set the material's sorting order relative to other materials. More...
 
virtual SInt32 GetSortOrder () const =0
 Get the material's sorting order relative to other materials. More...
 
virtual Bool SetVariableDepthOffset (Real offset)=0
 Set the variable offset for depth buffer value calculation. More...
 
virtual Real GetVariableDepthOffset () const =0
 Get the variable offset for depth buffer value calculation. More...
 
virtual Bool SetConstantDepthOffset (Real offset)=0
 Set the constant offset for depth buffer value calculation. More...
 
virtual Real GetConstantDepthOffset () const =0
 Get the constant offset for depth buffer value calculation. More...
 
virtual Bool SetLightStageUnit (SInt32 unit)=0
 Set the light stage unit used for multi-pass lighting. More...
 
virtual SInt32 GetLightStageUnit () const =0
 Get the light stage unit used for multi-pass lighting. More...
 
virtual Bool SetLightMaskEnabled (Bool enabled)=0
 Set if the light should be masked for multi-pass lighting. More...
 
virtual Bool IsLightMaskEnabled () const =0
 Check if the light is masked for multi-pass lighting. More...
 
virtual Bool SetProgram (IProgram *program)=0
 Set the GPU program used for this material. More...
 
virtual IProgramGetProgram () const =0
 Get the GPU program used for this material. More...
 

Detailed Description

The IMaterial video object interface.

This interface represents a material used during rendering.

Used internally by Graph::Material.

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Video::IMaterial::GetObjectInterface ( )
pure virtual

Get the mutable Video::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Video::IMaterial::GetObjectInterface ( ) const
pure virtual

Get the constant Video::IObject interface.

Returns
The IObject interface.

◆ Enable()

virtual Bool Murl::Video::IMaterial::Enable ( )
pure virtual

Enable the material.

Returns
true if successful.

◆ Disable()

virtual Bool Murl::Video::IMaterial::Disable ( )
pure virtual

Disable the material.

Returns
true if successful.

◆ Set()

virtual Bool Murl::Video::IMaterial::Set ( IProgram currentProgram)
pure virtual

Attach the material to the current GPU program.

Parameters
currentProgramThe current GPU program.
Returns
true if successful.

◆ SetVisibleFaces()

virtual Bool Murl::Video::IMaterial::SetVisibleFaces ( IEnums::PolygonFaces  faces)
pure virtual

Set which faces of a triangle are visible for rendering.

Parameters
facesOne of the available IEnums::PolygonFaces enumeration values.
Returns
true if successful.

◆ GetVisibleFaces()

virtual IEnums::PolygonFaces Murl::Video::IMaterial::GetVisibleFaces ( ) const
pure virtual

Check which faces of a triangle are visible for rendering.

Returns
One of the available IEnums::PolygonFaces enumeration values.

◆ SetColorBufferMode()

virtual Bool Murl::Video::IMaterial::SetColorBufferMode ( IEnums::ColorBufferMode  mode)
pure virtual

Set the material's color buffer access mode.

The color buffer access mode can be set to either IEnums::COLOR_BUFFER_MODE_WRITE_ONLY to enable writing to the color buffer, or IEnums::COLOR_BUFFER_MODE_NONE to disable color output. Use SetColorBufferMask() to enable/disable specific color channels when writing is enabled.

Parameters
modeThe color buffer access mode.
Returns
true if successful.

◆ GetColorBufferMode()

virtual IEnums::ColorBufferMode Murl::Video::IMaterial::GetColorBufferMode ( ) const
pure virtual

Get the material's color buffer access mode.

Returns
The color buffer access mode.

◆ SetColorBufferMask()

virtual Bool Murl::Video::IMaterial::SetColorBufferMask ( IEnums::ColorBufferMask  mask)
pure virtual

Set the material's color buffer mask.

If color buffer writes are enabled, and a specific bit is set in the given mask, the respective color channel is enabled for writing, otherwise that channel is not written to the output pixels. To generally enable/disable color buffer writes, use SetColorBufferMode().

Parameters
maskThe color buffer write mask.
Returns
true if successful.

◆ GetColorBufferMask()

virtual IEnums::ColorBufferMask Murl::Video::IMaterial::GetColorBufferMask ( ) const
pure virtual

Get the material's color buffer mask.

Returns
The color buffer write mask.

◆ SetDepthBufferMode()

virtual Bool Murl::Video::IMaterial::SetDepthBufferMode ( IEnums::DepthBufferMode  mode)
pure virtual

Set the material's depth buffer access mode.

The depth buffer access mode can be set to enable/disable both depth buffer reads and writes, through one of the available IEnums::DepthBufferMode values.

Parameters
modeThe depth buffer access mode.
Returns
true if successful.

◆ GetDepthBufferMode()

virtual IEnums::DepthBufferMode Murl::Video::IMaterial::GetDepthBufferMode ( ) const
pure virtual

Get the material's depth buffer access mode.

Returns
The depth buffer access mode.

◆ SetDepthBufferMask()

virtual Bool Murl::Video::IMaterial::SetDepthBufferMask ( IEnums::DepthBufferMask  mask)
pure virtual

Set the material's depth buffer mask.

This method can be used to independently enable/disable depth buffer writes in addition to the general depth buffer access mode set via SetDepthBufferMode().

Parameters
maskThe depth buffer write mask.
Returns
true if successful.

◆ GetDepthBufferMask()

virtual IEnums::DepthBufferMask Murl::Video::IMaterial::GetDepthBufferMask ( ) const
pure virtual

Get the material's depth buffer mask.

Returns
The depth buffer write mask.

◆ SetDepthTestFunction()

virtual Bool Murl::Video::IMaterial::SetDepthTestFunction ( IEnums::DepthTestFunction  function)
pure virtual

Set the material's depth test function.

If the material's depth buffer access mode is set to either IEnums::DEPTH_BUFFER_MODE_READ_ONLY or IEnums::DEPTH_BUFFER_MODE_READ_AND_WRITE, the given function is used for all depth buffer comparisons using this material. The output pixel is only written if the result of its depth comparison is true using the given function.

Parameters
functionThe depth test function.
Returns
true if successful.

◆ GetDepthTestFunction()

virtual IEnums::DepthTestFunction Murl::Video::IMaterial::GetDepthTestFunction ( ) const
pure virtual

Get the material's depth test function.

Returns
The depth test function.

◆ SetStencilBufferMode()

virtual Bool Murl::Video::IMaterial::SetStencilBufferMode ( IEnums::StencilBufferMode  mode)
pure virtual

Set the material's stencil buffer access mode.

The stencil buffer access mode can be set to enable/disable both stencil buffer reads and writes, through one of the available IEnums::StencilBufferMode values.

Parameters
modeThe stencil buffer access mode.
Returns
true if successful.

◆ GetStencilBufferMode()

virtual IEnums::StencilBufferMode Murl::Video::IMaterial::GetStencilBufferMode ( ) const
pure virtual

Get the material's stencil buffer access mode.

Returns
The stencil buffer access mode.

◆ SetStencilBufferMask()

virtual Bool Murl::Video::IMaterial::SetStencilBufferMask ( IEnums::StencilBufferMask  mask)
pure virtual

Set the material's stencil buffer mask.

If stencil buffer writes are enabled, and a specific bit is set in the given mask, the respective stencil bit is enabled for writing, otherwise that bit is not written to the output pixels. To generally enable/disable stencil buffer writes, use SetStencilBufferMode().

Parameters
maskThe stencil buffer write mask.
Returns
true if successful.

◆ GetStencilBufferMask()

virtual IEnums::StencilBufferMask Murl::Video::IMaterial::GetStencilBufferMask ( ) const
pure virtual

Get the material's stencil buffer mask.

Returns
The stencil buffer write mask.

◆ SetStencilTestFunction()

virtual Bool Murl::Video::IMaterial::SetStencilTestFunction ( IEnums::StencilTestFunction  frontFunction,
IEnums::StencilTestFunction  backFunction 
)
pure virtual

Set the material's stencil test functions.

If the material's stencil buffer access mode is set to either IEnums::STENCIL_BUFFER_MODE_READ_ONLY or IEnums::STENCIL_BUFFER_MODE_READ_AND_WRITE, the given functions are used for all stencil buffer comparisons using this material. The output pixel is only written if the result of its stencil comparison is true using the given function.

Parameters
frontFunctionThe stencil test function used for front-facing primitives.
backFunctionThe stencil test function used for back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilTestFunction()

virtual IEnums::StencilTestFunction Murl::Video::IMaterial::GetFrontStencilTestFunction ( ) const
pure virtual

Set the material's stencil test function for front-facing primitives.

Returns
The stencil test function.

◆ GetBackStencilTestFunction()

virtual IEnums::StencilTestFunction Murl::Video::IMaterial::GetBackStencilTestFunction ( ) const
pure virtual

Set the material's stencil test function for back-facing primitives.

Returns
The stencil test function.

◆ SetStencilTestReferenceValue()

virtual Bool Murl::Video::IMaterial::SetStencilTestReferenceValue ( UInt32  frontValue,
UInt32  backValue 
)
pure virtual

Set the material's stencil test reference values.

If stencil test is enabled (see SetStencilBufferMode()), the values given represent the actual reference values used for the per-pixel stencil test with the respective functions specified via SetStencilTestFunction(). In addition, before each comparison, both test value and reference value are ANDed with the test mask given via SetStencilTestMask().

Parameters
frontValueThe reference value used for comparing pixels of front-facing primitives.
backValueThe reference value used for comparing pixels of back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilTestReferenceValue()

virtual UInt32 Murl::Video::IMaterial::GetFrontStencilTestReferenceValue ( ) const
pure virtual

Get the material's stencil test reference value for testing front-facing primitives.

Returns
The stencil test reference value.

◆ GetBackStencilTestReferenceValue()

virtual UInt32 Murl::Video::IMaterial::GetBackStencilTestReferenceValue ( ) const
pure virtual

Get the material's stencil test reference value for testing back-facing primitives.

Returns
The stencil test reference value.

◆ SetStencilTestMask()

virtual Bool Murl::Video::IMaterial::SetStencilTestMask ( UInt32  frontMask,
UInt32  backMask 
)
pure virtual

Set the material's stencil test masks.

See SetStencilTestReferenceValue().

Parameters
frontMaskThe comparison mask for front-facing primitives.
backMaskThe comparison mask for back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilTestMask()

virtual UInt32 Murl::Video::IMaterial::GetFrontStencilTestMask ( ) const
pure virtual

Get the material's stencil test mask for front-facing primitives.

Returns
The stencil test mask.

◆ GetBackStencilTestMask()

virtual UInt32 Murl::Video::IMaterial::GetBackStencilTestMask ( ) const
pure virtual

Get the material's stencil test mask for back-facing primitives.

Returns
The stencil test mask.

◆ SetStencilBufferActionForFailedStencilTest()

virtual Bool Murl::Video::IMaterial::SetStencilBufferActionForFailedStencilTest ( IEnums::StencilBufferAction  frontAction,
IEnums::StencilBufferAction  backAction 
)
pure virtual

Set the actions to be performed if the stencil test fails.

If stencil test is enabled (see SetStencilBufferMode()), the given actions specify how the stencil buffer is modified whenever the stencil test fails for a pixel.

Parameters
frontActionThe action to perform for front-facing primitives.
backActionThe action to perform for back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilBufferActionForFailedStencilTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetFrontStencilBufferActionForFailedStencilTest ( ) const
pure virtual

Get the front-facing primitive stencil buffer action for failed stencil tests.

Returns
The stencil buffer action.

◆ GetBackStencilBufferActionForFailedStencilTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetBackStencilBufferActionForFailedStencilTest ( ) const
pure virtual

Get the back-facing primitive stencil buffer action for failed stencil tests.

Returns
The stencil buffer action.

◆ SetStencilBufferActionForFailedDepthTest()

virtual Bool Murl::Video::IMaterial::SetStencilBufferActionForFailedDepthTest ( IEnums::StencilBufferAction  frontAction,
IEnums::StencilBufferAction  backAction 
)
pure virtual

Set the actions to be performed if the stencil test passes, but the depth test fails.

If stencil test is enabled (see SetStencilBufferMode()), the given actions specify how the stencil buffer is modified whenever the depth test fails for a pixel (after successfully passing the stencil test).

Parameters
frontActionThe action to perform for front-facing primitives.
backActionThe action to perform for back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilBufferActionForFailedDepthTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetFrontStencilBufferActionForFailedDepthTest ( ) const
pure virtual

Get the front-facing primitive stencil buffer action for failed depth tests.

Returns
The stencil buffer action.

◆ GetBackStencilBufferActionForFailedDepthTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetBackStencilBufferActionForFailedDepthTest ( ) const
pure virtual

Get the back-facing primitive stencil buffer action for failed depth tests.

Returns
The stencil buffer action.

◆ SetStencilBufferActionForPassedDepthTest()

virtual Bool Murl::Video::IMaterial::SetStencilBufferActionForPassedDepthTest ( IEnums::StencilBufferAction  frontAction,
IEnums::StencilBufferAction  backAction 
)
pure virtual

Set the actions to be performed if both the stencil test and the depth test pass.

If stencil test is enabled (see SetStencilBufferMode()), the given actions specify how the stencil buffer is modified whenever both stencil and depth test succeed for a pixel.

Parameters
frontActionThe action to perform for front-facing primitives.
backActionThe action to perform for back-facing primitives.
Returns
true if successful.

◆ GetFrontStencilBufferActionForPassedDepthTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetFrontStencilBufferActionForPassedDepthTest ( ) const
pure virtual

Get the front-facing primitive stencil buffer action for passed depth tests.

Returns
The stencil buffer action.

◆ GetBackStencilBufferActionForPassedDepthTest()

virtual IEnums::StencilBufferAction Murl::Video::IMaterial::GetBackStencilBufferActionForPassedDepthTest ( ) const
pure virtual

Get the back-facing primitive stencil buffer action for passed depth tests.

Returns
The stencil buffer action.

◆ SetBlendMode()

virtual Bool Murl::Video::IMaterial::SetBlendMode ( IEnums::BlendMode  mode)
pure virtual

Set the material's blend mode.

Parameters
modeThe blend mode.
Returns
true if successful.

◆ GetBlendMode()

virtual IEnums::BlendMode Murl::Video::IMaterial::GetBlendMode ( ) const
pure virtual

Get the material's blend mode.

Returns
The blend mode.

◆ SetBlendFunction()

virtual Bool Murl::Video::IMaterial::SetBlendFunction ( IEnums::BlendFunction  srcColorFunction,
IEnums::BlendFunction  srcAlphaFunction,
IEnums::BlendFunction  dstColorFunction,
IEnums::BlendFunction  dstAlphaFunction 
)
pure virtual

Set the material's blending functions.

If alpha blending is enabled (SetBlendMode() with a parameter of IEnums::BLEND_MODE_ALPHA), this method sets the combiner factors used for calculating the actual output pixel RGBA values depending on the source and destination pixel's color and alpha values. The values resulting from evaluating these functions are then combined using the blending equations set via SetBlendEquation().

Parameters
srcColorFunctionThe combiner function for the source pixel's RGB values.
srcAlphaFunctionThe combiner function for the source pixel's alpha value.
dstColorFunctionThe combiner function for the destination pixel's RGB values.
dstAlphaFunctionThe combiner function for the destination pixel's alpha value.
Returns
true if successful.

◆ GetSrcColorBlendFunction()

virtual IEnums::BlendFunction Murl::Video::IMaterial::GetSrcColorBlendFunction ( ) const
pure virtual

Get the material's blending function used for the source pixels' RGB values.

Returns
The blending function.

◆ GetSrcAlphaBlendFunction()

virtual IEnums::BlendFunction Murl::Video::IMaterial::GetSrcAlphaBlendFunction ( ) const
pure virtual

Get the material's blending function used for the source pixels' alpha value.

Returns
The blending function.

◆ GetDstColorBlendFunction()

virtual IEnums::BlendFunction Murl::Video::IMaterial::GetDstColorBlendFunction ( ) const
pure virtual

Get the material's blending function used for the destination pixels' RGB values.

Returns
The blending function.

◆ GetDstAlphaBlendFunction()

virtual IEnums::BlendFunction Murl::Video::IMaterial::GetDstAlphaBlendFunction ( ) const
pure virtual

Get the material's blending function used for the destination pixels' alpha value.

Returns
The blending function.

◆ SetBlendEquation()

virtual Bool Murl::Video::IMaterial::SetBlendEquation ( IEnums::BlendEquation  colorEquation,
IEnums::BlendEquation  alphaEquation 
)
pure virtual

Set the material's blending equations.

If alpha blending is enabled (SetBlendMode() with a parameter of IEnums::BLEND_MODE_ALPHA), this method sets the actual equations used to combine the outcome of transforming the source and destination pixels according to the functions specified via SetBlendFunction().

Parameters
colorEquationThe blending equation used to combine source and destination RGB values.
alphaEquationThe blending equation used to combine source and destination alpha values.
Returns
true if successful.

◆ GetColorBlendEquation()

virtual IEnums::BlendEquation Murl::Video::IMaterial::GetColorBlendEquation ( ) const
pure virtual

Get the material's blending equation for RGB values.

Returns
The blending equation.

◆ GetAlphaBlendEquation()

virtual IEnums::BlendEquation Murl::Video::IMaterial::GetAlphaBlendEquation ( ) const
pure virtual

Get the material's blending equation for alpha values.

Returns
The blending equation.

◆ SetColorBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::SetColorBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's color buffer.

If color buffer clearing is enabled for a material, the output color buffer gets cleared every time the material is activated (off by default). See SetColorBufferClearValue() for setting the color used for clearing. See also SetDepthBufferClearingEnabled() and SetStencilBufferClearingEnabled().

Parameters
enabledSet to true to enable color buffer clearing.
Returns
true if successful.

◆ IsColorBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::IsColorBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's color buffer is enabled.

Returns
true if color buffer clearing is enabled.

◆ SetDepthBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::SetDepthBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's depth buffer.

If depth buffer clearing is enabled for a material, the output depth buffer gets cleared every time the material is activated (off by default). See SetDepthBufferClearValue() for setting the depth value used for clearing. See also SetStencilBufferClearingEnabled().

Parameters
enabledSet to true to enable depth buffer clearing.
Returns
true if successful.

◆ IsDepthBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::IsDepthBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's depth buffer is enabled.

Returns
true if depth buffer clearing is enabled.

◆ SetStencilBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::SetStencilBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's stencil buffer.

If stencil buffer clearing is enabled for a material, the output stencil buffer gets cleared every time the material is activated (off by default). See SetStencilBufferClearValue() for setting the stencil value used for clearing. See SetDepthBufferClearingEnabled() and SetColorBufferClearingEnabled().

Parameters
enabledSet to true to enable stencil buffer clearing.
Returns
true if successful.

◆ IsStencilBufferClearingEnabled()

virtual Bool Murl::Video::IMaterial::IsStencilBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's stencil buffer is enabled.

Returns
true if stencil buffer clearing is enabled.

◆ SetColorBufferClearValue()

virtual Bool Murl::Video::IMaterial::SetColorBufferClearValue ( const Color value)
pure virtual

Set the clear color in effect when color buffer clearing is enabled.

Parameters
valueThe clear color.
Returns
true if successful.

◆ GetColorBufferClearValue()

virtual const Color& Murl::Video::IMaterial::GetColorBufferClearValue ( ) const
pure virtual

Get the clear color in effect when color buffer clearing is enabled.

Returns
The clear color.

◆ SetDepthBufferClearValue()

virtual Bool Murl::Video::IMaterial::SetDepthBufferClearValue ( Real  value)
pure virtual

Set the clear value in effect when depth buffer clearing is enabled.

Parameters
valueThe clear value.
Returns
true if successful.

◆ GetDepthBufferClearValue()

virtual Real Murl::Video::IMaterial::GetDepthBufferClearValue ( ) const
pure virtual

Get the clear value in effect when depth buffer clearing is enabled.

Returns
The clear value.

◆ SetStencilBufferClearValue()

virtual Bool Murl::Video::IMaterial::SetStencilBufferClearValue ( UInt8  value)
pure virtual

Set the clear value in effect when stencil buffer clearing is enabled.

Parameters
valueThe clear value.
Returns
true if successful.

◆ GetStencilBufferClearValue()

virtual UInt8 Murl::Video::IMaterial::GetStencilBufferClearValue ( ) const
pure virtual

Get the clear value in effect when stencil buffer clearing is enabled.

Returns
The clear value.

◆ SetObjectSortMode()

virtual Bool Murl::Video::IMaterial::SetObjectSortMode ( IEnums::ObjectSortMode  mode)
pure virtual

Set the material's object sorting mode.

Parameters
modeThe object sorting mode.
Returns
true if successful.

◆ GetObjectSortMode()

virtual IEnums::ObjectSortMode Murl::Video::IMaterial::GetObjectSortMode ( ) const
pure virtual

Get the material's object sorting mode.

Returns
The object sorting mode.

◆ SetSortOrder()

virtual Bool Murl::Video::IMaterial::SetSortOrder ( SInt32  order)
pure virtual

Set the material's sorting order relative to other materials.

Parameters
orderThe sorting order.
Returns
true if successful.

◆ GetSortOrder()

virtual SInt32 Murl::Video::IMaterial::GetSortOrder ( ) const
pure virtual

Get the material's sorting order relative to other materials.

Returns
The sorting order.

◆ SetVariableDepthOffset()

virtual Bool Murl::Video::IMaterial::SetVariableDepthOffset ( Real  offset)
pure virtual

Set the variable offset for depth buffer value calculation.

This value specifies a variable offset for the generated depth values, before they are written to the depth buffer. See the description of the "factor" parameter at http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml for OpenGL|ES, or the "D3DRS_SLOPESCALEDEPTHBIAS" parameter at http://msdn.microsoft.com/en-us/library/windows/desktop/bb205599(v=vs.85).aspx for DirectX 9. The default offset value is 0.

Parameters
offsetThe variable depth offset.
Returns
true if successful.

◆ GetVariableDepthOffset()

virtual Real Murl::Video::IMaterial::GetVariableDepthOffset ( ) const
pure virtual

Get the variable offset for depth buffer value calculation.

Returns
The variable depth offset.

◆ SetConstantDepthOffset()

virtual Bool Murl::Video::IMaterial::SetConstantDepthOffset ( Real  offset)
pure virtual

Set the constant offset for depth buffer value calculation.

This value specifies a constant offset for the generated depth values, before they are written to the depth buffer. See the description of the "units" parameter at http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml for OpenGL|ES, or the "D3DRS_DEPTHBIAS" parameter at http://msdn.microsoft.com/en-us/library/windows/desktop/bb205599(v=vs.85).aspx for DirectX 9. The default offset value is 0.

Parameters
offsetThe constant depth offset.
Returns
true if successful.

◆ GetConstantDepthOffset()

virtual Real Murl::Video::IMaterial::GetConstantDepthOffset ( ) const
pure virtual

Get the constant offset for depth buffer value calculation.

Returns
The constant depth offset.

◆ SetLightStageUnit()

virtual Bool Murl::Video::IMaterial::SetLightStageUnit ( SInt32  unit)
pure virtual

Set the light stage unit used for multi-pass lighting.

Parameters
unitThe light stage unit, or -1 to disable multi-pass lighting.
Returns
true if successful.

◆ GetLightStageUnit()

virtual SInt32 Murl::Video::IMaterial::GetLightStageUnit ( ) const
pure virtual

Get the light stage unit used for multi-pass lighting.

Returns
The light stage unit, or -1 if multi-pass lighting is disabled.

◆ SetLightMaskEnabled()

virtual Bool Murl::Video::IMaterial::SetLightMaskEnabled ( Bool  enabled)
pure virtual

Set if the light should be masked for multi-pass lighting.

When multi-pass lighting is performed, this property defines whether rendering should only happen within the light's bounding volume projected on screen. This value only has effect when the light pass unit is set to a defined value (other than -1), otherwise the light is never masked. Setting this value to true can considerably speed up multi-light rendering, as only necessary screen areas are updated.

Parameters
enabledSet to true if the light should be masked.
Returns
true if successful.

◆ IsLightMaskEnabled()

virtual Bool Murl::Video::IMaterial::IsLightMaskEnabled ( ) const
pure virtual

Check if the light is masked for multi-pass lighting.

Returns
true if the light is masked.

◆ SetProgram()

virtual Bool Murl::Video::IMaterial::SetProgram ( IProgram program)
pure virtual

Set the GPU program used for this material.

Parameters
programThe GPU program to use.
Returns
true if successful.

◆ GetProgram()

virtual IProgram* Murl::Video::IMaterial::GetProgram ( ) const
pure virtual

Get the GPU program used for this material.

Returns
The GPU program used.

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


Copyright © 2011-2018 Spraylight GmbH.