![]() |
Murl Engine API
Version 2018.3
|
The IMaterial graph node interface. More...
#include <murl_graph_i_material.h>
The IMaterial graph node interface.
Material nodes hold common rendering parameters that cannot be controlled via GPU shader programs or fixed function programs, such as e.g. depth and stencil buffer access modes and actions, or different blend modes and blend equations.
A material must always refer to exactly one Graph::IProgram, which is used to calculate actual per-pixel color values.
Use the Graph::IStateSlot base interface to set or get the material slot index this material is temporarily attached to if any children are present.
See Output-States, Slots und Units for an overview of state handling during scene graph traversal.
See Graph::IMaterialState for activating a material for rendering. See Graph::IProgram for defining GPU programs to refer to. See Graph::IParameters for defining actual program parameters.
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual IMaterialNodeTarget * | GetSubMaterialNodeTarget ()=0 |
Get the mutable container holding the optional child materials. More... | |
virtual const IMaterialNodeTarget * | GetSubMaterialNodeTarget () const =0 |
Get the constant container holding the optional child materials. More... | |
virtual IProgramNodeTarget * | GetProgramNodeTarget ()=0 |
Get the mutable Graph::IProgramNodeTarget container. More... | |
virtual const IProgramNodeTarget * | GetProgramNodeTarget () const =0 |
Get the constant Graph::IProgramNodeTarget container. 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 Color & | GetColorBufferClearValue () 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 (UInt32 value)=0 |
Set the clear value in effect when stencil buffer clearing is enabled. More... | |
virtual UInt32 | 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 | SetCameraSlot (SInt32 cameraSlot)=0 |
Set the material's camera slot. More... | |
virtual Bool | SetLayerOffset (SInt32 layerOffset)=0 |
Set the material's layer offset. More... | |
virtual Bool | SetParametersStage (SInt32 parametersStage)=0 |
Set the material's parameters pass. More... | |
virtual Bool | SetTextureStage (UInt32 unit, SInt32 textureStage)=0 |
Set the material's texture pass for a given unit. More... | |
virtual Bool | SetLightStageUnit (SInt32 unit)=0 |
Set 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 | SetMinNumberOfLightStages (UInt32 minNumStages)=0 |
Set the material's minimum number of light stages. More... | |
virtual Bool | SetMaxNumberOfLightStages (UInt32 maxNumStages)=0 |
Set the material's maximum number of light stages. More... | |
virtual UInt32 | GetNumberOfDetailLevels () const =0 |
Get the material's number of detail levels. More... | |
virtual UInt32 | GetNumberOfStages (UInt32 detailLevel) const =0 |
Get the material's number of stages for a given detail level. More... | |
virtual SInt32 | GetCameraSlot (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's camera slot for a given stage. More... | |
virtual SInt32 | GetLayerOffset (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's layer offset for a given stage. More... | |
virtual SInt32 | GetParametersStage (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's parameter stage for a given material stage. More... | |
virtual SInt32 | GetTextureStage (UInt32 detailLevel, UInt32 stage, UInt32 unit) const =0 |
Get the material's texture stage for a given material stage and texture unit. More... | |
virtual SInt32 | GetLightStageUnit (UInt32 detailLevel, UInt32 stage) const =0 |
Get the light stage unit used for multi-stage lighting for a given material stage. More... | |
virtual Bool | IsLightMaskEnabled (UInt32 detailLevel, UInt32 stage) const =0 |
Check if the light is masked for multi-pass lighting. More... | |
virtual UInt32 | GetMinNumberOfLightStages (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's minimum number of light stages for a given material stage. More... | |
virtual UInt32 | GetMaxNumberOfLightStages (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's maximum number of light stages for a given material stage. More... | |
virtual UInt32 | GetNumberOfLightStages (UInt32 detailLevel, UInt32 stage, UInt32 numLights) const =0 |
Get the material's minimum number of light stages for a given material stage. More... | |
virtual Video::IMaterial * | GetVideoMaterialObject (UInt32 detailLevel, UInt32 stage) const =0 |
Get the material's internal video renderer object for a given index. More... | |
![]() | |
virtual Bool | SetSlot (SInt32 slot)=0 |
Set the slot index to use. More... | |
virtual SInt32 | GetSlot () const =0 |
Get the slot index to use. More... | |
|
pure virtual |
Get the mutable Graph::INode interface.
This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.
|
pure virtual |
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.
|
pure virtual |
Get the mutable container holding the optional child materials.
This method returns a mutable pointer to the node's Graph::IMaterialNodeTarget sub container, which is used to store multiple sub-materials.
|
pure virtual |
Get the constant container holding the optional child materials.
This method returns a constant pointer to the node's Graph::IMaterialNodeTarget sub container, which is used to store multiple sub-materials.
|
pure virtual |
Get the mutable Graph::IProgramNodeTarget container.
This method returns a mutable pointer to the node's Graph::IProgramNodeTarget container, which allows to set or query the program object used with this material.
|
pure virtual |
Get the constant Graph::IProgramNodeTarget container.
This method returns a constant pointer to the node's Graph::IProgramNodeTarget container, which allows to query the program object used with this material.
|
pure virtual |
Set which faces of a triangle are visible for rendering.
faces | One of the available IEnums::PolygonFaces enumeration values. |
|
pure virtual |
Check which faces of a triangle are visible for rendering.
|
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.
mode | The color buffer access mode. |
|
pure virtual |
Get the material's color buffer access mode.
|
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().
mask | The color buffer write mask. |
|
pure virtual |
Get the material's color buffer mask.
|
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.
mode | The depth buffer access mode. |
|
pure virtual |
Get the material's depth buffer access mode.
|
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().
mask | The depth buffer write mask. |
|
pure virtual |
Get the material's depth buffer mask.
|
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.
function | The depth test function. |
|
pure virtual |
Get the material's depth test function.
|
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.
mode | The stencil buffer access mode. |
|
pure virtual |
Get the material's stencil buffer access mode.
|
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().
mask | The stencil buffer write mask. |
|
pure virtual |
Get the material's stencil buffer mask.
|
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.
frontFunction | The stencil test function used for front-facing primitives. |
backFunction | The stencil test function used for back-facing primitives. |
|
pure virtual |
Set the material's stencil test function for front-facing primitives.
|
pure virtual |
Set the material's stencil test function for back-facing primitives.
|
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().
frontValue | The reference value used for comparing pixels of front-facing primitives. |
backValue | The reference value used for comparing pixels of back-facing primitives. |
|
pure virtual |
Get the material's stencil test reference value for testing front-facing primitives.
|
pure virtual |
Get the material's stencil test reference value for testing back-facing primitives.
|
pure virtual |
Set the material's stencil test masks.
See SetStencilTestReferenceValue().
frontMask | The comparison mask for front-facing primitives. |
backMask | The comparison mask for back-facing primitives. |
|
pure virtual |
Get the material's stencil test mask for front-facing primitives.
|
pure virtual |
Get the material's stencil test mask for back-facing primitives.
|
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.
frontAction | The action to perform for front-facing primitives. |
backAction | The action to perform for back-facing primitives. |
|
pure virtual |
Get the front-facing primitive stencil buffer action for failed stencil tests.
|
pure virtual |
Get the back-facing primitive stencil buffer action for failed stencil tests.
|
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).
frontAction | The action to perform for front-facing primitives. |
backAction | The action to perform for back-facing primitives. |
|
pure virtual |
Get the front-facing primitive stencil buffer action for failed depth tests.
|
pure virtual |
Get the back-facing primitive stencil buffer action for failed depth tests.
|
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.
frontAction | The action to perform for front-facing primitives. |
backAction | The action to perform for back-facing primitives. |
|
pure virtual |
Get the front-facing primitive stencil buffer action for passed depth tests.
|
pure virtual |
Get the back-facing primitive stencil buffer action for passed depth tests.
|
pure virtual |
Set the material's blend mode.
mode | The blend mode. |
|
pure virtual |
Get the material's blend mode.
|
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().
srcColorFunction | The combiner function for the source pixel's RGB values. |
srcAlphaFunction | The combiner function for the source pixel's alpha value. |
dstColorFunction | The combiner function for the destination pixel's RGB values. |
dstAlphaFunction | The combiner function for the destination pixel's alpha value. |
|
pure virtual |
Get the material's blending function used for the source pixels' RGB values.
|
pure virtual |
Get the material's blending function used for the source pixels' alpha value.
|
pure virtual |
Get the material's blending function used for the destination pixels' RGB values.
|
pure virtual |
Get the material's blending function used for the destination pixels' alpha value.
|
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().
colorEquation | The blending equation used to combine source and destination RGB values. |
alphaEquation | The blending equation used to combine source and destination alpha values. |
|
pure virtual |
Get the material's blending equation for RGB values.
|
pure virtual |
Get the material's blending equation for alpha values.
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().
enabled | Set to true to enable color buffer clearing. |
|
pure virtual |
Check if clearing of the render target's color buffer is enabled.
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().
enabled | Set to true to enable depth buffer clearing. |
|
pure virtual |
Check if clearing of the render target's depth buffer is enabled.
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().
enabled | Set to true to enable stencil buffer clearing. |
|
pure virtual |
Check if clearing of the render target's stencil buffer is enabled.
Set the clear color in effect when color buffer clearing is enabled.
value | The clear color. |
|
pure virtual |
Get the clear color in effect when color buffer clearing is enabled.
Set the clear value in effect when depth buffer clearing is enabled.
value | The clear value. |
|
pure virtual |
Get the clear value in effect when depth buffer clearing is enabled.
Set the clear value in effect when stencil buffer clearing is enabled.
value | The clear value. |
|
pure virtual |
Get the clear value in effect when stencil buffer clearing is enabled.
|
pure virtual |
Set the material's object sorting mode.
If not specified, the object sort mode is set to IEnums::OBJECT_SORT_MODE_BY_MATERIAL when the material writes to the depth buffer, and to IEnums::OBJECT_SORT_MODE_BY_DEPTH if depth writes are disabled. During rendering a layer, first all drawables are processed that do update the depth buffer (usually opaque geometry) without and depth sorting, and afterwards all other drawables are rendered back-to-front. The actual depth measure (either Z-distance or squared distance) for the latter case is defined per-camera via Graph::ICamera::SetDepthSortMode().
mode | The object sorting mode. |
|
pure virtual |
Get the material's object sorting mode.
Set the material's sorting order relative to other materials.
This is useful when doing multi-pass rendering using e.g. a Graph::MultiMaterial. Materials with higher values are rendered later.
order | The sorting order. |
|
pure virtual |
Get the material's sorting order relative to other materials.
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.
offset | The variable depth offset. |
|
pure virtual |
Get the variable offset for depth buffer value calculation.
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.
offset | The constant depth offset. |
|
pure virtual |
Get the constant offset for depth buffer value calculation.
Set the material's camera slot.
cameraSlot | The camera slot. |
Set the material's layer offset.
layerOffset | The layer offset. |
Set the material's parameters pass.
parametersStage | The parameters pass. |
|
pure virtual |
Set the material's texture pass for a given unit.
unit | The texture unit |
textureStage | The texture pass. |
Set the light stage unit used for multi-pass lighting.
unit | The light stage unit, or -1 to disable multi-pass lighting. |
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.
enabled | Set to true if the light should be masked. |
Set the material's minimum number of light stages.
minNumStages | The minimum number of light stages. |
Set the material's maximum number of light stages.
maxNumStages | The maximum number of light stages. |
|
pure virtual |
Get the material's number of detail levels.
Get the material's number of stages for a given detail level.
detailLevel | The detail level to query. |
|
pure virtual |
Get the material's camera slot for a given stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's layer offset for a given stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's parameter stage for a given material stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's texture stage for a given material stage and texture unit.
detailLevel | The detail level to query. |
stage | The stage to query. |
unit | The texture unit |
|
pure virtual |
Get the light stage unit used for multi-stage lighting for a given material stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Check if the light is masked for multi-pass lighting.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's minimum number of light stages for a given material stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's maximum number of light stages for a given material stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
|
pure virtual |
Get the material's minimum number of light stages for a given material stage.
detailLevel | The detail level to query. |
stage | The stage to query. |
numLights | The actual number of currently active lights. |
|
pure virtual |
Get the material's internal video renderer object for a given index.
detailLevel | The detail level to query. |
stage | The stage to query. |