![]() |
RenderMan
26.0
|
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 |
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.
|
inlinedefault |
|
virtualdefault |
|
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.
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".
[in] | num | The number of nodes in the shading graph |
[in] | nodes | The bxdf shading graph nodes |
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.
[in] | num | The number of nodes in the shading graph |
[in] | nodes | The displacement shading graph nodes |
|
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.
[in] | identifier | The material identifier |
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.
[in] | num | The number of nodes in the shading graph |
[in] | nodes | The geometric light shading graph nodes |
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.
[in] | num | The number of nodes in the shading graph |
[in] | nodes | The geometric light filter shading graph nodes |