7#ifndef PXR_IMAGING_HD_ST_INSTANCER_H
8#define PXR_IMAGING_HD_ST_INSTANCER_H
11#include "pxr/imaging/hdSt/api.h"
12#include "pxr/imaging/hd/changeTracker.h"
13#include "pxr/imaging/hd/instancer.h"
14#include "pxr/usd/sdf/path.h"
16#include "pxr/base/tf/hashmap.h"
18PXR_NAMESPACE_OPEN_SCOPE
22struct HdRprimSharedData;
24using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
63 HdDirtyBits *dirtyBits)
override;
65 HdBufferArrayRangeSharedPtr GetInstancePrimvarRange()
const {
66 return _instancePrimvarRange;
76 void _GetInstanceIndices(
SdfPath const &prototypeId,
77 std::vector<VtIntArray> *instanceIndicesArray);
81 HdDirtyBits *dirtyBits);
87 size_t _instancePrimvarNumElements;
92 HdBufferArrayRangeSharedPtr _instancePrimvarRange;
99PXR_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.