Skip to content
On this page

class NormalCasterSettings ​

NormalCasterSettings is the interface used to manage settings for a normal caster

Properties ​

PropertyDescription
CalculateBitangentPerFragmentIf set, the normal caster calculates the bitangent used for encoding per-fragment using the normal, tangent and bitangent sign instead of interpolating the actual bitangent vertex data. This needs to match the behavior of the renderer to not produce rendering artifacts.
DilationThe Dilation value. Where applicable, such as colors and normals, the caster will fill empty pixels surrounding filled pixels with values mixed from the filled ones. This setting sets how many pixels to fill outside the original filled pixels. (Inherited from MaterialCasterSettings)
DitherTypeThe type of dithering to use when creating the output object. (Inherited from MaterialCasterSettings)
FillModeThe fill mode determines what to do with the pixels that remain unfilled after both the casting and dilation has been performed. Options are: None = Do not fill remaining pixels Interpolate = linearly interpolate the closest samples NearestNeighbor = use the closest available pixel value without interpolation. (Inherited from MaterialCasterSettings)
FlipBackfacingModeIf FlipBackfacingNormals is on, this decides which source normal we should compare the destination normal with when deciding if the normal is back-facing or not. Changing this to FaceNormal can be beneficial for two-sided assets like leaves that can get weirdly flipped pixel normals with the default setting. When using the FaceNormal option together with transparency the front-most layer with an opacity of above 50% will be used.
FlipBackfacingNormalsIf set, then normals will be flipped if they are back facing, i.e. pointing into the surface. This may introduce artifacts on geometries that have correctly facing normals, so only use for geometries with known back-facing normals.
FlipGreenIf set, the green channel is assumed to point along the negative bitangent instead of the positive. This is roughly equivalent to switching between left- and righthanded, but some rounding may differ.
GenerateTangentSpaceNormalsIf set, then the generated normal map will be in tangent space. Please note that the geometry casted to must contain tangent space fields.
MaterialChannelThe name of the input material channel to cast. Existing user channels of any arbitrary name in the input materials can be cast. (Inherited from MaterialCasterSettings)
NameThe name of the NormalCasterSettings object. (Inherited from Object)
NormalizeInterpolatedTangentSpaceIf set, the normal caster normalizes the normal and tangent data used for encoding after interpolation. This needs to match the behavior of the renderer to not produce rendering artifacts.
OpacityChannelThe name of the input opacity channel to use for combining layers in most casters and casting opacity in the opacitycaster. User channels of any arbitrary name can be used. If the caster is run through a Pipeline object, the OpacityChannel set here will also be set as the output materials OpacityChannel property. (Inherited from MaterialCasterSettings)
OpacityChannelComponentThe component in the opacity channel to use as opacity value. (Inherited from MaterialCasterSettings)
OutputDDSCompressionTypeDDS compression if output format is DDS. (Inherited from MaterialCasterSettings)
OutputImageFileFormatFile format for output texture. (Inherited from MaterialCasterSettings)
OutputPixelFormatThe output pixel format (Inherited from MaterialCasterSettings)
UseMultisamplingEnable or disable multisampling. (Inherited from MaterialCasterSettings)

Methods ​

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameterGet a named parameter boolean value. (Inherited from SettingsObject)
GetClassGet the name of the NormalCasterSettings class. (Inherited from Object)
GetDoubleParameterGet a named parameter floating point value. (Inherited from SettingsObject)
GetErrorStringReturns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameterGet a named parameter integer value. (Inherited from SettingsObject)
GetStringParameterGet a named parameter string value. (Inherited from SettingsObject)
GetUIntParameterGet a named parameter unsigned integer value. (Inherited from SettingsObject)
IsAReturns true if NormalCasterSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the NormalCasterSettings object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the NormalCasterSettings object is valid. (Inherited from Object)
NonNullReturns true if the NormalCasterSettings object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the NormalCasterSettings object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetBoolParameterSet a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameterSet a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameterSet a named parameter integer value. (Inherited from SettingsObject)
SetStringParameterSet a named parameter string value. (Inherited from SettingsObject)
SetUIntParameterSet a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNamesSet if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled. (Inherited from SettingsObject)
ToJSONGet settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettingsValidates the current settings values. (Inherited from SettingsObject)

Static methods ​

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast makes sure the input object is of a class that can be cast into spNormalCasterSettings, and if this is the case, returns the object cast into spNormalCasterSettings. (Inherited from Object)

Properties details ​

CalculateBitangentPerFragment ​

If set, the normal caster calculates the bitangent used for encoding per-fragment using the normal, tangent and bitangent sign instead of interpolating the actual bitangent vertex data. This needs to match the behavior of the renderer to not produce rendering artifacts.

Dilation ​

The Dilation value. Where applicable, such as colors and normals, the caster will fill empty pixels surrounding filled pixels with values mixed from the filled ones. This setting sets how many pixels to fill outside the original filled pixels.

DitherType ​

The type of dithering to use when creating the output object.

FillMode ​

The fill mode determines what to do with the pixels that remain unfilled after both the casting and dilation has been performed. Options are: None = Do not fill remaining pixels Interpolate = linearly interpolate the closest samples NearestNeighbor = use the closest available pixel value without interpolation.

FlipBackfacingMode ​

If FlipBackfacingNormals is on, this decides which source normal we should compare the destination normal with when deciding if the normal is back-facing or not. Changing this to FaceNormal can be beneficial for two-sided assets like leaves that can get weirdly flipped pixel normals with the default setting. When using the FaceNormal option together with transparency the front-most layer with an opacity of above 50% will be used.

FlipBackfacingNormals ​

If set, then normals will be flipped if they are back facing, i.e. pointing into the surface. This may introduce artifacts on geometries that have correctly facing normals, so only use for geometries with known back-facing normals.

FlipGreen ​

If set, the green channel is assumed to point along the negative bitangent instead of the positive. This is roughly equivalent to switching between left- and righthanded, but some rounding may differ.

GenerateTangentSpaceNormals ​

If set, then the generated normal map will be in tangent space. Please note that the geometry casted to must contain tangent space fields.

MaterialChannel ​

The name of the input material channel to cast. Existing user channels of any arbitrary name in the input materials can be cast.

Name ​

The name of the NormalCasterSettings object. (Inherited from Object)

NormalizeInterpolatedTangentSpace ​

If set, the normal caster normalizes the normal and tangent data used for encoding after interpolation. This needs to match the behavior of the renderer to not produce rendering artifacts.

OpacityChannel ​

The name of the input opacity channel to use for combining layers in most casters and casting opacity in the opacitycaster. User channels of any arbitrary name can be used. If the caster is run through a Pipeline object, the OpacityChannel set here will also be set as the output materials OpacityChannel property.

OpacityChannelComponent ​

The component in the opacity channel to use as opacity value.

OutputDDSCompressionType ​

DDS compression if output format is DDS.

OutputImageFileFormat ​

File format for output texture.

OutputPixelFormat ​

The output pixel format

UseMultisampling ​

Enable or disable multisampling.

Methods details ​

AddObserver ​

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

GetBoolParameter ​

Get a named parameter boolean value.

GetClass ​

Get the name of the NormalCasterSettings class. (Inherited from Object)

GetDoubleParameter ​

Get a named parameter floating point value.

GetErrorString ​

Returns a string describing the error that was found the last time ValidateSettings was performed.

GetIntParameter ​

Get a named parameter integer value.

GetStringParameter ​

Get a named parameter string value.

GetUIntParameter ​

Get a named parameter unsigned integer value.

IsA ​

Returns true if NormalCasterSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)

IsNull ​

Returns true if the NormalCasterSettings object is invalid. (Inherited from Object)

IsSameObjectAs ​

Returns true if the NormalCasterSettings object is valid. (Inherited from Object)

NonNull ​

Returns true if the NormalCasterSettings object is valid. (Inherited from Object)

PrintInfo ​

Prints the content/info of the NormalCasterSettings object to the log. (Inherited from Object)

RemoveObserver ​

Removes a previously added observer object. (Inherited from Object)

SetBoolParameter ​

Set a named parameter boolean value.

SetDoubleParameter ​

Set a named parameter floating point value.

SetIntParameter ​

Set a named parameter integer value.

SetStringParameter ​

Set a named parameter string value.

SetUIntParameter ​

Set a named parameter unsigned integer value.

SetValidateParameterNames ​

Set if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled.

ToJSON ​

Get settings as JSON for debugging purposes.

ValidateSettings ​

Validates the current settings values.

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 spNormalCasterSettings, and if this is the case, returns the object cast into spNormalCasterSettings. (Inherited from Object)