24 #ifndef PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
25 #define PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
36 #define HDSCENEINDEXPLUGINREGISTRY_TOKENS \
37 ((rendererDisplayName, "__rendererDisplayName")) \
59 template<
typename T,
typename... Bases>
69 const TfToken &sceneIndexPluginId,
70 const HdSceneIndexBaseRefPtr &inputScene,
71 const HdContainerDataSourceHandle &inputArgs);
83 const HdSceneIndexBaseRefPtr &inputScene,
105 const TfToken &sceneIndexPluginId,
106 const HdContainerDataSourceHandle &inputArgs,
113 HdSceneIndexBaseRefPtr(
115 const HdSceneIndexBaseRefPtr &inputScene,
116 const HdContainerDataSourceHandle &inputArgs)>;
139 const HdContainerDataSourceHandle &inputArgs,
161 _Entry(
const TfToken &sceneIndexPluginId,
162 const HdContainerDataSourceHandle &
args)
163 : sceneIndexPluginId(sceneIndexPluginId)
168 const HdContainerDataSourceHandle &
args)
174 HdContainerDataSourceHandle
args;
178 using _EntryList = std::vector<_Entry>;
179 using _PhasesMap = std::map<InsertionPhase, _EntryList>;
180 using _RenderersMap = std::map<std::string, _PhasesMap>;
182 HdSceneIndexBaseRefPtr _AppendForPhases(
183 const HdSceneIndexBaseRefPtr &inputScene,
184 const _PhasesMap &phasesMap,
185 const HdContainerDataSourceHandle &argsUnderlay,
188 _RenderersMap _sceneIndicesForRenderers;
194 using _PreloadMap = std::map<std::string, TfTokenVector>;
195 _PreloadMap _preloadsForRenderer;
199 template<
typename T,
typename... Bases>
207 #endif // PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
void _CollectAdditionalMetadata(const PlugRegistry &plugRegistry, const TfType &pluginType) override
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
GLsizei const GLchar *const * string
std::function< HdSceneIndexBaseRefPtr(const std::string &renderInstanceId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)> SceneIndexAppendCallback
static HD_API HdSceneIndexPluginRegistry & GetInstance()
#define HDSCENEINDEXPLUGINREGISTRY_TOKENS
HD_API HdSceneIndexBaseRefPtr AppendSceneIndicesForRenderer(const std::string &rendererDisplayName, const HdSceneIndexBaseRefPtr &inputScene, const std::string &renderInstanceId=std::string())
HD_API void RegisterSceneIndexForRenderer(const std::string &rendererDisplayName, const TfToken &sceneIndexPluginId, const HdContainerDataSourceHandle &inputArgs, InsertionPhase insertionPhase, InsertionOrder insertionOrder)
HD_API HdSceneIndexBaseRefPtr AppendSceneIndex(const TfToken &sceneIndexPluginId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
TF_DECLARE_PUBLIC_TOKENS(HdSceneIndexPluginRegistryTokens, HD_API, HDSCENEINDEXPLUGINREGISTRY_TOKENS)
**If you just want to fire and args