#include <SimplygonSDK.h>
Computes new texture coordinates for a geometry with overlapping UV charts.
Definition at line 18385 of file SimplygonSDK.h.
◆ GetAutomaticTextureSizeMultiplier()
virtual real SimplygonSDK::IChartAggregator::GetAutomaticTextureSizeMultiplier |
( |
| ) |
|
|
pure virtual |
Get the current automatic texture size multiplier.
- Returns
- the current multiplier
◆ GetChartAggregatorMode()
virtual unsigned int SimplygonSDK::IChartAggregator::GetChartAggregatorMode |
( |
| ) |
|
|
pure virtual |
Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_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. SG_CHARTAGGREGATORMODE_SURFACEAREA - Aggregated UV charts will have their size set based on its actual geometrical size. SG_CHARTAGGREGATORMODE_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. SG_CHARTAGGREGATORMODE_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.");
- Returns
- the current SG_CHARTAGGREGATORMODE_[...] value.
◆ GetClass()
virtual const char* SimplygonSDK::IChartAggregator::GetClass |
( |
| ) |
|
|
virtual |
GetClass returns the name of the class of the object.
- Returns
- the name of the actual class of the object, as a const char string
Reimplemented from SimplygonSDK::IObject.
◆ GetExpandZeroAreaUVs()
virtual bool SimplygonSDK::IChartAggregator::GetExpandZeroAreaUVs |
( |
| ) |
|
|
pure virtual |
If ExpandZeroAreaUVs is enabled then triangles that have zero area will be slightly expanded
- Returns
- the current ExpandZeroAreaUVs
◆ GetForcePower2Texture()
virtual bool SimplygonSDK::IChartAggregator::GetForcePower2Texture |
( |
| ) |
|
|
pure virtual |
If automatic_texture_size is enabled, then force the texture sizes to be a power of 2
- Returns
- the current flag
◆ GetGutterSpace() [1/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetGutterSpace |
( |
| ) |
|
|
pure virtual |
Get the minimum number of pixels between charts.
- Returns
- the current value of GutterSpace
◆ GetGutterSpace() [2/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetGutterSpace |
( |
unsigned int |
id | ) |
|
|
pure virtual |
Get the minimum number of pixels between charts.
- Parameters
-
- Returns
- the current value of GutterSpace
◆ GetInputMaterialCount()
virtual unsigned int SimplygonSDK::IChartAggregator::GetInputMaterialCount |
( |
| ) |
|
|
pure virtual |
Get the number of input materials set earlier. 0 signifies that no in-out material mapping is used.
- Returns
- the current value of InputMaterialCount
◆ GetInputOutputMaterialMapping()
virtual int SimplygonSDK::IChartAggregator::GetInputOutputMaterialMapping |
( |
unsigned int |
InMaterialId | ) |
|
|
pure virtual |
Get the previously set material mapping for mat_id.
- Parameters
-
InMaterialId | the input material ID |
- Returns
- the currently mapped output material for InMaterialId. -1 means mapping is not set.
◆ GetKeepOriginalChartSizesTextureHeight() [1/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureHeight |
( |
| ) |
|
|
pure virtual |
◆ GetKeepOriginalChartSizesTextureHeight() [2/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureHeight |
( |
unsigned int |
OutputID | ) |
|
|
pure virtual |
◆ GetKeepOriginalChartSizesTextureWidth() [1/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureWidth |
( |
| ) |
|
|
pure virtual |
If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth(int ) and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes
- Returns
- the current KeepOriginalChartSizesTextureWidth size
◆ GetKeepOriginalChartSizesTextureWidth() [2/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureWidth |
( |
unsigned int |
OutputID | ) |
|
|
pure virtual |
If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth(int ) and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes
- Parameters
-
- Returns
- the current KeepOriginalChartSizesTextureWidth size
◆ GetLockUVRotation()
virtual bool SimplygonSDK::IChartAggregator::GetLockUVRotation |
( |
| ) |
|
|
pure virtual |
If LockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).
- Returns
- the current LockUVRotation
◆ GetOriginalChartProportionsChannel()
virtual rstring SimplygonSDK::IChartAggregator::GetOriginalChartProportionsChannel |
( |
| ) |
|
|
pure virtual |
This channel determines which texture channel to look at when determining which chart proportions to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.
- Returns
- the current ChartAggregatorOriginalChartProportionsChannel value
◆ GetOutputMaterialCount()
virtual unsigned int SimplygonSDK::IChartAggregator::GetOutputMaterialCount |
( |
| ) |
|
|
pure virtual |
Get the number of output mapping images that are to be generated.
- Returns
- the current value of OutputMaterialCount
◆ GetTexCoordLevel()
virtual unsigned int SimplygonSDK::IChartAggregator::GetTexCoordLevel |
( |
| ) |
|
|
pure virtual |
Get which TexCoord level to get charts from during re-parameterization. If a TexCoordLevelName is set, it will override the TexCoord level.
- Returns
- the current TexCoord level
◆ GetTexCoordLevelName()
virtual rstring SimplygonSDK::IChartAggregator::GetTexCoordLevelName |
( |
| ) |
|
|
pure virtual |
Get which TexCoord level name to get charts from during re-parameterization.
- Returns
- the current TexCoord level name
◆ GetTextureHeight() [1/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureHeight |
( |
| ) |
|
|
pure virtual |
Get the height of the texture to use.
- Returns
- the current value of texture height
◆ GetTextureHeight() [2/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureHeight |
( |
unsigned int |
id | ) |
|
|
pure virtual |
Get the height of the texture to use.
- Parameters
-
- Returns
- the current value of texture height
◆ GetTextureWidth() [1/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureWidth |
( |
| ) |
|
|
pure virtual |
Get the width of the texture to use.
◆ GetTextureWidth() [2/2]
virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureWidth |
( |
unsigned int |
id | ) |
|
|
pure virtual |
Get the width of the texture to use.
- Parameters
-
- Returns
- the current value of texture width
◆ GetUseAutomaticTextureSize()
virtual bool SimplygonSDK::IChartAggregator::GetUseAutomaticTextureSize |
( |
| ) |
|
|
pure virtual |
Set the automatic_texture_size flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.
- Returns
- the current flag
◆ GetUseVertexWeights()
virtual bool SimplygonSDK::IChartAggregator::GetUseVertexWeights |
( |
| ) |
|
|
pure virtual |
Get the UseVertexWeights flag to scale the charts according to their vertex weights.
- Returns
- flag to using VertexWeights
◆ IsA()
virtual bool SimplygonSDK::IChartAggregator::IsA |
( |
const char * |
type | ) |
const |
|
virtual |
The IsA function returns true if the object is a or is a descendant of the class named as the type parameter
- Parameters
-
type | is the name of the class to check if the object is, or is a descendant of |
- Returns
- true if the object is of the specified class, false if not
Reimplemented from SimplygonSDK::IObject.
◆ IsClassA()
static bool SimplygonSDK::IChartAggregator::IsClassA |
( |
const char * |
type | ) |
|
|
inlinestatic |
The IsClassA function returns true if IChartAggregator is a or is a descendant of the class named as the type parameter
- Parameters
-
type | is the name of the class to check if the class is, or is a descendant of |
- Returns
- true if the class is of the specified class, false if not
Definition at line 18406 of file SimplygonSDK.h.
◆ Parameterize()
Executes the parameterization of the geometry.
- Parameters
-
geom | is the geometry which is to be parameterized |
arr | is the array where the result is stored |
- Returns
- true if the parameterization succeeds, false otherwise
◆ SafeCast()
SafeCast makes sure the pointer is of a class that can be cast into a IChartAggregator pointer, and if this is possible, returns the cast pointer.
- Parameters
-
- Returns
- a pointer to the IChartAggregator object, if the cast can be made, and a NULL pointer otherwise
Definition at line 18419 of file SimplygonSDK.h.
◆ SetAutomaticTextureSizeMultiplier()
virtual void SimplygonSDK::IChartAggregator::SetAutomaticTextureSizeMultiplier |
( |
real |
value | ) |
|
|
pure virtual |
Set a texture dimension length multiplier for the automatic texture size.
- Parameters
-
value | the desired multiplier |
◆ SetChartAggregatorMode()
virtual void SimplygonSDK::IChartAggregator::SetChartAggregatorMode |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_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. SG_CHARTAGGREGATORMODE_SURFACEAREA - Aggregated UV charts will have their size set based on its actual geometrical size. SG_CHARTAGGREGATORMODE_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. SG_CHARTAGGREGATORMODE_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.");
- Parameters
-
value | the SG_CHARTAGGREGATORMODE_[...] value. |
◆ SetExpandZeroAreaUVs()
virtual void SimplygonSDK::IChartAggregator::SetExpandZeroAreaUVs |
( |
bool |
value | ) |
|
|
pure virtual |
If ExpandZeroAreaUVs is enabled then triangles that have zero area will be slightly expanded
- Parameters
-
value | the new ExpandZeroAreaUVs |
◆ SetForcePower2Texture()
virtual void SimplygonSDK::IChartAggregator::SetForcePower2Texture |
( |
bool |
value | ) |
|
|
pure virtual |
If automatic_texture_size is enabled, then force the texture sizes to be a power of 2
- Parameters
-
◆ SetGutterSpace() [1/2]
virtual void SimplygonSDK::IChartAggregator::SetGutterSpace |
( |
unsigned int |
id, |
|
|
unsigned int |
value |
|
) |
| |
|
pure virtual |
Set the minimum number of pixels between charts.
- Parameters
-
id | the output material ID |
value | is the value to which GutterSpace will be set |
◆ SetGutterSpace() [2/2]
virtual void SimplygonSDK::IChartAggregator::SetGutterSpace |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set the minimum number of pixels between charts.
- Parameters
-
value | is the value to which GutterSpace will be set |
◆ SetInputMaterialCount()
virtual void SimplygonSDK::IChartAggregator::SetInputMaterialCount |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set the number of input materials used in the original geometry for mapping to multiple output materials. This needs to be set before you can set any specific in-out material mapping. 0 signifies that no in-out material mapping is used, ie. the process will produce one resulting mapping image.
- Parameters
-
value | is the number of outputs |
◆ SetInputOutputMaterialMapping()
virtual void SimplygonSDK::IChartAggregator::SetInputOutputMaterialMapping |
( |
unsigned int |
InMaterialId, |
|
|
int |
OutMaterialId |
|
) |
| |
|
pure virtual |
Set the material mapping for InMaterialId, meaning what material of the generated LOD InMaterialId will be baked into. Both InputMaterialCount and OutputMaterialCount need to be set for this mapping to work, and all original materials need to be mapped to an existing output id.
- Parameters
-
InMaterialId | the input material ID |
OutMaterialId | the output material ID |
◆ SetLockUVRotation()
virtual void SimplygonSDK::IChartAggregator::SetLockUVRotation |
( |
bool |
value | ) |
|
|
pure virtual |
If LockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).
- Parameters
-
value | the new LockUVRotation |
◆ SetMaterialTable()
virtual void SimplygonSDK::IChartAggregator::SetMaterialTable |
( |
IMaterialTable * |
value | ) |
|
|
pure virtual |
The scene's material table
- Parameters
-
value | the scene's material table |
◆ SetOriginalChartProportionsChannel()
virtual void SimplygonSDK::IChartAggregator::SetOriginalChartProportionsChannel |
( |
const char * |
value | ) |
|
|
pure virtual |
Set KeepOriginalChartProportionsChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart sizes to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.
- Parameters
-
value | the new KeepOriginalChartProportionsChannel value |
◆ SetOutputMaterialCount()
virtual void SimplygonSDK::IChartAggregator::SetOutputMaterialCount |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set the number of output mapping images that are to be generated. The triangle field OutputMaterialIds also needs to be set, or the material IDs of the original geometry needs to be set to a specific output material in this setting object.
- Parameters
-
value | is the number of outputs Value cannot be less than 1. Value cannot be greater than SG_MAXIMUM_CHART_AGGREGATOR_OUTPUT_MATERIAL_COUNT. |
◆ SetSeparateOverlappingCharts()
virtual void SimplygonSDK::IChartAggregator::SetSeparateOverlappingCharts |
( |
bool |
value | ) |
|
|
pure virtual |
Set the Separate Overlapping Charts flag. If charts are overlapping in the original texture coords, they will be separated.
- Parameters
-
value | the desired flag value |
◆ SetTexCoordLevel()
virtual void SimplygonSDK::IChartAggregator::SetTexCoordLevel |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set which TexCoord level to get charts from during re-parameterization. If a TexCoordLevelName is set, it will override the TexCoord level.
- Parameters
-
value | the level/id of the TexCoord to use (i.e. 0-255) |
◆ SetTexCoordLevelName()
virtual void SimplygonSDK::IChartAggregator::SetTexCoordLevelName |
( |
const char * |
value | ) |
|
|
pure virtual |
Set which TexCoord level name to get charts from during re-parameterization.
- Parameters
-
value | the name of the TexCoord to use (i.e. 'TexCood0'-'TexCoord255') |
◆ SetTextureHeight() [1/2]
virtual void SimplygonSDK::IChartAggregator::SetTextureHeight |
( |
unsigned int |
id, |
|
|
unsigned int |
value |
|
) |
| |
|
pure virtual |
Set the height of the texture to use.
- Parameters
-
id | the output material ID |
value | the texture height |
◆ SetTextureHeight() [2/2]
virtual void SimplygonSDK::IChartAggregator::SetTextureHeight |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set the height of the texture to use.
- Parameters
-
◆ SetTextureTable()
virtual void SimplygonSDK::IChartAggregator::SetTextureTable |
( |
ITextureTable * |
value | ) |
|
|
pure virtual |
The scene's texture table
- Parameters
-
value | the scene's texture table |
◆ SetTextureWidth() [1/2]
virtual void SimplygonSDK::IChartAggregator::SetTextureWidth |
( |
unsigned int |
id, |
|
|
unsigned int |
value |
|
) |
| |
|
pure virtual |
Set the width of the texture to use.
- Parameters
-
id | the output material ID |
value | the texture width |
◆ SetTextureWidth() [2/2]
virtual void SimplygonSDK::IChartAggregator::SetTextureWidth |
( |
unsigned int |
value | ) |
|
|
pure virtual |
Set the width of the texture to use.
- Parameters
-
◆ SetUseAutomaticTextureSize()
virtual void SimplygonSDK::IChartAggregator::SetUseAutomaticTextureSize |
( |
bool |
value | ) |
|
|
pure virtual |
Set the automatic_texture_size flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.
- Parameters
-
◆ SetUseVertexWeights()
virtual void SimplygonSDK::IChartAggregator::SetUseVertexWeights |
( |
bool |
value | ) |
|
|
pure virtual |
Set the UseVertexWeights flag to scale the charts according to their vertex weights.
- Parameters
-
value | the desired flag value |
The documentation for this class was generated from the following file: