HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdxVisualizeAovTask Class Reference

#include <visualizeAovTask.h>

+ Inheritance diagram for HdxVisualizeAovTask:

Public Member Functions

HDX_API HdxVisualizeAovTask (HdSceneDelegate *delegate, SdfPath const &id)
 
HDX_API ~HdxVisualizeAovTask () override
 
HDX_API void Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override
 
HDX_API void Execute (HdTaskContext *ctx) override
 
- Public Member Functions inherited from HdxTask
HDX_API HdxTask (SdfPath const &id)
 
HDX_API ~HdxTask () override
 
virtual HDX_API bool IsConverged () const
 
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 HD_API const
TfTokenVector
GetRenderTags () const
 
SdfPath constGetId () const
 
virtual HD_API HdDirtyBits GetInitialDirtyBitsMask () const
 

Protected Member Functions

HDX_API void _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
 
- Protected Member Functions inherited from HdxTask
void _ToggleRenderTarget (HdTaskContext *ctx)
 
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)
 
- Protected Attributes inherited from HdxTask
Hgi_hgi
 

Detailed Description

A task for visualizing non-color AOVs such as depth, normals, primId.

Different kernels are used depending on the AOV: Depth: Renormalized from the range [0.0, 1.0] to [min, max] depth to provide better contrast. Normals: Transform each component from [-1.0, 1.0] tp [0.0, 1.0] so that negative components don't appear black. Ids: Integer ids are colorized by multiplying by a large prime and shuffling resulting bits so that neighboring ids are easily distinguishable. Other Aovs: A fallback kernel that transfers the AOV contents into a float texture is used.

This task updates the 'color' entry of the task context with the colorized texture contents.

Definition at line 60 of file visualizeAovTask.h.

Constructor & Destructor Documentation

HDX_API HdxVisualizeAovTask::HdxVisualizeAovTask ( HdSceneDelegate delegate,
SdfPath const id 
)
HDX_API HdxVisualizeAovTask::~HdxVisualizeAovTask ( )
override

Member Function Documentation

HDX_API void HdxVisualizeAovTask::_Sync ( HdSceneDelegate delegate,
HdTaskContext ctx,
HdDirtyBits dirtyBits 
)
overrideprotectedvirtual

Implements HdxTask.

HDX_API void HdxVisualizeAovTask::Execute ( HdTaskContext ctx)
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.

HDX_API void HdxVisualizeAovTask::Prepare ( HdTaskContext ctx,
HdRenderIndex renderIndex 
)
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.


The documentation for this class was generated from the following file: