# class
ChartAggregatorSettings
Settings for the chart aggregator.
# Properties
Property | Description |
---|---|
ChartAggregatorMode | Determines which method to use when aggregating the UVs. TextureSizeProportions - Aggregated UV charts will be scaled to keep their relative pixel density relative to all other UV charts. The user can still set the size of the output texture maps. SurfaceArea - Aggregated UV charts will have their size set based on its actual geometrical size. OriginalPixelDensity - The combined atlas will be resized to fit each chart so that all charts retain the same amount of pixels as they originally had. This will override any manually set texture size. UVSizeProportions - Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in. |
LockUVRotation | Only used when the TexCoordGeneratorType is ChartAggregator. If ChartAggregatorLockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations). |
OriginalChartProportionsChannel | Only used when the TexCoordGeneratorType is ChartAggregator. Set ChartAggregatorKeepOriginalChartProportionsFromChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart proportions to keep. |
OriginalTexCoordLevel | Only used when the TexCoordGeneratorType is ChartAggregator. Set the texture coordinate level to get charts from. If the ChartAggregatorOriginalTexCoordName ha been set, the ChartAggregatorOriginalTexCoordLevel is not used. |
OriginalTexCoordName | Only used when the TexCoordGeneratorType is ChartAggregator. Set the name of the texture coordinate level to get charts from. If not set, it will use the ChartAggregatorOriginalTexCoordLevel (index) instead. |
SeparateOverlappingCharts | Only used when the TexCoordGeneratorType is ChartAggregator. If set, charts that are overlapping in the original texture coords will be separated. |
SurfaceAreaScale | If multiple UV charts overlap and have the same material, SurfaceAreaScale specifies which of those instances determines the the output scale. It is only valid when the ChartAggregatorMode is SurfaceArea and SeparateOverlappingCharts is false. |
# Methods
Method | Description |
---|---|
GetClass | Get the name of the ChartAggregatorSettings class. |
GetErrorString | Returns a string describing the error that was found the last time ValidateSettings was performed. |
IsA | Returns true if ChartAggregatorSettings is a or is a descendant of the class named as the type parameter. |
IsNull | Returns true if the ChartAggregatorSettings object is invalid. |
ValidateSettings | Validates the current settings values. |
# Static methods
Method | Description |
---|---|
IsClassA | Returns true if the class is a or is a descendant of the class named as the type parameter. |
SafeCast | SafeCast makes sure the input object is of a class that can be cast into spChartAggregatorSettings, and if this is the case, returns the object cast into spChartAggregatorSettings. |
# Properties details
# ChartAggregatorMode
Determines which method to use when aggregating the UVs. TextureSizeProportions - Aggregated UV charts will be scaled to keep their relative pixel density relative to all other UV charts. The user can still set the size of the output texture maps. SurfaceArea - Aggregated UV charts will have their size set based on its actual geometrical size. OriginalPixelDensity - The combined atlas will be resized to fit each chart so that all charts retain the same amount of pixels as they originally had. This will override any manually set texture size. UVSizeProportions - Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in.
# Syntax
// Setter
void SetChartAggregatorMode( Simplygon::EChartAggregatorMode value );
// Getter
Simplygon::EChartAggregatorMode GetChartAggregatorMode();
# SetChartAggregatorMode parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
EChartAggregatorMode | value | The ChartAggregatorMode value to use. |
# GetChartAggregatorMode return value
Type: EChartAggregatorMode
Default: TextureSizeProportions
Key | Value | Comment |
---|---|---|
TextureSizeProportions | 0 | Aggregated UV charts will be scaled to keep their relative pixel density relative to all other UV charts. The user can still set the size of the output texture maps. |
SurfaceArea | 1 | Aggregated UV charts will have their size set based on its actual geometrical size. |
OriginalPixelDensity | 2 | The combined atlas will be resized to fit each chart so that all charts retain the same amount of pixels as they originally had. This will override any manually set texture size. |
UVSizeProportions | 3 | Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in. |
# LockUVRotation
Only used when the TexCoordGeneratorType is ChartAggregator. If ChartAggregatorLockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).
# OriginalChartProportionsChannel
Only used when the TexCoordGeneratorType is ChartAggregator. Set ChartAggregatorKeepOriginalChartProportionsFromChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart proportions to keep.
# Syntax
// Setter
void SetOriginalChartProportionsChannel( const char * value );
// Getter
spString GetOriginalChartProportionsChannel();
# SetOriginalChartProportionsChannel parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
const char * | value | The new ChartAggregatorKeepOriginalChartProportionsFromChannel value. |
# GetOriginalChartProportionsChannel return value
Type: spString
Default: SG_MATERIAL_CHANNEL_DIFFUSE
# OriginalTexCoordLevel
Only used when the TexCoordGeneratorType is ChartAggregator. Set the texture coordinate level to get charts from. If the ChartAggregatorOriginalTexCoordName ha been set, the ChartAggregatorOriginalTexCoordLevel is not used.
# OriginalTexCoordName
Only used when the TexCoordGeneratorType is ChartAggregator. Set the name of the texture coordinate level to get charts from. If not set, it will use the ChartAggregatorOriginalTexCoordLevel (index) instead.
# Syntax
// Setter
void SetOriginalTexCoordName( const char * value );
// Getter
spString GetOriginalTexCoordName();
# SetOriginalTexCoordName parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
const char * | value | The desired texture coordinate level name. |
# GetOriginalTexCoordName return value
Type: spString
Default: nullptr
# SeparateOverlappingCharts
Only used when the TexCoordGeneratorType is ChartAggregator. If set, charts that are overlapping in the original texture coords will be separated.
# Syntax
// Setter
void SetSeparateOverlappingCharts( bool value );
// Getter
bool GetSeparateOverlappingCharts();
# SetSeparateOverlappingCharts parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
bool | value | The value to which ChartAggregatorSeparateOverlappingCharts is set. |
# GetSeparateOverlappingCharts return value
Type: bool
Default: false
# SurfaceAreaScale
If multiple UV charts overlap and have the same material, SurfaceAreaScale specifies which of those instances determines the the output scale. It is only valid when the ChartAggregatorMode is SurfaceArea and SeparateOverlappingCharts is false.
# Syntax
// Setter
void SetSurfaceAreaScale( Simplygon::ESurfaceAreaScale value );
// Getter
Simplygon::ESurfaceAreaScale GetSurfaceAreaScale();
# SetSurfaceAreaScale parameters
Type | Name | Min | Max | Description |
---|---|---|---|---|
ESurfaceAreaScale | value | The SurfaceAreaScale value to use. |
# GetSurfaceAreaScale return value
Type: ESurfaceAreaScale
Default: LargestInstance
Key | Value | Comment |
---|---|---|
LargestInstance | 0 | If multiple UV charts overlap and have the same material, the largest instance determines the output scale. It is only valid when the ChartAggregatorMode is SurfaceArea and SeparateOverlappingCharts is false. |
SmallestInstance | 1 | If multiple UV charts overlap and have the same material, the smallest instance determines the output scale. It is only valid when the ChartAggregatorMode is SurfaceArea and SeparateOverlappingCharts is false. |
Average | 2 | If multiple UV charts overlap and have the same material, the average of all the instances determine the output scale. It is only valid when the ChartAggregatorMode is SurfaceArea and SeparateOverlappingCharts is false. |
# Methods details
# GetClass
Get the name of the ChartAggregatorSettings class.
# GetErrorString
Returns a string describing the error that was found the last time ValidateSettings was performed.
# IsA
Returns true if ChartAggregatorSettings is a or is a descendant of the class named as the type parameter.
# IsNull
Returns true if the ChartAggregatorSettings object is invalid.
# 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.
# SafeCast
SafeCast makes sure the input object is of a class that can be cast into spChartAggregatorSettings, and if this is the case, returns the object cast into spChartAggregatorSettings.