24 #ifndef PXR_IMAGING_HD_ST_INSTANCER_H 25 #define PXR_IMAGING_HD_ST_INSTANCER_H 28 #include "pxr/imaging/hdSt/api.h" 29 #include "pxr/imaging/hd/changeTracker.h" 30 #include "pxr/imaging/hd/instancer.h" 31 #include "pxr/usd/sdf/path.h" 33 #include "pxr/base/tf/hashmap.h" 35 PXR_NAMESPACE_OPEN_SCOPE
39 struct HdRprimSharedData;
41 using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
80 HdDirtyBits *dirtyBits)
override;
82 HdBufferArrayRangeSharedPtr GetInstancePrimvarRange()
const {
83 return _instancePrimvarRange;
93 void _GetInstanceIndices(
SdfPath const &prototypeId,
94 std::vector<VtIntArray> *instanceIndicesArray);
98 HdDirtyBits *dirtyBits);
104 size_t _instancePrimvarNumElements;
109 HdBufferArrayRangeSharedPtr _instancePrimvarRange;
113 PXR_NAMESPACE_CLOSE_SCOPE
115 #endif // PXR_IMAGING_HD_ST_INSTANCER_H This class exists to facilitate point cloud style instancing.
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
HDST_API VtIntArray GetInstanceIndices(SdfPath const &prototypeId)
Populates the instance index indirection buffer for prototypeId and returns a flat array of instance ...
The render engine state for a given rprim from the scene graph.
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
HdSt implements instancing by drawing each proto multiple times with a single draw call.
HDST_API HdStInstancer(HdSceneDelegate *delegate, SdfPath const &id)
Constructor.