7#ifndef PXR_IMAGING_HD_RENDERER_PLUGIN_H
8#define PXR_IMAGING_HD_RENDERER_PLUGIN_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hf/pluginBase.h"
13#include "pxr/imaging/hd/renderDelegate.h"
15PXR_NAMESPACE_OPEN_SCOPE
57 std::string *reasonWhyNot =
nullptr)
const;
96 HdSceneIndexBaseRefPtr
const &sceneIndex,
131 std::string *reasonWhyNot =
nullptr)
const = 0;
140 HdRenderSettingsMap
const &settingsMap = {});
161 HdRenderSettingsMap
const& settingsMap);
179 virtual std::unique_ptr<HdRenderer> _CreateRenderer(
180 HdSceneIndexBaseRefPtr
const &sceneIndex,
185 std::unique_ptr<HdRenderer> _CreateRendererFromRenderDelegate(
186 HdSceneIndexBaseRefPtr
const &sceneIndex,
197PXR_NAMESPACE_CLOSE_SCOPE
A (movable) handle for a render delegate that was created using a a plugin.
A handle for a renderer that was created by a renderer plugin.
Arguments to HdRendererPlugin::IsSupported and CreateRenderer.
This class defines a renderer plugin interface for Hydra.
HD_API TfToken GetPluginId() const
Look-up plugin id in plugin registry.
virtual void DeleteRenderDelegate(HdRenderDelegate *renderDelegate)=0
Clients should use CreateDelegate since this method will eventually become protected.
HD_API std::string GetDisplayName() const
Look-up display name in plugin registry.
virtual HD_API HdContainerDataSourceHandle GetSceneIndexCreateArgs() const
Arguments that an application should pass as create arguments to scene indices so that they can be co...
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 HdPluginRenderDelegateUniqueHandle CreateDelegate(HdRenderSettingsMap const &settingsMap={})
Create a render delegate through the plugin and wrap it in a handle that keeps this plugin alive unti...
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 ren...
virtual bool IsSupported(HdRendererCreateArgs const &rendererCreateArgs, std::string *reasonWhyNot=nullptr) const =0
virtual HD_API HdRenderDelegate * CreateRenderDelegate(HdRenderSettingsMap const &settingsMap)
Clients should use CreateDelegate since this method will eventually become protected.
virtual HdRenderDelegate * CreateRenderDelegate()=0
Clients should use CreateDelegate since this method will eventually become protected,...
Abstract interface to scene data.
Base class for all hydra plugin classes.
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.