# Enums

# EBoneReductionTargetStopCondition

The stop condition for the bone reducer. Any: the reducer will stop when any single one of the set reduction targets have been reached. All: the reducer will stop when all enabled reduction targets have been set.

Key Value Comment
Any 0x00000000 Simplygon will stop as soon as one of the reduction targets has been fulfilled.
All 0x00000001 Simplygon will continue processing until all of the reduction targets have been fulfilled.

# EChartAggregatorMode

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.

Key Value Comment
TextureSizeProportions 0x00000000 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 0x00000001 Aggregated UV charts will have their size set based on its actual geometrical size.
OriginalPixelDensity 0x00000002 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 0x00000003 Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in.

# EComputeVisibilityMode

Specifies the renderer type when computing visibility.

Key Value Comment
DirectX 0x00000000 Use DirectX when computing visibility.
Software 0x00000001 Use a software renderer when computing visibility.

# EDataCreationPreferences

The flag that specifies how big 'freedom' Simplygon has when it comes to altering vertex/triangle data. Allowing more altered data means it will be easier to create good looking LODs, but without altered data it will be easier to keep the memory-usage in the LOD-chain more optimized. Note: When using OnlyUseOriginalData, the geometry being reduced can not have a node transformation matrix other than the identity matrix.

Key Value Comment
OnlyUseOriginalData 0x00000000 Vertex and Corner data such as coordinates and normals will be completely re-used from the original Scene.
PreferOriginalData 0x00000001 Vertex coordinates will remaining as they were in the original Scene, but corner normals might be changed if Simplygon decided it will look better.
PreferOptimizedResult 0x00000002 Both vertex coordinates and corner normals will be altered to make the optimized Scene look as good as possible.

# EDitherType

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

Key Value Comment
NoDither 0x00000000 Use no dithering
FloydSteinberg 0x00000001 Use Floys-Steinberg dithering
JarvisJudiceNinke 0x00000002 Use Jarvis, Judice, and Ninke dithering
Sierra 0x00000003 Use Sierra-3 (three row) dithering

# EFillMode

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.

Key Value Comment
Interpolate 0x00000000 linearly interpolate the closest samples
NearestNeighbor 0x00000001 use the closest available pixel value without interpolation
NoFill 0x00000002 Do not fill remaining pixels

# EGeometryDataFieldType

The GeometryDataFieldType setting, which specifies what field type to cast in the GeometryDataCaster.

Key Value Comment
Coords 0x00000000 Per-vertex coordinate data, xyz values (3 items per tuple)
TexCoords 0x00000001 Per-corner texture coords data, uv values (2 items per tuple)
Normals 0x00000002 Per-corner vertex normals data, xyz values (3 items per tuple)
Tangents 0x00000003 Per-corner vertex tangent data, xyz values (3 items per tuple)
Bitangents 0x00000004 Per-corner vertex bitangent data, xyz values (3 items per tuple)
Colors 0x00000005 Per-corner vertex color data, rgba values (4 items per tuple)
TriangleIds 0x00000006 Per-triangle triangle ids, id values, not interpolated. (1 item per tuple)
MaterialIds 0x00000007 Per-triangle material ids, id values, not interpolated. (1 item per tuple)

# EHoleFilling

HoleFillling defines how aggresively the remesher will fill holes and cavities. What this does is to measure the volume and hole opening sizes of concavities in the input geometry and fill them in in the remeshing if the concavity is large enough with a small enough opening. This removes a lot of unnessecary geometry and is recommended to be kept at it's default rather than turning it off, it will in the vast majority of cases have a positive effect on the result.

Key Value Comment
Disabled 0x00000000 No hole filling.
Low 0x00000001 Minor hole filling.
Medium 0x00000002 Moderate ammounts of hole filling.
High 0x00000003 Aggresive hole filling.

# EOpacityChannelComponent

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

Key Value Comment
Red 0x00000000 Red color component
Green 0x00000001 Green color component
Blue 0x00000002 Blue color component
Alpha 0x00000003 Alpha color component

# EOutputDDSCompressionType

DDS compression if output format is DDS.

Key Value Comment
NoCompression 0xFFFFFFFFFFFFFFFF
BC1 0x00000000
BC2 0x00000001
BC3 0x00000002
BC4 0x00000003
BC5 0x00000004

# EOutputImageFileFormat

File format for output texture.

Key Value Comment
BMP 0x00000000
DDS 0x00000001
JPEG 0x00000002
PNG 0x00000003
TGA 0x00000004
TIFF 0x00000005

# EOutputOpacityType

The opacity type determines how the opacity channel of this material should be saved. To make (0.0->1.0) map to (transparent-opaque), use 'Opacity'. To make (0.0->1.0) map to (opaque-transparent), use 'Transparency'

Key Value Comment
Opacity 0x00000000 The level of transparency is defined from 0.0->1.0, where 0.0 is fully transparent and 1.0 is fully opaque.
Transparency 0x00000001 The level of transparency is defined from 1.0->0.0, where 1.0 is fully transparent and 0.0 is fully opaque.

# EOutputPixelFormat

The output pixel format

Key Value Comment
R8G8B8A8 0x00000000 RGBA color channels with 8 bit depth per color channel
R8G8B8 0x00000001 RGB color channels with 8 bit depth per color channel
R8 0x00000002 R color channel with 8 bit depth per color channel
R16G16B16A16 0x00000003 RGBA color channels with 16 bit depth per color channel
R16G16B16 0x00000004 RGB color channels with 16 bit depth per color channel
R16 0x00000005 R color channel with 16 bit depth per color channel

# EReductionHeuristics

The flag that decides how precise the reducer will be during the mesh reduction. Fast -> Reducer will be faster, but onscreensize and trianglecount will not match perfectly. Consistent -> Reducer will be slower, but onscreensize and trianglecount will consistently give matching results.

Key Value Comment
Fast 0x00000000 Faster but with less precise calculations.
Consistent 0x00000001 Slower but more accurate.

# EReductionTargetStopCondition

The stop condition for the reducer. Any -> the reducer will stop when any single one of the set reduction targets have been reached. All -> the reducer will stop when all enabled reduction targets have been set.

Key Value Comment
Any 0x00000000 Simplygon will stop as soon as one of the reduction targets has been fulfilled.
All 0x00000001 Simplygon will continue processing until all of the reduction targets have been fulfilled.

# ERemeshingMode

The remeshing mode, options are Outside, Inside and Manual. RemeshingMode defines if the remeshing processor remeshes the outside or the inside of the input geometry. Manual needs the user to define a position in space that will be considered as outside for the purposes of the remeshing. Position is set with RemeshingModeManualPosition. Hole filling only works with the mode Outside.

Key Value Comment
Outside 0x00000000 Automatically remeshes the outside of the geometry.
Inside 0x00000001 Automatically remeshes the largest inside space of the geometry
Manual 0x00000002 User defines a position in space that will be considered as outside for the purposes of the remeshing. These position values can be set via global settings (RemeshingModeManualPositionX/Y/Z). If global settings are not set, this will fallback to ERemeshingMode::Outside.

# ESurfaceAreaScale

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.

Key Value Comment
LargestInstance 0x00000000 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 0x00000001 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 0x00000002 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.

# ESurfaceTransferMode

The surface transfer mode.

Key Value Comment
Fast 0x00000000 Faster but with less precise calculations.
Accurate 0x00000001 Slower and more accurate.

# ESymmetryAxis

Set what axis to be used for symmetry calculations.

Key Value Comment
X 0x00000000 X axis.
Y 0x00000001 Z axis.
Z 0x00000002 Z axis.

# ETexCoordGeneratorType

Determines which method to use when generating the texture coordinates. Parameterizer generate from scratch based on the geometry. ChartAggregator generate based on the original texture coordinates.

Key Value Comment
Parameterizer 0x00000000 Texture coordinates are generated from scratch based on the geometry.
ChartAggregator 0x00000001 Texture coordinates are generated based on the original texture coordinates.

# EWeightsFromColorComponent

If converting vertex colors to weights, this setting controls which color component is used to create the weights.

Key Value Comment
Red 0x00000000 Red color component
Green 0x00000001 Green color component
Blue 0x00000002 Blue color component
Alpha 0x00000003 Alpha color component

# EWeightsFromColorMode

If converting vertex colors to weights, this setting along with WeightsFromColorMultiplier controls how to map the RGBA intensity between 0-1 to weights. Standard mode maps color intensity [0-1] to vertex weight [1/Multiplier - Multiplier]. High mode maps color intensity [0-1] to vertex weight [1 - Multiplier]. Low mode maps color intensity [0-1] to vertex weight [1/Multiplier - 1].

Key Value Comment
Standard 0x00000000 Maps color intensity [0-1] to vertex weight [1/Multiplier - Multiplier]
High 0x00000001 Maps color intensity [0-1] to vertex weight [1 - Multiplier]
Low 0x00000002 Maps color intensity [0-1] to vertex weight [1/Multiplier - 1]