7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_RENDERING_COLOR_SPACE_SCENE_INDEX_PLUGIN_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_RENDERING_COLOR_SPACE_SCENE_INDEX_PLUGIN_H
10#include "pxr/imaging/hd/materialNetworkInterface.h"
11#include "pxr/base/gf/colorSpace.h"
14#if PXR_VERSION >= 2308
16#include "pxr/imaging/hd/sceneIndexPlugin.h"
17#include "hdPrman/api.h"
19PXR_NAMESPACE_OPEN_SCOPE
27class HdPrman_RenderingColorSpaceSceneIndexPlugin :
31 HdPrman_RenderingColorSpaceSceneIndexPlugin();
36 using ColorSpaceRemappingCallback =
TfToken (*) (
const TfToken& csName);
38 RegisterColorSpaceRemappingCallback(
39 const ColorSpaceRemappingCallback& callback);
44 using ExcludeMaterialCallback = bool (*)
45 (
const HdSceneIndexBaseRefPtr &si,
48 RegisterExcludeMaterialCallback(
const ExcludeMaterialCallback& callback);
49 static bool ExcludeMaterial(
50 const HdSceneIndexBaseRefPtr &si,
56 using FilterMaterialCallback = bool (*) (
58 const TfToken& terminalNodeName,
61 RegisterFilterMaterialCallback(
const FilterMaterialCallback& callback);
65 const TfToken& terminalNodeName,
71 using FilterLightCallback = bool (*) (
77 RegisterFilterLightCallback(
const FilterLightCallback& callback);
87 using DisableTransformCallback = bool (*) (
const HdSceneIndexBaseRefPtr &si);
89 RegisterDisableTransformCallback(
const DisableTransformCallback& callback);
90 static bool DisableTransform(
const HdSceneIndexBaseRefPtr& si);
95 const HdSceneIndexBaseRefPtr &inputScene,
96 const HdContainerDataSourceHandle &inputArgs)
override;
99PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface for querying and mutating a material network.
A scene index plugin bundles one or more (typically filtering) scene indices together and enables the...
virtual HD_API HdSceneIndexBaseRefPtr _AppendSceneIndex(const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)
Subclasses implement this to instantiate one or more scene indicies which take the provided scene as ...
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...