24 #ifndef PXR_IMAGING_HD_RENDER_PASS_H
25 #define PXR_IMAGING_HD_RENDER_PASS_H
28 #include "pxr/imaging/hd/api.h"
29 #include "pxr/imaging/hd/version.h"
30 #include "pxr/imaging/hd/changeTracker.h"
31 #include "pxr/imaging/hd/rprimCollection.h"
32 #include "pxr/imaging/hd/task.h"
36 PXR_NAMESPACE_OPEN_SCOPE
41 using HdDirtyListSharedPtr = std::shared_ptr<class HdDirtyList>;
42 using HdRenderPassSharedPtr = std::shared_ptr<class HdRenderPass>;
43 using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
77 virtual ~HdRenderPass();
118 void Execute(HdRenderPassStateSharedPtr
const &renderPassState,
125 virtual bool IsConverged()
const {
return true; }
130 virtual void _Execute(HdRenderPassStateSharedPtr
const &renderPassState,
145 HdRenderPass(
const HdRenderPass &) =
delete;
146 HdRenderPass &operator=(
const HdRenderPass &) =
delete;
156 HdDirtyListSharedPtr _dirtyList;
164 PXR_NAMESPACE_CLOSE_SCOPE
166 #endif //PXR_IMAGING_HD_RENDER_PASS_H
virtual void _MarkCollectionDirty()
Optional API: let derived classes mark their collection tracking as dirty.
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
HD_API void Execute(HdRenderPassStateSharedPtr const &renderPassState, TfTokenVector const &renderTags)
Execute a subset of buckets of this renderpass.
HdDirtyListSharedPtr const & GetDirtyList() const
Returns the dirty list (maintained in the change tracker) for efficient traversal.
HdRprimCollection const & GetRprimCollection() const
Returns the HdRprimCollection to be drawn by this RenderPass.
HD_API void SetRprimCollection(HdRprimCollection const &col)
Sets the HdRprimCollection, note that this may invalidate internal caches used to accelerate drawing...
virtual void _Prepare(TfTokenVector const &renderTags)
Optional API: let derived classes prepare data.
An abstract class representing a single render iteration over a set of prims (the HdRprimCollection)...
virtual void _Execute(HdRenderPassStateSharedPtr const &renderPassState, TfTokenVector const &renderTags)=0
Virtual API: Execute the buckets corresponding to renderTags; renderTags.empty() implies execute ever...
Adapter class providing data exchange with the client scene graph.
std::vector< TfToken > TfTokenVector
Convenience types.
HdRenderIndex * GetRenderIndex() const
Return the render index.
A named, semantic collection of objects.
virtual void _Sync()
Optional API: let derived classes sync data.
HD_API void Sync()
Sync the render pass resources.
HD_API void Prepare(TfTokenVector const &renderTags)
Prepare renderpass data.