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"
35PXR_NAMESPACE_OPEN_SCOPE
39struct HdRprimSharedData;
41using 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;
113PXR_NAMESPACE_CLOSE_SCOPE
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 ...
The render engine state for a given rprim from the scene graph.
Adapter class providing data exchange with the client scene graph.
HdSt implements instancing by drawing each proto multiple times with a single draw call.
HDST_API VtIntArray GetInstanceIndices(SdfPath const &prototypeId)
Populates the instance index indirection buffer for prototypeId and returns a flat array of instance ...
HDST_API HdStInstancer(HdSceneDelegate *delegate, SdfPath const &id)
Constructor.
A path value used to locate objects in layers or scenegraphs.