7#ifndef PXR_IMAGING_HDX_RENDER_TASK_H
8#define PXR_IMAGING_HDX_RENDER_TASK_H
11#include "pxr/imaging/hd/renderIndex.h"
12#include "pxr/imaging/hdx/api.h"
13#include "pxr/imaging/hdx/version.h"
14#include "pxr/imaging/hdx/task.h"
15#include "pxr/imaging/hdx/renderSetupTask.h"
16#include "pxr/imaging/hdSt/renderPassState.h"
20PXR_NAMESPACE_OPEN_SCOPE
26using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
27using HdRenderPassSharedPtr = std::shared_ptr<class HdRenderPass>;
28using HdxRenderSetupTaskSharedPtr = std::shared_ptr<class HdxRenderSetupTask>;
71 void Execute(HdTaskContext* ctx)
override;
82 HdDirtyBits* dirtyBits)
override;
85 HdRenderPassStateSharedPtr _GetRenderPassState()
const;
88 HdRenderPassSharedPtr _GetRenderPass()
const;
91 void _PrepareRenderPassState(HdTaskContext* ctx,
104 bool _HasDrawItems()
const;
110 void _AddStormSelectionBindings(
112 HdStRenderPassShaderSharedPtr passShader);
118 void _AddStormLightingShader(
120 HdStRenderPassStateSharedPtr passState);
123 HdRenderPassSharedPtr _pass;
124 HdRenderPassStateSharedPtr _passState;
128 HdxRenderSetupTaskSharedPtr _setupTask;
132 void _SetHdStRenderPassState(HdTaskContext *ctx,
136 bool _NeedToClearAovs(HdRenderPassStateSharedPtr
const &renderPassState)
145PXR_NAMESPACE_CLOSE_SCOPE
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.
A set of rendering parameters used among render passes.
A task for rendering geometry to pixels.
HDX_API const TfTokenVector & GetRenderTags() const override
Collect Render Tags used by the task.
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.
HDX_API bool IsConverged() const override
Hooks for progressive rendering (delegated to renderpasses).
Base class for (some) tasks in Hdx that provides common progressive rendering and Hgi functionality.
A path value used to locate objects in layers or scenegraphs.
RenderTask parameters (renderpass state).
std::vector< TfToken > TfTokenVector
Convenience types.