HDK
|
#include <task.h>
Public Member Functions | |
HDX_API | HdxTask (SdfPath const &id) |
HDX_API | ~HdxTask () override |
virtual HDX_API bool | IsConverged () const |
HDX_API void | Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) overridefinal |
Public Member Functions inherited from HdTask | |
HD_API | HdTask (SdfPath const &id) |
virtual HD_API | ~HdTask () |
virtual void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex)=0 |
virtual void | Execute (HdTaskContext *ctx)=0 |
virtual HD_API const TfTokenVector & | GetRenderTags () const |
SdfPath const & | GetId () const |
virtual HD_API HdDirtyBits | GetInitialDirtyBitsMask () const |
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) |
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. More... | |
template<class T > | |
static bool | _GetTaskContextData (HdTaskContext const *ctx, TfToken const &id, T *outValue) |
template<class T > | |
static T | _GetDriver (HdTaskContext const *ctx, TfToken const &driverName) |
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.
|
override |
|
protected |
|
protectedpure virtual |
|
protected |
|
protected |
|
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.
|
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.