24 #ifndef PXR_IMAGING_HD_ST_MATERIAL_H
25 #define PXR_IMAGING_HD_ST_MATERIAL_H
98 void _ProcessTextureDescriptors(
101 std::weak_ptr<HdStShaderCode>
const &shaderCode,
108 _GetHasLimitSurfaceEvaluation(
VtDictionary const & metadata)
const;
110 void _InitFallbackShader();
116 bool _isInitialized : 1;
118 bool _hasLimitSurfaceEvaluation : 1;
119 bool _hasDisplacement : 1;
134 return _hasLimitSurfaceEvaluation;
139 return _hasDisplacement;
149 #endif // PXR_IMAGING_HD_ST_MATERIAL_H
HDST_API HdStMaterial(SdfPath const &id)
std::vector< HdBufferSourceSharedPtr > HdBufferSourceSharedPtrVector
bool HasDisplacement() const
HF_MALLOC_TAG_NEW("new HdStMaterial")
HDST_API HdDirtyBits GetInitialDirtyBitsMask() const override
const TfToken & GetMaterialTag() const
HDST_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
Synchronizes state from the delegate to this object.
HDST_API void SetSurfaceShader(HdStSurfaceShaderSharedPtr &shaderCode)
std::shared_ptr< class HdStSurfaceShader > HdStSurfaceShaderSharedPtr
std::vector< struct HdBufferSpec > HdBufferSpecVector
bool HasLimitSurfaceEvaluation() const
Returns true if the material specifies limit surface evaluation.
HDST_API HdStShaderCodeSharedPtr GetShaderCode() const
Obtains the render delegate specific representation of the shader.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::vector< NamedTextureHandle > NamedTextureHandleVector
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API ~HdStMaterial() override
std::shared_ptr< class HdStResourceRegistry > HdStResourceRegistrySharedPtr
std::vector< TextureDescriptor > TextureDescriptorVector
std::shared_ptr< class HdStShaderCode > HdStShaderCodeSharedPtr
HDST_API void Finalize(HdRenderParam *renderParam) override