![]() |
Simplygon C++ API
8.3.35800.0
|
#include <SimplygonSDK.h>
Public Member Functions | |
virtual bool | GetAllowTransparencyMapping ()=0 |
virtual real | GetAutomaticTextureSizeMultiplier ()=0 |
virtual bool | GetChartAggregatorLockUVRotation ()=0 |
virtual unsigned int | GetChartAggregatorMode ()=0 |
virtual rstring | GetChartAggregatorOriginalChartProportionsChannel ()=0 |
virtual rid | GetChartAggregatorOriginalTexCoordLevel ()=0 |
virtual rstring | GetChartAggregatorOriginalTexCoordLevelName ()=0 |
virtual bool | GetChartAggregatorSeparateOverlappingCharts ()=0 |
virtual const char * | GetClass () |
virtual bool | GetForcePower2Texture ()=0 |
virtual bool | GetGenerateMappingImage ()=0 |
virtual bool | GetGenerateTangents ()=0 |
virtual bool | GetGenerateTexCoords ()=0 |
virtual unsigned int | GetGutterSpace ()=0 |
virtual unsigned int | GetGutterSpace (unsigned int id)=0 |
virtual unsigned int | GetHeight ()=0 |
virtual unsigned int | GetHeight (unsigned int id)=0 |
virtual unsigned int | GetInputMaterialCount ()=0 |
virtual int | GetInputOutputMaterialMapping (unsigned int InMaterialId)=0 |
virtual rstring | GetMappingImageName ()=0 |
virtual rstring | GetMappingImageName (unsigned int id)=0 |
virtual unsigned int | GetMaximumLayers ()=0 |
virtual unsigned int | GetMultisamplingLevel ()=0 |
virtual unsigned int | GetMultisamplingLevel (unsigned int id)=0 |
virtual bool | GetOnlyParameterizeInvalidUVs ()=0 |
virtual unsigned int | GetOutputMaterialCount ()=0 |
virtual real | GetParameterizerLargeChartsImportance ()=0 |
virtual real | GetParameterizerMaxStretch ()=0 |
virtual bool | GetReplaceMappingImages ()=0 |
virtual unsigned int | GetTexCoordGeneratorType ()=0 |
virtual rid | GetTexCoordLevel ()=0 |
virtual rstring | GetTexCoordLevelName ()=0 |
virtual bool | GetUseAutomaticTextureSize ()=0 |
virtual bool | GetUseFullRetexturing ()=0 |
virtual bool | GetUseVertexWeights ()=0 |
virtual unsigned int | GetWidth ()=0 |
virtual unsigned int | GetWidth (unsigned int id)=0 |
virtual bool | IsA (const char *type) const |
virtual void | SetAllowTransparencyMapping (bool value)=0 |
virtual void | SetAutomaticTextureSizeMultiplier (real value)=0 |
virtual void | SetChartAggregatorLockUVRotation (bool value)=0 |
virtual void | SetChartAggregatorMode (unsigned int value)=0 |
virtual void | SetChartAggregatorOriginalChartProportionsChannel (const char *value)=0 |
virtual void | SetChartAggregatorOriginalTexCoordLevel (rid value)=0 |
virtual void | SetChartAggregatorOriginalTexCoordLevelName (const char *value)=0 |
virtual void | SetChartAggregatorSeparateOverlappingCharts (bool value)=0 |
virtual void | SetForcePower2Texture (bool value)=0 |
virtual void | SetGenerateMappingImage (bool value)=0 |
virtual void | SetGenerateTangents (bool value)=0 |
virtual void | SetGenerateTexCoords (bool value)=0 |
virtual void | SetGutterSpace (unsigned int id, unsigned int value)=0 |
virtual void | SetGutterSpace (unsigned int value)=0 |
virtual void | SetHeight (unsigned int id, unsigned int value)=0 |
virtual void | SetHeight (unsigned int value)=0 |
virtual void | SetInputMaterialCount (unsigned int value)=0 |
virtual void | SetInputOutputMaterialMapping (unsigned int InMaterialId, unsigned int OutMaterialId)=0 |
virtual void | SetMappingImageName (const char *name)=0 |
virtual void | SetMappingImageName (unsigned int id, const char *name)=0 |
virtual void | SetMaximumLayers (unsigned int value)=0 |
virtual void | SetMultisamplingLevel (unsigned int id, unsigned int value)=0 |
virtual void | SetMultisamplingLevel (unsigned int value)=0 |
virtual void | SetOnlyParameterizeInvalidUVs (bool value)=0 |
virtual void | SetOutputMaterialCount (unsigned int value)=0 |
virtual void | SetParameterizerLargeChartsImportance (real value)=0 |
virtual void | SetParameterizerMaxStretch (real value)=0 |
virtual void | SetReplaceMappingImages (bool value)=0 |
virtual void | SetTexCoordGeneratorType (unsigned int value)=0 |
virtual void | SetTexCoordLevel (rid value)=0 |
virtual void | SetTexCoordLevelName (const char *value)=0 |
virtual void | SetUseAutomaticTextureSize (bool value)=0 |
virtual void | SetUseFullRetexturing (bool value)=0 |
virtual void | SetUseVertexWeights (bool value)=0 |
virtual void | SetWidth (unsigned int id, unsigned int value)=0 |
virtual void | SetWidth (unsigned int value)=0 |
![]() | |
virtual rstring | GetErrorString ()=0 |
virtual bool | ValidateSettings ()=0 |
![]() | |
virtual rid | AddObserver (robserver *Observer, rid EventId)=0 |
virtual void | AddRef ()=0 |
virtual rstring | GetName ()=0 |
virtual void * | GetUserComponentArea (rid userid)=0 |
virtual void | PrintInfo ()=0 |
virtual void | Release ()=0 |
virtual void | RemoveObserver (rid ObserverId)=0 |
virtual void | SetName (const char *Name)=0 |
Static Public Member Functions | |
static bool | IsClassA (const char *type) |
static IMappingImageSettings * | SafeCast (IObject *ptr) |
![]() | |
static bool | IsClassA (const char *type) |
static ISettingsObject * | SafeCast (IObject *ptr) |
![]() | |
static bool | IsClassA (const char *type) |
static IObject * | SafeCast (IObject *ptr) |
Settings for the Simplygon mapping classes These settings control the properties of the mapping image that will be generated in the current simplification processor (reducer/remesher etc). The mapping image will be used when casting a new texture on the simplified geometry. In the settings object, the user is able to set the dimensions of the image (width/height) as well as whether the LOD should have new texture coordinates and some parameters for how they should be generated and all other settings regarding the mapping image.
Definition at line 12096 of file SimplygonSDK.h.
|
pure virtual |
Get the AllowTransparencyMapping flag. If true, the remeshing processor will allow mapped transparency in the generated mapping image. This allows material casting where gaps filled by the remeshing processor will be cast as transparent.
|
pure virtual |
Get the current automatic texture size multiplier.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. If ChartAggregatorLockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).
|
pure virtual |
Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_TEXTURESIZEPROPORTIONS
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set ChartAggregatorKeepOriginalChartProportionsFromChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart proportions to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set the texture coordinate level to get charts from. Default is 0. If the ChartAggregatorOriginalTexCoordLevelName ha been set, the ChartAggregatorOriginalTexCoordLevel is not used.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set the name of the texture coordinate level to get charts from. If not set, it will use the ChartAggregatorOriginalTexCoordLevel (index) instead.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. If set, charts that are overlapping in the original texture coords will be separated.
|
virtual |
GetClass returns the name of the class of the object.
Reimplemented from SimplygonSDK::ISettingsObject.
|
pure virtual |
If automatic_texture_size is enabled, then force the texture sizes to be a power of 2
|
pure virtual |
Get the GenerateMappingImage flag. If set, the remesher will create a mapping image, that maps triangles on the reduced geometry back to triangles on the original geometry. The texture is insert into the MappingImage object. The image data will contain two fields:
ReRidArray, "TriangleIds", TupleSize:1, The id of the triangle
ReUnsignedShortArra, "BarycentricCoords", TupleSize:2, Items A & B of the barycentric coordinate on the triangle. The user can control the size of the mapped texture using the values MappingTextureWidth and MappingTextureHeight
|
pure virtual |
Gets the GenerateTangents flag. If true, generates a new tangent space fields at position specified by TexCoordLevel, based on the vertex normals and texture coordinates. Tangent space fields will always be created if missing, and GenerateMappingImage is enabled. If GenerateTexCoords is enabled, new tangents will always be generated.
|
pure virtual |
Gets the GenerateTexCoords flag. If true, generates a new texcoords field at the position specified by TexCoordLevel. Will be ignored and always generate texcoords if none are available in the Geometry, at same time as GenerateMappingImage is enabled.
|
pure virtual |
Get the minimum number of pixels between charts. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs.
|
pure virtual |
Get the minimum number of pixels between charts. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs.
id | the texture id |
|
pure virtual |
Get the height of the texture to use. If called with an id, it will get the height of that specific texture if using multiple mapping image outputs.
|
pure virtual |
Get the height of the texture to use. If called with an id, it will get the height of that specific texture if using multiple mapping image outputs.
id | the texture id |
|
pure virtual |
Get the number of input materials set earlier. 0 signifies that no in-out material mapping is used.
|
pure virtual |
Get the previously set material mapping for mat_id.
InMaterialId | is the input material id |
|
pure virtual |
Set the name of the mapping image generated by the processor. If called with an id, it will set the name of that specific mapping image if using multiple mapping image outputs.
|
pure virtual |
Set the name of the mapping image generated by the processor. If called with an id, it will set the name of that specific mapping image if using multiple mapping image outputs.
id | the texture id |
|
pure virtual |
Get the maximum number of layers in the mapping image. If a remeshed geometry has a lot of transparent triangles, use a higher number to be able to find intersections on the inside of parts of the geometry. This setting only has effect in the remeshing, when running reduction the number of layers is always
|
pure virtual |
Get the multi-sampling level. Values 1-8 are accepted. If called with an id, it will set the multi-sampling level of that specific texture if using multiple mapping image outputs.
|
pure virtual |
Get the multi-sampling level. Values 1-8 are accepted. If called with an id, it will set the multi-sampling level of that specific texture if using multiple mapping image outputs.
id | the texture id |
|
pure virtual |
If enabled, will aggregate all the valid original UVs. If there are invalid original UVs, those parts will receive new parameterized UVs.
|
pure virtual |
Get the number of output mapping images that are to be generated.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_PARAMETERIZER. The importance value for trying to have as large and few charts as possible. The closer the value is to 1.0f, the slower it is. Having 0.0f means no extra focus will be put on reducing the number of charts. Having value 1.0f means maximum focus will be put on reducing the number of charts and thereby increasing the size of the charts.
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_PARAMETERIZER. The maximum allowed texture stretch. Range 0->1
|
pure virtual |
Determines whether to replace already existing mapping images in the scene
|
pure virtual |
Determines which method to use when generating the texture coordinates. SG_TEXCOORDGENERATORTYPE_PARAMETERIZER generate from scratch based on the geometry. SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR generate based on the original texture coordinates.
|
pure virtual |
Get the texture coordinate level used for mapping image and texture generation. Default is 0. If the TexCoordLevelName has been set, the TexCoordLevel is not used.
|
pure virtual |
Set the texture coordinate level name used for mapping image and texture generation. If new UVs are created, they will replace the old coordinates in the texture channel with the TexCoordLevelName. If no texture level with this name exists. It will be created. If the TexCoordLevelName is not set, the TexCoordLevel (index) will be used instead.
|
pure virtual |
Set the UseAutomaticTextureSize flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.
|
pure virtual |
Set/Get the UseFullRetexturing flag. If set, all original texture sets are replaced by the one generated for the mapping image, and the TexCoordLevel value is always set to 0. This flag has no effect on the remeshing, which always does a full retexturing.
|
pure virtual |
Scales the resulting UVs based on the vertex weights. Larger weights mean more detailed texture coordinates.
|
pure virtual |
Get the width of the texture to use. If called with an id, it will get the width of that specific texture if using multiple mapping image outputs.
|
pure virtual |
Get the width of the texture to use. If called with an id, it will get the width of that specific texture if using multiple mapping image outputs.
id | the texture id |
|
virtual |
The IsA function returns true if the object is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the object is, or is a descendant of |
Reimplemented from SimplygonSDK::ISettingsObject.
|
inlinestatic |
The IsClassA function returns true if IMappingImageSettings is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the class is, or is a descendant of |
Definition at line 12117 of file SimplygonSDK.h.
|
inlinestatic |
SafeCast makes sure the pointer is of a class that can be cast into a IMappingImageSettings pointer, and if this is possible, returns the cast pointer.
ptr | is the pointer to be cast into a IMappingImageSettings pointer |
Definition at line 12130 of file SimplygonSDK.h.
|
pure virtual |
Set the AllowTransparencyMapping flag. If true, the remeshing processor will allow mapped transparency in the generated mapping image. This allows material casting where gaps filled by the remeshing processor will be cast as transparent.
value | the desired value of AllowTransparencyMapping |
|
pure virtual |
Set a texture dimension length multiplier for the automatic texture size.
value | the desired multiplier |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. If ChartAggregatorLockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).
value | the new LockUVRotation |
|
pure virtual |
Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_TEXTURESIZEPROPORTIONS
value | is the ChartAggregaotrMode value to use |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set ChartAggregatorKeepOriginalChartProportionsFromChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart proportions to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.
value | the new ChartAggregatorKeepOriginalChartProportionsFromChannel value |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set the texture coordinate level to get charts from. Default is 0. If the ChartAggregatorOriginalTexCoordLevelName ha been set, the ChartAggregatorOriginalTexCoordLevel is not used.
value | the desired texture coordinate level |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. Set the name of the texture coordinate level to get charts from. If not set, it will use the ChartAggregatorOriginalTexCoordLevel (index) instead.
value | the desired texture coordinate level name |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR. If set, charts that are overlapping in the original texture coords will be separated.
value | is the value to which ChartAggregatorSeparateOverlappingCharts is set |
|
pure virtual |
If automatic_texture_size is enabled, then force the texture sizes to be a power of 2
value | the desired flag |
|
pure virtual |
Set the GenerateMappingImage flag. If set, the remesher will create a mapping image, that maps triangles on the reduced geometry back to triangles on the original geometry. The texture is insert into the MappingImage object. The image data will contain two fields:
ReRidArray, "TriangleIds", TupleSize:1, The id of the triangle
ReUnsignedShortArra, "BarycentricCoords", TupleSize:2, Items A & B of the barycentric coordinate on the triangle. The user can control the size of the mapped texture using the values MappingTextureWidth and MappingTextureHeight
value | the desired GenerateMappingImage flag |
|
pure virtual |
Sets the GenerateTangents flag. If true, generates a new tangent space fields at position specified by TexCoordLevel, based on the vertex normals and texture coordinates. Tangent space fields will always be created if missing, and GenerateMappingImage is enabled. If GenerateTexCoords is enabled, new tangents will always be generated.
value | the desired GenerateTangents flag |
|
pure virtual |
Sets the GenerateTexCoords flag. If true, generates a new texcoords field at the position specified by TexCoordLevel. Will be ignored and always generate texcoords if none are available in the Geometry, at same time as GenerateMappingImage is enabled.
value | the desired GenerateTexCoords flag |
|
pure virtual |
Set the minimum number of pixels between charts. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs. The gutter space has to be set to a value larger than 0.
id | the texture id |
value | is the value to which GutterSpace will be set |
|
pure virtual |
Set the minimum number of pixels between charts. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs. The gutter space has to be set to a value larger than 0.
value | is the value to which GutterSpace will be set |
|
pure virtual |
Set the height of the texture to use. If called with an id, it will set the height of that specific texture if using multiple mapping image outputs.
id | the texture id |
value | is the value to which Height will be set |
|
pure virtual |
Set the height of the texture to use. If called with an id, it will set the height of that specific texture if using multiple mapping image outputs.
value | is the value to which Height will be set |
|
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.
value | is the number of inputs Value cannot be less than 0. Value cannot be greater than SG_MAXIMUM_MAPPING_IMAGE_INPUT_MATERIAL_COUNT. |
|
pure virtual |
Set the material mapping for mat_id, meaning what material of the generated LOD mat_id 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.
InMaterialId | is the input material id |
OutMaterialId | is the output material id the corresponding input is to be mapped to |
|
pure virtual |
Set the name of the mapping image generated by the processor. If called with an id, it will set the name of that specific mapping image if using multiple mapping image outputs.
name | the name of the mapping image |
|
pure virtual |
Set the name of the mapping image generated by the processor. If called with an id, it will set the name of that specific mapping image if using multiple mapping image outputs.
id | the texture id |
name | the name of the mapping image |
|
pure virtual |
Set the maximum number of layers in the mapping image. If a remeshed geometry has a lot of transparent triangles, use a higher number to be able to find intersections on the inside of parts of the geometry. This setting only has effect in the remeshing, when running reduction the number of layers is always
value | the desired number of layers in the mapping image |
|
pure virtual |
Set the multi-sampling level. Values 1-8 are accepted. If called with an id, it will set the multi-sampling level of that specific texture if using multiple mapping image outputs.
id | the texture id |
value | is the value to which MultiSamplingLevel will be set |
|
pure virtual |
Set the multi-sampling level. Values 1-8 are accepted. If called with an id, it will set the multi-sampling level of that specific texture if using multiple mapping image outputs.
value | is the value to which MultiSamplingLevel will be set |
|
pure virtual |
If enabled, will aggregate all the valid original UVs. If there are invalid original UVs, those parts will receive new parameterized UVs.
value | the new flag |
|
pure virtual |
Set the number of output mapping images that are to be generated. If this is set to more than 1, the material mapping also needs to be set.
value | is the number of outputs Value cannot be less than 1. Value cannot be greater than SG_MAXIMUM_MAPPING_IMAGE_OUTPUT_MATERIAL_COUNT. |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_PARAMETERIZER. The importance value for trying to have as large and few charts as possible. The closer the value is to 1.0f, the slower it is. Having 0.0f means no extra focus will be put on reducing the number of charts. Having value 1.0f means maximum focus will be put on reducing the number of charts and thereby increasing the size of the charts.
value | the desired large charts importance value |
|
pure virtual |
Only used when the TexCoordGeneratorType is SG_TEXCOORDGENERATORTYPE_PARAMETERIZER. The maximum allowed texture stretch. Range 0->1
value | the desired maximum allowed texture stretch |
|
pure virtual |
Determines whether to replace already existing mapping images in the scene
value | the new value |
|
pure virtual |
Determines which method to use when generating the texture coordinates. SG_TEXCOORDGENERATORTYPE_PARAMETERIZER generate from scratch based on the geometry. SG_TEXCOORDGENERATORTYPE_CHARTAGGREGATOR generate based on the original texture coordinates.
value | is the TexCoordGeneratorType value to use |
|
pure virtual |
Set the texture coordinate level used for mapping image and texture generation. Default is 0. If the TexCoordLevelName has been set, the TexCoordLevel is not used.
value | the desired texture coordinate level |
|
pure virtual |
Set the texture coordinate level name used for mapping image and texture generation. If new UVs are created, they will replace the old coordinates in the texture channel with the TexCoordLevelName. If no texture level with this name exists. It will be created. If the TexCoordLevelName is not set, the TexCoordLevel (index) will be used instead.
value | is the TexCoord level name |
|
pure virtual |
Set the UseAutomaticTextureSize flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.
value | the desired flag |
|
pure virtual |
Set the UseFullRetexturing flag. If set, all original texture sets are replaced by the one generated for the mapping image, and the TexCoordLevel value is always set to 0. This flag has no effect on the remeshing, which always does a full retexturing.
value | the desired UseFullRetexturing flag |
|
pure virtual |
Scales the resulting UVs based on the vertex weights. Larger weights mean more detailed texture coordinates.
value | the desired flag |
|
pure virtual |
Set the width of the texture to use. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs.
id | the texture id |
value | is the value to which Width will be set |
|
pure virtual |
Set the width of the texture to use. If called with an id, it will set the width of that specific texture if using multiple mapping image outputs.
value | is the value to which Width will be set |