24 #ifndef PXR_IMAGING_HDX_RENDER_SETUP_TASK_H 25 #define PXR_IMAGING_HDX_RENDER_SETUP_TASK_H 28 #include "pxr/imaging/hdx/api.h" 29 #include "pxr/imaging/hdx/version.h" 30 #include "pxr/imaging/hd/task.h" 31 #include "pxr/imaging/hd/tokens.h" 32 #include "pxr/imaging/hd/enums.h" 33 #include "pxr/imaging/hd/renderPassState.h" 35 #include "pxr/imaging/cameraUtil/framing.h" 43 PXR_NAMESPACE_OPEN_SCOPE
45 using HdxRenderSetupTaskSharedPtr =
46 std::shared_ptr<class HdxRenderSetupTask>;
47 using HdStRenderPassShaderSharedPtr =
48 std::shared_ptr<class HdStRenderPassShader>;
49 using HdStShaderCodeSharedPtr = std::shared_ptr<class HdStShaderCode>;
51 using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
85 HdRenderPassStateSharedPtr
const &GetRenderPassState()
const {
86 return _renderPassState;
93 HdDirtyBits* dirtyBits)
override;
97 void Prepare(HdTaskContext* ctx,
102 void Execute(HdTaskContext* ctx)
override;
105 HdRenderPassStateSharedPtr _renderPassState;
106 HdStRenderPassShaderSharedPtr _colorRenderPassShader;
107 HdStRenderPassShaderSharedPtr _idRenderPassShader;
110 std::pair<bool, CameraUtilConformWindowPolicy> _overrideWindowPolicy;
114 HdRenderPassAovBindingVector _aovBindings;
115 HdRenderPassAovBindingVector _aovInputBindings;
117 void _SetRenderpassShadersForStorm(
121 HdRenderPassStateSharedPtr &_GetRenderPassState(
HdRenderIndex* renderIndex);
123 void _PrepareAovBindings(HdTaskContext* ctx,
HdRenderIndex* renderIndex);
140 , wireframeColor(0.0)
143 , enableLighting(
false)
144 , enableIdRender(
false)
145 , alphaThreshold(0.0)
146 , enableSceneMaterials(
true)
147 , enableSceneLights(
true)
148 , enableClipping(
true)
150 , maskColor(1.0f, 0.0f, 0.0f, 1.0f)
151 , indicatorColor(0.0f, 1.0f, 0.0f, 1.0f)
152 , pointSelectedSize(3.0)
154 , depthBiasUseDefault(
true)
155 , depthBiasEnable(
false)
156 , depthBiasConstantFactor(0.0f)
157 , depthBiasSlopeFactor(1.0f)
158 , depthFunc(HdCmpFuncLEqual)
159 , depthMaskEnable(
true)
160 , stencilFunc(HdCmpFuncAlways)
163 , stencilFailOp(HdStencilOpKeep)
164 , stencilZFailOp(HdStencilOpKeep)
165 , stencilZPassOp(HdStencilOpKeep)
166 , stencilEnable(
false)
167 , blendColorOp(HdBlendOpAdd)
168 , blendColorSrcFactor(HdBlendFactorOne)
169 , blendColorDstFactor(HdBlendFactorZero)
170 , blendAlphaOp(HdBlendOpAdd)
171 , blendAlphaSrcFactor(HdBlendFactorOne)
172 , blendAlphaDstFactor(HdBlendFactorZero)
173 , blendConstantColor(0.0f, 0.0f, 0.0f, 0.0f)
175 , enableAlphaToCoverage(
true)
176 , useAovMultiSample(
true)
177 , resolveAovMultiSample(
true)
180 , cullStyle(HdCullStyleBackUnlessDoubleSided)
181 , overrideWindowPolicy{
false, CameraUtilFit}
196 float alphaThreshold;
197 bool enableSceneMaterials;
198 bool enableSceneLights;
204 float pointSelectedSize;
209 HdRenderPassAovBindingVector aovBindings;
210 HdRenderPassAovBindingVector aovInputBindings;
216 bool depthBiasUseDefault;
217 bool depthBiasEnable;
218 float depthBiasConstantFactor;
219 float depthBiasSlopeFactor;
221 HdCompareFunction depthFunc;
222 bool depthMaskEnable;
225 HdCompareFunction stencilFunc;
228 HdStencilOp stencilFailOp;
229 HdStencilOp stencilZFailOp;
230 HdStencilOp stencilZPassOp;
234 HdBlendOp blendColorOp;
235 HdBlendFactor blendColorSrcFactor;
236 HdBlendFactor blendColorDstFactor;
237 HdBlendOp blendAlphaOp;
238 HdBlendFactor blendAlphaSrcFactor;
239 HdBlendFactor blendAlphaDstFactor;
244 bool enableAlphaToCoverage;
248 bool useAovMultiSample;
252 bool resolveAovMultiSample;
261 HdCullStyle cullStyle;
262 std::pair<bool, CameraUtilConformWindowPolicy> overrideWindowPolicy;
274 PXR_NAMESPACE_CLOSE_SCOPE
276 #endif //PXR_IMAGING_HDX_RENDER_SETUP_TASK_H The Hydra render index is a flattened representation of the client scene graph, which may be composed...
HDX_API void Prepare(HdTaskContext *ctx, HdRenderIndex *renderIndex) override
Prepare the tasks resources.
AR_API bool operator!=(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
A set of rendering parameters used among render passes.
Basic type for a vector of 4 double components.
AR_API bool operator==(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
RenderTask parameters (renderpass state).
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
A task for setting up render pass state (camera, renderpass shader, GL states).
HDX_API void Execute(HdTaskContext *ctx) override
Execute render pass task.
Basic type for a vector of 4 float components.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
HDX_API void Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the render pass resources.