7#ifndef PXR_IMAGING_HD_RENDER_PASS_H
8#define PXR_IMAGING_HD_RENDER_PASS_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/version.h"
13#include "pxr/imaging/hd/rprimCollection.h"
14#include "pxr/imaging/hd/task.h"
18PXR_NAMESPACE_OPEN_SCOPE
23using HdRenderPassSharedPtr = std::shared_ptr<class HdRenderPass>;
24using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
85 void Execute(HdRenderPassStateSharedPtr
const &renderPassState,
92 virtual bool IsConverged()
const {
return true; }
97 virtual void _Execute(HdRenderPassStateSharedPtr
const &renderPassState,
125PXR_NAMESPACE_CLOSE_SCOPE
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
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...
virtual void _Sync()
Optional API: let derived classes sync data.
HdRprimCollection const & GetRprimCollection() const
Returns the HdRprimCollection to be drawn by this RenderPass.
HD_API void Execute(HdRenderPassStateSharedPtr const &renderPassState, TfTokenVector const &renderTags)
Execute a subset of buckets of this renderpass.
HdRenderIndex * GetRenderIndex() const
Return the render index.
HD_API void SetRprimCollection(HdRprimCollection const &col)
Sets the HdRprimCollection, note that this may invalidate internal caches used to accelerate drawing.
virtual void _MarkCollectionDirty()
Optional API: let derived classes mark their collection tracking as dirty.
HD_API void Sync()
Sync the render pass resources.
A named, semantic collection of objects.
Adapter class providing data exchange with the client scene graph.
std::vector< TfToken > TfTokenVector
Convenience types.