24 #ifndef PXR_IMAGING_HD_ST_DRAW_ITEM_H 25 #define PXR_IMAGING_HD_ST_DRAW_ITEM_H 28 #include "pxr/imaging/hdSt/api.h" 29 #include "pxr/imaging/hd/drawItem.h" 31 PXR_NAMESPACE_OPEN_SCOPE
33 using HdSt_GeometricShaderSharedPtr =
34 std::shared_ptr<class HdSt_GeometricShader>;
35 using HdSt_MaterialNetworkShaderSharedPtr =
36 std::shared_ptr<class HdSt_MaterialNetworkShader>;
41 HF_MALLOC_TAG_NEW(
"new HdStDrawItem");
44 HdStDrawItem(HdRprimSharedData
const *sharedData);
47 ~HdStDrawItem()
override;
49 void SetGeometricShader(HdSt_GeometricShaderSharedPtr
const &shader) {
50 _geometricShader = shader;
53 HdSt_GeometricShaderSharedPtr
const &GetGeometricShader()
const {
54 return _geometricShader;
57 HdSt_MaterialNetworkShaderSharedPtr
const &
58 GetMaterialNetworkShader()
const {
59 return _materialNetworkShader;
62 void SetMaterialNetworkShader(
63 HdSt_MaterialNetworkShaderSharedPtr
const &shader) {
64 _materialNetworkShader = shader;
67 bool GetMaterialIsFinal()
const {
68 return _materialIsFinal;
71 void SetMaterialIsFinal(
bool isFinal) {
72 _materialIsFinal = isFinal;
80 HdSt_GeometricShaderSharedPtr _geometricShader;
81 HdSt_MaterialNetworkShaderSharedPtr _materialNetworkShader;
82 bool _materialIsFinal;
86 PXR_NAMESPACE_CLOSE_SCOPE
88 #endif //PXR_IMAGING_HD_ST_DRAW_ITEM_H virtual HD_API size_t _GetElementOffsetsHash() const
Allows derived classes to return a hash of the element offsets of the underlying BARs they manage.
virtual HD_API size_t _GetBufferArraysHash() const
Allows derived classes to return a hash of the versions of buffers they manage.
A draw item is a light-weight representation of an HdRprim's resources and material to be used for re...