// // Copyright 2016 Pixar // // Licensed under the Apache License, Version 2.0 (the "Apache License") // with the following modification; you may not use this file except in // compliance with the Apache License and the following modification to it: // Section 6. Trademarks. is deleted and replaced with: // // 6. Trademarks. This License does not grant permission to use the trade // names, trademarks, service marks, or product names of the Licensor // and its affiliates, except as required to comply with Section 4(c) of // the License and to reproduce the content of the NOTICE file. // // You may obtain a copy of the Apache License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the Apache License with the above modification is // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the Apache License for the specific // language governing permissions and limitations under the Apache License. // #ifndef USDSHADE_TOKENS_H #define USDSHADE_TOKENS_H /// \file usdShade/tokens.h // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX // // This is an automatically generated file (by usdGenSchema.py). // Do not hand-edit! // // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #include "pxr/pxr.h" #include "pxr/usd/usdShade/api.h" #include "pxr/base/tf/staticData.h" #include "pxr/base/tf/token.h" #include PXR_NAMESPACE_OPEN_SCOPE /// \class UsdShadeTokensType /// /// \link UsdShadeTokens \endlink provides static, efficient /// \link TfToken TfTokens\endlink for use in all public USD API. /// /// These tokens are auto-generated from the module's schema, representing /// property names, for when you need to fetch an attribute or relationship /// directly by name, e.g. UsdPrim::GetAttribute(), in the most efficient /// manner, and allow the compiler to verify that you spelled the name /// correctly. /// /// UsdShadeTokens also contains all of the \em allowedTokens values /// declared for schema builtin attributes of 'token' scene description type. /// Use UsdShadeTokens like so: /// /// \code /// gprim.GetMyTokenValuedAttr().Set(UsdShadeTokens->allPurpose); /// \endcode struct UsdShadeTokensType { USDSHADE_API UsdShadeTokensType(); /// \brief "" /// /// Possible value for the 'materialPurpose' parameter in the various methods available in UsdShadeMaterialBindingAPI. Its value is empty and its purpose is to represent a general purpose material-binding that applies in the absence of a specific-purpose binding. const TfToken allPurpose; /// \brief "bindMaterialAs" /// /// Token valued metadata key authored on a material binding relationship to indicate the strength of the binding relative to bindings authored on descendants. const TfToken bindMaterialAs; /// \brief "coordSys:" /// /// Namespace prefix for relationships that bind coordinate systems. const TfToken coordSys; /// \brief "displacement" /// /// Describes the displacement output terminal on a UsdShadeMaterial. It is used to define the terminal UsdShadeShader describing the displacement of a UsdShadeMaterial. const TfToken displacement; /// \brief "fallbackStrength" /// /// Sentinal value to be used for 'bindMaterialAs' metadata's default value. Clients should pass this in for the 'bindingStrength' argument to UsdShadeMaterialBindingAPI::Bind(), if they want to author the default value (weakerThanDescendants) sparsely. The value "fallbackStrength" never gets authored into scene description. const TfToken fallbackStrength; /// \brief "full" /// /// Possible value for 'connectability' metadata on a UsdShadeInput. When connectability of an input is set to "full", it implies that it can be connected to any input or output. , Possible value for the 'materialPurpose' parameter in UsdShadeMaterialBindingAPI, to be used when the purpose of the render is entirely about visualizing the truest representation of a scene, considering all lighting and material information, at highest fidelity. const TfToken full; /// \brief "id" /// /// Possible value for UsdShadeShader::GetInfoImplementationSourceAttr(), Default value for UsdShadeShader::GetInfoImplementationSourceAttr() const TfToken id; /// \brief "info:id" /// /// UsdShadeShader const TfToken infoId; /// \brief "info:implementationSource" /// /// UsdShadeShader const TfToken infoImplementationSource; /// \brief "inputs:" /// /// The prefix on shading attributes denoting an input. const TfToken inputs; /// \brief "interfaceOnly" /// /// Possible value for 'connectability' metadata on a UsdShadeInput. It implies that the input can only connect to a NodeGraph Input (which represents an interface override, not a render-time dataflow connection), or another Input whose connectability is also 'interfaceOnly'. const TfToken interfaceOnly; /// \brief "materialBind" /// /// The name of the GeomSubset family used to identify face subsets defined for the purpose of binding materials to facesets. const TfToken materialBind; /// \brief "material:binding" /// /// The relationship name on non-shading prims to denote a binding to a UsdShadeMaterial. const TfToken materialBinding; /// \brief "material:binding:collection" /// /// The relationship name on non-shading prims to denote a collection-based binding to a UsdShadeMaterial. const TfToken materialBindingCollection; /// \brief "materialVariant" /// /// The variant name of material variation described on a UsdShadeMaterial. const TfToken materialVariant; /// \brief "outputs:" /// /// The prefix on shading attributes denoting an output. const TfToken outputs; /// \brief "outputs:displacement" /// /// UsdShadeMaterial const TfToken outputsDisplacement; /// \brief "outputs:surface" /// /// UsdShadeMaterial const TfToken outputsSurface; /// \brief "outputs:volume" /// /// UsdShadeMaterial const TfToken outputsVolume; /// \brief "preview" /// /// Possible value for the 'materialPurpose' parameter in UsdShadeMaterialBindingAPI, to be used when the render is in service of a goal other than a high fidelity "full" render (such as scene manipulation, modeling, or realtime playback). Latency and speed are generally of greater concern for preview renders, therefore preview materials are generally designed to be "lighterweight" compared to full materials. const TfToken preview; /// \brief "sdrMetadata" /// /// Dictionary valued metadata key authored on Shader prims with implementationSource value of sourceAsset or sourceCode to pass along metadata to the shader parser or compiler. It is also used to author metadata on shader properties in a UsdShade-based shader definition file. const TfToken sdrMetadata; /// \brief "sourceAsset" /// /// Possible value for UsdShadeShader::GetInfoImplementationSourceAttr() const TfToken sourceAsset; /// \brief "sourceCode" /// /// Possible value for UsdShadeShader::GetInfoImplementationSourceAttr() const TfToken sourceCode; /// \brief "strongerThanDescendants" /// /// Possible value for 'bindMaterialAs' metadata on the collection-based material binding relationship. Indicates that the binding represented by the relationship is stronger than any bindings authored on the descendants. const TfToken strongerThanDescendants; /// \brief "subIdentifier" /// /// This identifier is used in conjunction with a specific source asset to indicate a particular definition within the source asset, if the source asset specifies more than one shader node definition. const TfToken subIdentifier; /// \brief "surface" /// /// Describes the surface output terminal on a UsdShadeMaterial. It is used to define the terminal UsdShadeShader describing the surface of a UsdShadeMaterial. const TfToken surface; /// \brief "" /// /// Possible value for the "renderContext" parameter in \ref UsdShadeMaterial_Outputs API. Represents the universal renderContext. An output with a universal renderContext is applicable to all possible rendering contexts. const TfToken universalRenderContext; /// \brief "" /// /// Possible value for the "sourceType" parameter in \ref UsdShadeShader_ImplementationSource API. Represents the universal or fallback source type. const TfToken universalSourceType; /// \brief "volume" /// /// Describes the volume output terminal on a UsdShadeMaterial. It is used to define the terminal UsdShadeShader describing the volume of a UsdShadeMaterial. const TfToken volume; /// \brief "weakerThanDescendants" /// /// Possible value for 'bindMaterialAs' metadata on the collection-based material binding relationship. Indicates that the binding represented by the relationship is weaker than any bindings authored on the descendants. const TfToken weakerThanDescendants; /// A vector of all of the tokens listed above. const std::vector allTokens; }; /// \var UsdShadeTokens /// /// A global variable with static, efficient \link TfToken TfTokens\endlink /// for use in all public USD API. \sa UsdShadeTokensType extern USDSHADE_API TfStaticData UsdShadeTokens; PXR_NAMESPACE_CLOSE_SCOPE #endif