7#ifndef PXR_IMAGING_HDX_RENDER_SETUP_TASK_H
8#define PXR_IMAGING_HDX_RENDER_SETUP_TASK_H
11#include "pxr/imaging/hdx/api.h"
12#include "pxr/imaging/hdx/version.h"
13#include "pxr/imaging/hd/task.h"
14#include "pxr/imaging/hd/tokens.h"
15#include "pxr/imaging/hd/enums.h"
16#include "pxr/imaging/hd/renderPassState.h"
18#include "pxr/imaging/cameraUtil/framing.h"
27PXR_NAMESPACE_OPEN_SCOPE
29using HdxRenderSetupTaskSharedPtr =
30 std::shared_ptr<class HdxRenderSetupTask>;
31using HdStRenderPassShaderSharedPtr =
32 std::shared_ptr<class HdStRenderPassShader>;
33using HdStShaderCodeSharedPtr = std::shared_ptr<class HdStShaderCode>;
35using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
71 HdRenderPassStateSharedPtr
const &GetRenderPassState()
const {
72 return _renderPassState;
79 HdDirtyBits* dirtyBits)
override;
88 void Execute(HdTaskContext* ctx)
override;
91 HdRenderPassStateSharedPtr _renderPassState;
92 HdStRenderPassShaderSharedPtr _colorRenderPassShader;
95 std::optional<CameraUtilConformWindowPolicy> _overrideWindowPolicy;
99 HdRenderPassAovBindingVector _aovBindings;
100 HdRenderPassAovBindingVector _aovInputBindings;
102 void _SetRenderpassShadersForStorm(
104 HdResourceRegistrySharedPtr
const &resourceRegistry);
106 HdRenderPassStateSharedPtr &_GetRenderPassState(
HdRenderIndex* renderIndex);
108 void _PrepareAovBindings(HdTaskContext* ctx,
HdRenderIndex* renderIndex);
125 , wireframeColor(0.0)
128 , enableLighting(
false)
129 , alphaThreshold(0.0)
130 , enableSceneLights(
true)
131 , enableClipping(
true)
133 , maskColor(1.0f, 0.0f, 0.0f, 1.0f)
134 , indicatorColor(0.0f, 1.0f, 0.0f, 1.0f)
135 , pointSelectedSize(3.0)
137 , depthBiasUseDefault(
true)
138 , depthBiasEnable(
false)
139 , depthBiasConstantFactor(0.0f)
140 , depthBiasSlopeFactor(1.0f)
141 , depthFunc(HdCmpFuncLEqual)
142 , depthMaskEnable(
true)
143 , stencilFunc(HdCmpFuncAlways)
146 , stencilFailOp(HdStencilOpKeep)
147 , stencilZFailOp(HdStencilOpKeep)
148 , stencilZPassOp(HdStencilOpKeep)
149 , stencilEnable(
false)
150 , blendColorOp(HdBlendOpAdd)
151 , blendColorSrcFactor(HdBlendFactorOne)
152 , blendColorDstFactor(HdBlendFactorZero)
153 , blendAlphaOp(HdBlendOpAdd)
154 , blendAlphaSrcFactor(HdBlendFactorOne)
155 , blendAlphaDstFactor(HdBlendFactorZero)
156 , blendConstantColor(0.0f, 0.0f, 0.0f, 0.0f)
158 , enableAlphaToCoverage(
true)
159 , useAovMultiSample(
true)
160 , resolveAovMultiSample(
true)
163 , cullStyle(HdCullStyleBackUnlessDoubleSided)
177 float alphaThreshold;
178 bool enableSceneLights;
184 float pointSelectedSize;
189 HdRenderPassAovBindingVector aovBindings;
190 HdRenderPassAovBindingVector aovInputBindings;
196 bool depthBiasUseDefault;
197 bool depthBiasEnable;
198 float depthBiasConstantFactor;
199 float depthBiasSlopeFactor;
201 HdCompareFunction depthFunc;
202 bool depthMaskEnable;
205 HdCompareFunction stencilFunc;
208 HdStencilOp stencilFailOp;
209 HdStencilOp stencilZFailOp;
210 HdStencilOp stencilZPassOp;
214 HdBlendOp blendColorOp;
215 HdBlendFactor blendColorSrcFactor;
216 HdBlendFactor blendColorDstFactor;
217 HdBlendOp blendAlphaOp;
218 HdBlendFactor blendAlphaSrcFactor;
219 HdBlendFactor blendAlphaDstFactor;
224 bool enableAlphaToCoverage;
228 bool useAovMultiSample;
232 bool resolveAovMultiSample;
241 HdCullStyle cullStyle;
242 std::optional<CameraUtilConformWindowPolicy> overrideWindowPolicy;
254PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 4 double components.
Basic type for a vector of 4 float 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.
A set of rendering parameters used among render passes.
HdTask represents a unit of work to perform during a Hydra render.
A task for setting up render pass state (camera, renderpass shader, GL states).
HDX_API void Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the render 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].
RenderTask parameters (renderpass state).