24 #ifndef PXR_IMAGING_HD_ST_MATERIAL_H
25 #define PXR_IMAGING_HD_ST_MATERIAL_H
39 std::shared_ptr<class HdSt_MaterialNetworkShader>;
116 void _ProcessTextureDescriptors(
119 std::weak_ptr<HdStShaderCode>
const &shaderCode,
126 _GetHasLimitSurfaceEvaluation(
VtDictionary const & metadata)
const;
128 void _InitFallbackShader();
135 bool _isInitialized : 1;
137 bool _hasLimitSurfaceEvaluation : 1;
138 bool _hasDisplacement : 1;
153 return _hasLimitSurfaceEvaluation;
158 return _hasDisplacement;
168 return _volumeMaterialData;
174 #endif // PXR_IMAGING_HD_ST_MATERIAL_H
GLsizei const GLchar *const * string
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