7 #ifndef PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
8 #define PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
27 #define HDSCENEINDEXPLUGINREGISTRY_TOKENS \
28 ((rendererDisplayName, "__rendererDisplayName")) \
51 template<
typename T,
typename... Bases>
61 const TfToken &sceneIndexPluginId,
62 const HdSceneIndexBaseRefPtr &inputScene,
63 const HdContainerDataSourceHandle &inputArgs,
64 const std::string &renderInstanceId=std::string());
84 const std::string &rendererDisplayName,
85 const HdSceneIndexBaseRefPtr &inputScene,
86 const std::string &renderInstanceId=std::string(),
87 const std::string &appName=std::string());
143 const std::string &rendererDisplayName,
144 const TfToken &sceneIndexPluginId,
145 const HdContainerDataSourceHandle &inputArgs,
152 HdSceneIndexBaseRefPtr(
153 const std::string &renderInstanceId,
154 const HdSceneIndexBaseRefPtr &inputScene,
155 const HdContainerDataSourceHandle &inputArgs)>;
185 const std::string &rendererDisplayName,
187 const HdContainerDataSourceHandle &inputArgs,
199 const std::string& rendererDisplayName,
200 const std::string& appName);
215 const HdSceneIndexBaseRefPtr& sceneIndex,
259 void _LoadPluginsForRenderer(
260 const std::string &rendererDisplayName,
261 const std::string &appName);
266 std::unique_ptr<_Impl> _impl;
269 template<
typename T,
typename... Bases>
277 #endif // PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
void _CollectAdditionalMetadata(const PlugRegistry &plugRegistry, const TfType &pluginType) override
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
HD_API HdSceneIndexBaseRefPtr AppendSceneIndicesForRenderer(const std::string &rendererDisplayName, const HdSceneIndexBaseRefPtr &inputScene, const std::string &renderInstanceId=std::string(), const std::string &appName=std::string())
#define PXR_NAMESPACE_OPEN_SCOPE
bool GetPluginInsertionMetadataForSceneIndex(const HdSceneIndexBaseRefPtr &sceneIndex, PluginInsertionMetadata &metadata)
std::function< HdSceneIndexBaseRefPtr(const std::string &renderInstanceId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)> SceneIndexAppendCallback
HD_API HdSceneIndexBaseRefPtr AppendSceneIndex(const TfToken &sceneIndexPluginId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs, const std::string &renderInstanceId=std::string())
static HD_API HdSceneIndexPluginRegistry & GetInstance()
#define HDSCENEINDEXPLUGINREGISTRY_TOKENS
HD_API void SetPluginOrderingPolicy(PluginOrderingPolicy policy)
HD_API std::vector< TfToken > LoadAndGetSceneIndexPluginIds(const std::string &rendererDisplayName, const std::string &appName)
HD_API void RegisterSceneIndexForRenderer(const std::string &rendererDisplayName, const TfToken &sceneIndexPluginId, const HdContainerDataSourceHandle &inputArgs, InsertionPhase insertionPhase, InsertionOrder insertionOrder)
#define PXR_NAMESPACE_CLOSE_SCOPE
TF_DECLARE_PUBLIC_TOKENS(HdSceneIndexPluginRegistryTokens, HD_API, HDSCENEINDEXPLUGINREGISTRY_TOKENS)