24 #ifndef HDST_RENDER_PASS_H
25 #define HDST_RENDER_PASS_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hdSt/commandBuffer.h"
30 #include "pxr/imaging/hd/renderPass.h"
32 #include <boost/shared_ptr.hpp>
33 #include <unordered_map>
35 PXR_NAMESPACE_OPEN_SCOPE
37 typedef boost::shared_ptr<class HdSt_RenderPass> HdSt_RenderPassSharedPtr;
50 virtual ~HdSt_RenderPass();
57 size_t GetDrawItemCount()
const;
63 virtual void _Execute(HdRenderPassStateSharedPtr
const &renderPassState,
73 void _Cull(HdStRenderPassStateSharedPtr
const &renderPasssState);
79 int _lastSettingsVersion;
80 bool _useTinyPrimCulling;
86 int _collectionVersion;
89 int _renderTagVersion;
97 bool _collectionChanged;
100 HdRenderIndex::HdDrawItemPtrVector _drawItems;
101 size_t _drawItemCount;
102 bool _drawItemsChanged;
107 PXR_NAMESPACE_CLOSE_SCOPE
109 #endif // HDST_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...
A buffer of commands (HdStDrawItem or HdComputeItem objects) to be executed.
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...
std::vector< TfToken > TfTokenVector
Convenience types.
A named, semantic collection of objects.
Hydra Graphics Interface.