7 #ifndef PXR_IMAGING_HD_ST_MATERIAL_H
8 #define PXR_IMAGING_HD_ST_MATERIAL_H
22 std::shared_ptr<class HdSt_MaterialNetworkShader>;
99 void _ProcessTextureDescriptors(
102 std::weak_ptr<HdStShaderCode>
const &shaderCode,
109 _GetHasLimitSurfaceEvaluation(
VtDictionary const & metadata)
const;
111 void _InitFallbackShader();
118 bool _isInitialized : 1;
120 bool _hasLimitSurfaceEvaluation : 1;
121 bool _hasDisplacement : 1;
136 return _hasLimitSurfaceEvaluation;
141 return _hasDisplacement;
151 return _volumeMaterialData;
157 #endif // PXR_IMAGING_HD_ST_MATERIAL_H
std::shared_ptr< class HdSt_MaterialNetworkShader > HdSt_MaterialNetworkShaderSharedPtr
HDST_API HdStMaterial(SdfPath const &id)
HdSt_MaterialParamVector params
std::vector< HdBufferSourceSharedPtr > HdBufferSourceSharedPtrVector
bool HasDisplacement() const
HF_MALLOC_TAG_NEW("new HdStMaterial")
HDST_API HdDirtyBits GetInitialDirtyBitsMask() const override
const VolumeMaterialData & GetVolumeMaterialData() const
const TfToken & GetMaterialTag() const
HDST_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
Synchronizes state from the delegate to this object.
std::vector< struct HdBufferSpec > HdBufferSpecVector
bool HasLimitSurfaceEvaluation() const
Returns true if the material specifies limit surface evaluation.
std::string source
glslfx source code for volume
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::vector< NamedTextureHandle > NamedTextureHandleVector
HDST_API void SetMaterialNetworkShader(HdSt_MaterialNetworkShaderSharedPtr &shaderCode)
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API HdSt_MaterialNetworkShaderSharedPtr GetMaterialNetworkShader() const
HDST_API ~HdStMaterial() override
std::shared_ptr< class HdStResourceRegistry > HdStResourceRegistrySharedPtr
std::vector< TextureDescriptor > TextureDescriptorVector
HDST_API void Finalize(HdRenderParam *renderParam) override
std::vector< class HdSt_MaterialParam > HdSt_MaterialParamVector