All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStMaterial Class Referencefinal

#include <material.h>

+ Inheritance diagram for HdStMaterial:


struct  VolumeMaterialData

Public Member Functions

 HF_MALLOC_TAG_NEW ("new HdStMaterial")
HDST_API HdStMaterial (SdfPath const &id)
HDST_API ~HdStMaterial () override
HDST_API void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
 Synchronizes state from the delegate to this object. More...
HDST_API void Finalize (HdRenderParam *renderParam) override
HDST_API HdDirtyBits GetInitialDirtyBitsMask () const override
GetMaterialNetworkShader () const
const VolumeMaterialDataGetVolumeMaterialData () const
bool HasPtex () const
bool HasLimitSurfaceEvaluation () const
 Returns true if the material specifies limit surface evaluation. More...
bool HasDisplacement () const
const TfTokenGetMaterialTag () const
HDST_API void SetMaterialNetworkShader (HdSt_MaterialNetworkShaderSharedPtr &shaderCode)
- Public Member Functions inherited from HdMaterial
HD_API ~HdMaterial () override
- Public Member Functions inherited from HdSprim
HD_API HdSprim (SdfPath const &id)
virtual HD_API ~HdSprim ()
SdfPath constGetId () const

Additional Inherited Members

- Public Types inherited from HdMaterial
enum  DirtyBits : HdDirtyBits { Clean = 0, DirtyParams = 1 << 2, DirtyResource = 1 << 3, AllDirty = (DirtyParams | DirtyResource) }
- Protected Member Functions inherited from HdMaterial
HD_API HdMaterial (SdfPath const &id)

Detailed Description

Definition at line 43 of file material.h.

Constructor & Destructor Documentation

HDST_API HdStMaterial::HdStMaterial ( SdfPath const id)
HDST_API HdStMaterial::~HdStMaterial ( )

Member Function Documentation

HDST_API void HdStMaterial::Finalize ( HdRenderParam renderParam)

Finalizes object resources. This function might not delete resources, but it should deal with resource ownership so that the sprim is deletable.

Reimplemented from HdSprim.

HDST_API HdDirtyBits HdStMaterial::GetInitialDirtyBitsMask ( ) const

Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim. Typically this would be all dirty bits.

Implements HdSprim.

HDST_API HdSt_MaterialNetworkShaderSharedPtr HdStMaterial::GetMaterialNetworkShader ( ) const

Obtains the GLSLFX code together with supporting information such as material params and textures to render surfaces.

const TfToken & HdStMaterial::GetMaterialTag ( ) const

Definition at line 161 of file material.h.

const HdStMaterial::VolumeMaterialData & HdStMaterial::GetVolumeMaterialData ( ) const

Obtains the GLSLFLX code together with material params to render volumes.

Definition at line 167 of file material.h.

bool HdStMaterial::HasDisplacement ( ) const

Definition at line 156 of file material.h.

bool HdStMaterial::HasLimitSurfaceEvaluation ( ) const

Returns true if the material specifies limit surface evaluation.

Definition at line 151 of file material.h.

bool HdStMaterial::HasPtex ( ) const

Summary flag. Returns true if the material is bound to one or more textures and any of those textures is a ptex texture. If no textures are bound or all textures are uv textures, then the method returns false.

Definition at line 146 of file material.h.

HdStMaterial::HF_MALLOC_TAG_NEW ( "new HdStMaterial )
HDST_API void HdStMaterial::SetMaterialNetworkShader ( HdSt_MaterialNetworkShaderSharedPtr shaderCode)

Replaces the shader code object with an externally created one Used to set the fallback shader for prim. This class takes ownership of the passed in object.

HDST_API void HdStMaterial::Sync ( HdSceneDelegate sceneDelegate,
HdRenderParam renderParam,
HdDirtyBits dirtyBits 

Synchronizes state from the delegate to this object.

Implements HdSprim.

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