|
FnUsdAbstractionLib 15.0.8
|
ShaderSchema class creates ShaderDesc definitions stored in the registry. More...
#include <ShaderSchema.h>
Public Member Functions | |
| ShaderSchema (const SchemaDescription &pluginDescription, const ShaderPropertyArray &properties, const fdk::KeyValueMap &metadata=fdk::KeyValueMap()) | |
| const Token & | baseTypeName () const override |
| Return a string indicating this is a ShaderSchema. | |
| ShaderSchema * | asShaderSchema () override |
| Used to cast a Schema to a ShaderSchema. | |
| virtual CoShaderSchema * | asCoShader () |
| Used to cast a ShaderSchema to a CoShaderSchema. | |
| virtual SurfaceShaderSchema * | asSurfaceShader () |
| Used to cast a ShaderSchema to a SurfaceShaderSchema. | |
| virtual LightShaderSchema * | asLightShader () |
| Used to cast a ShaderSchema to a LightShaderSchema. | |
| virtual VolumeShaderSchema * | asVolumeShader () |
| Used to cast a ShaderSchema to a VolumeShaderSchema. | |
| virtual const std::string & | sourceCode (const Token &sourceType) const |
| virtual bool | sourceCode (ShaderSource &shaderSource) const |
| virtual const ShaderPropertyArray & | shaderProperties () const |
| Return the input/output shader properties. | |
Public Member Functions inherited from usg::Schema | |
| Schema (const SchemaDescription &pluginDescription, const SchemaPropertyArray &properties, const fdk::KeyValueMap &metadata=fdk::KeyValueMap()) | |
| virtual | ~Schema () |
| Dtor in implementation required for std::unique_ptr to work. | |
| virtual const Token & | baseTypeName () const |
| virtual void | getSourceTypes (TokenSet &types) const |
| virtual ShaderSchema * | asShaderSchema () |
Additional Inherited Members | |
Static Public Member Functions inherited from usg::Schema | |
| static const SchemaDescription * | find (const char *schema_name) |
| Find a SchemaDescription by schema name and optional source-type - NOT the plugin .so filename! | |
Static Protected Member Functions inherited from usg::Schema | |
| static Schema * | create (const char *schema_name) |
Protected Attributes inherited from usg::Schema | |
| std::unique_ptr< ShaderSchemaHandle > | _pImpl |
ShaderSchema class creates ShaderDesc definitions stored in the registry.
| usg::ShaderSchema::ShaderSchema | ( | const SchemaDescription & | pluginDescription, |
| const ShaderPropertyArray & | properties, | ||
| const fdk::KeyValueMap & | metadata = fdk::KeyValueMap() |
||
| ) |
The shader class name is taken from the ShaderSchemaDescription::schemaName(), so the subclass must pass its ShaderSchemaDescription.
|
inlineoverridevirtual |
Return a string indicating this is a ShaderSchema.
Reimplemented from usg::Schema.
|
inlineoverridevirtual |
Used to cast a Schema to a ShaderSchema.
Reimplemented from usg::Schema.
|
inlinevirtual |
Used to cast a ShaderSchema to a CoShaderSchema.
Reimplemented in usg::CoShaderSchema.
|
inlinevirtual |
Used to cast a ShaderSchema to a SurfaceShaderSchema.
Reimplemented in usg::SurfaceShaderSchema.
|
inlinevirtual |
Used to cast a ShaderSchema to a LightShaderSchema.
Reimplemented in usg::LightShaderSchema.
|
virtual |
Return the implementation code string for a specific sourceType when the shader is the single shader in a material network. Subclass should have already declared the type in its list of supported types, so if there are multiple sources the type string should be checked.
|
virtual |
Creates the source code for the shader for a specific target (e.g. glslfx). Returns true if the target is supported.
| ©2025 The Foundry Visionmongers, Ltd. All Rights Reserved. |