shaderDefParser.h
1 //
2 // Copyright 2018 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_USD_USD_SHADE_SHADER_DEF_PARSER_H
8 #define PXR_USD_USD_SHADE_SHADER_DEF_PARSER_H
9 
10 #include "pxr/usd/usdShade/api.h"
11 
12 #include "pxr/usd/sdr/declare.h"
15 
16 PXR_NAMESPACE_OPEN_SCOPE
17 
24 {
25 public:
26  USDSHADE_API
28 
29  USDSHADE_API
30  ~UsdShadeShaderDefParserPlugin() override = default;
31 
32  USDSHADE_API
33  SdrShaderNodeUniquePtr ParseShaderNode(
34  const SdrShaderNodeDiscoveryResult &discoveryResult) override;
35 
36  USDSHADE_API
37  const SdrTokenVec &GetDiscoveryTypes() const override;
38 
39  USDSHADE_API
40  const TfToken &GetShadingSystem() const override;
41 };
42 
43 PXR_NAMESPACE_CLOSE_SCOPE
44 
45 #endif // PXR_USD_USD_SHADE_SHADER_DEF_PARSER_H
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:80
USDSHADE_API const SdrTokenVec & GetDiscoveryTypes() const override
Returns the types of nodes that this plugin can parse.
USDSHADE_API SdrShaderNodeUniquePtr ParseShaderNode(const SdrShaderNodeDiscoveryResult &discoveryResult) override
Takes the specified SdrShaderNodeDiscoveryResult instance, which was a result of the discovery proces...
Represents the raw data of a node, and some other bits of metadata, that were determined via a SdrDis...
Parses shader definitions represented using USD scene description using the schemas provided by UsdSh...
Interface for parser plugins.
Definition: parserPlugin.h:109
USDSHADE_API const TfToken & GetShadingSystem() const override
Returns the shading system that this parser operates in.