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);
104 const TfToken &sceneIndexPluginId,
105 const HdContainerDataSourceHandle &inputArgs,
125 _Entry(
const TfToken &sceneIndexPluginId,
126 const HdContainerDataSourceHandle &
args)
127 : sceneIndexPluginId(sceneIndexPluginId)
132 HdContainerDataSourceHandle
args;
135 using _EntryList = std::vector<_Entry>;
136 using _PhasesMap = std::map<InsertionPhase, _EntryList>;
137 using _RenderersMap = std::map<std::string, _PhasesMap>;
139 HdSceneIndexBaseRefPtr _AppendForPhases(
140 const HdSceneIndexBaseRefPtr &inputScene,
141 const _PhasesMap &phasesMap,
142 const HdContainerDataSourceHandle &argsUnderlay);
144 _RenderersMap _sceneIndicesForRenderers;
150 using _PreloadMap = std::map<std::string, TfTokenVector>;
151 _PreloadMap _preloadsForRenderer;
155 template<
typename T,
typename... Bases>
163 #endif // PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H
void _CollectAdditionalMetadata(const PlugRegistry &plugRegistry, const TfType &pluginType) override
unsigned int InsertionPhase
static HD_API HdSceneIndexPluginRegistry & GetInstance()
#define HDSCENEINDEXPLUGINREGISTRY_TOKENS
GLsizei const GLchar *const * string
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer
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
HD_API HdSceneIndexBaseRefPtr AppendSceneIndicesForRenderer(const std::string &rendererDisplayName, const HdSceneIndexBaseRefPtr &inputScene)