![]() |
|
Base class for (some) tasks in Hdx that provides common progressive rendering and Hgi functionality. More...
#include <task.h>
Inheritance diagram for HdxTask:Public Member Functions | |
| 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. | |
Static Public Member Functions | |
| static HDX_API bool | AreTasksConverged (HdRenderIndex *const renderIndex, const SdfPathVector &taskPaths) |
| Are all tasks at taskPaths in the render index converged? | |
Protected Member Functions | |
| 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 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. | |
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.
|
protectedpure virtual |
|
static |
Are all tasks at taskPaths in the render index converged?
|
finaloverridevirtual |
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.
Implements HdTask.