![]() |
|
A task for rendering geometry to pixels. More...
#include <renderTask.h>
Public Member Functions | |
HDX_API | HdxRenderTask (HdSceneDelegate *delegate, SdfPath const &id) |
HDX_API bool | IsConverged () const override |
Hooks for progressive rendering (delegated to renderpasses). | |
HDX_API void | Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override |
Prepare the tasks resources. | |
HDX_API void | Execute (HdTaskContext *ctx) override |
Execute render pass task. | |
HDX_API const TfTokenVector & | GetRenderTags () const override |
Collect Render Tags used by the task. | |
![]() | |
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. | |
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. | |
Protected Member Functions | |
HDX_API void | _Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override |
Sync the render pass resources. | |
HDX_API HdRenderPassStateSharedPtr | _GetRenderPassState (HdTaskContext *ctx) const |
HDX_API bool | _HasDrawItems () const |
![]() | |
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 |
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.
|
overrideprotectedvirtual |
Sync the render pass resources.
Implements HdxTask.
|
override |
Execute render pass task.
|
override |
Collect Render Tags used by the task.
|
overridevirtual |
Hooks for progressive rendering (delegated to renderpasses).
Reimplemented from HdxTask.
|
override |
Prepare the tasks resources.