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

A task for rendering geometry to pixels. More...

+ Inheritance diagram for HdxRenderTask:

Public Member Functions

HDX_API HdxRenderTask (HdSceneDelegate *delegate, SdfPath const &id)
 
virtual bool IsConverged () const override
 Hooks for progressive rendering (delegated to renderpasses). More...
 
virtual HDX_API void Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
 Sync the render pass resources. More...
 
virtual HDX_API void Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override
 Prepare the tasks resources. More...
 
virtual HDX_API void Execute (HdTaskContext *ctx) override
 Execute render pass task. More...
 
virtual HDX_API const
TfTokenVector
GetRenderTags () const override
 Collect Render Tags used by the task. More...
 
- Public Member Functions inherited from HdxProgressiveTask
HDX_API HdxProgressiveTask (SdfPath const &id)
 
- Public Member Functions inherited from HdTask
HD_API HdTask (SdfPath const &id)
 Construct a new task. More...
 
virtual void Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0
 Sync Phase: Obtain task state from Scene delegate based on change processing. More...
 
virtual void Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex)=0
 Prepare Phase: Resolve bindings and manage resources. More...
 
virtual void Execute (HdTaskContext *ctx)=0
 Execute Phase: Runs the task. More...
 
virtual HD_API const
TfTokenVector
GetRenderTags () const
 Render Tag Gather. More...
 
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. More...
 

Protected Member Functions

HDX_API HdRenderPassStateSharedPtr _GetRenderPassState (HdTaskContext *ctx) const
 
HDX_API size_t _GetDrawItemCount () 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. More...
 
HD_API TfTokenVector _GetTaskRenderTags (HdSceneDelegate *delegate)
 

Additional Inherited Members

- Static Protected Member Functions inherited from HdTask
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. More...
 

Detailed Description

A task for rendering geometry to pixels.

Rendering state management can be handled two ways: 1.) An application can create an HdxRenderTask and pass it the HdxRenderTaskParams struct as "params". 2.) An application can create an HdxRenderSetupTask and an HdxRenderTask, and pass params to the setup task. In this case the setup task must run first.

Parameter unpacking is handled by HdxRenderSetupTask; in case #1, HdxRenderTask creates a dummy setup task internally to manage the sync process.

Case #2 introduces complexity; the benefit is that by changing which setup task you run before the render task, you can change the render parameters without incurring a hydra sync or rebuilding any resources.

Definition at line 64 of file renderTask.h.

Member Function Documentation

virtual HDX_API void Execute ( HdTaskContext *  ctx)
overridevirtual

Execute render pass task.

Reimplemented in HdxOitRenderTask, and HdxOitVolumeRenderTask.

virtual HDX_API const TfTokenVector& GetRenderTags ( ) const
overridevirtual

Collect Render Tags used by the task.

virtual bool IsConverged ( ) const
overridevirtual

Hooks for progressive rendering (delegated to renderpasses).

Implements HdxProgressiveTask.

virtual HDX_API void Prepare ( HdTaskContext *  ctx,
HdRenderIndex renderIndex 
)
overridevirtual

Prepare the tasks resources.

Reimplemented in HdxOitRenderTask, and HdxOitVolumeRenderTask.

virtual HDX_API void Sync ( HdSceneDelegate delegate,
HdTaskContext *  ctx,
HdDirtyBits *  dirtyBits 
)
overridevirtual

Sync the render pass resources.

Reimplemented in HdxOitRenderTask, and HdxOitVolumeRenderTask.


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