#include <Schema.h>
|
|
typedef Schema *(* | PluginBuilder) (void) |
| | Constructor method definition used for 'build()' methods in plugins.
|
| |
|
|
| SchemaDescription (const char *schema_name, PluginBuilder builder) |
| |
|
const char * | schemaName () const |
| | Name of the shader class without any leading pluginPrefix() or trailing pluginSuffix().
|
| |
|
const Token & | schemaBaseType () const |
| | Name of base schema type - 'UsgSchema', 'UsgShader', etc.
|
| |
|
const TokenSet & | sourceTypes () const |
| | Set of type names this description will produce. Assigned by querying getSchemaTypes() on Schema instance.
|
| |
|
const SchemaDescHandle * | registryNode () const |
| | Pointer to singleton shader node stored in registry, searching for it if this is the first time.
|
| |
|
const std::string & | registryIdentifier () const |
| | Unique identifier used for registry retrieval.
|
| |
This structure creates a subclass of Schema, possibly from loading a plugin file or a compiled-in SchemaDescription.
◆ pluginPrefix()
| static const char * usg::SchemaDescription::pluginPrefix |
( |
| ) |
|
|
inlinestatic |
◆ find()
| static const SchemaDescription * usg::SchemaDescription::find |
( |
const char * |
schema_name | ) |
|
|
static |
Find a dso description by Schema name.
If a SchemaDescription already exists it's immediately returned otherwise pluginPrefix() and pluginSuffix() are added to the schemaName() string to search for the plugin .so filename.
Returns nullptr if not found.
◆ getRegistryIdentifier()
| static const SchemaDescription * usg::SchemaDescription::getRegistryIdentifier |
( |
const std::string & |
identifier | ) |
|
|
static |
Find a dso description by shader registry unique identifier string. If it's not already in the registry null is returned and a plugin search is NOT performed.