![]() |
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 |