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)