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

#include <material.h>

+ Inheritance diagram for HdStMaterial:

Classes

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
 
HDST_API
HdSt_MaterialNetworkShaderSharedPtr 
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 const & GetId () 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 ( )
override

Member Function Documentation

HDST_API void HdStMaterial::Finalize ( HdRenderParam renderParam)
overridevirtual

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
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.

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
inline

Definition at line 161 of file material.h.

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

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

Definition at line 167 of file material.h.

bool HdStMaterial::HasDisplacement ( ) const
inline

Definition at line 156 of file material.h.

bool HdStMaterial::HasLimitSurfaceEvaluation ( ) const
inline

Returns true if the material specifies limit surface evaluation.

Definition at line 151 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 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 
)
overridevirtual

Synchronizes state from the delegate to this object.

Implements HdSprim.


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