All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdShadeShader Class Reference

Base class for all USD shaders. More...

+ Inheritance diagram for UsdShadeShader:

Public Member Functions

 UsdShadeShader (const UsdPrim &prim=UsdPrim())
 Construct a UsdShadeShader on UsdPrim prim . More...
 
 UsdShadeShader (const UsdSchemaBase &schemaObj)
 Construct a UsdShadeShader on the prim held by schemaObj . More...
 
virtual USDSHADE_API ~UsdShadeShader ()
 Destructor. More...
 
USDSHADE_API UsdAttribute GetImplementationSourceAttr () const
 Specifies the attribute that should be consulted to get the shader's implementation or its source code. More...
 
USDSHADE_API UsdAttribute CreateImplementationSourceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetImplementationSourceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDSHADE_API UsdAttribute GetIdAttr () const
 The id is an identifier for the type or purpose of the shader. More...
 
USDSHADE_API UsdAttribute CreateIdAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetIdAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDSHADE_API UsdShadeShader (const UsdShadeConnectableAPI &connectable)
 Constructor that takes a ConnectableAPI object. More...
 
USDSHADE_API UsdShadeConnectableAPI ConnectableAPI () const
 Contructs and returns a UsdShadeConnectableAPI object with this shader. More...
 
USDSHADE_API SdrShaderNodeConstPtr GetShaderNodeForSourceType (const TfToken &sourceType) const
 This method attempts to ensure that there is a ShaderNode in the shader registry (i.e. More...
 
Outputs API

Outputs represent a typed attribute on a shader or node-graph whose value is computed externally.

When they exist on a node-graph, they are connectable and are typically connected to the output of a shader within the node-graph.

USDSHADE_API UsdShadeOutput CreateOutput (const TfToken &name, const SdfValueTypeName &typeName)
 Create an output which can either have a value or can be connected. More...
 
USDSHADE_API UsdShadeOutput GetOutput (const TfToken &name) const
 Return the requested output if it exists. More...
 
USDSHADE_API std::vector
< UsdShadeOutput
GetOutputs () const
 Outputs are represented by attributes in the "outputs:" namespace. More...
 
Inputs API

Inputs are connectable attribute with a typed value.

On shaders, the shader parameters are encoded as inputs. On node-graphs, interface attributes are represented as inputs.

USDSHADE_API UsdShadeInput CreateInput (const TfToken &name, const SdfValueTypeName &typeName)
 Create an input which can either have a value or can be connected. More...
 
USDSHADE_API UsdShadeInput GetInput (const TfToken &name) const
 Return the requested input if it exists. More...
 
USDSHADE_API std::vector
< UsdShadeInput
GetInputs () const
 Inputs are represented by attributes in the "inputs:" namespace. More...
 
Shader Source API

This section provides API for identifying the source of a shader's implementation.

USDSHADE_API TfToken GetImplementationSource () const
 Reads the value of info:implementationSource attribute and returns a token identifying the attribute that must be consulted to identify the shader's source program. More...
 
USDSHADE_API bool SetShaderId (const TfToken &id) const
 Sets the shader's ID value. More...
 
USDSHADE_API bool GetShaderId (TfToken *id) const
 Fetches the shader's ID value from the info:id attribute, if the shader's info:implementationSource is id. More...
 
USDSHADE_API bool SetSourceAsset (const SdfAssetPath &sourceAsset, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Sets the shader's source-asset path value to sourceAsset for the given source type, sourceType. More...
 
USDSHADE_API bool GetSourceAsset (SdfAssetPath *sourceAsset, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Fetches the shader's source asset value for the specified sourceType value from the info:sourceType:sourceAsset attribute, if the shader's info:implementationSource is sourceAsset. More...
 
USDSHADE_API bool SetSourceAssetSubIdentifier (const TfToken &subIdentifier, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Set a sub-identifier to be used with a source asset of the given source type. More...
 
USDSHADE_API bool GetSourceAssetSubIdentifier (TfToken *subIdentifier, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Fetches the shader's sub-identifier for the source asset with the specified sourceType value from the info:sourceType: sourceAsset:subIdentifier attribute, if the shader's info: implementationSource is sourceAsset. More...
 
USDSHADE_API bool SetSourceCode (const std::string &sourceCode, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Sets the shader's source-code value to sourceCode for the given source type, sourceType. More...
 
USDSHADE_API bool GetSourceCode (std::string *sourceCode, const TfToken &sourceType=UsdShadeTokens->universalSourceType) const
 Fetches the shader's source code for the specified sourceType value by reading the info:sourceType:sourceCode attribute, if the shader's info:implementationSource is sourceCode. More...
 
Shader Sdr Metadata API

This section provides API for authoring and querying shader registry metadata. When the shader's implementationSource is sourceAsset or sourceCode, the authored "sdrMetadata" dictionary value provides additional metadata needed to process the shader source correctly. It is used in combination with the sourceAsset or sourceCode value to fetch the appropriate node from the shader registry.

We expect the keys in sdrMetadata to correspond to the keys in SdrNodeMetadata. However, this is not strictly enforced in the API. The only allowed value type in the "sdrMetadata" dictionary is a std::string since it needs to be converted into a NdrTokenMap, which Sdr will parse using the utilities available in SdrMetadataHelpers.

USDSHADE_API NdrTokenMap GetSdrMetadata () const
 Returns this shader's composed "sdrMetadata" dictionary as a NdrTokenMap. More...
 
USDSHADE_API std::string GetSdrMetadataByKey (const TfToken &key) const
 Returns the value corresponding to key in the composed sdrMetadata dictionary. More...
 
USDSHADE_API void SetSdrMetadata (const NdrTokenMap &sdrMetadata) const
 Authors the given sdrMetadata on this shader at the current EditTarget. More...
 
USDSHADE_API void SetSdrMetadataByKey (const TfToken &key, const std::string &value) const
 Sets the value corresponding to key to the given string value, in the shader's "sdrMetadata" dictionary at the current EditTarget. More...
 
USDSHADE_API bool HasSdrMetadata () const
 Returns true if the shader has a non-empty composed "sdrMetadata" dictionary value. More...
 
USDSHADE_API bool HasSdrMetadataByKey (const TfToken &key) const
 Returns true if there is a value corresponding to the given key in the composed "sdrMetadata" dictionary. More...
 
USDSHADE_API void ClearSdrMetadata () const
 Clears any "sdrMetadata" value authored on the shader in the current EditTarget. More...
 
USDSHADE_API void ClearSdrMetadataByKey (const TfToken &key) const
 Clears the entry corresponding to the given key in the "sdrMetadata" dictionary authored in the current EditTarget. More...
 
- Public Member Functions inherited from UsdTyped
 UsdTyped (const UsdPrim &prim=UsdPrim())
 Construct a UsdTyped on UsdPrim prim . More...
 
 UsdTyped (const UsdSchemaBase &schemaObj)
 Construct a UsdTyped on the prim wrapped by schemaObj . More...
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 Returns whether or not this class corresponds to a concrete instantiable prim type in scene description. More...
 
bool IsTyped () const
 Returns whether or not this class inherits from UsdTyped. More...
 
bool IsAPISchema () const
 Returns whether this is an API schema or not. More...
 
bool IsAppliedAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
bool IsMultipleApplyAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
UsdSchemaType GetSchemaType () const
 
USD_API UsdSchemaBase (const UsdPrim &prim=UsdPrim())
 Construct and store prim as the held prim. More...
 
USD_API UsdSchemaBase (const UsdSchemaBase &otherSchema)
 Construct and store for the same prim held by otherSchema. More...
 
virtual USD_API ~UsdSchemaBase ()
 Destructor. More...
 
USD_API operator bool () const
 Return true if this schema object is compatible with its held prim, false otherwise. More...
 
UsdPrim GetPrim () const
 Return this schema object's held prim. More...
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath(). More...
 
USD_API const UsdPrimDefinitionGetSchemaClassPrimDefinition () const
 Return the prim definition associated with this schema instance if one exists, otherwise return null. More...
 

Static Public Member Functions

static USDSHADE_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDSHADE_API UsdShadeShader Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdShadeShader holding the prim adhering to this schema at path on stage. More...
 
static USDSHADE_API UsdShadeShader Define (const UsdStagePtr &stage, const SdfPath &path)
 Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage. More...
 
- Static Public Member Functions inherited from UsdTyped
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USD_API UsdTyped Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdTyped holding the prim adhering to this schema at path on stage. More...
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdTyped
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 

Protected Member Functions

USDSHADE_API UsdSchemaType _GetSchemaType () const override
 Returns the type of schema this class belongs to. More...
 
- Protected Member Functions inherited from UsdTyped
USD_API bool _IsCompatible () const override
 Subclasses may override _IsCompatible to do specific compatibility checking with the given prim, such as type compatibility or value compatibility. More...
 
- Protected Member Functions inherited from UsdSchemaBase
const TfType_GetType () const
 
USD_API UsdAttribute _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const
 

Friends

class UsdSchemaRegistry
 

Detailed Description

Base class for all USD shaders.

Shaders are the building blocks of shading networks. While UsdShadeShader objects are not target specific, each renderer or application target may derive its own renderer-specific shader object types from this base, if needed.

Objects of this class generally represent a single shading object, whether it exists in the target renderer or not. For example, a texture, a fractal, or a mix node.

The main property of this class is the info:id token, which uniquely identifies the type of this node. The id resolution into a renderable shader target is deferred to the consuming application.

The purpose of representing them in Usd is two-fold:

  • To represent, via "connections" the topology of the shading network that must be reconstructed in the renderer. Facilities for authoring and manipulating connections are encapsulated in the Has-A schema UsdShadeConnectableAPI.
  • To present a (partial or full) interface of typed input parameters whose values can be set and overridden in Usd, to be provided later at render-time as parameter values to the actual render shader objects. Shader input parameters are encapsulated in the property schema UsdShadeInput.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdShadeTokens. So to set an attribute to the value "rightHanded", use UsdShadeTokens->rightHanded as the value.

Definition at line 89 of file shader.h.

Constructor & Destructor Documentation

UsdShadeShader ( const UsdPrim prim = UsdPrim())
inlineexplicit

Construct a UsdShadeShader on UsdPrim prim .

Equivalent to UsdShadeShader::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 101 of file shader.h.

UsdShadeShader ( const UsdSchemaBase schemaObj)
inlineexplicit

Construct a UsdShadeShader on the prim held by schemaObj .

Should be preferred over UsdShadeShader(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 109 of file shader.h.

virtual USDSHADE_API ~UsdShadeShader ( )
virtual

Destructor.

USDSHADE_API UsdShadeShader ( const UsdShadeConnectableAPI connectable)

Constructor that takes a ConnectableAPI object.

Allow implicit (auto) conversion of UsdShadeShader to UsdShadeConnectableAPI, so that a shader can be passed into any function that accepts a ConnectableAPI.

Member Function Documentation

USDSHADE_API UsdSchemaType _GetSchemaType ( ) const
overrideprotectedvirtual

Returns the type of schema this class belongs to.

See Also
UsdSchemaType

Reimplemented from UsdSchemaBase.

USDSHADE_API void ClearSdrMetadata ( ) const

Clears any "sdrMetadata" value authored on the shader in the current EditTarget.

USDSHADE_API void ClearSdrMetadataByKey ( const TfToken key) const

Clears the entry corresponding to the given key in the "sdrMetadata" dictionary authored in the current EditTarget.

USDSHADE_API UsdShadeConnectableAPI ConnectableAPI ( ) const

Contructs and returns a UsdShadeConnectableAPI object with this shader.

Note that most tasks can be accomplished without explicitly constructing a UsdShadeConnectable API, since connection-related API such as UsdShadeConnectableAPI::ConnectToSource() are static methods, and UsdShadeShader will auto-convert to a UsdShadeConnectableAPI when passed to functions that want to act generically on a connectable UsdShadeConnectableAPI object.

USDSHADE_API UsdAttribute CreateIdAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetIdAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDSHADE_API UsdAttribute CreateImplementationSourceAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetImplementationSourceAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDSHADE_API UsdShadeInput CreateInput ( const TfToken name,
const SdfValueTypeName typeName 
)

Create an input which can either have a value or can be connected.

The attribute representing the input is created in the "inputs:" namespace. Inputs on both shaders and node-graphs are connectable.

USDSHADE_API UsdShadeOutput CreateOutput ( const TfToken name,
const SdfValueTypeName typeName 
)

Create an output which can either have a value or can be connected.

The attribute representing the output is created in the "outputs:" namespace. Outputs on a shader cannot be connected, as their value is assumed to be computed externally.

static USDSHADE_API UsdShadeShader Define ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema's prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget's namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

static USDSHADE_API UsdShadeShader Get ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Return a UsdShadeShader holding the prim adhering to this schema at path on stage.

If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

* UsdShadeShader(stage->GetPrimAtPath(path));
*
USDSHADE_API UsdAttribute GetIdAttr ( ) const

The id is an identifier for the type or purpose of the shader.

E.g.: Texture or FractalFloat. The use of this id will depend on the render target: some will turn it into an actual shader path, some will use it to generate shader source code dynamically.

See Also
SetShaderId()
Declaration uniform token info:id
C++ Type TfToken
Usd Type SdfValueTypeNames->Token
Variability SdfVariabilityUniform
USDSHADE_API TfToken GetImplementationSource ( ) const

Reads the value of info:implementationSource attribute and returns a token identifying the attribute that must be consulted to identify the shader's source program.

This returns

  • id, to indicate that the "info:id" attribute must be consulted.
  • sourceAsset to indicate that the asset-valued "info:{sourceType}:sourceAsset" attribute associated with the desired sourceType should be consulted to locate the asset with the shader's source.
  • sourceCode to indicate that the string-valued "info:{sourceType}:sourceCode" attribute associated with the desired sourceType should be read to get shader's source.

This issues a warning and returns id if the info:implementationSource attribute has an invalid value.

{sourceType} above is a place holder for a token that identifies the type of shader source or its implementation. For example: osl, glslfx, riCpp etc. This allows a shader to specify different sourceAsset (or sourceCode) values for different sourceTypes. The sourceType tokens usually correspond to the sourceType value of the NdrParserPlugin that's used to parse the shader source (NdrParserPlugin::SourceType).

When sourceType is empty, the corresponding sourceAsset or sourceCode is considered to be "universal" (or fallback), which is represented by the empty-valued token UsdShadeTokens->universalSourceType. When the sourceAsset (or sourceCode) corresponding to a specific, requested sourceType is unavailable, the universal sourceAsset (or sourceCode) is returned by GetSourceAsset (and GetSourceCode} API, if present.

See Also
GetShaderId()
GetSourceAsset()
GetSourceCode()
USDSHADE_API UsdAttribute GetImplementationSourceAttr ( ) const

Specifies the attribute that should be consulted to get the shader's implementation or its source code.

  • If set to "id", the "info:id" attribute's value is used to determine the shader source from the shader registry.
  • If set to "sourceAsset", the resolved value of the "info:sourceAsset" attribute corresponding to the desired implementation (or source-type) is used to locate the shader source. A source asset file may also specify multiple shader definitions, so there is an optional attribute "info:sourceAsset:subIdentifier" whose value should be used to indicate a particular shader definition from a source asset file.
  • If set to "sourceCode", the value of "info:sourceCode" attribute corresponding to the desired implementation (or source type) is used as the shader source.
Declaration uniform token info:implementationSource = "id"
C++ Type TfToken
Usd Type SdfValueTypeNames->Token
Variability SdfVariabilityUniform
Allowed Values id, sourceAsset, sourceCode
USDSHADE_API UsdShadeInput GetInput ( const TfToken name) const

Return the requested input if it exists.

USDSHADE_API std::vector<UsdShadeInput> GetInputs ( ) const

Inputs are represented by attributes in the "inputs:" namespace.

USDSHADE_API UsdShadeOutput GetOutput ( const TfToken name) const

Return the requested output if it exists.

USDSHADE_API std::vector<UsdShadeOutput> GetOutputs ( ) const

Outputs are represented by attributes in the "outputs:" namespace.

static USDSHADE_API const TfTokenVector& GetSchemaAttributeNames ( bool  includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

USDSHADE_API NdrTokenMap GetSdrMetadata ( ) const

Returns this shader's composed "sdrMetadata" dictionary as a NdrTokenMap.

USDSHADE_API std::string GetSdrMetadataByKey ( const TfToken key) const

Returns the value corresponding to key in the composed sdrMetadata dictionary.

USDSHADE_API bool GetShaderId ( TfToken id) const

Fetches the shader's ID value from the info:id attribute, if the shader's info:implementationSource is id.

Returns true if the shader's implementation source is id and the value was fetched properly into id. Returns false otherwise.

See Also
GetImplementationSource()
USDSHADE_API SdrShaderNodeConstPtr GetShaderNodeForSourceType ( const TfToken sourceType) const

This method attempts to ensure that there is a ShaderNode in the shader registry (i.e.

SdrRegistry) representing this shader for the given sourceType. It may return a null pointer if none could be found or created.

USDSHADE_API bool GetSourceAsset ( SdfAssetPath sourceAsset,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Fetches the shader's source asset value for the specified sourceType value from the info:sourceType:sourceAsset attribute, if the shader's info:implementationSource is sourceAsset.

If the sourceAsset attribute corresponding to the requested sourceType isn't present on the shader, then the universal fallback sourceAsset attribute, i.e. info:sourceAsset is consulted, if present, to get the source asset path.

Returns true if the shader's implementation source is sourceAsset and the source asset path value was fetched successfully into sourceAsset. Returns false otherwise.

See Also
GetImplementationSource()
USDSHADE_API bool GetSourceAssetSubIdentifier ( TfToken subIdentifier,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Fetches the shader's sub-identifier for the source asset with the specified sourceType value from the info:sourceType: sourceAsset:subIdentifier attribute, if the shader's info: implementationSource is sourceAsset.

If the subIdentifier attribute corresponding to the requested sourceType isn't present on the shader, then the universal fallback sub-identifier attribute, i.e. info:sourceAsset: subIdentifier is consulted, if present, to get the sub-identifier name.

Returns true if the shader's implementation source is sourceAsset and the sub-identifier for the given source type was fetched successfully into subIdentifier. Returns false otherwise.

USDSHADE_API bool GetSourceCode ( std::string *  sourceCode,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Fetches the shader's source code for the specified sourceType value by reading the info:sourceType:sourceCode attribute, if the shader's info:implementationSource is sourceCode.

If the sourceCode attribute corresponding to the requested sourceType isn't present on the shader, then the universal or fallback sourceCode attribute (i.e. info:sourceCode) is consulted, if present, to get the source code.

Returns true if the shader's implementation source is sourceCode and the source code string was fetched successfully into sourceCode. Returns false otherwise.

See Also
GetImplementationSource()
USDSHADE_API bool HasSdrMetadata ( ) const

Returns true if the shader has a non-empty composed "sdrMetadata" dictionary value.

USDSHADE_API bool HasSdrMetadataByKey ( const TfToken key) const

Returns true if there is a value corresponding to the given key in the composed "sdrMetadata" dictionary.

USDSHADE_API void SetSdrMetadata ( const NdrTokenMap &  sdrMetadata) const

Authors the given sdrMetadata on this shader at the current EditTarget.

USDSHADE_API void SetSdrMetadataByKey ( const TfToken key,
const std::string &  value 
) const

Sets the value corresponding to key to the given string value, in the shader's "sdrMetadata" dictionary at the current EditTarget.

USDSHADE_API bool SetShaderId ( const TfToken id) const

Sets the shader's ID value.

This also sets the info:implementationSource attribute on the shader to UsdShadeTokens->id, if the existing value is different.

USDSHADE_API bool SetSourceAsset ( const SdfAssetPath sourceAsset,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Sets the shader's source-asset path value to sourceAsset for the given source type, sourceType.

This also sets the info:implementationSource attribute on the shader to UsdShadeTokens->sourceAsset.

USDSHADE_API bool SetSourceAssetSubIdentifier ( const TfToken subIdentifier,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Set a sub-identifier to be used with a source asset of the given source type.

This sets the info:sourceType:sourceAsset:subIdentifier .

This also sets the info:implementationSource attribute on the shader to UsdShadeTokens->sourceAsset

USDSHADE_API bool SetSourceCode ( const std::string &  sourceCode,
const TfToken sourceType = UsdShadeTokens->universalSourceType 
) const

Sets the shader's source-code value to sourceCode for the given source type, sourceType.

This also sets the info:implementationSource attribute on the shader to UsdShadeTokens->sourceCode.

Member Data Documentation

const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped
static

Compile time constant representing what kind of schema this class is.

See Also
UsdSchemaType

Definition at line 95 of file shader.h.


The documentation for this class was generated from the following file: