|
FnUsdAbstractionLib 15.2.7
|
ShaderSchema class creates ShaderDesc definitions stored in the registry. More...
#include <ShaderSchema.h>
Public Member Functions | |
| ShaderSchema (const SchemaDescription &pluginDescription, const ShaderPropertyList &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 void | sourceCode (ShaderSource &shaderSource) const |
| virtual const ShaderPropertyList & | shaderProperties () const |
| Return the input/output shader properties. | |
Public Member Functions inherited from usg::Schema | |
| Schema (const SchemaDescription &pluginDescription, const SchemaPropertyList &properties, const fdk::KeyValueMap &metadata=fdk::KeyValueMap()) | |
| const char * | schemaName () const |
| Name of the shader class without any leading pluginPrefix() or trailing pluginSuffix(). | |
| 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, void(*)(ShaderSchemaHandle *)> | _pImpl |
ShaderSchema class creates ShaderDesc definitions stored in the registry.
| usg::ShaderSchema::ShaderSchema | ( | const SchemaDescription & | pluginDescription, |
| const ShaderPropertyList & | 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) using the ShaderSource generator previously created via shaderSourceGenerator(). If a ShaderSource generator was not created by the shader for the requested source type then this method is never called. Default implementation does nothing.
| ©2025 The Foundry Visionmongers, Ltd. All Rights Reserved. |