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 _jointBar;
115 HdBufferArrayRangeSharedPtr _uniformBar;
127PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 2 int components.
The render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
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.