class
Material
Material object that keeps material information used while rendering.
Properties
Property | Description |
---|---|
BlendMode | Material blend mode specifies which type of blend function to use to blend materials. The blend mode function will be used while blending layers during material casting. |
MaterialEvaluationShader | The material evaluation shader. |
MaterialGUID | The unique id for this node. |
MaterialType | The material type, used to specify which shader should be used to render the material. |
Name | The name of the Material object. (Inherited from Object) |
OpacityChannel | The name of the channel in the material to be used for Opacity or Transparency. This material property is primarily used in the scene exporters to correctly export opacity, and does *not* determine which channel to use for opacity when casting materials. The channel to be used for opacity during casting is controlled by a setting on the MaterialCaster objects. |
OpacityCutoff | The cutoff value for opacity when using mask blend mode. |
OpacityType | The opacity type determines how the opacity channel of this material is interpreted when casting. To make (0.0->1.0) map to (transparent-opaque), use 'Opacity'. To make (0.0->1.0) map to (opaque-transparent), use 'Transparency' |
UseTangentSpaceNormals | The UseTangentSpaceNormals flag. If set, the normal map has tangent space normals. |
Methods
Method | Description |
---|---|
AddMaterialChannel | Add a material channel. |
AddObserver | Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object) |
ChangeTexturePrefixPath | Changes the prefix path (drive, directory) of all matching texture paths in the material, with the new one. This method is useful when external textures are placed in a specific folder, which needs to be moved. |
ConvertHandedness | Converts parameters such as UVTiling and UVOffset in shading networks. |
GetClass | Get the name of the Material class. (Inherited from Object) |
GetMaterialChannelCount | Returns the number of material channels in the material. |
GetMaterialChannelFromIndex | Returns the name of a channel from the index. Note that by adding/removing channels the indices are changed, and this method should only be used for enumeration. |
GetMaterialChannels | Get all unique material channel names in the material. |
GetMaterialChannelsWithTextureInputs | Get all unique material channel names having texture inputs in the material. |
GetShadingNetwork | Get which shading network to use for the material channel. |
HasMaterialChannel | Check if the channel exists within the material. |
IsA | Returns true if Material is a or is a descendant of the class named as the type parameter. (Inherited from Object) |
IsIdenticalTo | Returns true if the material is setup identical to this material. |
IsNull | Returns true if the Material object is invalid. (Inherited from Object) |
IsSameObjectAs | Returns true if the Material object is valid. (Inherited from Object) |
IsTransparent | Returns true if the material *could* be transparent. In other words, returns true IF the BlendMode of the material is not set to opaque, AND there is a non-opaque shading network assigned to the opacity channel. This means materials set to BlendMode::Blend can still return false if they have an opacity channel set that is either empty, or constant and set to an opaque value. This can be used to split transparent and opaque materials before processing, or find materials marked as BlendMode::Blend that don't have to be. |
LoadShadingNetworkFromXML | Save shading network to XML. |
NonNull | Returns true if the Material object is valid. (Inherited from Object) |
PrintInfo | Prints the content/info of the Material object to the log. (Inherited from Object) |
RemoveMaterialChannel | Remove a material channel. |
RemoveObserver | Removes a previously added observer object. (Inherited from Object) |
SaveShadingNetworkToXML | Save shading network to XML. |
SetOpacityFromDiffuseAlpha | Maps the alpha component of the diffuse channel to all the RGBA components in the opacity channel (by using a swizzle node). |
SetShadingNetwork | Set which shading network to use for the material channel. |
Static methods
Method | Description |
---|---|
IsClassA | Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object) |
SafeCast | SafeCast makes sure the input object is of a class that can be cast into spMaterial, and if this is the case, returns the object cast into spMaterial. (Inherited from Object) |
Properties details
BlendMode
Material blend mode specifies which type of blend function to use to blend materials. The blend mode function will be used while blending layers during material casting.
MaterialEvaluationShader
The material evaluation shader.
MaterialGUID
The unique id for this node.
MaterialType
The material type, used to specify which shader should be used to render the material.
Name
The name of the Material object. (Inherited from Object)
OpacityChannel
The name of the channel in the material to be used for Opacity or Transparency. This material property is primarily used in the scene exporters to correctly export opacity, and does *not* determine which channel to use for opacity when casting materials. The channel to be used for opacity during casting is controlled by a setting on the MaterialCaster objects.
OpacityCutoff
The cutoff value for opacity when using mask blend mode.
OpacityType
The opacity type determines how the opacity channel of this material is interpreted when casting. To make (0.0->1.0) map to (transparent-opaque), use 'Opacity'. To make (0.0->1.0) map to (opaque-transparent), use 'Transparency'
UseTangentSpaceNormals
The UseTangentSpaceNormals flag. If set, the normal map has tangent space normals.
Methods details
AddMaterialChannel
Add a material channel.
AddObserver
Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
ChangeTexturePrefixPath
Changes the prefix path (drive, directory) of all matching texture paths in the material, with the new one. This method is useful when external textures are placed in a specific folder, which needs to be moved.
ConvertHandedness
Converts parameters such as UVTiling and UVOffset in shading networks.
GetClass
Get the name of the Material class. (Inherited from Object)
GetMaterialChannelCount
Returns the number of material channels in the material.
GetMaterialChannelFromIndex
Returns the name of a channel from the index. Note that by adding/removing channels the indices are changed, and this method should only be used for enumeration.
GetMaterialChannels
Get all unique material channel names in the material.
GetMaterialChannelsWithTextureInputs
Get all unique material channel names having texture inputs in the material.
GetShadingNetwork
Get which shading network to use for the material channel.
HasMaterialChannel
Check if the channel exists within the material.
IsA
Returns true if Material is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsIdenticalTo
Returns true if the material is setup identical to this material.
IsNull
Returns true if the Material object is invalid. (Inherited from Object)
IsSameObjectAs
Returns true if the Material object is valid. (Inherited from Object)
IsTransparent
Returns true if the material *could* be transparent. In other words, returns true IF the BlendMode of the material is not set to opaque, AND there is a non-opaque shading network assigned to the opacity channel. This means materials set to BlendMode::Blend can still return false if they have an opacity channel set that is either empty, or constant and set to an opaque value. This can be used to split transparent and opaque materials before processing, or find materials marked as BlendMode::Blend that don't have to be.
LoadShadingNetworkFromXML
Save shading network to XML.
NonNull
Returns true if the Material object is valid. (Inherited from Object)
PrintInfo
Prints the content/info of the Material object to the log. (Inherited from Object)
RemoveMaterialChannel
Remove a material channel.
RemoveObserver
Removes a previously added observer object. (Inherited from Object)
SaveShadingNetworkToXML
Save shading network to XML.
SetOpacityFromDiffuseAlpha
Maps the alpha component of the diffuse channel to all the RGBA components in the opacity channel (by using a swizzle node).
SetShadingNetwork
Set which shading network to use for the material channel.
Static methods details
IsClassA
Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCast
SafeCast makes sure the input object is of a class that can be cast into spMaterial, and if this is the case, returns the object cast into spMaterial. (Inherited from Object)