![]() |
|
A task for taking input AOV data comming from a render buffer that was filled by render tasks and converting it to a HgiTexture. More...
#include <aovInputTask.h>
Inheritance diagram for HdxAovInputTask:Public Types | |
| using | TaskParams = HdxAovInputTaskParams |
Public Member Functions | |
| HDX_API | HdxAovInputTask (HdSceneDelegate *delegate, SdfPath const &id) |
| bool | IsConverged () const override |
| Hooks for progressive rendering. | |
| HDX_API void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override |
| Prepare Phase: Resolve bindings and manage resources. | |
| HDX_API void | Execute (HdTaskContext *ctx) override |
| Execute Phase: Runs the task. | |
Public Member Functions inherited from HdxTask | |
| HDX_API | HdxTask (SdfPath const &id) |
| HDX_API void | Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override final |
| We override HdTask::Sync, but make it 'final' to make sure derived classes can't override it and instead override _Sync. | |
Public Member Functions inherited from HdTask | |
| HD_API | HdTask (SdfPath const &id) |
| Construct a new task. | |
| virtual HD_API bool | IsConverged () const |
| This function returns true when a (progressive) task considers its execution results converged. | |
| virtual void | Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0 |
| Sync Phase: Obtain task state from Scene delegate based on change processing. | |
| virtual void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex)=0 |
| Prepare Phase: Resolve bindings and manage resources. | |
| virtual void | Execute (HdTaskContext *ctx)=0 |
| Execute Phase: Runs the task. | |
| virtual HD_API const TfTokenVector & | GetRenderTags () const |
| Render Tag Gather. | |
| 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. | |
Protected Member Functions | |
| HDX_API void | _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override |
Protected Member Functions inherited from HdxTask | |
| virtual void | _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0 |
| HDX_API void | _ToggleRenderTarget (HdTaskContext *ctx) |
| HDX_API void | _ToggleDepthTarget (HdTaskContext *ctx) |
| HDX_API void | _SwapTextures (HdTaskContext *ctx, const TfToken &textureToken, const TfToken &textureIntermediateToken) |
| HDX_API Hgi * | _GetHgi () const |
Protected Member Functions inherited from HdTask | |
| template<class T > | |
| bool | _GetTaskParams (HdSceneDelegate *delegate, T *outValue) |
| Extracts a typed value out of the task context at the given id. | |
| HD_API TfTokenVector | _GetTaskRenderTags (HdSceneDelegate *delegate) |
Additional Inherited Members | |
Static Public Member Functions inherited from HdxTask | |
| static HDX_API bool | AreTasksConverged (HdRenderIndex *const renderIndex, const SdfPathVector &taskPaths) |
| Are all tasks at taskPaths in the render index converged? | |
Static Protected Member Functions inherited from HdTask | |
| static HD_API bool | _HasTaskContextData (HdTaskContext const *ctx, TfToken const &id) |
| Check if the shared context contains a value for the given id. | |
| 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. | |
| template<class T > | |
| static T | _GetDriver (HdTaskContext const *ctx, TfToken const &driverName) |
| Extract an object from a HdDriver inside the task context. | |
A task for taking input AOV data comming from a render buffer that was filled by render tasks and converting it to a HgiTexture.
The aov render buffer can be a GPU or CPU buffer, while the resulting output HgiTexture will always be a GPU texture.
The HgiTexture is placed in the shared task context so that following tasks maybe operate on this HgiTexture without having to worry about converting the aov data from CPU to GPU.
Definition at line 30 of file aovInputTask.h.
| using TaskParams = HdxAovInputTaskParams |
Definition at line 33 of file aovInputTask.h.
|
overrideprotectedvirtual |
Implements HdxTask.
|
overridevirtual |
Execute Phase: Runs the task.
The execution phase should trigger render delegate processing, such as issuing draw commands.
Task execution is non-parallel and ordered.
The task context is the same as used by the prepare step and is used for inter-task communication.
Implements HdTask.
|
overridevirtual |
Hooks for progressive rendering.
Reimplemented from HdTask.
|
overridevirtual |
Prepare Phase: Resolve bindings and manage resources.
The Prepare phase happens before the Data Commit phase. All tasks in the task list get called for every execute. At this time all Tasks and other prims have completed the phase synced.
This is an opportunity for the task to pull data from other prims (such as a camera prim) by querying the render index.
The task can also use the phase to create, register and update temporary resources with the resource registry or other render delegate specific mechanism.
Tasks are always "Prepared" in execution order.
Inter-task communication is achievable via the task context. The same task context is used for the prepare and execution phases. Data in the task context isn't guaranteed to persist across calls to HdEngine::Execute().
Implements HdTask.