![]() |
|
Base class for (some) tasks in Hdx that provides common progressive rendering and Hgi functionality. More...
Public Member Functions | |
HDX_API | HdxTask (SdfPath const &id) |
virtual HDX_API bool | IsConverged () const |
This function returns true when a (progressive) task considers its execution results converged. More... | |
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. More... | |
Protected Member Functions | |
virtual void | _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0 |
HDX_API void | _ToggleRenderTarget (HdTaskContext *ctx) |
HDX_API Hgi * | _GetHgi () const |
Base class for (some) tasks in Hdx that provides common progressive rendering and Hgi functionality.
Tasks that require neither progressive rendering nor Hgi can continue to derive directly from HdTask.
|
virtual |
This function returns true when a (progressive) task considers its execution results converged.
Usually this means that a progressive render delegate is finished rendering into the HdRenderBuffers used by this task. Returns true by default which is a good default for rasterizers.
Applications with data-driven task lists can determine their convergence state by determining which tasks are HdxTasks and then querying specifically those tasks for IsConverged.
Reimplemented in HdxPickFromRenderBufferTask, HdxColorizeSelectionTask, HdxRenderTask, and HdxAovInputTask.
|
finaloverride |
We override HdTask::Sync, but make it 'final' to make sure derived classes can't override it and instead override _Sync.
This 'non-virtual interface'-like pattern allows us to ensure we always initialized Hgi during the Sync task so derived classes don't have to.