![]() |
A task for rendering geometry to pixels. More...
Public Member Functions | |
HDX_API | HdxRenderTask (HdSceneDelegate *delegate, SdfPath const &id) |
HDX_API bool | IsConverged () const override |
Hooks for progressive rendering (delegated to renderpasses). More... | |
HDX_API void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override |
Prepare the tasks resources. More... | |
HDX_API void | Execute (HdTaskContext *ctx) override |
Execute render pass task. More... | |
HDX_API const TfTokenVector & | GetRenderTags () const override |
Collect Render Tags used by the task. More... | |
![]() | |
HDX_API | HdxTask (SdfPath const &id) |
void | Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) final |
We override HdTask::Sync, but make it 'final' to make sure derived classes can't override it and instead override _Sync. More... | |
![]() | |
HD_API | HdTask (SdfPath const &id) |
Construct a new task. More... | |
virtual void | Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0 |
Sync Phase: Obtain task state from Scene delegate based on change processing. More... | |
virtual void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex)=0 |
Prepare Phase: Resolve bindings and manage resources. More... | |
virtual void | Execute (HdTaskContext *ctx)=0 |
Execute Phase: Runs the task. More... | |
virtual HD_API const TfTokenVector & | GetRenderTags () const |
Render Tag Gather. More... | |
SdfPath const & | GetId () const |
virtual HD_API HdDirtyBits | GetInitialDirtyBitsMask () const |
Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim. More... | |
Protected Member Functions | |
HDX_API void | _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override |
Sync the render pass resources. More... | |
HDX_API HdRenderPassStateSharedPtr | _GetRenderPassState (HdTaskContext *ctx) const |
HDX_API bool | _HasDrawItems () const |
![]() | |
void | _ToggleRenderTarget (HdTaskContext *ctx) |
HDX_API Hgi * | _GetHgi () const |
![]() | |
template<class T > | |
bool | _GetTaskParams (HdSceneDelegate *delegate, T *outValue) |
Extracts a typed value out of the task context at the given id. More... | |
HD_API TfTokenVector | _GetTaskRenderTags (HdSceneDelegate *delegate) |
Additional Inherited Members | |
![]() | |
static HD_API bool | _HasTaskContextData (HdTaskContext const *ctx, TfToken const &id) |
Check if the shared context contains a value for the given id. More... | |
template<class T > | |
static bool | _GetTaskContextData (HdTaskContext const *ctx, TfToken const &id, T *outValue) |
Extracts a typed value out of the task context at the given id. More... | |
template<class T > | |
static T | _GetDriver (HdTaskContext const *ctx, TfToken const &driverName) |
Extract an object from a HdDriver inside the task context. More... | |
![]() | |
Hgi * | _hgi |
A task for rendering geometry to pixels.
Rendering state management can be handled two ways: 1.) An application can create an HdxRenderTask and pass it the HdxRenderTaskParams struct as "params". 2.) An application can create an HdxRenderSetupTask and an HdxRenderTask, and pass params to the setup task. In this case the setup task must run first.
Parameter unpacking is handled by HdxRenderSetupTask; in case #1, HdxRenderTask creates a dummy setup task internally to manage the sync process.
Case #2 introduces complexity; the benefit is that by changing which setup task you run before the render task, you can change the render parameters without incurring a hydra sync or rebuilding any resources.
Definition at line 64 of file renderTask.h.
|
overrideprotectedvirtual |
Sync the render pass resources.
Implements HdxTask.
|
override |
Execute render pass task.
|
override |
Collect Render Tags used by the task.
|
overridevirtual |
Hooks for progressive rendering (delegated to renderpasses).
Reimplemented from HdxTask.
|
override |
Prepare the tasks resources.