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
49 HdSceneIndexBaseRefPtr
const &sceneIndex,
79 std::string *reasonWhyNot =
nullptr)
const = 0;
91 HdRenderSettingsMap
const &settingsMap = {});
112 HdRenderSettingsMap
const& settingsMap);
144 virtual std::unique_ptr<HdRenderer> _CreateRenderer(
145 HdSceneIndexBaseRefPtr
const &sceneIndex,
156PXR_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.
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.
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...
virtual bool IsSupported(HdRendererCreateArgs const &rendererCreateArgs, std::string *reasonWhyNot=nullptr) const =0
Returns true if this renderer plugin is supported in the running process and false if not.
virtual HD_API bool IsSupported(bool gpuEnabled=true) const
virtual HD_API HdRenderDelegate * CreateRenderDelegate(HdRenderSettingsMap const &settingsMap)
Clients should use CreateDelegate since this method will eventually become protected.
HD_API HdPluginRendererUniqueHandle CreateRenderer(HdSceneIndexBaseRefPtr const &sceneIndex, const HdRendererCreateArgs &rendererCreateArgs)
Create renderer through the plugin and wrap it in a handle that keeps this plugin alive until the ren...
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.
HdRendererCreateArgs contains members indicating the resources available when creating a renderer plu...