#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.