RenderManAPI  24.0
Material Class Referenceabstract

Scene graph material description. More...

#include <RixSceneGraph.h>

Public Member Functions

virtual RtUString GetIdentifier () const =0
 Get material identifier. More...
 
virtual Error SetIdentifier (RtUString identifier)=0
 Set material identifier. More...
 
virtual Error SetBxdf (unsigned num, Shader const *nodes)=0
 Set bxdf shading graph. More...
 
virtual Error SetLight (unsigned num, Shader const *nodes)=0
 Set geometry light shading graph. More...
 
virtual Error SetLightFilter (unsigned num, Shader const *nodes)=0
 Set geometric light filter shading graph. More...
 
virtual Error SetDisplace (unsigned num, Shader const *nodes)=0
 Set displace shading graph. More...
 
 Material ()=default
 
virtual ~Material ()=default
 

Detailed Description

Scene graph material description.

Materials are containers for bxdf, diplacement, and light and light filter shading graphs. Materials can be assigned to scene graph DAG locations.

Constructor & Destructor Documentation

◆ Material()

Material::Material ( )
inlinedefault

◆ ~Material()

virtual Material::~Material ( )
virtualdefault

Member Function Documentation

◆ GetIdentifier()

virtual RtUString Material::GetIdentifier ( ) const
pure virtual

Get material identifier.

Material identifiers are used to uniquely identifiy materials. If specified, these identifiers can be used for late binding of materials from inside a procedural.

See also
Material::SetIdentifier
Returns
The material identifier

◆ SetBxdf()

virtual Error Material::SetBxdf ( unsigned  num,
Shader const *  nodes 
)
pure virtual

Set bxdf shading graph.

The bxdf describes surface properties such as light scattering and appearance. Bxdf shading graphs may contain ShaderType::k_Bxdf and ShaderType::k_Pattern nodes with a terminal of ShaderType::k_Bxdf. The default bxdf is "PxrDiffuse".

Parameters
[in]numThe number of nodes in the shading graph
[in]nodesThe bxdf shading graph nodes
Returns
Error code

◆ SetDisplace()

virtual Error Material::SetDisplace ( unsigned  num,
Shader const *  nodes 
)
pure virtual

Set displace shading graph.

Dispalcement modifies geometry before the lighting stage. Displacement shading graphs may contain ShaderType::k_Displacement and ShaderType::k_Pattern nodes with a terminal of ShaderType::k_Displacement. There is no default displacement.

Parameters
[in]numThe number of nodes in the shading graph
[in]nodesThe displacement shading graph nodes
Returns
Error code

◆ SetIdentifier()

virtual Error Material::SetIdentifier ( RtUString  identifier)
pure virtual

Set material identifier.

Material identifiers are used to uniquely identifiy materials. If specified, these identifiers can be used for late binding of materials from inside a procedural.

See also
Material::GetIdentifier
Parameters
[in]identifierThe material identifier
Returns
Error code

◆ SetLight()

virtual Error Material::SetLight ( unsigned  num,
Shader const *  nodes 
)
pure virtual

Set geometry light shading graph.

The light describes light emission for geometric lights. Geometric light shading graphs may contain ShaderType::k_Light and ShaderType::k_Pattern nodes with a terminal ShaderType::k_Light of PxrMeshLight. There is no default geometric light.

See also
Material::SetLightFilter
Parameters
[in]numThe number of nodes in the shading graph
[in]nodesThe geometric light shading graph nodes
Returns
Error code

◆ SetLightFilter()

virtual Error Material::SetLightFilter ( unsigned  num,
Shader const *  nodes 
)
pure virtual

Set geometric light filter shading graph.

Light filters modify light emission for geometric lights. Geometric light filter shading graphs may contain ShaderType::k_LightFilter and ShaderType::k_Pattern nodes. There is no default geometric light filter.

See also
Material::SetLight
Parameters
[in]numThe number of nodes in the shading graph
[in]nodesThe geometric light filter shading graph nodes
Returns
Error code

The documentation for this class was generated from the following file: