Skip to content
On this page

class Simplygon

Properties

PropertyDescription
GlobalAllowDirectXSettingAllow the use of DirectX when processing. This may use a discrete GPU, or a Warp based CPU backend.
GlobalAllowDistributionLocalFallbackSettingSets global AllowDistributionLocalFallback setting
GlobalAllowGPUAccelerationSettingAllow the use of GPU optimizations when processing.
GlobalAllowShadingNetworkCachingSettingSets global AllowShadingNetworkCaching setting
GlobalAllowTextureSamplingInterpolationSettingSets global AllowTextureSamplingInterpolation setting
GlobalBatchLogPathSettingThis is the file path to use when outputting batch logs.
GlobalCacheToDiskSettingSets global CacheToDisk setting
GlobalDefaultTangentCalculatorTypeSettingDefaultTangentCalculatorType defines the default tangent calculator type to use when calculating tangents. This can be overridden in some processors and pipelines.
GlobalDXCPathSettingThe path to the DXC shader compiler. If the Vulkan SDK is installed, the compiler is automatically found and this path is set by Simplygon on init, but the path can be set manually by the user if the shader compiler cannot be automatically found, or to override the path.
GlobalEnableLogSettingEnable logging.
GlobalEnableVulkanValidationLayersSettingIf set, the Vulkan validation layers are enabled, and will log warnings and issues to the log. Note that this should only be used for debugging, and will impact processing performance when enabled.
GlobalFlushLogPerRowSettingSets global FlushLogPerRow setting
GlobalGLSLCPathSettingThe path to the GLSLC shader compiler. If the Vulkan SDK is installed, the compiler is automatically found and this path is set by Simplygon on init, but the path can be set manually by the user if the shader compiler cannot be automatically found, or to override the path.
GlobalGridAgentBalancerJobToleranceSettingSpecify the number of jobs that the balancer can skip before it runs. Increasing this number will reduce the efficiency of the agent usage
GlobalGridAgentDiscoveryDelaySettingHow long SimplygonBatch pauses before searching for agents on the network again. (Milliseconds).
GlobalGridAgentLoadLimitSettingUse this to change the default agent load limit. The value can be set between 1-100(%).
GlobalGridAgentsTableFilePathSettingIf Simplygon Grid distribution should use a fixed list of agents rather than mDNS discovery, this is the file path to the xml file with a table of available agents.
GlobalGridDiscoverTimeoutSettingThe timeout that decides when SimplygonBatch should stop discover agents.
GlobalGridEnableAgentIpSortingSettingSet to True if you want the discovered agents to also be sorted by ip address.
GlobalGridEnableVerboseLoggingSettingControl whether grid should output detailed information about its internal operations and events to the console or a log file. If set to true, SimplygonBatch will produce verbose logs; otherwise, it will only produce minimal logs.
GlobalGridOverloadedTimeoutSettingSpecify how long grid should wait for busy agents to be available for distribution again.
GlobalGridRetryLimitForFailedJobSettingNumber of retries for a failed grid job
GlobalIgnorePNGGammaOnImageLoadSettingIf set, will cause any function that loads a PNG image to ignore the settings in the PNG gamma chunk.
GlobalInputSceneValidationActionSettingThe action to take when an invalid scene is input into Simplygon.
GlobalLogDecorationMaskSettingSets global LogDecorationMask setting
GlobalLogFileNameSettingThe log file to write the log to. (Enable logging and logging to file with settings EnableLogging and LogToFile)
GlobalLogicalCoreLimitSettingSets global LogicalCoreLimit setting
GlobalLogLevelSettingthe global log level, how verbose the log should be
GlobalLogOutputToInternalLogSettingIf logging is enabled, send a copy of the log to the internal log queue. To fetch from this log, use Simplygon::PollLog in SimplygonLoader.h
GlobalLogOutputToTraceWindowSettingSets global LogOutputToTraceWindow setting
GlobalLogToFileSettingIf logging is enabled, log to a file, which is specified using the LogFileName setting
GlobalMaskFPExceptionsSettingSets global MaskFPExceptions setting
GlobalPreventDirectXThreadingOptimizationsSettingSets global PreventDirectXThreadingOptimizations setting
GlobalReportErrorCodesToErrorHandlerSettingIf enabled, all non-zero EErrorCodes (any error) from processing objects, pipelines and import/export objects will be reported through the error handler.
GlobalUnpackFBXInSimplygonTempDirectorySettingSets global UnpackFBXInSimplygonTempDirectory setting
GlobalValidateProcessingAssertOnErrorSettingSets global ValidateProcessingAssertOnError setting
GlobalValidateProcessingDebugLevelSettingSets global ValidateProcessingDebugLevel setting
GlobalValidateProcessingOutputDirectorySettingSets global ValidateProcessingOutputDirectory setting
GlobalValidateProcessingSettingIf set, an extra step of validation is run before running the process. Enabled by default, disabling it may increase performance slightly, but may cause invalid processing to crash.
GlobalValidRealThresholdSettingSets global ValidRealThreshold setting
GlobalVulkanDeviceSettingSet this global setting string if you need to override the Vulkan device used by the processing. The string can be either the exact name of the device, or a subset of the name, such as the vendor name.
ThreadLocalLogFileNameSettingSets thread local LogFileName setting

Methods

MethodDescription
ClearErrorMessagesClear error messages.
ClearWarningMessagesClear warning messages.
CreateAggregationPipelineAggregationPipeline provides a pipeline for a single aggregation processor to be applied on the input scene.
CreateAggregationProcessorAggregationProcessor combines all specified geometries in the scene into one geometry. All materials are combined and receive a new shared texture atlas.
CreateAggregationSettingsSettings 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.
CreateAmbientOcclusionCasterAmbientOcclusionCaster generates an ambient occlusion map based on the original geometry, and casts it.
CreateAmbientOcclusionCasterSettingsAmbientOcclusionCasterSettings manages settings for an ambient occlusion caster.
CreateArrayArray 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.
CreateAttributeTessellationManagement functions for geometry attribute tessellation
CreateAttributeTessellationDataAttributeTessellationData contains methods to access the attribute tessellation data residing within a GeometryData object.
CreateAttributeTessellationSamplingSettingsSettings for sampling tessellated attributes from input data, either direct injected or through material casting.
CreateAttributeTessellationSettingsAttribute tessellation settings contains the parameters for how to compute the tessellation attributes of geometries in a scene.
CreateBillboardCloudPipelineBillboardCloudPipeline provides a pipeline for a billboard cloud impostor processor to be applied on the input scene.
CreateBillboardCloudSettingsSettings for the ImpostorType: BillboardCloud
CreateBillboardCloudVegetationPipelineBillboardCloudPipeline provides a pipeline for a billboard cloud vegetation impostor processor to be applied on the input scene.
CreateBinaryExporterBinaryExporter 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.
CreateBinaryImporterBinaryImporter 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.
CreateBoneSettingsSettings 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.
CreateBoolArrayBoolArray is the bool implementation of ValueArray. See ValueArray for a description.
CreateCharArrayCharArray is the char implementation of ValueArray. See ValueArray for a description.
CreateChartAggregatorComputes new texture coordinates for a geometry with overlapping UV charts.
CreateChartAggregatorSettingsSettings for the chart aggregator.
CreateChunkedImageDataChunkedImageData 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.
CreateColorCasterColorCaster is the interface used to cast basic color values. Currently supported material color value types are Ambient, Diffuse and Specular + Shininess.
CreateColorCasterSettingsColorCasterSettings is the interface for basic color caster settings.
CreateComputeCasterComputeCaster is the interface used to cast general values, using a GPU based shader.
CreateComputeCasterSettingsComputeCasterSettings is the interface for the advanced compute shader based caster settings.
CreateDisplacementCasterDisplacementCaster 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.
CreateDisplacementCasterSettingsDisplacementCasterSettings is used to store the settings for a displacement caster
CreateDoubleArrayDoubleArray is the double implementation of ValueArray. See ValueArray for a description.
CreateExtentsExtents holds calculated extents, and can be used to fetch extents positions and radius of scenes and selection sets.
CreateFBXExporterFBX scene exporter.
CreateFBXImporterFBX scene importer
CreateFieldDataFieldData 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.
CreateFlipbookPipelineFlipbookPipeline provides a pipeline for a flipbook impostor processor to be applied on the input scene.
CreateFlipbookSettingsSettings for the ImpostorType: FlipBook
CreateFloatArrayFloatArray is the float implementation of ValueArray. See ValueArray for a description.
CreateFoliageSettingsSettings for the BillboardMode: Foliage
CreateGenerateLightmapTexCoordSettingsGenerateLightmapTexCoordSettings is the interface used to manage light map uv generation.
CreateGeometryCullingSettingsSettings 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.
CreateGeometryDataGeometryData 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.
CreateGeometryDataCasterGeometryDataCaster is used to cast original GeometryData information to an image using mapping image
CreateGeometryDataCasterSettingsGeometryDataCasterSettings is the interface used to manage settings for GeometryDataCaster
CreateGeometryDataCollectionGeometryDataCollection 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).
CreateGeometryValidatorChecks the geometry for consistent indices, number of triangles etc.
CreateGLTFExporterglTF 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.
CreateGLTFImporterglTF scene importer
CreateGraphicsExporterBase class for graphics export classes
CreateGraphicsImporterBase class for graphics import classes
CreateHighDensityMeshReductionPipelineThe HighDensityMeshReductionPipeline object.
CreateHighDensityMeshReductionProcessorThe HighDensityMeshReductionProcessor object.
CreateHighDensityMeshReductionSettingsThe HighDensityMeshReductionSettings settings object for the high density reduction pipeline and processor.
CreateImageComparerCompares images.
CreateImageDataImageData 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)
CreateImageDataExporterClass for saving image data to different file formats.
CreateImageDataImporterClass for loading image data from different file formats.
CreateImpostorFromSingleViewPipelineImpostorFromSingleViewPipeline provides a pipeline for a impostor from single view impostor processor to be applied on the input scene.
CreateImpostorFromSingleViewSettingsSettings for the ImpostorType: ImpostorFromSingleView.
CreateImpostorProcessorThe ImpostorProcessor generates an impostor of one of these impostor types: BillboardCloud, Flipbook or ImpostorFromSingleView.
CreateImpostorSettingsSettings for the ImpostorProcessor
CreateIntArrayIntArray is the int implementation of ValueArray. See ValueArray for a description.
CreateLongArrayLongArray is the long implementation of ValueArray. See ValueArray for a description.
CreateMappingImageMappingImage 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.
CreateMappingImageInputMaterialSettingsSettings for the Simplygon mapping input.
CreateMappingImageMeshDataMappingImageMeshData 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.
CreateMappingImageOutputMaterialSettingsSettings for the Simplygon mapping output.
CreateMappingImageSettingsSettings 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.
CreateMaterialMaterial object that keeps material information used while rendering.
CreateMaterialCasterMaterialCaster is the base interface for material casting interfaces. The interface exports methods for defining input geometries & mapping image, materials, output image paths & formats
CreateMaterialCasterSettingsMaterialCasterSettings is the base interface for material casting settings
CreateMaterialCasterSourceMaterialCasterSource is used to save and load the data needed for a material casting. This can be used to run a casting at a later time, or on another machine.
CreateMaterialEvaluationShaderMaterialEvaluationShader is used to setup information used during compute casting to aid in texture baking complicated shader graphs.
CreateMaterialEvaluationShaderAttributeMaterialEvaluationShaderAttribute is used to bind geometry data fields to the generated compute caster.
CreateMaterialEvaluationShaderAttributeTableMaterialEvaluationShaderAttributeTable keeps information on material attributes used while setting up compute casting using the material evaluation shader.
CreateMaterialEvaluationShaderDefineMaterialEvaluationShaderDefine are used to setup shader preprocessor define in the generated compute shader.
CreateMaterialEvaluationShaderDefineTableMaterialEvaluationShaderDefineTable keeps information on material Defines used while setting up compute casting using the material evaluation shader.
CreateMaterialEvaluationShaderSerializer
CreateMaterialTableMaterialTable keeps information on materials used while rendering. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.
CreateMatrix4x4Matrix4x4 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.
CreateModularSeamAnalyzer
CreateModularSeams
CreateModularSeamSettings
CreateNormalCalculationSettingsSettings for the normal recalculation
CreateNormalCasterNormalCaster is the interface used to cast normals data onto the receiving geometry.
CreateNormalCasterSettingsNormalCasterSettings is the interface used to manage settings for a normal caster
CreateNormalRepairerRepairs normals on a processed geometry.
CreateObjectCollectionObjectCollection and its specializations handles a collection of Objects. There are methods for adding, removing and iterating through the objects.
CreateOcclusionMeshPipelineOcclusionMeshPipeline provides a pipeline for a single occlusion mesh processor to be applied on the input scene.
CreateOcclusionMeshProcessorThe 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
CreateOcclusionMeshSettingsSettings for occlusion meshes
CreateOpacityCasterOpacityCaster 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.
CreateOpacityCasterSettingsOpacityCasterSettings 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.
CreatePackedGeometryDataPackedGeometryData 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.
CreateParameterizerComputes texture coordinates for arbitrary geometry.
CreateParameterizerSettingsSettings for the parameterizer.
CreatePartRemoverThe 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.
CreatePartRemoverSettingsThe PartRemoverSettings settings object for the PartRemover tool as well as Reduction pipeline and processor.
CreatePassthroughPipelinePassthroughPipeline 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.
CreatePipelinePipeline 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.
CreatePipelineBatchControl object to launch pipelines in batches, both locally and distributed
CreatePipelineSerializer
CreatePipelineSettingsPipelineSettings is the interface used to manage settings for a pipeline
CreateProcessingObjectProcessingObject 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.
CreateQuadReductionPipelineQuadReductionPipeline provides a pipeline for the quad reduction processor.
CreateQuadReductionProcessorQuadReductionProcessor reduces quad meshes while trying to maintain the mesh structure. This requires that the input GeometryData in the input scene has valid QuadFlags fields, which are used to interpret pairs of triangles as quadrilaterals.
CreateQuadReductionSettingsSettings for the QuadReductionProcessor class. This contains the fundamental reduction settings like stop conditions and reduction targets.
CreateRealArrayRealArray is the real implementation of ValueArray. See ValueArray for a description.
CreateRecommendedTextureSizeCalculatorEstimates 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.
CreateReductionPipelineReductionPipeline provides a pipeline for a single reduction processor to be applied on the input scene.
CreateReductionProcessorReductionProcessor 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.
CreateReductionSettingsSettings 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.
CreateRemeshingPipelineRemeshingPipeline provides a pipeline for a single remeshing processor to be applied on the input scene.
CreateRemeshingProcessorThe 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.
CreateRemeshingSettingsRemeshing settings for the RemeshingProcessor class.
CreateRepairSettingsSettings 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.
CreateRidArrayRidArray is the rid implementation of ValueArray. See ValueArray for a description.
CreateSceneScene 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.
CreateSceneBoneSceneBone is the bone node in the simplygon scene graph
CreateSceneBoneTableSceneBoneTable keeps information on bones used while rendering.
CreateSceneCameraSceneCamera 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.
CreateSceneExporterClass for saving scene data to different file formats depending on the extension of the set file name.
CreateScenegraphExporterScenegraph exporter.
CreateScenegraphImporterScenegraph importer
CreateSceneImporterClass for loading scene data from different file formats.
CreateSceneLodGroupSceneLodGroup is a LOD grouping for the scene graph
CreateSceneMeshSceneMesh is the mesh node in the simplygon scene graph
CreateSceneNodeSceneNode 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.
CreateSceneNodeCollectionSceneNodeCollection holds a number of SceneNode objects. The objects can be looked up by their names (if they have been named through SetName()).
CreateScenePlaneScenePlane 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.
CreateSceneValidatorChecks the Scene based on currently set validation flags.
CreateSelectionSetSelectionSet is a set of scene node GUIDs referencing scene nodes in a scene.
CreateSelectionSetTableSelectionSetTable keeps a table of SelectionSet. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.
CreateSettingsObjectSettingsObject 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.
CreateShaderEvaluationFunction
CreateShaderEvaluationFunctionTableShaderEvaluationFunctionTable keeps information on shader parameter used while setting up compute casting using the material evaluation shader.
CreateShaderGeneratorGiven a material, the shader data class keeps the relevant shader data and is able to generate a GLSL/HLSL shader.
CreateShaderParameterShaderParameter is the parent of all ShaderParameters
CreateShaderParameterBufferShaderParameterBuffer defines a custom buffer which is used by the evaluation shader. The buffer data is served to the shader as is, and is not interpolated.
CreateShaderParameterSamplerShaderParameterSampler defines a sampler used by the evaluation shader to sample data from a specified texture.
CreateShaderParameterSamplerStateShaderParameterSamplerState defines a named sampler state that override default sampler state and can be shared between multiple spShaderParameterSampler's.
CreateShaderParameterTableShaderParameterTable keeps information on shader parameter used while setting up compute casting using the material evaluation shader.
CreateShaderParameterTextureShaderParameterTexture defines a texture which is used by the evaluation shader to fetch data from a bound texture.
CreateShaderParameterTextureArrayShaderParameterTextureArray defines a texture array, which is used by the evaluation shader to fetch data from a bound textures.
CreateShadingAddNodeAddNode describes a single addition shading node in a shading network. Input 1 and 2 are added per-component to produce the output.
CreateShadingBrightnessContrastNodeShadingBrightnessContrastNode 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.
CreateShadingClampNodeClampNode describes a single clamp shading node in a shading network. Input 1 is clamped per-component between Input 2 and 3.
CreateShadingColorCorrectionNodeShadingColorCorrectionNode 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.
CreateShadingColorNodeColorNode describes a single color source node in a shading network
CreateShadingCosNodeThis node describes cosine of the x,y,z,w components of the input.
CreateShadingCross3NodeThis node describes the cross of the x,y,z components of the input.
CreateShadingCustomNodeCustomNode 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.
CreateShadingDivideNodeDivideNode describes a single division shading node node in a shading network. Input 1 is divided by Input 2 per-component to produce the output.
CreateShadingDot3NodeThis node describes an dot of the x,y,z components of the inputs.
CreateShadingEqualNodeShadingEqualNode 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
CreateShadingFilterNodeFilterNode is the parent of all non-source nodes in a shading network.
CreateShadingGeometryFieldNodeGeometry field node describes a source node for geometry field data in a shading network, such as normals and tangents.
CreateShadingGreaterThanNodeGreaterThanNode 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
CreateShadingInterpolateNodeInterpolateNode 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.
CreateShadingLayeredBlendNodeLayeredBlendNode is a node with an arbitrary number of inputs that can be blended differently.
CreateShadingLessThanNodeLessThanNode 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
CreateShadingMaxNodeMaxNode describes a single max shading node in a shading network. The output has the per-channel max values of the two inputs.
CreateShadingMinNodeMinNode describes a single min shading node in a shading network. The output has the per-channel min values of the two inputs.
CreateShadingMultiplyNodeMultiplyNode describes a single multiplying shading node in a shading network. Input 1 and Input 2 is multiplied per-component.
CreateShadingNodeShadingNode is the parent of all nodes in a shading network.
CreateShadingNormalize3NodeThis node describes an normalization of the x,y,z components of the input.
CreateShadingNotEqualNodeNotEqualNode 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
CreateShadingPowNodeThis node describes an exponentiation. The output will be Input 1 to the power of Input 2, and it is calculated per-component.
CreateShadingSinNodeThis node describes Sin of the x,y,z components of the input.
CreateShadingSqrtNodeThis node describes a square root calculation. The output will be the per-component square root of input 1
CreateShadingStepNodeStepNode 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
CreateShadingSubtractNodeSubtractNode describes a single subtracting shading node in a shading network. Input 2 is subtracted from input 1 per-component.
CreateShadingSwizzlingNodeSwizzlingNode describes a node that can remap the input to the specified output.
CreateShadingTextureNodeTextureNode describes a texture source node in a shading network.
CreateShadingVertexColorNodeVertexColorNode describes a vertex color source node in a shading network.
CreateShortArrayShortArray is the short implementation of ValueArray. See ValueArray for a description.
CreateStringArrayStringArray is the string implementation of ValueArray. See ValueArray for a description.
CreateSurfaceMapperISurfaceMapper 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.
CreateTableTable is the base class for tables objects, where items are added into an id-indexed array of objects.
CreateTangentCalculatorTangentCalculator 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.
CreateTexCoordAdjusterAdjusts texture coordinates to cover pixel centers.
CreateTextureTexture describes a texture object, containing either image data or a path that is referenced by texture nodes in materials.
CreateTextureTableTextureTable keeps information on textures used while rendering. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.
CreateTJunctionEliminatorRemoves t-junctions by subdividing triangles and welding vertices
CreateTransform3Transform3 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.
CreateUnsignedCharArrayUnsignedCharArray is the uchar implementation of ValueArray. See ValueArray for a description.
CreateUnsignedIntArrayUnsignedIntArray is the uint implementation of ValueArray. See ValueArray for a description.
CreateUnsignedLongArrayUnsignedLongArray is the ulong implementation of ValueArray. See ValueArray for a description.
CreateUnsignedShortArrayUnsignedShortArray is the ushort implementation of ValueArray. See ValueArray for a description.
CreateUSDExporterUSD scene exporter
CreateUSDImporterUSD scene importer
CreateValueArrayValueArray adds methods to arrays to generically add, set and get tuples, through real values.
CreateVertexColorCasterVertexColorCaster.
CreateVertexColorCasterSettingsVertexColorCasterSettings is the interface for basic vertex color caster settings.
CreateVertexWeightSettingsThis 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.
CreateVisibilitySettingsVisibility 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.
CreateWavefrontExporterWavefront .obj geometry exporter.
CreateWavefrontImporterOBJ scene importer
CreateWelderWelds vertices within the geometry or scene together.
EnableLogToFileEnable logging to default file (%SIMPLYGON_10_SHARED%\Simplygon.log).
EnableLogToFileEnable logging to file of your choice.
ErrorOccurredCheck if any errors occurred.
GetErrorMessagesGet error messages.
GetVersionGet the current version of Simplygon.
GetWarningMessagesGet warning messages.
WarningOccurredCheck if any warnings occurred.

Properties details

GlobalAllowDirectXSetting

Allow the use of DirectX when processing. This may use a discrete GPU, or a Warp based CPU backend.

GlobalAllowDistributionLocalFallbackSetting

Sets global AllowDistributionLocalFallback setting

GlobalAllowGPUAccelerationSetting

Allow the use of GPU optimizations when processing.

GlobalAllowShadingNetworkCachingSetting

Sets global AllowShadingNetworkCaching setting

GlobalAllowTextureSamplingInterpolationSetting

Sets global AllowTextureSamplingInterpolation setting

GlobalBatchLogPathSetting

This is the file path to use when outputting batch logs.

GlobalCacheToDiskSetting

Sets global CacheToDisk setting

GlobalDefaultTangentCalculatorTypeSetting

DefaultTangentCalculatorType defines the default tangent calculator type to use when calculating tangents. This can be overridden in some processors and pipelines.

GlobalDXCPathSetting

The path to the DXC shader compiler. If the Vulkan SDK is installed, the compiler is automatically found and this path is set by Simplygon on init, but the path can be set manually by the user if the shader compiler cannot be automatically found, or to override the path.

GlobalEnableLogSetting

Enable logging.

GlobalEnableVulkanValidationLayersSetting

If set, the Vulkan validation layers are enabled, and will log warnings and issues to the log. Note that this should only be used for debugging, and will impact processing performance when enabled.

GlobalFlushLogPerRowSetting

Sets global FlushLogPerRow setting

GlobalGLSLCPathSetting

The path to the GLSLC shader compiler. If the Vulkan SDK is installed, the compiler is automatically found and this path is set by Simplygon on init, but the path can be set manually by the user if the shader compiler cannot be automatically found, or to override the path.

GlobalGridAgentBalancerJobToleranceSetting

Specify the number of jobs that the balancer can skip before it runs. Increasing this number will reduce the efficiency of the agent usage

GlobalGridAgentDiscoveryDelaySetting

How long SimplygonBatch pauses before searching for agents on the network again. (Milliseconds).

GlobalGridAgentLoadLimitSetting

Use this to change the default agent load limit. The value can be set between 1-100(%).

GlobalGridAgentsTableFilePathSetting

If Simplygon Grid distribution should use a fixed list of agents rather than mDNS discovery, this is the file path to the xml file with a table of available agents.

GlobalGridDiscoverTimeoutSetting

The timeout that decides when SimplygonBatch should stop discover agents.

GlobalGridEnableAgentIpSortingSetting

Set to True if you want the discovered agents to also be sorted by ip address.

GlobalGridEnableVerboseLoggingSetting

Control whether grid should output detailed information about its internal operations and events to the console or a log file. If set to true, SimplygonBatch will produce verbose logs; otherwise, it will only produce minimal logs.

GlobalGridOverloadedTimeoutSetting

Specify how long grid should wait for busy agents to be available for distribution again.

GlobalGridRetryLimitForFailedJobSetting

Number of retries for a failed grid job

GlobalIgnorePNGGammaOnImageLoadSetting

If set, will cause any function that loads a PNG image to ignore the settings in the PNG gamma chunk.

GlobalInputSceneValidationActionSetting

The action to take when an invalid scene is input into Simplygon.

GlobalLogDecorationMaskSetting

Sets global LogDecorationMask setting

GlobalLogFileNameSetting

The log file to write the log to. (Enable logging and logging to file with settings EnableLogging and LogToFile)

GlobalLogicalCoreLimitSetting

Sets global LogicalCoreLimit setting

GlobalLogLevelSetting

the global log level, how verbose the log should be

GlobalLogOutputToInternalLogSetting

If logging is enabled, send a copy of the log to the internal log queue. To fetch from this log, use Simplygon::PollLog in SimplygonLoader.h

GlobalLogOutputToTraceWindowSetting

Sets global LogOutputToTraceWindow setting

GlobalLogToFileSetting

If logging is enabled, log to a file, which is specified using the LogFileName setting

GlobalMaskFPExceptionsSetting

Sets global MaskFPExceptions setting

GlobalPreventDirectXThreadingOptimizationsSetting

Sets global PreventDirectXThreadingOptimizations setting

GlobalReportErrorCodesToErrorHandlerSetting

If enabled, all non-zero EErrorCodes (any error) from processing objects, pipelines and import/export objects will be reported through the error handler.

GlobalUnpackFBXInSimplygonTempDirectorySetting

Sets global UnpackFBXInSimplygonTempDirectory setting

GlobalValidateProcessingAssertOnErrorSetting

Sets global ValidateProcessingAssertOnError setting

GlobalValidateProcessingDebugLevelSetting

Sets global ValidateProcessingDebugLevel setting

GlobalValidateProcessingOutputDirectorySetting

Sets global ValidateProcessingOutputDirectory setting

GlobalValidateProcessingSetting

If set, an extra step of validation is run before running the process. Enabled by default, disabling it may increase performance slightly, but may cause invalid processing to crash.

GlobalValidRealThresholdSetting

Sets global ValidRealThreshold setting

GlobalVulkanDeviceSetting

Set this global setting string if you need to override the Vulkan device used by the processing. The string can be either the exact name of the device, or a subset of the name, such as the vendor name.

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.

CreateAttributeTessellation

Management functions for geometry attribute tessellation

CreateAttributeTessellationData

AttributeTessellationData contains methods to access the attribute tessellation data residing within a GeometryData object.

CreateAttributeTessellationSamplingSettings

Settings for sampling tessellated attributes from input data, either direct injected or through material casting.

CreateAttributeTessellationSettings

Attribute tessellation settings contains the parameters for how to compute the tessellation attributes of geometries in a scene.

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.

WARNING

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

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.

WARNING

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

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.

CreateComputeCaster

ComputeCaster is the interface used to cast general values, using a GPU based shader.

CreateComputeCasterSettings

ComputeCasterSettings is the interface for the advanced compute shader based caster settings.

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.

CreateExtents

Extents holds calculated extents, and can be used to fetch extents positions and radius of scenes and selection sets.

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

CreateHighDensityMeshReductionPipeline

The HighDensityMeshReductionPipeline object.

CreateHighDensityMeshReductionProcessor

The HighDensityMeshReductionProcessor object.

CreateHighDensityMeshReductionSettings

The HighDensityMeshReductionSettings settings object for the high density reduction pipeline and processor.

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

CreateMaterialCasterSource

MaterialCasterSource is used to save and load the data needed for a material casting. This can be used to run a casting at a later time, or on another machine.

CreateMaterialEvaluationShader

MaterialEvaluationShader is used to setup information used during compute casting to aid in texture baking complicated shader graphs.

CreateMaterialEvaluationShaderAttribute

MaterialEvaluationShaderAttribute is used to bind geometry data fields to the generated compute caster.

CreateMaterialEvaluationShaderAttributeTable

MaterialEvaluationShaderAttributeTable keeps information on material attributes used while setting up compute casting using the material evaluation shader.

CreateMaterialEvaluationShaderDefine

MaterialEvaluationShaderDefine are used to setup shader preprocessor define in the generated compute shader.

CreateMaterialEvaluationShaderDefineTable

MaterialEvaluationShaderDefineTable keeps information on material Defines used while setting up compute casting using the material evaluation shader.

CreateMaterialEvaluationShaderSerializer

CreateMaterialTable

MaterialTable keeps information on materials used while rendering. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.

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.

CreateModularSeamAnalyzer

CreateModularSeams

CreateModularSeamSettings

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.

CreatePartRemoverSettings

The PartRemoverSettings settings object for the PartRemover tool as well as Reduction pipeline and processor.

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.

CreateQuadReductionPipeline

QuadReductionPipeline provides a pipeline for the quad reduction processor.

CreateQuadReductionProcessor

QuadReductionProcessor reduces quad meshes while trying to maintain the mesh structure. This requires that the input GeometryData in the input scene has valid QuadFlags fields, which are used to interpret pairs of triangles as quadrilaterals.

CreateQuadReductionSettings

Settings for the QuadReductionProcessor class. This contains the fundamental reduction settings like stop conditions and reduction targets.

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.

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.

CreateScenegraphExporter

Scenegraph exporter.

CreateScenegraphImporter

Scenegraph importer

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.

CreateSceneValidator

Checks the Scene based on currently set validation flags.

CreateSelectionSet

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

CreateSelectionSetTable

SelectionSetTable keeps a table of SelectionSet. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.

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.

CreateShaderEvaluationFunction

CreateShaderEvaluationFunctionTable

ShaderEvaluationFunctionTable keeps information on shader parameter used while setting up compute casting using the material evaluation shader.

CreateShaderGenerator

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

CreateShaderParameter

ShaderParameter is the parent of all ShaderParameters

CreateShaderParameterBuffer

ShaderParameterBuffer defines a custom buffer which is used by the evaluation shader. The buffer data is served to the shader as is, and is not interpolated.

CreateShaderParameterSampler

ShaderParameterSampler defines a sampler used by the evaluation shader to sample data from a specified texture.

CreateShaderParameterSamplerState

ShaderParameterSamplerState defines a named sampler state that override default sampler state and can be shared between multiple spShaderParameterSampler's.

CreateShaderParameterTable

ShaderParameterTable keeps information on shader parameter used while setting up compute casting using the material evaluation shader.

CreateShaderParameterTexture

ShaderParameterTexture defines a texture which is used by the evaluation shader to fetch data from a bound texture.

CreateShaderParameterTextureArray

ShaderParameterTextureArray defines a texture array, which is used by the evaluation shader to fetch data from a bound textures.

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.

CreateTexCoordAdjuster

Adjusts texture coordinates to cover pixel centers.

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. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.

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.

CreateUSDExporter

USD scene exporter

CreateUSDImporter

USD scene importer

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_10_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.