7#ifndef PXR_IMAGING_HD_RENDERER_PLUGIN_REGISTRY_H
8#define PXR_IMAGING_HD_RENDERER_PLUGIN_REGISTRY_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/renderDelegate.h"
14#include "pxr/imaging/hf/pluginRegistry.h"
16PXR_NAMESPACE_OPEN_SCOPE
30 static HdRendererPluginRegistry &GetInstance();
35 template<
typename T,
typename... Bases>
45 TfToken GetDefaultPluginId(
bool gpuEnabled =
true);
86 const HdRenderSettingsMap &settingsMap = {});
96 HdRendererPluginRegistry();
97 ~HdRendererPluginRegistry()
override;
102 HdRendererPluginRegistry(
const HdRendererPluginRegistry &) =
delete;
103 HdRendererPluginRegistry &operator=(
const HdRendererPluginRegistry &) =
delete;
107template<
typename T,
typename... Bases>
108void HdRendererPluginRegistry::Define()
114PXR_NAMESPACE_CLOSE_SCOPE
A (movable) handle for a render delegate that was created using a a plugin.
A handle for HdRendererPlugin also storing the plugin id.
This class defines a renderer plugin interface for Hydra.
Base class for registering Hydra plugins using the plug mechanism.
static void Define()
Entry point for registering a types implementation.
virtual HF_API void _CollectAdditionalMetadata(const PlugRegistry &plugRegistry, const TfType &pluginType)
Gives subclasses an opportunity to inspect plugInfo-based metadata at the time of discovery.
Defines an interface for registering plugins.
Manage a single instance of an object (see.
Token for efficient comparison, assignment, and hashing of known strings.
TfType represents a dynamic runtime type.
Manage a single instance of an object.
HdRendererCreateArgs contains members indicating the resources available when creating a renderer plu...