Loading...
Searching...
No Matches
HdEmbreeRendererPlugin Class Referencefinal

A registered child of HdRendererPlugin, this is the class that gets loaded when a hydra application asks to draw with a certain renderer. More...

#include <rendererPlugin.h>

+ Inheritance diagram for HdEmbreeRendererPlugin:

Public Member Functions

HdContainerDataSourceHandle GetSceneIndexCreateArgs () const override
 Arguments that an application should pass as create arguments to scene indices so that they can be configured for the needs of the renderer.
 
HdRenderDelegate * CreateRenderDelegate () override
 Construct a new render delegate of type HdEmbreeRenderDelegate.
 
HdRenderDelegate * CreateRenderDelegate (HdRenderSettingsMap const &settingsMap) override
 Construct a new render delegate of type HdEmbreeRenderDelegate.
 
void DeleteRenderDelegate (HdRenderDelegate *renderDelegate) override
 Destroy a render delegate created by this class's CreateRenderDelegate.
 
bool IsSupported (HdRendererCreateArgs const &rendererCreateArgs, std::string *reasonWhyNot=nullptr) const override
 Checks to see if the embree plugin is supported on the running system.
 
- Public Member Functions inherited from HdRendererPlugin
HD_API TfToken GetPluginId () const
 Look-up plugin id in plugin registry.
 
HD_API std::string GetDisplayName () const
 Look-up display name in plugin registry.
 
virtual HD_API bool IsSupported (const HdRendererCreateArgsSchema &rendererCreateArgs, std::string *reasonWhyNot=nullptr) const
 Returns true if this renderer plugin is supported in the running process and false if not.
 
HD_API HdPluginRendererUniqueHandle CreateRenderer (HdSceneIndexBaseRefPtr const &sceneIndex, const HdRendererCreateArgsSchema &rendererCreateArgs)
 Create renderer through the plugin and wrap it in a handle that keeps this plugin alive until the renderer is destroyed.
 
HD_API HdPluginRenderDelegateUniqueHandle CreateDelegate (HdRenderSettingsMap const &settingsMap={})
 Create a render delegate through the plugin and wrap it in a handle that keeps this plugin alive until render delegate is destroyed.
 
- Public Member Functions inherited from HfPluginBase

Additional Inherited Members

- Protected Member Functions inherited from HdRendererPlugin
virtual HD_API std::unique_ptr< HdRenderer_CreateRenderer (HdSceneIndexBaseRefPtr const &sceneIndex, const HdRendererCreateArgsSchema &rendererCreateArgs)
 
HD_API std::unique_ptr< HdRenderer_CreateRendererFromRenderDelegate (HdSceneIndexBaseRefPtr const &sceneIndex, const HdRendererCreateArgsSchema &rendererCreateArgs)
 
- Protected Member Functions inherited from HfPluginBase

Detailed Description

A registered child of HdRendererPlugin, this is the class that gets loaded when a hydra application asks to draw with a certain renderer.

It supports rendering via creation/destruction of renderer-specific classes. The render delegate is the hydra-facing entrypoint into the renderer; it's responsible for creating specialized implementations of hydra prims (which translate scene data into drawable representations) and hydra renderpasses (which draw the scene to the framebuffer).

Definition at line 26 of file rendererPlugin.h.

Member Function Documentation

◆ CreateRenderDelegate() [1/2]

HdRenderDelegate * CreateRenderDelegate ( )
overridevirtual

Construct a new render delegate of type HdEmbreeRenderDelegate.

Embree render delegates own the embree scene object, so a new render delegate should be created for each instance of HdRenderIndex.

Returns
A new HdEmbreeRenderDelegate object.

Implements HdRendererPlugin.

◆ CreateRenderDelegate() [2/2]

HdRenderDelegate * CreateRenderDelegate ( HdRenderSettingsMap const & settingsMap)
overridevirtual

Construct a new render delegate of type HdEmbreeRenderDelegate.

Embree render delegates own the embree scene object, so a new render delegate should be created for each instance of HdRenderIndex.

Parameters
settingsMapA list of initialization-time settings for embree.
Returns
A new HdEmbreeRenderDelegate object.

Reimplemented from HdRendererPlugin.

◆ DeleteRenderDelegate()

void DeleteRenderDelegate ( HdRenderDelegate * renderDelegate)
overridevirtual

Destroy a render delegate created by this class's CreateRenderDelegate.

Parameters
renderDelegateThe render delegate to delete.

Implements HdRendererPlugin.

◆ GetSceneIndexCreateArgs()

HdContainerDataSourceHandle GetSceneIndexCreateArgs ( ) const
overridevirtual

Arguments that an application should pass as create arguments to scene indices so that they can be configured for the needs of the renderer.

Follows the HdSceneIndexCreateArgsSchema but can have data sources at additional data sources.

Example: Some scene indices are computing samples for motion blur non-lazy and need to know whether the renderer supports motion blur in advance.

Example: the configuration of the HdRenderIndexAdapterSceneIndex used by the legacy UsdImagingDelegate which needs the preference order of the material render contexts since it is resolving which material network to use rather than leaving it to a renderer- specific plugin scene index.

Reimplemented from HdRendererPlugin.

◆ IsSupported()

bool IsSupported ( HdRendererCreateArgs const & rendererCreateArgs,
std::string * reasonWhyNot = nullptr ) const
overridevirtual

Checks to see if the embree plugin is supported on the running system.

Implements HdRendererPlugin.


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