All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdEmbreeRenderPass Class Referencefinal

HdRenderPass represents a single render iteration, rendering a view of the scene (the HdRprimCollection) for a specific viewer (the camera/viewport parameters in HdRenderPassState) to the current draw target. More...

+ Inheritance diagram for HdEmbreeRenderPass:

Public Member Functions

 HdEmbreeRenderPass (HdRenderIndex *index, HdRprimCollection const &collection, HdRenderThread *renderThread, HdEmbreeRenderer *renderer, std::atomic< int > *sceneVersion)
 Renderpass constructor. More...
 
 ~HdEmbreeRenderPass () override
 Renderpass destructor. More...
 
bool IsConverged () const override
 Determine whether the sample buffer has enough samples. More...
 
- Public Member Functions inherited from HdRenderPass
HD_API HdRenderPass (HdRenderIndex *index, HdRprimCollection const &collection)
 
HdRprimCollection const & GetRprimCollection () const
 Returns the HdRprimCollection to be drawn by this RenderPass. More...
 
HD_API void SetRprimCollection (HdRprimCollection const &col)
 Sets the HdRprimCollection, note that this may invalidate internal caches used to accelerate drawing. More...
 
HdDirtyListSharedPtr const & GetDirtyList () const
 Returns the dirty list (maintained in the change tracker) for efficient traversal. More...
 
HdRenderIndexGetRenderIndex () const
 Return the render index. More...
 
HD_API void Sync ()
 Sync the render pass resources. More...
 
HD_API void Prepare (TfTokenVector const &renderTags)
 Prepare renderpass data. More...
 
HD_API void Execute (HdRenderPassStateSharedPtr const &renderPassState, TfTokenVector const &renderTags)
 Execute a subset of buckets of this renderpass. More...
 

Protected Member Functions

void _Execute (HdRenderPassStateSharedPtr const &renderPassState, TfTokenVector const &renderTags) override
 Draw the scene with the bound renderpass state. More...
 
void _MarkCollectionDirty () override
 Update internal tracking to reflect a dirty collection. More...
 
- Protected Member Functions inherited from HdRenderPass
virtual void _Sync ()
 Optional API: let derived classes sync data. More...
 
virtual void _Prepare (TfTokenVector const &renderTags)
 Optional API: let derived classes prepare data. More...
 

Detailed Description

HdRenderPass represents a single render iteration, rendering a view of the scene (the HdRprimCollection) for a specific viewer (the camera/viewport parameters in HdRenderPassState) to the current draw target.

This class does so by raycasting into the embree scene via HdEmbreeRenderer.

Definition at line 50 of file renderPass.h.

Constructor & Destructor Documentation

HdEmbreeRenderPass ( HdRenderIndex index,
HdRprimCollection const &  collection,
HdRenderThread renderThread,
HdEmbreeRenderer renderer,
std::atomic< int > *  sceneVersion 
)

Renderpass constructor.

Parameters
indexThe render index containing scene data to render.
collectionThe initial rprim collection for this renderpass.
renderThreadA handle to the global render thread.
rendererA handle to the global renderer.
~HdEmbreeRenderPass ( )
override

Renderpass destructor.

Member Function Documentation

void _Execute ( HdRenderPassStateSharedPtr const &  renderPassState,
TfTokenVector const &  renderTags 
)
overrideprotectedvirtual

Draw the scene with the bound renderpass state.

Parameters
renderPassStateInput parameters (including viewer parameters) for this renderpass.
renderTagsWhich rendertags should be drawn this pass.

Implements HdRenderPass.

void _MarkCollectionDirty ( )
inlineoverrideprotectedvirtual

Update internal tracking to reflect a dirty collection.

Reimplemented from HdRenderPass.

Definition at line 87 of file renderPass.h.

bool IsConverged ( ) const
overridevirtual

Determine whether the sample buffer has enough samples.

Returns
True if the image has enough samples to be considered final.

Reimplemented from HdRenderPass.


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