|
| AZ_TYPE_INFO (MaterialPropertyDescriptor, "{FC440E30-297E-4827-A28E-ED35AF1719AF}") |
|
MaterialPropertyDataType | GetDataType () const |
|
AZ::TypeId | GetAssetDataTypeId () const |
| Returns the TypeId that is used within assets for this material property.
|
|
AZ::TypeId | GetStorageDataTypeId () const |
| Returns the TypeId that is used to store values for this material property.
|
|
uint32_t | GetEnumValue (const AZ::Name &enumName) const |
|
const AZ::Name & | GetEnumName (uint32_t enumValue) const |
| Returns the name of the enum from its index. An empty name is returned for an invalid id.
|
|
const Name & | GetName () const |
| Returns the unique name ID of this property.
|
|
const OutputList & | GetOutputConnections () const |
| Returns the list of shader setting the property is directly connected to.
|
|
A material property is any data input to a material, like a bool, float, Vector, Image, Buffer, etc. This descriptor defines a single input property, including it's name ID, and how it maps to the shader system.
Each property can be directly connected to various outputs like ShaderResourceGroup fields, shader variant options, etc. In most cases there will be a single output connection, but multiple connections are possible. Alternatively, the property may not have any direct connections and would be processed by a custom material functor instead (see MaterialFunctor.h). Note that having direct output connections does not preclude the use of a functor; a property with a direct connection may also be processed by a material functor for additional indirect handling.