24 #ifndef PXR_IMAGING_HD_ST_DRAW_TARGET_H
25 #define PXR_IMAGING_HD_ST_DRAW_TARGET_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hdSt/drawTargetRenderPassState.h"
30 #include "pxr/imaging/hd/rprimCollection.h"
31 #include "pxr/imaging/hd/sprim.h"
33 #include "pxr/usd/sdf/path.h"
38 PXR_NAMESPACE_OPEN_SCOPE
41 #define HDST_DRAW_TARGET_TOKENS \
54 using HdStDrawTargetPtrVector = std::vector<class HdStDrawTarget *>;
69 ~HdStDrawTarget()
override;
78 DirtyDTEnable = 1 << 0,
79 DirtyDTCamera = 1 << 1,
80 DirtyDTResolution = 1 << 2,
81 DirtyDTAovBindings = 1 << 4,
82 DirtyDTDepthPriority = 1 << 6,
83 DirtyDTCollection = 1 << 7,
84 AllDirty = (DirtyDTEnable
96 HdDirtyBits *dirtyBits)
override;
108 bool IsEnabled()
const {
return _enabled; }
111 return &_drawTargetRenderPassState;
121 HdStDrawTargetPtrVector *drawTargets);
139 HdStDrawTarget() =
delete;
140 HdStDrawTarget(
const HdStDrawTarget &) =
delete;
141 HdStDrawTarget &operator =(
const HdStDrawTarget &) =
delete;
145 PXR_NAMESPACE_CLOSE_SCOPE
147 #endif // PXR_IMAGING_HD_ST_DRAW_TARGET_H
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
HDST_API HdDirtyBits GetInitialDirtyBitsMask() const override
Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of thi...
Basic type for a vector of 2 int components.
const GfVec2i & GetResolution() const
Resolution.
DirtyBits
Dirty bits for the HdStDrawTarget object.
Hydra schema for a camera that pulls the params (see above) during Sync.
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Adapter class providing data exchange with the client scene graph.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
A named, semantic collection of objects.
A path value used to locate objects in layers or scenegraphs.
HDST_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
Synchronizes state from the delegate to this object.
Sprim (state prim) is a base class of managing state for non-drawable scene entity (e...
This file defines some macros that are useful for declaring and using static TfTokens.
Represents an render to texture render pass.
HDST_API HdRprimCollection const & GetCollection() const
Returns collection of rprims the draw target draws.
static HDST_API void GetDrawTargets(HdRenderIndex *renderIndex, HdStDrawTargetPtrVector *drawTargets)
returns all HdStDrawTargets in the render index
Represents common non-gl context specific render pass state for a draw target.