24 #ifndef PXR_IMAGING_HD_ST_IMAGE_SHADER_RENDER_PASS_H
25 #define PXR_IMAGING_HD_ST_IMAGE_SHADER_RENDER_PASS_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hdSt/drawItemInstance.h"
30 #include "pxr/imaging/hd/renderPass.h"
34 PXR_NAMESPACE_OPEN_SCOPE
36 using HdStResourceRegistrySharedPtr =
37 std::shared_ptr<class HdStResourceRegistry>;
39 using HdSt_ImageShaderRenderPassSharedPtr =
40 std::shared_ptr<class HdSt_ImageShaderRenderPass>;
41 using HdStResourceRegistrySharedPtr =
42 std::shared_ptr<class HdStResourceRegistry>;
54 class HdSt_ImageShaderRenderPass final :
public HdRenderPass {
61 virtual ~HdSt_ImageShaderRenderPass();
66 virtual void _Execute(HdRenderPassStateSharedPtr
const &renderPassState,
73 void _SetupVertexPrimvarBAR(HdStResourceRegistrySharedPtr
const&);
76 HdRprimSharedData _sharedData;
77 HdStDrawItem _drawItem;
79 HdSt_DrawBatchSharedPtr _immediateBatch;
83 PXR_NAMESPACE_CLOSE_SCOPE
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 container to store instance state for a drawitem.
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.