Loading...
Searching...
No Matches
meshLightResolvingSceneIndexPlugin.h
1//
2// Copyright 2022 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6
7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESHLIGHT_RESOLVING_SCENE_INDEX_PLUGIN_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESHLIGHT_RESOLVING_SCENE_INDEX_PLUGIN_H
9
10#include "hdPrman/api.h"
11
12#include "pxr/imaging/hd/dataSource.h"
13#include "pxr/imaging/hd/dataSourceMaterialNetworkInterface.h"
14#include "pxr/imaging/hd/sceneIndex.h"
15#include "pxr/imaging/hd/sceneIndexPlugin.h"
16#include "pxr/imaging/hd/materialNetworkInterface.h"
17
18#include "pxr/usd/sdf/path.h"
19
20#include "pxr/pxr.h"
21
22PXR_NAMESPACE_OPEN_SCOPE
23
28class HdPrman_MeshLightResolvingSceneIndexPlugin : public HdSceneIndexPlugin
29{
30public:
31 HdPrman_MeshLightResolvingSceneIndexPlugin();
32
33 using ExtractMaterialGlowConnectionCallback =
34 HdMaterialNetworkInterface::InputConnectionResult (*) (
35 const SdfPath& matPrimPath,
36 const HdContainerDataSourceHandle& matPrimDS,
38
39 HDPRMAN_API
40 static void
41 RegisterExtractMaterialGlowConnectionCallback(
42 const ExtractMaterialGlowConnectionCallback& callback);
43
44 HDPRMAN_API
45 static HdMaterialNetworkInterface::InputConnectionResult
46 ExtractMaterialGlowConnection(
47 const SdfPath& matPrimPath,
48 const HdContainerDataSourceHandle& matPrimDS,
50
51protected:
52 HdSceneIndexBaseRefPtr _AppendSceneIndex(
53 const HdSceneIndexBaseRefPtr &inputScene,
54 const HdContainerDataSourceHandle &inputArgs) override;
55};
56
57PXR_NAMESPACE_CLOSE_SCOPE
58
59#endif // EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESHLIGHT_RESOLVING_SCENE_INDEX_PLUGIN_H
Implements HdMaterialNetworkInterface for reading from and overriding values within data sources.
A scene index plugin bundles one or more (typically filtering) scene indices together and enables the...
A path value used to locate objects in layers or scenegraphs.
Definition path.h:281