RenderMan API  23.0
RixSGMaterial Class Referenceabstract

#include <RixSceneGraph.h>

Public Member Functions

virtual RtUString GetIdentifier () const =0
 
virtual RixSGError SetIdentifier (RtUString identifier)=0
 
virtual RixSGError SetBxdf (unsigned num, RixSGShader const *nodes)=0
 
virtual RixSGError SetLight (unsigned num, RixSGShader const *nodes)=0
 
virtual RixSGError SetLightFilter (unsigned num, RixSGShader const *nodes)=0
 
virtual RixSGError SetDisplace (unsigned num, RixSGShader const *nodes)=0
 
 RixSGMaterial ()=default
 
virtual ~RixSGMaterial ()=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.

Definition at line 193 of file RixSceneGraph.h.

Constructor & Destructor Documentation

◆ RixSGMaterial()

RixSGMaterial::RixSGMaterial ( )
inlinedefault

◆ ~RixSGMaterial()

virtual RixSGMaterial::~RixSGMaterial ( )
virtualdefault

Member Function Documentation

◆ GetIdentifier()

virtual RtUString RixSGMaterial::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
RixSGMaterial::SetIdentifier
Returns
The material identifier

◆ SetBxdf()

virtual RixSGError RixSGMaterial::SetBxdf ( unsigned  num,
RixSGShader const *  nodes 
)
pure virtual

Set bxdf shading graph

The bxdf describes surface properties such as light scattering and appearance. Bxdf shading graphs may contain RixSGShaderType::k_Bxdf and RixSGShaderType::k_Pattern nodes with a terminal of RixSGShaderType::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 RixSGError RixSGMaterial::SetDisplace ( unsigned  num,
RixSGShader const *  nodes 
)
pure virtual

Set displace shading graph

Dispalcement modifies geometry before the lighting stage. Displacement shading graphs may contain RixSGShaderType::k_Displacement and RixSGShaderType::k_Pattern nodes with a terminal of RixSGShaderType::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 RixSGError RixSGMaterial::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
RixSGMaterial::GetIdentifier
Parameters
[in]identifierThe material identifier
Returns
Error code

◆ SetLight()

virtual RixSGError RixSGMaterial::SetLight ( unsigned  num,
RixSGShader const *  nodes 
)
pure virtual

Set geometry light shading graph

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

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

◆ SetLightFilter()

virtual RixSGError RixSGMaterial::SetLightFilter ( unsigned  num,
RixSGShader 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 RixSGShaderType::k_LightFilter and RixSGShaderType::k_Pattern nodes. There is no default geometric light filter.

See also
RixSGMaterial::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: