7#ifndef PXR_IMAGING_HDX_OIT_RESOLVE_TASK_H
8#define PXR_IMAGING_HDX_OIT_RESOLVE_TASK_H
11#include "pxr/imaging/hdx/api.h"
12#include "pxr/imaging/hdx/version.h"
13#include "pxr/imaging/hd/task.h"
17PXR_NAMESPACE_OPEN_SCOPE
22using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
23using HdStRenderPassStateSharedPtr = std::shared_ptr<class HdStRenderPassState>;
25using HdSt_ImageShaderRenderPassSharedPtr =
26 std::shared_ptr<class HdSt_ImageShaderRenderPass>;
27using HdStRenderPassShaderSharedPtr =
28 std::shared_ptr<class HdStRenderPassShader>;
34 : useAovMultiSample(
true)
35 , resolveAovMultiSample(
true)
38 bool useAovMultiSample;
39 bool resolveAovMultiSample;
57 static bool IsOitEnabled();
69 HdDirtyBits* dirtyBits)
override;
82 void Execute(HdTaskContext* ctx)
override;
89 void _PrepareOitBuffers(
98 const HdRenderPassAovBindingVector& _GetAovBindings(
99 HdTaskContext* ctx)
const;
101 void _UpdateCameraFraming(
104 HdRenderPassStateSharedPtr _GetContextRenderPassState(
105 HdTaskContext* ctx)
const;
107 HdSt_ImageShaderRenderPassSharedPtr _renderPass;
108 HdStRenderPassStateSharedPtr _renderPassState;
109 HdStRenderPassShaderSharedPtr _renderPassShader;
112 HdBufferArrayRangeSharedPtr _counterBar;
113 HdBufferArrayRangeSharedPtr _dataBar;
114 HdBufferArrayRangeSharedPtr _depthBar;
115 HdBufferArrayRangeSharedPtr _indexBar;
116 HdBufferArrayRangeSharedPtr _uniformBar;
128PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 2 int components.
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Adapter class providing data exchange with the client scene graph.
HdTask represents a unit of work to perform during a Hydra render.
A task for resolving previous passes to pixels.
HDX_API void Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the resolve pass resources.
HDX_API void Prepare(HdTaskContext *ctx, HdRenderIndex *renderIndex) override
Prepare the tasks resources.
HDX_API void Execute(HdTaskContext *ctx) override
Execute render pass task.
A path value used to locate objects in layers or scenegraphs.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].