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

#include <material.h>

+ Inheritance diagram for HdStMaterial:

Public Member Functions

 HF_MALLOC_TAG_NEW ("new HdStMaterial")
 
HDST_API HdStMaterial (SdfPath const &id)
 
virtual HDST_API ~HdStMaterial ()
 
virtual HDST_API void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
 Synchronizes state from the delegate to this object. More...
 
virtual HDST_API HdDirtyBits GetInitialDirtyBitsMask () const override
 
virtual HDST_API void Reload () override
 Causes the shader to be reloaded. More...
 
HDST_API HdStShaderCodeSharedPtr GetShaderCode () const
 Obtains the render delegate specific representation of the shader. More...
 
HdTextureResource::ID GetTextureResourceID (HdSceneDelegate *sceneDelegate, SdfPath const &textureId) 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 SetSurfaceShader (HdStSurfaceShaderSharedPtr &shaderCode)
 
- Public Member Functions inherited from HdMaterial
virtual HD_API ~HdMaterial ()
 
- Public Member Functions inherited from HdSprim
HD_API HdSprim (SdfPath const &id)
 
virtual HD_API ~HdSprim ()
 
SdfPath constGetId () const
 
virtual HD_API void Finalize (HdRenderParam *renderParam)
 

Additional Inherited Members

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

Detailed Description

Definition at line 55 of file material.h.

Constructor & Destructor Documentation

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

Member Function Documentation

virtual HDST_API HdDirtyBits HdStMaterial::GetInitialDirtyBitsMask ( ) const
overridevirtual

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.

const TfToken & HdStMaterial::GetMaterialTag ( ) const
inline

Definition at line 184 of file material.h.

HDST_API HdStShaderCodeSharedPtr HdStMaterial::GetShaderCode ( ) const

Obtains the render delegate specific representation of the shader.

HdTextureResource::ID HdStMaterial::GetTextureResourceID ( HdSceneDelegate sceneDelegate,
SdfPath const textureId 
) const
inline

Obtain the scene delegates's globally unique id for the texture resource identified by textureId.

Definition at line 163 of file material.h.

bool HdStMaterial::HasDisplacement ( ) const
inline

Definition at line 179 of file material.h.

bool HdStMaterial::HasLimitSurfaceEvaluation ( ) const
inline

Returns true if the material specifies limit surface evaluation.

Definition at line 174 of file material.h.

bool HdStMaterial::HasPtex ( ) const
inline

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 169 of file material.h.

HdStMaterial::HF_MALLOC_TAG_NEW ( "new HdStMaterial )
virtual HDST_API void HdStMaterial::Reload ( )
overridevirtual

Causes the shader to be reloaded.

Implements HdMaterial.

HDST_API void HdStMaterial::SetSurfaceShader ( HdStSurfaceShaderSharedPtr 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.

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

Synchronizes state from the delegate to this object.

Implements HdSprim.


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