• Api Documentation
  • Source Code
Search Results for

    Show / Hide Table of Contents
    • SharpAssimp
      • Animation
      • AnimationBehaviour
      • AnimationInterpolation
      • AssimpContext
      • AssimpException
      • BlendMode
      • Bone
      • BoundingBox
      • Camera
      • CompileFlags
      • ConsoleLogStream
      • DefaultLogStream
      • EmbeddedTexture
      • ExcludeComponent
      • ExportDataBlob
      • ExportFormatDescription
      • Face
      • FileIOMode
      • FileIOSystem
      • FreeNativeDelegate
      • IMarshalable<Managed, Native>
      • INativeCustomMarshaler
      • IOStream
      • IOSystem
      • ImporterDescription
      • ImporterFeatureFlags
      • Light
      • LightSourceType
      • LogStream
      • LoggingCallback
      • Material
      • Material.PBRMaterialProperties
      • Material.ShaderMaterialProperties
      • MaterialProperty
      • Matrix3x3
      • MemoryHelper
      • Mesh
      • MeshAnimationAttachment
      • MeshAnimationChannel
      • MeshKey
      • MeshMorphAnimationChannel
      • MeshMorphKey
      • MeshMorphingMethod
      • MetaDataType
      • Metadata
      • Metadata.Entry
      • NativeCustomMarshalerAttribute
      • Node
      • NodeAnimationChannel
      • NodeCollection
      • Origin
      • PostProcessPreset
      • PostProcessSteps
      • PrimitiveType
      • PropertyType
      • QuaternionKey
      • Ray
      • ReturnCode
      • Scene
      • SceneFlags
      • ShadingMode
      • Texel
      • TextureFlags
      • TextureMapping
      • TextureOperation
      • TextureSlot
      • TextureType
      • TextureWrapMode
      • UVTransform
      • UVTransformFlags
      • VectorKey
      • VertexWeight
    • SharpAssimp.Configs
      • ACEvaluateSubdivisionConfig
      • ACSeparateBackfaceCullConfig
      • ASEReconstructNormalsConfig
      • AnimationAccuracyConfig
      • AppScaleConfig
      • BooleanPropertyConfig
      • ColladaIgnoreUpDirectionConfig
      • ColladaUseColladaNamesConfig
      • DeboneAllOrNoneConfig
      • DeboneThresholdConfig
      • ExportPointCloudsConfig
      • FBXConvertToMetersConfig
      • FBXImportAllGeometryLayersConfig
      • FBXImportAllMaterialsConfig
      • FBXImportAnimationsConfig
      • FBXImportCamerasConfig
      • FBXImportEmbeddedTexturesConfig
      • FBXImportEmbeddedTexturesLegacyNamingConfig
      • FBXImportLightsConfig
      • FBXImportMaterialsConfig
      • FBXOptimizeEmptyAnimationCurvesConfig
      • FBXPreservePivotsConfig
      • FBXStrictModeConfig
      • FavorSpeedConfig
      • FloatPropertyConfig
      • GlobalKeyFrameImportConfig
      • GlobalScaleConfig
      • IFCCylindricalTessellationConfig
      • IFCSkipSpaceRepresentationsConfig
      • IFCSmoothingAngleConfig
      • IFCUseCustomTriangulationConfig
      • IRRAnimationFrameRateConfig
      • IgnoreTextureCoordinatesConfig
      • IntegerPropertyConfig
      • KeepSceneHierarchyConfig
      • LWOImportOneLayerConfig
      • LWSAnimationEndConfig
      • LWSAnimationStartConfig
      • MD2KeyFrameImportConfig
      • MD3HandleMultiPartConfig
      • MD3KeyFrameImportConfig
      • MD3ShaderSourceConfig
      • MD3SkinNameConfig
      • MD5NoAnimationAutoLoadConfig
      • MDLColorMapConfig
      • MDLKeyFrameImportConfig
      • MaterialExcludeListConfig
      • MatrixPropertyConfig
      • MaxBoneCountConfig
      • MeasureTimeConfig
      • MeshTriangleLimitConfig
      • MeshVertexLimitConfig
      • MultithreadingConfig
      • NoSkeletonMeshesConfig
      • NodeExcludeListConfig
      • NormalSmoothingAngleConfig
      • NormalizeVertexComponentsConfig
      • OgreMaterialFileConfig
      • OgreTextureTypeFromFilenameConfig
      • PropertyConfig
      • RemoveComponentConfig
      • RemoveDegeneratePrimitivesCheckAreaConfig
      • RemoveDegeneratePrimitivesConfig
      • RemoveEmptyBonesConfig
      • RootTransformationConfig
      • SMDKeyFrameImportConfig
      • SmdLoadAnimationListConfig
      • SortByPrimitiveTypeConfig
      • StringPropertyConfig
      • TangentSmoothingAngleConfig
      • TangentTextureChannelIndexConfig
      • TerragenComputeTexCoordsConfig
      • TransformUVConfig
      • UnrealHandleFlagsConfig
      • UnrealKeyFrameImportConfig
      • VertexBoneWeightLimitConfig
      • VertexCacheSizeConfig
      • XFileUseDoublesConfig
    • SharpAssimp.Unmanaged
      • AiAnimMesh
      • AiAnimation
      • AiBone
      • AiCamera
      • AiConfigs
      • AiDefines
      • AiExportDataBlob
      • AiExportFormatDesc
      • AiFace
      • AiFile
      • AiFileCloseProc
      • AiFileFlushProc
      • AiFileIO
      • AiFileOpenProc
      • AiFileReadProc
      • AiFileSeek
      • AiFileTellProc
      • AiFileWriteProc
      • AiImporterDesc
      • AiLight
      • AiLogStream
      • AiLogStreamCallback
      • AiMatKeys
      • AiMaterial
      • AiMaterialProperty
      • AiMemoryInfo
      • AiMesh
      • AiMeshAnim
      • AiMeshColorArray
      • AiMeshMorphAnim
      • AiMeshMorphKey
      • AiMeshTextureCoordinateArray
      • AiMeshUVComponentArray
      • AiMetadata
      • AiMetadataEntry
      • AiNode
      • AiNodeAnim
      • AiScene
      • AiString
      • AiTexture
      • AssimpLibrary
      • Platform
      • UnmanagedFunctionNameAttribute
      • UnmanagedLibrary
      • UnmanagedLibraryResolver

    Namespace SharpAssimp.Configs

    Classes

    ACEvaluateSubdivisionConfig

    Configures whether the AC loader evaluates subdivision surfaces (indicated by the presence of the 'subdiv' attribute in the file). By default, Assimp performs the subdivision using the standard Catmull-Clark algorithm. The default value is true.

    ACSeparateBackfaceCullConfig

    Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate meshes. The default value is true.

    ASEReconstructNormalsConfig

    Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups loaded from the file. Some ASE files carry invalid normals, others don't. The default value is true.

    AnimationAccuracyConfig

    Configuration for the FindInvalidData step that specifies the floating point accuracy for animation values, specifically the episilon during comparisons. The default value is 0.0f.

    AppScaleConfig

    Applies an application-specific scaling to the GlobalScaleConfig to allow for backwards compatibility. Default is 1.0.

    BooleanPropertyConfig

    Describes a boolean configuration property.

    ColladaIgnoreUpDirectionConfig

    Specifies whether the collada loader will ignore the up direction. Default is false.

    ColladaUseColladaNamesConfig

    Specifies whether the Collada loader should use Collada names as node names. If this property is set to true, the Collada names will be used as the node name. The behavior is to use the id tag (resp. sid tag, if no id tag is present) instead. Default is false.

    DeboneAllOrNoneConfig

    Configuration that requires all bones to qualify for deboning before any are removed.

    DeboneThresholdConfig

    Configures the Debone threshold that is used to determine what bones are removed.

    ExportPointCloudsConfig

    Specifies if the export process should disable a validation step that would remove data that does not contain faces. This will enable point cloud data to be exported, since the 3D data is a collection of vertices without face data.

    FBXConvertToMetersConfig

    Specifies whether the importer shall convert the unit from centimeter (cm) to meter (m). Default value is false.

    FBXImportAllGeometryLayersConfig

    Specifies whether the FBX importer will merge all geometry layers present in the source file or import only the first. Default is true.

    FBXImportAllMaterialsConfig

    Specifies whether the FBX importer will import all materials present in the source file or take only the referenced materials, if the importer is configured to import materials at all. Otherwise this will have no effect. Default is false.

    FBXImportAnimationsConfig

    Specifies whether the FBX importer will import animations. Default is true.

    FBXImportCamerasConfig

    Specifies whether the FBX importer will import cameras. Default is true.

    FBXImportEmbeddedTexturesConfig

    Specifies whether the FBX importer will import embedded textures. Default is true.

    FBXImportEmbeddedTexturesLegacyNamingConfig

    Specifies if the FBX importer should search for embedded loaded textures, where no embedded texture data is provided. Default is false.

    FBXImportLightsConfig

    Specifies whether the FBX importer will import lights. Default is true.

    FBXImportMaterialsConfig

    Specifies whether the FBX importer will import materials. Default is true.

    FBXOptimizeEmptyAnimationCurvesConfig

    Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose transformation over their entire defined range. Default value is true.

    FBXPreservePivotsConfig

    Specifies whether the FBX importer will preserve pivot points for transformations (as extra nodes). If set to false, pivots and offsets will be evaluated whenever possible. Default value is true.

    FBXStrictModeConfig

    Specifies whether the FBX importer will act in strict mode in which only the FBX 2013 format is supported and any other sub formats are rejected. FBX 2013 is the primary target for the importer, so this format is best supported and well-tested. Default is false.

    FavorSpeedConfig

    Configuration that is a hint to Assimp to favor speed against import quality. Enabling this option may result in faster loading, or it may not. It is just a hint to loaders and post-process steps to use faster code paths if possible. The default value is false.

    FloatPropertyConfig

    Describes a float configuration property.

    GlobalKeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the "global" keyframe that will be imported. There are other configs for specific importers that will override the global setting.

    GlobalScaleConfig

    Configures the GlobalScale step to scale the entire scene by a certain amount. Some importers provide a mechanism to define a scaling unit for the model, which this processing step can utilize. Default is 1.0.

    IFCCylindricalTessellationConfig

    Specifies the tessellation for IFC cylindrical shapes. E.g. the number of segments used to approximate a circle. Accepted range of values is between [3, 180].

    IFCSkipSpaceRepresentationsConfig

    Specifies whether the IFC loader skips over IfcSpace elements. IfcSpace elements (and their geometric representations) are used to represent free space in a building story.

    IFCSmoothingAngleConfig

    Specifies the tessellation conic angle for IFC smoothing curves. Accepted range of values is between [5, 120]

    IFCUseCustomTriangulationConfig

    Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes. If this is set to false, walls will be either triangulated by the post process triangulation or will be passed through as huge polygons with faked holes (e.g. holes that are connected with the outer boundary using a dummy edge). It is highly recommended to leave this property set to true as the default post process has some known issues with these kind of polygons.

    IRRAnimationFrameRateConfig

    Defines the output frame rate of the IRR loader.

    IRR animations are difficult to convert for Assimp and there will always be a loss of quality. This setting defines how many keys per second are returned by the converter.

    The default value is 100 frames per second.

    IgnoreTextureCoordinatesConfig

    Configuration for the FindInvalidData step. Set to true to ignore texture coordinates. This may be useful if you have to assign different kinds of textures, like seasonally variable ones - one for summer and one for winter. Default is false.

    IntegerPropertyConfig

    Describes an integer configuration property.

    KeepSceneHierarchyConfig

    Configuration for the PreTransformVertices step to keep the scene hierarchy. Meshes are moved to worldspace, but no optimization is performed where meshes with the same materials are not joined. This option can be useful if you have a scene hierarchy that contains important additional information which you intend to parse. The default value is false.

    LWOImportOneLayerConfig

    Configures the LWO loader to load just one layer from the model.

    LWO files consist of layers and in some cases it could be useful to load only one of them. This property can be either a string - which specifies the name of the layer - or an integer - the index of the layer. If the property is not set then the whole LWO model is loaded. Loading fails if the requested layer is not vailable. The layer index is zero-based and the layer name may not be empty

    The default value is false (all layers are loaded).

    LWSAnimationEndConfig

    Defines the ending of the time range for which the LWS loader evaluates animations and computes AiNodeAnim's. The default value is the one taken from the file

    Assimp provides full conversion of Lightwave's envelope system, including pre and post conditions. The loader computes linearly subsampled animation channels with the frame rate given in the LWS file. This property defines the end time.

    Animation channels are only generated if a node has at least one envelope with more than one key assigned. This property is given in frames where '0' is the first. By default, if this property is not set, the importer takes the animation end from the input LWS file.

    LWSAnimationStartConfig

    Defines the beginning of the time range for which the LWS loader evaluates animations and computes AiNodeAnim's. The default value is the one taken from the file.

    Assimp provides full conversion of Lightwave's envelope system, including pre and post conditions. The loader computes linearly subsampled animation channels with the frame rate given in the LWS file. This property defines the start time.

    Animation channels are only generated if a node has at least one envelope with more than one key assigned. This property is given in frames where '0' is the first. By default, if this property is not set, the importer takes the animation start from the input LWS file ('FirstFrame' line)

    MD2KeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the global override for the MD2 format.

    MD3HandleMultiPartConfig

    Configures the M3D loader to detect and process multi-part Quake player models. These models usually consit of three files, lower.md3, upper.md3 and head.md3. If this propery is set to true, Assimp will try to load and combine all three files if one of them is loaded. The default value is true.

    MD3KeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the global override for the MD3 format.

    MD3ShaderSourceConfig

    Specifies the Quake 3 shader file to be used for a particular MD3 file. This can be a full path or relative to where all MD3 shaders reside. the default string value is an empty string.

    MD3SkinNameConfig

    Tells the MD3 loader which skin files to load. When loading MD3 files, Assimp checks whether a file named "md3_file_name"_"skin_name".skin exists. These files are used by Quake III to be able to assign different skins (e.g. red and blue team) to models. 'default', 'red', 'blue' are typical skin names. The default string value is "default".

    MD5NoAnimationAutoLoadConfig

    Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically. The default value is false.

    The default strategy is to look for a file with the same name but with the MD5ANIm extension in the same directory. If it is found it is loaded and combined with the MD5MESH file. This configuration option can be used to disable this behavior.

    MDLColorMapConfig

    Configuration to set the colormap (palette) to be used to decode embedded textures in MDL (Quake or 3DG5) files. This must be a valid path to a file. The file is 768 (256 * 3) bytes alrge and contains RGB triplets for each of the 256 palette entries. If the file is not found, a default palette (from Quake 1) is used. The default value is "colormap.lmp".

    MDLKeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the global override for the MDL format.

    MaterialExcludeListConfig

    Configuration for the the RemoveRedundantMaterials step to determine what materials to keep. If a material matches one of these names it will not be modified or removed by the post processing step. Default is an empty string.

    MatrixPropertyConfig

    Describes a Matrix4x4 configuration property.

    MaxBoneCountConfig

    Configures the maximum bone count per mesh for the SplitByBoneCount step. Meshes are split until the maximum number of bones is reached.

    MeasureTimeConfig

    Configuration to enable time measurements. If enabled, each part of the loading process is timed and logged. Default value is false.

    MeshTriangleLimitConfig

    Configuration for the SplitLargeMeshes step that specifies the maximum number of triangles a mesh can contain. The default value is MeshTriangleLimitConfigDefaultValue.

    MeshVertexLimitConfig

    Configuration for the SplitLargeMeshes step that specifies the maximum number of vertices a mesh can contain. The default value is MeshVertexLimitConfigDefaultValue.

    MultithreadingConfig

    Configuration to set Assimp's multithreading policy. Possible values are -1 to let Assimp decide, 0 to disable multithreading, or any number larger than zero to force a specific number of threads. This is only a hint and may be ignored by Assimp. Default value is -1.

    NoSkeletonMeshesConfig

    Global setting to disable generation of skeleton dummy meshes. These are generated as a visualization aid in cases which the input data contains no geometry, but only animation data. So the geometry are visualizing the bones. Default value is false.

    NodeExcludeListConfig

    Configuration for the OptimizeGraph step to preserve nodes matching a name in the given list. Nodes that match the names in the list will not be modified or removed. Identifiers containing whitespaces must be enclosed in single quotation marks. The default value is an empty string.

    NormalSmoothingAngleConfig

    Configuration to set the maximum angle between two face normals at a vertex when they are smoothed during the step to calculate smooth normals. This is frequently called the "crease angle". The maximum and default value is 175 degrees.

    NormalizeVertexComponentsConfig

    Configuration for the PreTransformVertices step to normalize all vertex components into the -1...1 range. The default value is false.

    OgreMaterialFileConfig

    The Ogre importer will try to load this MaterialFile. Ogre meshes reference with material names, this does not tell Assimp where the file is located. Assimp will try to find the source file in the following order: [material-name].material, [mesh-filename-base].material, and lastly the material name defined by this config property. The default value is "Scene.Material".

    OgreTextureTypeFromFilenameConfig

    The Ogre importer will detect the texture usage from the filename. Normally a texture is loaded as a color map, if no target is specified in the material file. If this is enabled, then Assimp will try to detect the type from the texture filename postfix:

    • Normal Maps: _n, _nrm, _nrml, _normal, _normals, _normalmap
    • Specular Maps: _s, _spec, _specular, _specularmap
    • Light Maps: _l, _light, _lightmap, _occ, _occlusion
    • Displacement Maps: _dis, _displacement
    The matching is case insensitive. Postfix is taken between the last "_" and last ".". The default behavior is to detect type from lower cased texture unit name by matching against: normalmap, specularmap, lightmap, and displacementmap. For both cases if no match is found then, Diffuse is used. The default value is false.

    PropertyConfig

    Base property config.

    RemoveComponentConfig

    Configuration for the RemoveComponent step that specifies which parts of the data structure is to be removed. If no valid mesh remains after the step, the import fails. The default value i None.

    RemoveDegeneratePrimitivesCheckAreaConfig

    Configuration for the FindDegenerates step. If true, the area of the triangles are checked to see if they are greater than 1e-6. If so, the triangle is removed if RemoveDegeneratePrimitivesConfig is set to true.

    RemoveDegeneratePrimitivesConfig

    Configuration for the FindDegenerates step to remove degenerted primitives from the import immediately. The default value is false, where degenerated triangles are converted to lines, and degenerated lines to points.

    RemoveEmptyBonesConfig

    Specifies whether the importer removes empty bones or not. Empty bones are often used to define connections for other models (e.g. attachment points). Default value is true.

    RootTransformationConfig

    Configuration for PreTransformVertices that sets a user defined matrix as the scene root node transformation before transforming vertices. Default value is the identity matrix.

    SMDKeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the global override for the SMD format.

    SmdLoadAnimationListConfig

    Specifies whether the importer will load multiple animations. Default value is true.

    SortByPrimitiveTypeConfig

    Configuration for the SortByPrimitiveType step that specifies which primitive types are to be removed by the step. Specifying all primitive types is illegal. The default value is zero specifying none.

    StringPropertyConfig

    Describes a string configuration property.

    TangentSmoothingAngleConfig

    Configuration to set the maximum angle that may be between two vertex tangents/bitangents when they are smoothed during the step to calculate the tangent basis. The default value is 45 degrees.

    TangentTextureChannelIndexConfig

    Configures which texture channel is used for tangent space computations. The channel must exist or an error will be raised.

    TerragenComputeTexCoordsConfig

    Configures the terragen import plugin to compute UV's for terrains, if they are not given. Furthermore, a default texture is assigned. The default value is false.

    UV coordinates for terrains are so simple to compute that you'll usually want to compute them on your own, if you need them. This option is intended for model viewers which want to offer an easy way to apply textures to terrains.

    TransformUVConfig

    Configuration for the TransformUVCoords step that specifies which UV transformations are to be evaluated. The default value is for all combinations (scaling, rotation, translation).

    UnrealHandleFlagsConfig

    Configures the UNREAL 3D loader to separate faces with different surface flags (e.g. two-sided vs single-sided). The default value is true.

    UnrealKeyFrameImportConfig

    Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the first frame. This config sets the global override for the Unreal format.

    VertexBoneWeightLimitConfig

    Configuration for the LimitBoneWeights step that specifies the maximum number of bone weights per vertex. The default value is VertexBoneWeightLimitConfigDefaultValue.

    VertexCacheSizeConfig

    Configuration for the ImproveCacheLocality step that specifies the size of the post-transform vertex cache. The size is given in number of vertices and the default value is VertexCacheSizeConfigDefaultValue.

    XFileUseDoublesConfig

    Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.

    In this article
    Back to top Copyright (c) 2012-2020 Nicholas Woodfield, (c) 2024 Salvage, (c) 2025 Jérémy Ansel