# class Simplygon

# Properties

Property Description
GlobalAllowDirectXSetting Sets global AllowDirectX setting
GlobalAllowDistributionLocalFallbackSetting Sets global AllowDistributionLocalFallback setting
GlobalAllowGPUAccelerationSetting Sets global AllowGPUAcceleration setting
GlobalAllowShadingNetworkCachingSetting Sets global AllowShadingNetworkCaching setting
GlobalAllowTextureSamplingInterpolationSetting Sets global AllowTextureSamplingInterpolation setting
GlobalAutomaticGuidGenerationSetting Sets global AutomaticGuidGeneration setting
GlobalCacheToDiskSetting Sets global CacheToDisk setting
GlobalDefaultTangentCalculatorTypeSetting Sets global DefaultTangentCalculatorType setting
GlobalEnableLogSetting Sets global EnableLog setting
GlobalFlushLogPerRowSetting Sets global FlushLogPerRow setting
GlobalIgnorePNGGammaOnImageLoadSetting Sets global IgnorePNGGammaOnImageLoad setting
GlobalInputSceneValidationActionSetting Sets global InputSceneValidationAction setting
GlobalLogDecorationMaskSetting Sets global LogDecorationMask setting
GlobalLogFileNameSetting Sets global LogFileName setting
GlobalLogicalCoreLimitSetting Sets global LogicalCoreLimit setting
GlobalLogLevelSetting Sets global LogLevel setting
GlobalLogOutputToTraceWindowSetting Sets global LogOutputToTraceWindow setting
GlobalLogToFileSetting Sets global LogToFile setting
GlobalMaskFPExceptionsSetting Sets global MaskFPExceptions setting
GlobalPreventDirectXThreadingOptimizationsSetting Sets global PreventDirectXThreadingOptimizations setting
GlobalUnpackFBXInSimplygonTempDirectorySetting Sets global UnpackFBXInSimplygonTempDirectory setting
GlobalValidateProcessingAssertOnErrorSetting Sets global ValidateProcessingAssertOnError setting
GlobalValidateProcessingDebugLevelSetting Sets global ValidateProcessingDebugLevel setting
GlobalValidateProcessingOutputDirectorySetting Sets global ValidateProcessingOutputDirectory setting
GlobalValidateProcessingSetting Sets global ValidateProcessing setting
GlobalValidRealThresholdSetting Sets global ValidRealThreshold setting
ThreadLocalLogFileNameSetting Sets thread local LogFileName setting

# Methods

Method Description
ClearErrorMessages Clear error messages.
ClearWarningMessages Clear warning messages.
CreateAggregationPipeline AggregationPipeline provides a pipeline for a single aggregation processor to be applied on the input scene.
CreateAggregationProcessor AggregationProcessor combines all specified geometries in the scene into one geometry. All materials are combined and receive a new shared texture atlas.
CreateAggregationSettings Settings for the AggregationSettings class. The AggregationProcessor converts entire scenes containing multiple draw calls into a single new object with a single texture per material channel. The user can set whether or not the AggregationProcessor should create new UVs based on the old UVs or create a completely new UV parameterization.
CreateAmbientOcclusionCaster AmbientOcclusionCaster generates an ambient occlusion map based on the original geometry, and casts it.
CreateAmbientOcclusionCasterSettings AmbientOcclusionCasterSettings manages settings for an ambient occlusion caster.
CreateArray Array is the base class for the array objects. The object contains a dynamically allocated list of tuples of the same length, which can be specified before the list is filled with values.
CreateBillboardCloudPipeline BillboardCloudPipeline provides a pipeline for a billboard cloud impostor processor to be applied on the input scene.
CreateBillboardCloudSettings Settings for the ImpostorType: BillboardCloud
CreateBillboardCloudVegetationPipeline BillboardCloudPipeline provides a pipeline for a billboard cloud vegetation impostor processor to be applied on the input scene.
CreateBinaryExporter BinaryExporter stores the geometry data into a binary file, that is specific for Simplygon. Please note that the binary file is only intended for temporary storage, and that no compatibility between versions of Simplygon is guaranteed.
CreateBinaryImporter BinaryImporter loads the geometry data from a binary file, that is specific for Simplygon. Please note that the binary file is only intended for temporary storage, and that no compatibility between versions of Simplygon is guaranteed.
CreateBoneSettings Settings for the Simplygon Reduction/Remeshing classes With the BoneSettings object, the user can setup all the parameters for how the BoneLOD processor should simplify the links between geometries and bones. Bones can be un-linked from the geometry either with a set ratio or depending on a selected pixel size on screen.
CreateBoolArray BoolArray is the bool implementation of ValueArray. See ValueArray for a description.
CreateCharArray CharArray is the char implementation of ValueArray. See ValueArray for a description.
CreateChartAggregator Computes new texture coordinates for a geometry with overlapping UV charts.
CreateChartAggregatorSettings Settings for the chart aggregator.
CreateChunkedImageData ChunkedImageData holds chunks for ImageData objects. ImageData objects can be referenced, and swapped in/out of memory, to secondary storage. This is useful for very large images that cannot be stored in-memory. ImageData objects can be indexed in 1-,2- or 3D, and each ImageData chunk is cloned from a source ImageData object, at setup. Fields added to ImageData chunks after setup will only be added into that chunk, and is not recommended.
CreateColorCaster ColorCaster is the interface used to cast basic color values. Currently supported material color value types are Ambient, Diffuse and Specular + Shininess.
CreateColorCasterSettings ColorCasterSettings is the interface for basic color caster settings.
CreateDirectXRenderer A Renderer using DirectX 11 that can be used to preview a scene object containing geometry data by rendering it from selected SceneCamera nodes within the given scene and then storing the frames to disc. If using a Shading Node Network (having an IShadingNode assigned to the IMaterial), then the material can be previewed with the generated HLSL shader.
CreateDisplacementCaster DisplacementCaster is used to store the delta-values between the original and processed geometries. The values are divided by a scaling value, and clamped into the -1 -> 1 range before being stored into an image.
CreateDisplacementCasterSettings DisplacementCasterSettings is used to store the settings for a displacement caster
CreateDoubleArray DoubleArray is the double implementation of ValueArray. See ValueArray for a description.
CreateFBXExporter FBX scene exporter.
CreateFBXImporter FBX scene importer
CreateFieldData FieldData represents multiple fields of data. Each field is implemented as an ValueArray object, that has a unique name, and can have complex components (such as scalars, vectors, quaternions, tensors or matrices). All fields are assumed to be of the same length. IFieldData can be seen as an array with complex tuples, where the component can be of different types.
CreateFlipbookPipeline FlipbookPipeline provides a pipeline for a flipbook impostor processor to be applied on the input scene.
CreateFlipbookSettings Settings for the ImpostorType: FlipBook
CreateFloatArray FloatArray is the float implementation of ValueArray. See ValueArray for a description.
CreateFoliageSettings Settings for the BillboardMode: Foliage
CreateGenerateLightmapTexCoordSettings GenerateLightmapTexCoordSettings is the interface used to manage light map uv generation.
CreateGeometryCullingSettings Settings for volumetric triangle culling functionality. These settings control the clipping planes and geometries that are used for triangle culling the output of Simplygon scene processors.
CreateGeometryData GeometryData represents a geometric structure consisting of point data (Vertices) and topological data (Triangles). GeometryData may represent a whole geometric object, but can also be used by streaming data filters, and in this way, only represents a part of the object. Different fields in the Vertices and Triangles fields data objects will contain point data and topological data. The standard naming convention used in the filters/renderers are as follows: (Case sensitive naming, other fields may also be present) 'Coords' Positional coordinates of a vertex, expressed with a 3-component real field (XYZ). 'TexCoords0' - 'TexCoords255' Texture coordinates of a vertex, expressed with a 2 components real field. By convention, the existing fields must be sequential, and must start with 'TexCoord0'. 'Normals' Normal vector for the vertex, expressed with a 3-component real field, a normalized (XYZ) vector. 'VertexIds' The id of the current vertex in the primitive. This field is present even if the vertex data is directly specified in the primitive data, to specify topology. The field is of type rid. 'MaterialIds' The material of the primitive. The field is of type rid. The 'Coords' and 'VertexIds' fields always exist in the object, but the other fields are optional. Also, there can exist user fields.
CreateGeometryDataCaster GeometryDataCaster is used to cast original GeometryData information to an image using mapping image
CreateGeometryDataCasterSettings GeometryDataCasterSettings is the interface used to manage settings for GeometryDataCaster
CreateGeometryDataCollection GeometryDataCollection holds a number of GeometryData objects. The objects can be looked up by their names (if they have been named with a call to SetName).
CreateGeometryValidator Checks the geometry for consistent indices, number of triangles etc.
CreateGLTFExporter glTF geometry exporter capable of exporting both glTF and GLB files determined by output path extension. Textures and binary blob files for glTF export will be placed alongside the glTF file and have names prefixed by the output file name. Note that any normal textures for the scene must be in tangent space, as generated by a normal caster with SetGenerateTangentSpaceNormals set to true.
CreateGLTFImporter glTF scene importer
CreateGraphicsExporter Base class for graphics export classes
CreateGraphicsImporter Base class for graphics import classes
CreateImageComparer Compares images.
CreateImageData ImageData holds unpacked image data. The data is stored in an FieldData object as value fields. For simplicity all images are implemented as 3D images, but has an extent of 1 in Z for 2D images, and an extent of 1 in both Y and Z for 1D images. Cube maps are stored as a 3D image with Z-depth of 6 (one for each side)
CreateImageDataExporter Class for saving image data to different file formats.
CreateImageDataImporter Class for loading image data from different file formats.
CreateImpostorFromSingleViewPipeline ImpostorFromSingleViewPipeline provides a pipeline for a impostor from single view impostor processor to be applied on the input scene.
CreateImpostorFromSingleViewSettings Settings for the ImpostorType: ImpostorFromSingleView.
CreateImpostorProcessor The ImpostorProcessor generates an impostor of one of these impostor types: BillboardCloud, Flipbook or ImpostorFromSingleView.
CreateImpostorSettings Settings for the ImpostorProcessor
CreateIntArray IntArray is the int implementation of ValueArray. See ValueArray for a description.
CreateLongArray LongArray is the long implementation of ValueArray. See ValueArray for a description.
CreateMappingImage MappingImage stores the mapping between a processed geometry and the source geometry it is based on. The mapping image object also stores multisampling settings. It can be used to cast information from the original geometry to the processed geometry, such as surface transfer or calculating normal maps. See IMaterialCaster and subclasses for casting uses.
CreateMappingImageInputMaterialSettings Settings for the Simplygon mapping input.
CreateMappingImageMeshData MappingImageMeshData stores the mapped meshes and their paths in the original scene. This can be used to find a specific triangle on the original mesh in the scene from the combined id in the mapping image.
CreateMappingImageOutputMaterialSettings Settings for the Simplygon mapping output.
CreateMappingImageSettings 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.
CreateMaterial Material object that keeps material information used while rendering.
CreateMaterialCaster MaterialCaster is the base interface for material casting interfaces. The interface exports methods for defining input geometries & mapping image, materials, output image paths & formats
CreateMaterialCasterSettings MaterialCasterSettings is the base interface for material casting settings
CreateMaterialTable MaterialTable keeps information on materials used while rendering.
CreateMatrix4x4 Matrix4x4 is used to represent and manipulate 4x4 transformation matrices, which can be either standard matrices, or homogeneous 4x4 matrices used to transform 3D homogeneous coordinates [x y z w]. The transformations are defined in row-major order.
CreateNormalCalculationSettings Settings for the normal recalculation
CreateNormalCaster NormalCaster is the interface used to cast normals data onto the receiving geometry.
CreateNormalCasterSettings NormalCasterSettings is the interface used to manage settings for a normal caster
CreateNormalRepairer Repairs normals on a processed geometry.
CreateObjectCollection ObjectCollection and its specializations handles a collection of Objects. There are methods for adding, removing and iterating through the objects.
CreateOcclusionMeshPipeline OcclusionMeshPipeline provides a pipeline for a single occlusion mesh processor to be applied on the input scene.
CreateOcclusionMeshProcessor The occlusion mesh processor creates a reconstruction of the input mesh from its silhouette. This means concavities and internal geometry disappear. WARNING: Experimental. Generates nice meshes, but currently very slow at high settings. Recommended onscreensize ~100
CreateOcclusionMeshSettings Settings for occlusion meshes
CreateOpacityCaster OpacityCaster is the interface used to cast opacity values. To be used when opacity is needed as a separate texture. IMPORTANT: Make sure to set OpacityChannel to the channel you want to cast, since this caster bakes opacity rather than the channel set in the MaterialChannel setting like most other casters.
CreateOpacityCasterSettings OpacityCasterSettings is the interface used to manage settings for an opacity caster. IMPORTANT: Make sure to set the OpacityChannel setting to the channel you want to cast, since this caster bakes opacity rather than the channel set in the MaterialChannel setting like most other casters.
CreatePackedGeometryData PackedGeometryData keeps the same information as GeometryData, but with all corner data fields moved into per-vertex fields. No per-corner fields exist, apart from the VertexIds field. Please note that the number of vertices in an PackedGeometryData is commonly higher than in an GeometryData, as vertices must be split to accommodate for different corner data.
CreateParameterizer Computes texture coordinates for arbitrary geometry.
CreateParameterizerSettings Settings for the parameterizer.
CreatePartRemover The PartRemover tool can identify unconnected sub-meshes, and remove meshes that fall below a set size threshold. This size threshold can be set globally for the entire geometry, or per-material to be able to remove things like decals effectively.
CreatePassthroughPipeline PassthroughPipeline provides an empty pipeline for creating a cascading pipeline using a single dummy root node. It does not process the input scene in any way.
CreatePipeline Pipeline is the interface for a processing pipeline, which applies a number of processing operations on an input scene to generate an output scene. The input and output scenes can be any file format supported by Simplygon.
CreatePipelineBatch Control object to launch pipelines in batches, both locally and distributed
CreatePipelineSerializer
CreatePipelineSettings PipelineSettings is the interface used to manage settings for a pipeline
CreateProcessingObject ProcessingObject is the abstract base class for all processing objects in Simplygon. Processing objects take parameters, exports the RunProcessing to run the main processing and Clear to clear the internal states of the processing object. All processing objects also export information on how far the process has moved and the possibility to cancel long running processings.
CreateRealArray RealArray is the real implementation of ValueArray. See ValueArray for a description.
CreateRecommendedTextureSizeCalculator Estimates a coarse recommended UV size (width and height) for a geometry based on only its surface area and either the distance it is allowed to deviate or its intended on screen size. The UVs are assumed to be unique i.e. not tiled/repeated. RecommendedWidth and RecommendedHeight will only differ from each other if ForcePower2Texture is enabled.
CreateReductionPipeline ReductionPipeline provides a pipeline for a single reduction processor to be applied on the input scene.
CreateReductionProcessor ReductionProcessor welds, removes t-junctions, removes double-triangles and reduces the triangle count of the Geometry. It also calculates new normals for the reduced and optimized Geometry.
CreateReductionSettings Settings for the ReductionProcessor class. Handles all the settings for Simplygons simplification algorithms. The user can tell the reduction processor which features are important by using the 'FeatureFlags' parameter, and also the relative importance of these features using the Set{feature}Importance methods. Also settings for things like symmetry are set here.
CreateRemeshingLegacyPipeline RemeshingLegacyPipeline provides a pipeline for a single remeshing legacy processor to be applied on the input scene.
CreateRemeshingLegacyProcessor RemeshingLegacyProcessor creates a new geometry that is based on the input geometry, but that is topologically based on the size of the input geometry rendered at a specific screen size, and allowed pixel error. The remesher will on demand also add texture coordinates and a mapping texture to the output remeshed geometry. The geometry that is to be remeshed can be defined either using an in-memory geometry data object, or using a geometry file placed on disk, the latter being the preferred method, if the source geometry is very large as it can be swapped in/out of memory as needed.
CreateRemeshingLegacySettings Remeshing settings for the RemeshingLegacyProcessor class. The remesher creates a completely new lightweight mesh from the input geometry, and is intended to be viewed from the outside. Here you will set the OnScreenSize (larger numbers means a more detailed mesh), merge distance (which fills in smaller gaps) and a cutting plane (where all parts of the input mesh on the far side of that plane will be culled).
CreateRemeshingPipeline RemeshingPipeline provides a pipeline for a single remeshing processor to be applied on the input scene.
CreateRemeshingProcessor The RemeshingProcessor takes an input scene and replaces it with a lightweight proxy geometry that resembles the original, but does not share vertex data or parts of the original mesh data. The remeshed object is created and optimized for a certain on-screen pixel size - which means that holes and parts that are close to each other will have their gaps filled if the distance is below a pixel. At default settings, the proxy mesh is assumed to be viewed from the outside. Any interior mesh that cannot be seen is removed. The result is a very light-weight mesh that is highly optimized for real-time viewing, or to speed up off-line rendering of small objects. Simplygon is capable of remeshing arbitrary geometry, including non-manifold surfaces.
CreateRemeshingSettings Remeshing settings for the RemeshingProcessor class.
CreateRepairSettings Settings for handling unconnected parts and unwanted gaps in the geometry. It consists of two parts, Welding and T-junction removal. Welding merges vertices that are closer than a set distance from each other. T-junction removal finds open edges that lies within a set distance from other open edges, but without matching vertices. It then splits those triangles into smaller, matching triangles and fuses them together.
CreateRidArray RidArray is the rid implementation of ValueArray. See ValueArray for a description.
CreateScene Scene is the main keeper of a scene and scene graph in simplygon. The scene is self-contained, with materials, textures, etc. to describe a full scene.
CreateSceneBone SceneBone is the bone node in the simplygon scene graph
CreateSceneBoneTable SceneBoneTable keeps information on bones used while rendering.
CreateSceneCamera SceneCamera is the camera node in the Simplygon scene graph. SceneCamera contains settings that specify how the camera works and it contains a number of views for that type of camera. A view is a combination of a CameraPosition and a TargetPosition. The SceneCamera can contain any number of views but every element in TargetPositions has to correspond to a tuple element in CameraPosition. TargetPositions is not needed if the camera is set to being omni directional.
CreateSceneExporter Class for saving scene data to different file formats depending on the extension of the set file name.
CreateSceneImporter Class for loading scene data from different file formats.
CreateSceneLodGroup SceneLodGroup is a LOD grouping for the scene graph
CreateSceneMesh SceneMesh is the mesh node in the simplygon scene graph
CreateSceneNode SceneNode is the base class for all scene graph nodes in simplygon. It has relative transformation to its parent, and functions to add children to the node.
CreateSceneNodeCollection SceneNodeCollection holds a number of SceneNode objects. The objects can be looked up by their names (if they have been named through SetName()).
CreateScenePlane ScenePlane is the plane node in the simplygon scene graph that can be used in various processes, for example as a cutting plane in the RemeshingProcessor.
CreateSelectionSet SelectionSet is a set of scene node GUIDs referencing scene nodes in a scene.
CreateSelectionSetTable SelectionSetTable keeps a table of SelectionSet.
CreateSettingsObject SettingsObject is the abstract base class for all settings objects in Simplygon. Settings objects contains parameters for processing objects to use. These settings objects will have their data set and reached from a ProcessingObject and then used therein.
CreateShaderGenerator Given a material, the shader data class keeps the relevant shader data and is able to generate a GLSL/HLSL shader.
CreateShadingAddNode AddNode describes a single addition shading node in a shading network. Input 1 and 2 are added per-component to produce the output.
CreateShadingBrightnessContrastNode ShadingBrightnessContrastNode is used to adjust the Brightness & Contrast of Input 1, using Input 2 (r=Brightness change, g=Contrast change). The adjustments are in the range (-1 to 1), where 0 equals no adjustment.
CreateShadingClampNode ClampNode describes a single clamp shading node in a shading network. Input 1 is clamped per-component between Input 2 and 3.
CreateShadingColorCorrectionNode ShadingColorCorrectionNode is used to adjust the Hue & Saturation of Input 1, using Input 2 (r=Hue change, g=Saturation change). The adjustments are in the range (-1 to 1), where 0 equals no adjustment. In the case of Hue, -1 or 1 equals a full rotation in either direction. In the case of Saturation, -1 is fully grayscale, and 1 is double the saturation of before.
CreateShadingColorNode ColorNode describes a single color source node in a shading network
CreateShadingCosNode This node describes cosine of the x,y,z,w components of the input.
CreateShadingCross3Node This node describes the cross of the x,y,z components of the input.
CreateShadingCustomNode CustomNode describes a custom shading node in a shading network. The output is produced based on customizable user specified operations. The custom node has a user specified amount of input parameters. Use SetInputCount() to specify the number of inputs. The user has to assign and implement event handlers (called observers) for the custom node to be able to evaluate to colors. See CustomNodeExample and API documentation for further explanations and code samples.
CreateShadingDivideNode DivideNode describes a single division shading node node in a shading network. Input 1 is divided by Input 2 per-component to produce the output.
CreateShadingDot3Node This node describes an dot of the x,y,z components of the inputs.
CreateShadingEqualNode ShadingEqualNode describes an "is equal to" operator, where the per-component output is either 1 or 0 depending on if input0 is equal to input1. Basically, (Input0 == Input1) ? 1 : 0
CreateShadingFilterNode FilterNode is the parent of all non-source nodes in a shading network.
CreateShadingGeometryFieldNode Geometry field node describes a source node for geometry field data in a shading network, such as normals and tangents.
CreateShadingGreaterThanNode GreaterThanNode describes the "is greater than" operator, where the per-component output is either 1 or 0 depending on if input0 is greater than input1. Basically, (Input0 > Input1) ? 1 : 0
CreateShadingInterpolateNode InterpolateNode describes a single interpolating shading node node in a shading network. Input 1 and Input 2 is interpolated per-component using Input 3. Blend values below 0 and over 1 will be clamped.
CreateShadingLayeredBlendNode LayeredBlendNode is a node with an arbitrary number of inputs that can be blended differently.
CreateShadingLessThanNode LessThanNode describes the "is less than" operator, where the per-component output is either 1 or 0 depending on if input0 is LessThan to input1. Basically, (Input0 < Input1) ? 1 : 0
CreateShadingMaxNode MaxNode describes a single max shading node in a shading network. The output has the per-channel max values of the two inputs.
CreateShadingMinNode MinNode describes a single min shading node in a shading network. The output has the per-channel min values of the two inputs.
CreateShadingMultiplyNode MultiplyNode describes a single multiplying shading node in a shading network. Input 1 and Input 2 is multiplied per-component.
CreateShadingNode ShadingNode is the parent of all nodes in a shading network.
CreateShadingNormalize3Node This node describes an normalization of the x,y,z components of the input.
CreateShadingNotEqualNode NotEqualNode describes the "is not equal" operator, where the per-component output is either 1 or 0 depending on if input0 is equal to input1. Basically, (Input0 != Input1) ? 1 : 0
CreateShadingPowNode This node describes an exponentiation. The output will be Input 1 to the power of Input 2, and it is calculated per-component.
CreateShadingSinNode This node describes Sin of the x,y,z components of the input.
CreateShadingSqrtNode This node describes a square root calculation. The output will be the per-component square root of input 1
CreateShadingStepNode StepNode describes a single step shading node, where the per-component output is either 1 or 0 depending on if input0 is larger or smaller than input1. Basically, (Input0 >= Input1) ? 1 : 0
CreateShadingSubtractNode SubtractNode describes a single subtracting shading node in a shading network. Input 2 is subtracted from input 1 per-component.
CreateShadingSwizzlingNode SwizzlingNode describes a node that can remap the input to the specified output.
CreateShadingTextureNode TextureNode describes a texture source node in a shading network.
CreateShadingVertexColorNode VertexColorNode describes a vertex color source node in a shading network.
CreateShortArray ShortArray is the short implementation of ValueArray. See ValueArray for a description.
CreateStringArray StringArray is the string implementation of ValueArray. See ValueArray for a description.
CreateSurfaceMapper ISurfaceMapper creates a mapping image between two user-defined geometries. The mapper basically looks for the source geometry in the inverse normal direction from the outwardly offset destination geometry, and maps pixels accordingly. This means that you can modify the normals of the destination geometry to adjust the search direction to your liking. The geometries can either be set as IGeometryDatas or as the root nodes of scenes. If both are set, the scene is used. If only a single source or a destination is set, or if the source and destination are the same scene or geometry, the surface mapper will map the mesh onto itself.
CreateTable Table is the base class for tables objects, where items are added into an id-indexed array of objects.
CreateTangentCalculator TangentCalculator calculates tangent vectors for geometry data objects. One corner field of texture coordinates must exist, as well as normals. The tangents are placed into two corner fields called "Tangents" and "Bitangents". If any of these fields already exists, it is replaced by the new field.
CreateTexture Texture describes a texture object, containing either image data or a path that is referenced by texture nodes in materials.
CreateTextureTable TextureTable keeps information on textures used while rendering.
CreateTJunctionEliminator Removes t-junctions by subdividing triangles and welding vertices
CreateTransform3 Transform3 handles homogeneous 4x4 transforms, i.e. transformations which can be represented by multiplying a 4x4 matrix with a homogeneous 3D coordinate. Transform3 can either pre-multiply a matrix onto the transformation, which will add a transform around the current transform, or it can post-multiply the matrix, which will add a transform inside the current transform. Post-multiply is the default mode.
CreateUnsignedCharArray UnsignedCharArray is the uchar implementation of ValueArray. See ValueArray for a description.
CreateUnsignedIntArray UnsignedIntArray is the uint implementation of ValueArray. See ValueArray for a description.
CreateUnsignedLongArray UnsignedLongArray is the ulong implementation of ValueArray. See ValueArray for a description.
CreateUnsignedShortArray UnsignedShortArray is the ushort implementation of ValueArray. See ValueArray for a description.
CreateValueArray ValueArray adds methods to arrays to generically add, set and get tuples, through real values.
CreateVertexColorCaster VertexColorCaster.
CreateVertexColorCasterSettings VertexColorCasterSettings is the interface for basic vertex color caster settings.
CreateVertexWeightSettings This settings object contains all settings related to how the user-set weighting field "VertexWeights" is setup and used in different contexts. The values in the field can be considered an "importance" factor. Generally, weights set to 1.0 are handled normally, values >1.0 are given greater importance, and values <1.0 are given less. These weights can either be manually set in the input geometry data or converted from vertex color sets using the WeightsFromColor settings. See the documentation of the WeightsFromColorMode property to see the details of how color intensity is mapped to vertex weight. Vertex weights can be used to reduce more or less aggressively on different parts of the mesh, or used to scale UV allocation in the parameterizers to give more or less texture area to different areas.
CreateVisibilitySettings Visibility settings contains the parameters for how to compute the visibility of a scene and how to use it, both in the ReductionProcessor and the RemeshingProcessor. The visibility information is computed for each part of the mesh determined by the visibility from the selected SceneCamera objects. Cameras are selected using the CameraSelectionSetID. The visibility can be used to guide the reducer and/or texture coordinates generator (parameterizer) with the flags UseVisibilityWeightsInReducer respective UseVisibilityWeightsInTexcoordGenerator. There is also an option to completely throw away triangles that are deemed not visible, using the CullOccludedGeometry flag.
CreateWavefrontExporter Wavefront .obj geometry exporter.
CreateWavefrontImporter OBJ scene importer
CreateWelder Welds vertices within the geometry or scene together.
EnableLogToFile Enable logging to default file (%SIMPLYGON_9_SHARED%\Simplygon.log).
EnableLogToFile Enable logging to file of your choice.
ErrorOccurred Check if any errors occurred.
GetErrorMessages Get error messages.
GetVersion Get the current version of Simplygon.
GetWarningMessages Get warning messages.
WarningOccurred Check if any warnings occurred.

# Properties details

# GlobalAllowDirectXSetting

Sets global AllowDirectX setting

    # GlobalAllowDistributionLocalFallbackSetting

    Sets global AllowDistributionLocalFallback setting

      # GlobalAllowGPUAccelerationSetting

      Sets global AllowGPUAcceleration setting

        # GlobalAllowShadingNetworkCachingSetting

        Sets global AllowShadingNetworkCaching setting

          # GlobalAllowTextureSamplingInterpolationSetting

          Sets global AllowTextureSamplingInterpolation setting

            # GlobalAutomaticGuidGenerationSetting

            Sets global AutomaticGuidGeneration setting

              # GlobalCacheToDiskSetting

              Sets global CacheToDisk setting

                # GlobalDefaultTangentCalculatorTypeSetting

                Sets global DefaultTangentCalculatorType setting

                  # GlobalEnableLogSetting

                  Sets global EnableLog setting

                    # GlobalFlushLogPerRowSetting

                    Sets global FlushLogPerRow setting

                      # GlobalIgnorePNGGammaOnImageLoadSetting

                      Sets global IgnorePNGGammaOnImageLoad setting

                        # GlobalInputSceneValidationActionSetting

                        Sets global InputSceneValidationAction setting

                          # GlobalLogDecorationMaskSetting

                          Sets global LogDecorationMask setting

                            # GlobalLogFileNameSetting

                            Sets global LogFileName setting

                              # GlobalLogicalCoreLimitSetting

                              Sets global LogicalCoreLimit setting

                                # GlobalLogLevelSetting

                                Sets global LogLevel setting

                                  # GlobalLogOutputToTraceWindowSetting

                                  Sets global LogOutputToTraceWindow setting

                                    # GlobalLogToFileSetting

                                    Sets global LogToFile setting

                                      # GlobalMaskFPExceptionsSetting

                                      Sets global MaskFPExceptions setting

                                        # GlobalPreventDirectXThreadingOptimizationsSetting

                                        Sets global PreventDirectXThreadingOptimizations setting

                                          # GlobalUnpackFBXInSimplygonTempDirectorySetting

                                          Sets global UnpackFBXInSimplygonTempDirectory setting

                                            # GlobalValidateProcessingAssertOnErrorSetting

                                            Sets global ValidateProcessingAssertOnError setting

                                              # GlobalValidateProcessingDebugLevelSetting

                                              Sets global ValidateProcessingDebugLevel setting

                                                # GlobalValidateProcessingOutputDirectorySetting

                                                Sets global ValidateProcessingOutputDirectory setting

                                                  # GlobalValidateProcessingSetting

                                                  Sets global ValidateProcessing setting

                                                    # GlobalValidRealThresholdSetting

                                                    Sets global ValidRealThreshold setting

                                                      # ThreadLocalLogFileNameSetting

                                                      Sets thread local LogFileName setting

                                                        # Methods details

                                                        # ClearErrorMessages

                                                        Clear error messages.

                                                          # ClearWarningMessages

                                                          Clear warning messages.

                                                            # CreateAggregationPipeline

                                                            AggregationPipeline provides a pipeline for a single aggregation processor to be applied on the input scene.

                                                              # CreateAggregationProcessor

                                                              AggregationProcessor combines all specified geometries in the scene into one geometry. All materials are combined and receive a new shared texture atlas.

                                                                # CreateAggregationSettings

                                                                Settings for the AggregationSettings class. The AggregationProcessor converts entire scenes containing multiple draw calls into a single new object with a single texture per material channel. The user can set whether or not the AggregationProcessor should create new UVs based on the old UVs or create a completely new UV parameterization.

                                                                  # CreateAmbientOcclusionCaster

                                                                  AmbientOcclusionCaster generates an ambient occlusion map based on the original geometry, and casts it.

                                                                    # CreateAmbientOcclusionCasterSettings

                                                                    AmbientOcclusionCasterSettings manages settings for an ambient occlusion caster.

                                                                      # CreateArray

                                                                      Array is the base class for the array objects. The object contains a dynamically allocated list of tuples of the same length, which can be specified before the list is filled with values.

                                                                        # CreateBillboardCloudPipeline

                                                                        BillboardCloudPipeline provides a pipeline for a billboard cloud impostor processor to be applied on the input scene.

                                                                          # CreateBillboardCloudSettings

                                                                          Settings for the ImpostorType: BillboardCloud

                                                                            # CreateBillboardCloudVegetationPipeline

                                                                            BillboardCloudPipeline provides a pipeline for a billboard cloud vegetation impostor processor to be applied on the input scene.

                                                                              # CreateBinaryExporter

                                                                              BinaryExporter stores the geometry data into a binary file, that is specific for Simplygon. Please note that the binary file is only intended for temporary storage, and that no compatibility between versions of Simplygon is guaranteed.

                                                                                # CreateBinaryImporter

                                                                                BinaryImporter loads the geometry data from a binary file, that is specific for Simplygon. Please note that the binary file is only intended for temporary storage, and that no compatibility between versions of Simplygon is guaranteed.

                                                                                  # CreateBoneSettings

                                                                                  Settings for the Simplygon Reduction/Remeshing classes With the BoneSettings object, the user can setup all the parameters for how the BoneLOD processor should simplify the links between geometries and bones. Bones can be un-linked from the geometry either with a set ratio or depending on a selected pixel size on screen.

                                                                                    # CreateBoolArray

                                                                                    BoolArray is the bool implementation of ValueArray. See ValueArray for a description.

                                                                                      # CreateCharArray

                                                                                      CharArray is the char implementation of ValueArray. See ValueArray for a description.

                                                                                        # CreateChartAggregator

                                                                                        Computes new texture coordinates for a geometry with overlapping UV charts.

                                                                                          # CreateChartAggregatorSettings

                                                                                          Settings for the chart aggregator.

                                                                                            # CreateChunkedImageData

                                                                                            ChunkedImageData holds chunks for ImageData objects. ImageData objects can be referenced, and swapped in/out of memory, to secondary storage. This is useful for very large images that cannot be stored in-memory. ImageData objects can be indexed in 1-,2- or 3D, and each ImageData chunk is cloned from a source ImageData object, at setup. Fields added to ImageData chunks after setup will only be added into that chunk, and is not recommended.

                                                                                              # CreateColorCaster

                                                                                              ColorCaster is the interface used to cast basic color values. Currently supported material color value types are Ambient, Diffuse and Specular + Shininess.

                                                                                                # CreateColorCasterSettings

                                                                                                ColorCasterSettings is the interface for basic color caster settings.

                                                                                                  # CreateDirectXRenderer

                                                                                                  A Renderer using DirectX 11 that can be used to preview a scene object containing geometry data by rendering it from selected SceneCamera nodes within the given scene and then storing the frames to disc. If using a Shading Node Network (having an IShadingNode assigned to the IMaterial), then the material can be previewed with the generated HLSL shader.

                                                                                                  WARNING

                                                                                                  This method is marked as deprecated and will be removed in a future version.

                                                                                                    # CreateDisplacementCaster

                                                                                                    DisplacementCaster is used to store the delta-values between the original and processed geometries. The values are divided by a scaling value, and clamped into the -1 -> 1 range before being stored into an image.

                                                                                                      # CreateDisplacementCasterSettings

                                                                                                      DisplacementCasterSettings is used to store the settings for a displacement caster

                                                                                                        # CreateDoubleArray

                                                                                                        DoubleArray is the double implementation of ValueArray. See ValueArray for a description.

                                                                                                          # CreateFBXExporter

                                                                                                          FBX scene exporter.

                                                                                                            # CreateFBXImporter

                                                                                                            FBX scene importer

                                                                                                              # CreateFieldData

                                                                                                              FieldData represents multiple fields of data. Each field is implemented as an ValueArray object, that has a unique name, and can have complex components (such as scalars, vectors, quaternions, tensors or matrices). All fields are assumed to be of the same length. IFieldData can be seen as an array with complex tuples, where the component can be of different types.

                                                                                                                # CreateFlipbookPipeline

                                                                                                                FlipbookPipeline provides a pipeline for a flipbook impostor processor to be applied on the input scene.

                                                                                                                  # CreateFlipbookSettings

                                                                                                                  Settings for the ImpostorType: FlipBook

                                                                                                                    # CreateFloatArray

                                                                                                                    FloatArray is the float implementation of ValueArray. See ValueArray for a description.

                                                                                                                      # CreateFoliageSettings

                                                                                                                      Settings for the BillboardMode: Foliage

                                                                                                                        # CreateGenerateLightmapTexCoordSettings

                                                                                                                        GenerateLightmapTexCoordSettings is the interface used to manage light map uv generation.

                                                                                                                          # CreateGeometryCullingSettings

                                                                                                                          Settings for volumetric triangle culling functionality. These settings control the clipping planes and geometries that are used for triangle culling the output of Simplygon scene processors.

                                                                                                                            # CreateGeometryData

                                                                                                                            GeometryData represents a geometric structure consisting of point data (Vertices) and topological data (Triangles). GeometryData may represent a whole geometric object, but can also be used by streaming data filters, and in this way, only represents a part of the object. Different fields in the Vertices and Triangles fields data objects will contain point data and topological data. The standard naming convention used in the filters/renderers are as follows: (Case sensitive naming, other fields may also be present) 'Coords' Positional coordinates of a vertex, expressed with a 3-component real field (XYZ). 'TexCoords0' - 'TexCoords255' Texture coordinates of a vertex, expressed with a 2 components real field. By convention, the existing fields must be sequential, and must start with 'TexCoord0'. 'Normals' Normal vector for the vertex, expressed with a 3-component real field, a normalized (XYZ) vector. 'VertexIds' The id of the current vertex in the primitive. This field is present even if the vertex data is directly specified in the primitive data, to specify topology. The field is of type rid. 'MaterialIds' The material of the primitive. The field is of type rid. The 'Coords' and 'VertexIds' fields always exist in the object, but the other fields are optional. Also, there can exist user fields.

                                                                                                                              # CreateGeometryDataCaster

                                                                                                                              GeometryDataCaster is used to cast original GeometryData information to an image using mapping image

                                                                                                                                # CreateGeometryDataCasterSettings

                                                                                                                                GeometryDataCasterSettings is the interface used to manage settings for GeometryDataCaster

                                                                                                                                  # CreateGeometryDataCollection

                                                                                                                                  GeometryDataCollection holds a number of GeometryData objects. The objects can be looked up by their names (if they have been named with a call to SetName).

                                                                                                                                    # CreateGeometryValidator

                                                                                                                                    Checks the geometry for consistent indices, number of triangles etc.

                                                                                                                                      # CreateGLTFExporter

                                                                                                                                      glTF geometry exporter capable of exporting both glTF and GLB files determined by output path extension. Textures and binary blob files for glTF export will be placed alongside the glTF file and have names prefixed by the output file name. Note that any normal textures for the scene must be in tangent space, as generated by a normal caster with SetGenerateTangentSpaceNormals set to true.

                                                                                                                                        # CreateGLTFImporter

                                                                                                                                        glTF scene importer

                                                                                                                                          # CreateGraphicsExporter

                                                                                                                                          Base class for graphics export classes

                                                                                                                                            # CreateGraphicsImporter

                                                                                                                                            Base class for graphics import classes

                                                                                                                                              # CreateImageComparer

                                                                                                                                              Compares images.

                                                                                                                                                # CreateImageData

                                                                                                                                                ImageData holds unpacked image data. The data is stored in an FieldData object as value fields. For simplicity all images are implemented as 3D images, but has an extent of 1 in Z for 2D images, and an extent of 1 in both Y and Z for 1D images. Cube maps are stored as a 3D image with Z-depth of 6 (one for each side)

                                                                                                                                                  # CreateImageDataExporter

                                                                                                                                                  Class for saving image data to different file formats.

                                                                                                                                                    # CreateImageDataImporter

                                                                                                                                                    Class for loading image data from different file formats.

                                                                                                                                                      # CreateImpostorFromSingleViewPipeline

                                                                                                                                                      ImpostorFromSingleViewPipeline provides a pipeline for a impostor from single view impostor processor to be applied on the input scene.

                                                                                                                                                        # CreateImpostorFromSingleViewSettings

                                                                                                                                                        Settings for the ImpostorType: ImpostorFromSingleView.

                                                                                                                                                          # CreateImpostorProcessor

                                                                                                                                                          The ImpostorProcessor generates an impostor of one of these impostor types: BillboardCloud, Flipbook or ImpostorFromSingleView.

                                                                                                                                                            # CreateImpostorSettings

                                                                                                                                                            Settings for the ImpostorProcessor

                                                                                                                                                              # CreateIntArray

                                                                                                                                                              IntArray is the int implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                # CreateLongArray

                                                                                                                                                                LongArray is the long implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                  # CreateMappingImage

                                                                                                                                                                  MappingImage stores the mapping between a processed geometry and the source geometry it is based on. The mapping image object also stores multisampling settings. It can be used to cast information from the original geometry to the processed geometry, such as surface transfer or calculating normal maps. See IMaterialCaster and subclasses for casting uses.

                                                                                                                                                                    # CreateMappingImageInputMaterialSettings

                                                                                                                                                                    Settings for the Simplygon mapping input.

                                                                                                                                                                      # CreateMappingImageMeshData

                                                                                                                                                                      MappingImageMeshData stores the mapped meshes and their paths in the original scene. This can be used to find a specific triangle on the original mesh in the scene from the combined id in the mapping image.

                                                                                                                                                                        # CreateMappingImageOutputMaterialSettings

                                                                                                                                                                        Settings for the Simplygon mapping output.

                                                                                                                                                                          # CreateMappingImageSettings

                                                                                                                                                                          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.

                                                                                                                                                                            # CreateMaterial

                                                                                                                                                                            Material object that keeps material information used while rendering.

                                                                                                                                                                              # CreateMaterialCaster

                                                                                                                                                                              MaterialCaster is the base interface for material casting interfaces. The interface exports methods for defining input geometries & mapping image, materials, output image paths & formats

                                                                                                                                                                                # CreateMaterialCasterSettings

                                                                                                                                                                                MaterialCasterSettings is the base interface for material casting settings

                                                                                                                                                                                  # CreateMaterialTable

                                                                                                                                                                                  MaterialTable keeps information on materials used while rendering.

                                                                                                                                                                                    # CreateMatrix4x4

                                                                                                                                                                                    Matrix4x4 is used to represent and manipulate 4x4 transformation matrices, which can be either standard matrices, or homogeneous 4x4 matrices used to transform 3D homogeneous coordinates [x y z w]. The transformations are defined in row-major order.

                                                                                                                                                                                      # CreateNormalCalculationSettings

                                                                                                                                                                                      Settings for the normal recalculation

                                                                                                                                                                                        # CreateNormalCaster

                                                                                                                                                                                        NormalCaster is the interface used to cast normals data onto the receiving geometry.

                                                                                                                                                                                          # CreateNormalCasterSettings

                                                                                                                                                                                          NormalCasterSettings is the interface used to manage settings for a normal caster

                                                                                                                                                                                            # CreateNormalRepairer

                                                                                                                                                                                            Repairs normals on a processed geometry.

                                                                                                                                                                                              # CreateObjectCollection

                                                                                                                                                                                              ObjectCollection and its specializations handles a collection of Objects. There are methods for adding, removing and iterating through the objects.

                                                                                                                                                                                                # CreateOcclusionMeshPipeline

                                                                                                                                                                                                OcclusionMeshPipeline provides a pipeline for a single occlusion mesh processor to be applied on the input scene.

                                                                                                                                                                                                  # CreateOcclusionMeshProcessor

                                                                                                                                                                                                  The occlusion mesh processor creates a reconstruction of the input mesh from its silhouette. This means concavities and internal geometry disappear. WARNING: Experimental. Generates nice meshes, but currently very slow at high settings. Recommended onscreensize ~100

                                                                                                                                                                                                    # CreateOcclusionMeshSettings

                                                                                                                                                                                                    Settings for occlusion meshes

                                                                                                                                                                                                      # CreateOpacityCaster

                                                                                                                                                                                                      OpacityCaster is the interface used to cast opacity values. To be used when opacity is needed as a separate texture. IMPORTANT: Make sure to set OpacityChannel to the channel you want to cast, since this caster bakes opacity rather than the channel set in the MaterialChannel setting like most other casters.

                                                                                                                                                                                                        # CreateOpacityCasterSettings

                                                                                                                                                                                                        OpacityCasterSettings is the interface used to manage settings for an opacity caster. IMPORTANT: Make sure to set the OpacityChannel setting to the channel you want to cast, since this caster bakes opacity rather than the channel set in the MaterialChannel setting like most other casters.

                                                                                                                                                                                                          # CreatePackedGeometryData

                                                                                                                                                                                                          PackedGeometryData keeps the same information as GeometryData, but with all corner data fields moved into per-vertex fields. No per-corner fields exist, apart from the VertexIds field. Please note that the number of vertices in an PackedGeometryData is commonly higher than in an GeometryData, as vertices must be split to accommodate for different corner data.

                                                                                                                                                                                                            # CreateParameterizer

                                                                                                                                                                                                            Computes texture coordinates for arbitrary geometry.

                                                                                                                                                                                                              # CreateParameterizerSettings

                                                                                                                                                                                                              Settings for the parameterizer.

                                                                                                                                                                                                                # CreatePartRemover

                                                                                                                                                                                                                The PartRemover tool can identify unconnected sub-meshes, and remove meshes that fall below a set size threshold. This size threshold can be set globally for the entire geometry, or per-material to be able to remove things like decals effectively.

                                                                                                                                                                                                                  # CreatePassthroughPipeline

                                                                                                                                                                                                                  PassthroughPipeline provides an empty pipeline for creating a cascading pipeline using a single dummy root node. It does not process the input scene in any way.

                                                                                                                                                                                                                    # CreatePipeline

                                                                                                                                                                                                                    Pipeline is the interface for a processing pipeline, which applies a number of processing operations on an input scene to generate an output scene. The input and output scenes can be any file format supported by Simplygon.

                                                                                                                                                                                                                      # CreatePipelineBatch

                                                                                                                                                                                                                      Control object to launch pipelines in batches, both locally and distributed

                                                                                                                                                                                                                        # CreatePipelineSerializer

                                                                                                                                                                                                                          # CreatePipelineSettings

                                                                                                                                                                                                                          PipelineSettings is the interface used to manage settings for a pipeline

                                                                                                                                                                                                                            # CreateProcessingObject

                                                                                                                                                                                                                            ProcessingObject is the abstract base class for all processing objects in Simplygon. Processing objects take parameters, exports the RunProcessing to run the main processing and Clear to clear the internal states of the processing object. All processing objects also export information on how far the process has moved and the possibility to cancel long running processings.

                                                                                                                                                                                                                              # CreateRealArray

                                                                                                                                                                                                                              RealArray is the real implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                # CreateRecommendedTextureSizeCalculator

                                                                                                                                                                                                                                Estimates a coarse recommended UV size (width and height) for a geometry based on only its surface area and either the distance it is allowed to deviate or its intended on screen size. The UVs are assumed to be unique i.e. not tiled/repeated. RecommendedWidth and RecommendedHeight will only differ from each other if ForcePower2Texture is enabled.

                                                                                                                                                                                                                                  # CreateReductionPipeline

                                                                                                                                                                                                                                  ReductionPipeline provides a pipeline for a single reduction processor to be applied on the input scene.

                                                                                                                                                                                                                                    # CreateReductionProcessor

                                                                                                                                                                                                                                    ReductionProcessor welds, removes t-junctions, removes double-triangles and reduces the triangle count of the Geometry. It also calculates new normals for the reduced and optimized Geometry.

                                                                                                                                                                                                                                      # CreateReductionSettings

                                                                                                                                                                                                                                      Settings for the ReductionProcessor class. Handles all the settings for Simplygons simplification algorithms. The user can tell the reduction processor which features are important by using the 'FeatureFlags' parameter, and also the relative importance of these features using the Set{feature}Importance methods. Also settings for things like symmetry are set here.

                                                                                                                                                                                                                                        # CreateRemeshingLegacyPipeline

                                                                                                                                                                                                                                        RemeshingLegacyPipeline provides a pipeline for a single remeshing legacy processor to be applied on the input scene.

                                                                                                                                                                                                                                        WARNING

                                                                                                                                                                                                                                        This method is marked as deprecated and will be removed in a future version.

                                                                                                                                                                                                                                          # CreateRemeshingLegacyProcessor

                                                                                                                                                                                                                                          RemeshingLegacyProcessor creates a new geometry that is based on the input geometry, but that is topologically based on the size of the input geometry rendered at a specific screen size, and allowed pixel error. The remesher will on demand also add texture coordinates and a mapping texture to the output remeshed geometry. The geometry that is to be remeshed can be defined either using an in-memory geometry data object, or using a geometry file placed on disk, the latter being the preferred method, if the source geometry is very large as it can be swapped in/out of memory as needed.

                                                                                                                                                                                                                                          WARNING

                                                                                                                                                                                                                                          This method is marked as deprecated and will be removed in a future version.

                                                                                                                                                                                                                                            # CreateRemeshingLegacySettings

                                                                                                                                                                                                                                            Remeshing settings for the RemeshingLegacyProcessor class. The remesher creates a completely new lightweight mesh from the input geometry, and is intended to be viewed from the outside. Here you will set the OnScreenSize (larger numbers means a more detailed mesh), merge distance (which fills in smaller gaps) and a cutting plane (where all parts of the input mesh on the far side of that plane will be culled).

                                                                                                                                                                                                                                            WARNING

                                                                                                                                                                                                                                            This method is marked as deprecated and will be removed in a future version.

                                                                                                                                                                                                                                              # CreateRemeshingPipeline

                                                                                                                                                                                                                                              RemeshingPipeline provides a pipeline for a single remeshing processor to be applied on the input scene.

                                                                                                                                                                                                                                                # CreateRemeshingProcessor

                                                                                                                                                                                                                                                The RemeshingProcessor takes an input scene and replaces it with a lightweight proxy geometry that resembles the original, but does not share vertex data or parts of the original mesh data. The remeshed object is created and optimized for a certain on-screen pixel size - which means that holes and parts that are close to each other will have their gaps filled if the distance is below a pixel. At default settings, the proxy mesh is assumed to be viewed from the outside. Any interior mesh that cannot be seen is removed. The result is a very light-weight mesh that is highly optimized for real-time viewing, or to speed up off-line rendering of small objects. Simplygon is capable of remeshing arbitrary geometry, including non-manifold surfaces.

                                                                                                                                                                                                                                                  # CreateRemeshingSettings

                                                                                                                                                                                                                                                  Remeshing settings for the RemeshingProcessor class.

                                                                                                                                                                                                                                                    # CreateRepairSettings

                                                                                                                                                                                                                                                    Settings for handling unconnected parts and unwanted gaps in the geometry. It consists of two parts, Welding and T-junction removal. Welding merges vertices that are closer than a set distance from each other. T-junction removal finds open edges that lies within a set distance from other open edges, but without matching vertices. It then splits those triangles into smaller, matching triangles and fuses them together.

                                                                                                                                                                                                                                                      # CreateRidArray

                                                                                                                                                                                                                                                      RidArray is the rid implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                        # CreateScene

                                                                                                                                                                                                                                                        Scene is the main keeper of a scene and scene graph in simplygon. The scene is self-contained, with materials, textures, etc. to describe a full scene.

                                                                                                                                                                                                                                                          # CreateSceneBone

                                                                                                                                                                                                                                                          SceneBone is the bone node in the simplygon scene graph

                                                                                                                                                                                                                                                            # CreateSceneBoneTable

                                                                                                                                                                                                                                                            SceneBoneTable keeps information on bones used while rendering.

                                                                                                                                                                                                                                                              # CreateSceneCamera

                                                                                                                                                                                                                                                              SceneCamera is the camera node in the Simplygon scene graph. SceneCamera contains settings that specify how the camera works and it contains a number of views for that type of camera. A view is a combination of a CameraPosition and a TargetPosition. The SceneCamera can contain any number of views but every element in TargetPositions has to correspond to a tuple element in CameraPosition. TargetPositions is not needed if the camera is set to being omni directional.

                                                                                                                                                                                                                                                                # CreateSceneExporter

                                                                                                                                                                                                                                                                Class for saving scene data to different file formats depending on the extension of the set file name.

                                                                                                                                                                                                                                                                  # CreateSceneImporter

                                                                                                                                                                                                                                                                  Class for loading scene data from different file formats.

                                                                                                                                                                                                                                                                    # CreateSceneLodGroup

                                                                                                                                                                                                                                                                    SceneLodGroup is a LOD grouping for the scene graph

                                                                                                                                                                                                                                                                      # CreateSceneMesh

                                                                                                                                                                                                                                                                      SceneMesh is the mesh node in the simplygon scene graph

                                                                                                                                                                                                                                                                        # CreateSceneNode

                                                                                                                                                                                                                                                                        SceneNode is the base class for all scene graph nodes in simplygon. It has relative transformation to its parent, and functions to add children to the node.

                                                                                                                                                                                                                                                                          # CreateSceneNodeCollection

                                                                                                                                                                                                                                                                          SceneNodeCollection holds a number of SceneNode objects. The objects can be looked up by their names (if they have been named through SetName()).

                                                                                                                                                                                                                                                                            # CreateScenePlane

                                                                                                                                                                                                                                                                            ScenePlane is the plane node in the simplygon scene graph that can be used in various processes, for example as a cutting plane in the RemeshingProcessor.

                                                                                                                                                                                                                                                                              # CreateSelectionSet

                                                                                                                                                                                                                                                                              SelectionSet is a set of scene node GUIDs referencing scene nodes in a scene.

                                                                                                                                                                                                                                                                                # CreateSelectionSetTable

                                                                                                                                                                                                                                                                                SelectionSetTable keeps a table of SelectionSet.

                                                                                                                                                                                                                                                                                  # CreateSettingsObject

                                                                                                                                                                                                                                                                                  SettingsObject is the abstract base class for all settings objects in Simplygon. Settings objects contains parameters for processing objects to use. These settings objects will have their data set and reached from a ProcessingObject and then used therein.

                                                                                                                                                                                                                                                                                    # CreateShaderGenerator

                                                                                                                                                                                                                                                                                    Given a material, the shader data class keeps the relevant shader data and is able to generate a GLSL/HLSL shader.

                                                                                                                                                                                                                                                                                      # CreateShadingAddNode

                                                                                                                                                                                                                                                                                      AddNode describes a single addition shading node in a shading network. Input 1 and 2 are added per-component to produce the output.

                                                                                                                                                                                                                                                                                        # CreateShadingBrightnessContrastNode

                                                                                                                                                                                                                                                                                        ShadingBrightnessContrastNode is used to adjust the Brightness & Contrast of Input 1, using Input 2 (r=Brightness change, g=Contrast change). The adjustments are in the range (-1 to 1), where 0 equals no adjustment.

                                                                                                                                                                                                                                                                                          # CreateShadingClampNode

                                                                                                                                                                                                                                                                                          ClampNode describes a single clamp shading node in a shading network. Input 1 is clamped per-component between Input 2 and 3.

                                                                                                                                                                                                                                                                                            # CreateShadingColorCorrectionNode

                                                                                                                                                                                                                                                                                            ShadingColorCorrectionNode is used to adjust the Hue & Saturation of Input 1, using Input 2 (r=Hue change, g=Saturation change). The adjustments are in the range (-1 to 1), where 0 equals no adjustment. In the case of Hue, -1 or 1 equals a full rotation in either direction. In the case of Saturation, -1 is fully grayscale, and 1 is double the saturation of before.

                                                                                                                                                                                                                                                                                              # CreateShadingColorNode

                                                                                                                                                                                                                                                                                              ColorNode describes a single color source node in a shading network

                                                                                                                                                                                                                                                                                                # CreateShadingCosNode

                                                                                                                                                                                                                                                                                                This node describes cosine of the x,y,z,w components of the input.

                                                                                                                                                                                                                                                                                                  # CreateShadingCross3Node

                                                                                                                                                                                                                                                                                                  This node describes the cross of the x,y,z components of the input.

                                                                                                                                                                                                                                                                                                    # CreateShadingCustomNode

                                                                                                                                                                                                                                                                                                    CustomNode describes a custom shading node in a shading network. The output is produced based on customizable user specified operations. The custom node has a user specified amount of input parameters. Use SetInputCount() to specify the number of inputs. The user has to assign and implement event handlers (called observers) for the custom node to be able to evaluate to colors. See CustomNodeExample and API documentation for further explanations and code samples.

                                                                                                                                                                                                                                                                                                      # CreateShadingDivideNode

                                                                                                                                                                                                                                                                                                      DivideNode describes a single division shading node node in a shading network. Input 1 is divided by Input 2 per-component to produce the output.

                                                                                                                                                                                                                                                                                                        # CreateShadingDot3Node

                                                                                                                                                                                                                                                                                                        This node describes an dot of the x,y,z components of the inputs.

                                                                                                                                                                                                                                                                                                          # CreateShadingEqualNode

                                                                                                                                                                                                                                                                                                          ShadingEqualNode describes an "is equal to" operator, where the per-component output is either 1 or 0 depending on if input0 is equal to input1. Basically, (Input0 == Input1) ? 1 : 0

                                                                                                                                                                                                                                                                                                            # CreateShadingFilterNode

                                                                                                                                                                                                                                                                                                            FilterNode is the parent of all non-source nodes in a shading network.

                                                                                                                                                                                                                                                                                                              # CreateShadingGeometryFieldNode

                                                                                                                                                                                                                                                                                                              Geometry field node describes a source node for geometry field data in a shading network, such as normals and tangents.

                                                                                                                                                                                                                                                                                                                # CreateShadingGreaterThanNode

                                                                                                                                                                                                                                                                                                                GreaterThanNode describes the "is greater than" operator, where the per-component output is either 1 or 0 depending on if input0 is greater than input1. Basically, (Input0 > Input1) ? 1 : 0

                                                                                                                                                                                                                                                                                                                  # CreateShadingInterpolateNode

                                                                                                                                                                                                                                                                                                                  InterpolateNode describes a single interpolating shading node node in a shading network. Input 1 and Input 2 is interpolated per-component using Input 3. Blend values below 0 and over 1 will be clamped.

                                                                                                                                                                                                                                                                                                                    # CreateShadingLayeredBlendNode

                                                                                                                                                                                                                                                                                                                    LayeredBlendNode is a node with an arbitrary number of inputs that can be blended differently.

                                                                                                                                                                                                                                                                                                                      # CreateShadingLessThanNode

                                                                                                                                                                                                                                                                                                                      LessThanNode describes the "is less than" operator, where the per-component output is either 1 or 0 depending on if input0 is LessThan to input1. Basically, (Input0 < Input1) ? 1 : 0

                                                                                                                                                                                                                                                                                                                        # CreateShadingMaxNode

                                                                                                                                                                                                                                                                                                                        MaxNode describes a single max shading node in a shading network. The output has the per-channel max values of the two inputs.

                                                                                                                                                                                                                                                                                                                          # CreateShadingMinNode

                                                                                                                                                                                                                                                                                                                          MinNode describes a single min shading node in a shading network. The output has the per-channel min values of the two inputs.

                                                                                                                                                                                                                                                                                                                            # CreateShadingMultiplyNode

                                                                                                                                                                                                                                                                                                                            MultiplyNode describes a single multiplying shading node in a shading network. Input 1 and Input 2 is multiplied per-component.

                                                                                                                                                                                                                                                                                                                              # CreateShadingNode

                                                                                                                                                                                                                                                                                                                              ShadingNode is the parent of all nodes in a shading network.

                                                                                                                                                                                                                                                                                                                                # CreateShadingNormalize3Node

                                                                                                                                                                                                                                                                                                                                This node describes an normalization of the x,y,z components of the input.

                                                                                                                                                                                                                                                                                                                                  # CreateShadingNotEqualNode

                                                                                                                                                                                                                                                                                                                                  NotEqualNode describes the "is not equal" operator, where the per-component output is either 1 or 0 depending on if input0 is equal to input1. Basically, (Input0 != Input1) ? 1 : 0

                                                                                                                                                                                                                                                                                                                                    # CreateShadingPowNode

                                                                                                                                                                                                                                                                                                                                    This node describes an exponentiation. The output will be Input 1 to the power of Input 2, and it is calculated per-component.

                                                                                                                                                                                                                                                                                                                                      # CreateShadingSinNode

                                                                                                                                                                                                                                                                                                                                      This node describes Sin of the x,y,z components of the input.

                                                                                                                                                                                                                                                                                                                                        # CreateShadingSqrtNode

                                                                                                                                                                                                                                                                                                                                        This node describes a square root calculation. The output will be the per-component square root of input 1

                                                                                                                                                                                                                                                                                                                                          # CreateShadingStepNode

                                                                                                                                                                                                                                                                                                                                          StepNode describes a single step shading node, where the per-component output is either 1 or 0 depending on if input0 is larger or smaller than input1. Basically, (Input0 >= Input1) ? 1 : 0

                                                                                                                                                                                                                                                                                                                                            # CreateShadingSubtractNode

                                                                                                                                                                                                                                                                                                                                            SubtractNode describes a single subtracting shading node in a shading network. Input 2 is subtracted from input 1 per-component.

                                                                                                                                                                                                                                                                                                                                              # CreateShadingSwizzlingNode

                                                                                                                                                                                                                                                                                                                                              SwizzlingNode describes a node that can remap the input to the specified output.

                                                                                                                                                                                                                                                                                                                                                # CreateShadingTextureNode

                                                                                                                                                                                                                                                                                                                                                TextureNode describes a texture source node in a shading network.

                                                                                                                                                                                                                                                                                                                                                  # CreateShadingVertexColorNode

                                                                                                                                                                                                                                                                                                                                                  VertexColorNode describes a vertex color source node in a shading network.

                                                                                                                                                                                                                                                                                                                                                    # CreateShortArray

                                                                                                                                                                                                                                                                                                                                                    ShortArray is the short implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                      # CreateStringArray

                                                                                                                                                                                                                                                                                                                                                      StringArray is the string implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                        # CreateSurfaceMapper

                                                                                                                                                                                                                                                                                                                                                        ISurfaceMapper creates a mapping image between two user-defined geometries. The mapper basically looks for the source geometry in the inverse normal direction from the outwardly offset destination geometry, and maps pixels accordingly. This means that you can modify the normals of the destination geometry to adjust the search direction to your liking. The geometries can either be set as IGeometryDatas or as the root nodes of scenes. If both are set, the scene is used. If only a single source or a destination is set, or if the source and destination are the same scene or geometry, the surface mapper will map the mesh onto itself.

                                                                                                                                                                                                                                                                                                                                                          # CreateTable

                                                                                                                                                                                                                                                                                                                                                          Table is the base class for tables objects, where items are added into an id-indexed array of objects.

                                                                                                                                                                                                                                                                                                                                                            # CreateTangentCalculator

                                                                                                                                                                                                                                                                                                                                                            TangentCalculator calculates tangent vectors for geometry data objects. One corner field of texture coordinates must exist, as well as normals. The tangents are placed into two corner fields called "Tangents" and "Bitangents". If any of these fields already exists, it is replaced by the new field.

                                                                                                                                                                                                                                                                                                                                                              # CreateTexture

                                                                                                                                                                                                                                                                                                                                                              Texture describes a texture object, containing either image data or a path that is referenced by texture nodes in materials.

                                                                                                                                                                                                                                                                                                                                                                # CreateTextureTable

                                                                                                                                                                                                                                                                                                                                                                TextureTable keeps information on textures used while rendering.

                                                                                                                                                                                                                                                                                                                                                                  # CreateTJunctionEliminator

                                                                                                                                                                                                                                                                                                                                                                  Removes t-junctions by subdividing triangles and welding vertices

                                                                                                                                                                                                                                                                                                                                                                    # CreateTransform3

                                                                                                                                                                                                                                                                                                                                                                    Transform3 handles homogeneous 4x4 transforms, i.e. transformations which can be represented by multiplying a 4x4 matrix with a homogeneous 3D coordinate. Transform3 can either pre-multiply a matrix onto the transformation, which will add a transform around the current transform, or it can post-multiply the matrix, which will add a transform inside the current transform. Post-multiply is the default mode.

                                                                                                                                                                                                                                                                                                                                                                      # CreateUnsignedCharArray

                                                                                                                                                                                                                                                                                                                                                                      UnsignedCharArray is the uchar implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                                        # CreateUnsignedIntArray

                                                                                                                                                                                                                                                                                                                                                                        UnsignedIntArray is the uint implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                                          # CreateUnsignedLongArray

                                                                                                                                                                                                                                                                                                                                                                          UnsignedLongArray is the ulong implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                                            # CreateUnsignedShortArray

                                                                                                                                                                                                                                                                                                                                                                            UnsignedShortArray is the ushort implementation of ValueArray. See ValueArray for a description.

                                                                                                                                                                                                                                                                                                                                                                              # CreateValueArray

                                                                                                                                                                                                                                                                                                                                                                              ValueArray adds methods to arrays to generically add, set and get tuples, through real values.

                                                                                                                                                                                                                                                                                                                                                                                # CreateVertexColorCaster

                                                                                                                                                                                                                                                                                                                                                                                VertexColorCaster.

                                                                                                                                                                                                                                                                                                                                                                                  # CreateVertexColorCasterSettings

                                                                                                                                                                                                                                                                                                                                                                                  VertexColorCasterSettings is the interface for basic vertex color caster settings.

                                                                                                                                                                                                                                                                                                                                                                                    # CreateVertexWeightSettings

                                                                                                                                                                                                                                                                                                                                                                                    This settings object contains all settings related to how the user-set weighting field "VertexWeights" is setup and used in different contexts. The values in the field can be considered an "importance" factor. Generally, weights set to 1.0 are handled normally, values >1.0 are given greater importance, and values <1.0 are given less. These weights can either be manually set in the input geometry data or converted from vertex color sets using the WeightsFromColor settings. See the documentation of the WeightsFromColorMode property to see the details of how color intensity is mapped to vertex weight. Vertex weights can be used to reduce more or less aggressively on different parts of the mesh, or used to scale UV allocation in the parameterizers to give more or less texture area to different areas.

                                                                                                                                                                                                                                                                                                                                                                                      # CreateVisibilitySettings

                                                                                                                                                                                                                                                                                                                                                                                      Visibility settings contains the parameters for how to compute the visibility of a scene and how to use it, both in the ReductionProcessor and the RemeshingProcessor. The visibility information is computed for each part of the mesh determined by the visibility from the selected SceneCamera objects. Cameras are selected using the CameraSelectionSetID. The visibility can be used to guide the reducer and/or texture coordinates generator (parameterizer) with the flags UseVisibilityWeightsInReducer respective UseVisibilityWeightsInTexcoordGenerator. There is also an option to completely throw away triangles that are deemed not visible, using the CullOccludedGeometry flag.

                                                                                                                                                                                                                                                                                                                                                                                        # CreateWavefrontExporter

                                                                                                                                                                                                                                                                                                                                                                                        Wavefront .obj geometry exporter.

                                                                                                                                                                                                                                                                                                                                                                                          # CreateWavefrontImporter

                                                                                                                                                                                                                                                                                                                                                                                          OBJ scene importer

                                                                                                                                                                                                                                                                                                                                                                                            # CreateWelder

                                                                                                                                                                                                                                                                                                                                                                                            Welds vertices within the geometry or scene together.

                                                                                                                                                                                                                                                                                                                                                                                              # EnableLogToFile

                                                                                                                                                                                                                                                                                                                                                                                              Enable logging to default file (%SIMPLYGON_9_SHARED%\Simplygon.log).

                                                                                                                                                                                                                                                                                                                                                                                                # EnableLogToFile

                                                                                                                                                                                                                                                                                                                                                                                                Enable logging to file of your choice.

                                                                                                                                                                                                                                                                                                                                                                                                  # ErrorOccurred

                                                                                                                                                                                                                                                                                                                                                                                                  Check if any errors occurred.

                                                                                                                                                                                                                                                                                                                                                                                                    # GetErrorMessages

                                                                                                                                                                                                                                                                                                                                                                                                    Get error messages.

                                                                                                                                                                                                                                                                                                                                                                                                      # GetVersion

                                                                                                                                                                                                                                                                                                                                                                                                      Get the current version of Simplygon.

                                                                                                                                                                                                                                                                                                                                                                                                        # GetWarningMessages

                                                                                                                                                                                                                                                                                                                                                                                                        Get warning messages.

                                                                                                                                                                                                                                                                                                                                                                                                          # WarningOccurred

                                                                                                                                                                                                                                                                                                                                                                                                          Check if any warnings occurred.