Loading...
Searching...
No Matches
HdRendererPlugin Class Referenceabstract

This class defines a renderer plugin interface for Hydra. More...

#include <rendererPlugin.h>

+ Inheritance diagram for HdRendererPlugin:

Public Member Functions

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.
 
HD_API TfToken GetPluginId () const
 Look-up plugin id in plugin registry.
 
virtual HdRenderDelegate * CreateRenderDelegate ()=0
 Clients should use CreateDelegate since this method will eventually become protected, use CreateRenderDelegateHandle instead.
 
virtual HD_API HdRenderDelegate * CreateRenderDelegate (HdRenderSettingsMap const &settingsMap)
 Clients should use CreateDelegate since this method will eventually become protected.
 
virtual void DeleteRenderDelegate (HdRenderDelegate *renderDelegate)=0
 Clients should use CreateDelegate since this method will eventually become protected.
 
virtual bool IsSupported (bool gpuEnabled=true) const =0
 Returns true if this renderer plugin is supported in the running process and false if not.
 

Detailed Description

This class defines a renderer plugin interface for Hydra.

A renderer plugin is a dynamically discovered and loaded at run-time using the Plug system.

This object has singleton behavior, in that is instantiated once per library (managed by the plugin registry).

The class is used to factory objects that provide delegate support to other parts of the Hydra Ecosystem.

Definition at line 49 of file rendererPlugin.h.

Member Function Documentation

◆ CreateDelegate()

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.

Initial settings can be passed in.

◆ CreateRenderDelegate() [1/2]

virtual HdRenderDelegate * CreateRenderDelegate ( )
pure virtual

Clients should use CreateDelegate since this method will eventually become protected, use CreateRenderDelegateHandle instead.

Factory a Render Delegate object, that Hydra can use to factory prims and communicate with a renderer.

Implemented in HdEmbreeRendererPlugin.

◆ CreateRenderDelegate() [2/2]

virtual HD_API HdRenderDelegate * CreateRenderDelegate ( HdRenderSettingsMap const &  settingsMap)
virtual

Clients should use CreateDelegate since this method will eventually become protected.

Factory a Render Delegate object, that Hydra can use to factory prims and communicate with a renderer. Pass in initial settings...

Reimplemented in HdEmbreeRendererPlugin.

◆ DeleteRenderDelegate()

virtual void DeleteRenderDelegate ( HdRenderDelegate *  renderDelegate)
pure virtual

Clients should use CreateDelegate since this method will eventually become protected.

Release the object factoried by CreateRenderDelegate().

Implemented in HdEmbreeRendererPlugin.

◆ GetPluginId()

HD_API TfToken GetPluginId ( ) const

Look-up plugin id in plugin registry.

◆ IsSupported()

virtual bool IsSupported ( bool  gpuEnabled = true) const
pure virtual

Returns true if this renderer plugin is supported in the running process and false if not.

This gives the plugin a chance to perform some runtime checks to make sure that the system meets minimum requirements. The gpuEnabled parameter indicates if the GPU is available for use by the plugin in case this information is necessary to make this determination.

Implemented in HdEmbreeRendererPlugin.


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