Back to Assimp

6.0.2

CHANGES.md

6.0.5326.5 KB
Original Source

CHANGELOG

6.0.2

What's Changed

Full Changelog: https://github.com/assimp/assimp/compare/v6.0.1...v6.0.2

6.0.1

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.1...v6.0.1

6.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.1...v6.0.0

5.4.3

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.1...v5.4.3

5.4.2

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.1...v5.4.2

5.4.1

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.4.0...v5.4.1

5.4.0

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.1...v5.4.0

5.3.0

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.3.0...v5.3.1

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.2.5...v5.3.0

5.2.5

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.2.4...v5.2.5

5.2.4

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.2.3...v5.2.4

5.2.3

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.2.2...v5.2.3

5.2.2

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.2.0...v5.2.2

5.2.1

What's Changed

Full Changelog: https://github.com/assimp/assimp/compare/5.2.0...v5.2.1

5.2.0

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.6...5.2.0

5.1.6

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.5...v5.1.6

5.1.5

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.4...v5.1.5

5.1.4

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.3...v5.1.4

5.1.3

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.2...v5.1.3

5.1.2

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.1...v5.1.2

5.1.1

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.1.0...v5.1.1

5.1.0

What's Changed

New Contributors

Full Changelog: https://github.com/assimp/assimp/compare/v5.0.0...v5.1.0

5.0.1

  • Fix wrong version
  • Fix MacOS compile issue.
  • Add pdf-docs

5.0.0

  • Bugfixes:
  • assimp_cmd:
    • Add --verbose flag to 'info' command, to print node transforms.
    • assimp_cmd info: list meshes and print basic mesh stats.
    • print error message on failure.
    • Parse post process arguments when using info tool.
    • prettier and better-compressed node hierarchy.
  • Common Stuff:
    • Exporter::ExportToBlob() Pass on preprocessing and properties. Issue #2302
    • Use correct escape sequence for unsigned.
    • Ensure that the aiString lenght is 4 bytes independent which platform
    • Fix compiler warnings
    • Fix codacy issues
    • Implemented basic PBR materials into assimp. This adds the following texture types:
      • BASE_COLOR
      • NORMAL_CAMERA
      • EMISSION_COLOR
      • METALNESS
      • DIFFUSE_ROUGHNESS
    • Make IsVerbose accessible outside the exporter
    • Create FUNDING.yml
    • Add copyright headers to ZipArchiveIOSystem
    • diable unaigned pointer access temprary.
    • Fix signed unsigned comparison warnings.
    • Fixed anim meshes generated from blendshapes not being copied to output for multi-material meshes
    • All textures use relative path except embedded, this is fix for it.
    • I want to see what GetErrorString() blurts out on the Travis failure real quick
    • including <unzip.h> instead of <contrib/unzip/unzip.h>
    • Fix Matrix4x4t Decompose to rotation vector.
    • Add missing assignment operator to aiString.
    • fast_atof: Remove unused variable.
    • BaseImporter: Remove dead condition.
    • Some StreamWriter improvements / additions.
    • added support for embedded textures defined with buffer views.
    • fixed embedded texture reading.
    • BaseImporter: fix lookup for tokens during inmemory imports.
    • Reorg of code: Each importer / exporter / domain has its own folder.
    • Export: Copy metadata to be able to export it properly.
    • Some MSVC/Windows corrections and updates, issue 2302.
    • Introduce new log macros. -_stat64 doesn't seem to exist. use __stat64!
    • Fix strict aliasing violation in MaterialSystem
    • Added check to BaseImporter::SearchFileHeaderForToken making sure that a detected token is not in fact just a fraction of a longer token.
    • added internal to_string.
    • Use delete[] instead of delete to clear mMeshes
    • Fix memory leak in assimp_loader
    • Fix VS2013: array initialization does not work.
    • aiMatrix4x4t<TReal>::FromEulerAnglesXYZ modified to row order
    • Various additions/fixes (FBX blend-shapes support added)
      • Added animMesh name assignment at ColladaLoader
      • Fixed animMesh post-processing on ConvertToLhProcess (blend-shapes weren't being affected by post-processing)
      • Added WindowsStore define. This is used to change some incompatible WinRT methods
      • Added FBX blend-shapes and blend-shapes animations support
      • Added Maya FBX specific texture slots parsing
      • Added extra FBX metadata parsing
      • Added GLTF2 vertex color parsing
      • Fixed IFC-Loader zip-buffer reading rountine
      • Fixed OBJ file parsing line-breaker bug
      • Fixed IOStreamBuffer cache over-read bug
      • Added mName field to aiAnimMesh
      • Reverted EmissiveFactor, TransparencyFactor and Specular
  • Doc:
    • Move to https://assimp-docs.readthedocs.io/en/latest/
    • Add more detailed information about the source code structure
    • Clarify the matrix layout
    • Document AI_MATKEY_REFLECTIVITY and AI_MATKEY_COLOR_REFLECTIVE.
    • Correct matrix layout documentation
    • Fix aiBone->mOffsetMatrix documentation, which was incorrect.
    • Fix the assimp.net link.
    • Expand the current documentation about loading of embedded textures.
    • Improve the contribution guide.
    • Add the HAXE-port.
  • Build:
    • Add example build script.
    • Update DLL PE details: Copyright, git commit hash and original filename.
    • Depreciated compiler which doesn't support standard features.
    • Fix error when building assimp on older Mac OS X version.
    • Update scene.h to use #include <cstdlib> only if the compiler is used to compile c++ code.
    • Fixed MSVC toolset versions >140.
    • Fixed android zlib compile error.
    • Export static libaries as CMake package.
    • Set directory and name properties for installing static lib PDB.
    • Use CMAKE_INSTALL_PREFIX as ASSIMP_ROOT_DIR.
    • ios-build-script
    • Add Inno setup path to PATH variable.
    • Assimp will now be correctly built with -O3 or -Og based on build type.
    • Add TARGET_INCLUDE_DIRECTORIES for assimp target
    • Use a more accurate way of checking if the build is 64 bit
    • Improved cmake configs for Windows and Linux.
    • Default CMAKE_DEBUG_POSTFIX to 'd' on multiconfig
    • Adds a way to select which exporters you want to compile
  • CI:
    • Fix Travis CI sign-compare warning
    • Travis updated to clang 5.0 and there are new issues
    • Appveyor + Travis: use caching
    • Use clange adress sanitizer + memory leak detection
    • Handle warnings as errors
    • Use Hunter for pulling in dependencies.
  • 3DS:
    • Reformat initializer list
    • Add explicit default constructors and assignment operators to Material.
    • Add Material constructor which takes material name.
    • Add Mesh constructor with takes name.
    • Explicitly pass "UNNAMED" as 3DS root node name.
    • Fix more thread-safety issue in 3DS loader.
  • 3MF:
    • Introduce first prototype for basematerial support.
    • Fix parsing of base-material color.
    • Fix order of init list.
    • Use correct material assignment in case of multi-materials.
    • Add missig tags for meta data.
    • Fix model folder desc.
    • Fix CanRead-method for the 3MF-Importer.
  • ASE:
    • Reformat initializer list.
    • Add explicit default constructors and assignment operators to Material.
    • Add Material constructor which takes material name.
    • Pass a default material name when resizing materials buffer.
    • Fix more thread-safety issue in ASE loader.
  • AssJSon:
    • Add json export.
  • B3D
    • Use std::unique_ptr
  • BlenderLoader:
    • Fix memory leak.
    • Update BlenderDNA.h.
  • Collada
    • Add Collada zae import support
    • fix possible memleak when throwing an exception.
    • Don't use SkipElement() to skip empty Text.
    • Correction on Collada parser missing textures when the image is in CDATA
    • Richard tea collada metadata
    • collada export: Use Camera local coordinate system
    • Save/Load Collada 1.4 Root Asset Metadata
    • Fix automatic name assignment for ColladaLoader when using name based assignment
  • DXF:
    • Fix macro issues.
  • glFT
    • Add ortho camera support
    • Fix incorrect NO_GLTF_IMPORTER define name in glTFExporter.h
    • Fix delete / delete[] mismatch
    • glTFAsset: Use std:unique_ptr for Image data
    • Update o3dgcTimer.h
    • Added import of material properties (double sided and transparency) in glTF 1.0 importer.
    • Forced 4-bits alignment for glTF buffers
    • Fixed some gltf files being detected as OBJ
    • Added support for non-indexed meshes in glTF importer. Addresses issue #2046.
    • GLTF segfault using triangle strip
    • buffer grow changes and large files support
  • glFT2
    • Add ortho camera support.
    • Lights import.
    • Added support for generating glb2.
    • Not using external bin file for glb2.
    • Correctly export images with bufferView.
    • Using relative buffers URI.
    • Set camera "look at" to (0.0, 0.0, -1.0).
    • Assign default material to meshes with no material reference.
    • Import scale for normal textures and strength for occlusion textures.
    • Add vertex color support to glTF2 export.
    • Fix export gltf2, The JOINTS_0 componentType is incorrect.
    • Move creation of vars to avoid useless creation in case of an error.
    • Fix gltf2 export component type error
    • Change glTF2 file extensions from gltf2/glb2 to gltf/glb in the exporter so that it matches the importer and respect the standard specifications
    • Read and write the KHR_materials_unlit glTF/2.0 extension.
    • Pick scene zero as scene to recursively load if no "scene" property is specified.
    • Properly reads in glTF/2.0 sampler address modes.
    • Fix inconsistency between animation and node name in glTF2 Importer
    • Add test for glTF2 lines, line strip, lines loop and points
    • Fixes crash when importing invalid glTF/2.0 files
    • Skips some glTF/2.0 uv processing if the count of uvs in the attribute stream doesn't match the vertex count.
    • Make gltf2's roughnessAsShininess matches between importer and exporter.
    • Add support for importing GLTF2 animations.
    • glTF2 importer multiple primitives and 16-bit index buffer skinmesh support.
    • Fix glTF2 export with no texture coordinates
    • Fix inconsistency between animation and node name in glTF2 Importer
  • FBX
    • FBX Import: Properly clean up post_nodes_chain in case of exception.
    • Implemented basic PBR material textures
    • Added maya stingray support for textures
    • Added VertexColor to FBX exporter (one channel)
    • Fix FBX units not being converted from CM to application scale
    • FBX node chain assert fix
    • FBX importer armature fixes and root bone fixes - animations should now work for more models.
    • Fix Issue: group node in fbx being exported as bone node
    • Fix non-ascii encoding in comments in FBXMaterial.cpp
    • FBX files may use a texture reference from an embedded texture that hasn't been loaded yet. This patch fixes this issue, storing all texture filenames, that can be acessed later via "scene::GetEmbeddedTexture", when all textures are already loaded. Some warnings have been added to other file formats that uses embedded data.
    • Fix export custom bindpose error
    • Some FBX multi-material mesh fixes
    • Fixed first vertex of each blendshape on a multi-material mesh having all unmapped vertice offsets being added to it
    • Fixed blendshapes not importing for multi-material FBX meshes with no bones
    • Store UnitScaleFactor for fbx-files.
    • Global settings use float instead of double.
    • Initial FBX Export Support, sponsored by MyDidimo (mydidimo.com).
    • FBX Importer double precision fix.
    • Apply inverse of geometric transform to child nodes.
    • Node names optimization and fixing non-unique name
    • Support for FBX file sizes more than 4GB.
    • Fragmented FBX ASCII emdedded resource.
    • Fix parse error for uv-coordinates.
    • Exception spam fix for FBXMaterial.
    • Fix empty fbx mesh names
    • fix for geometric transform nodes with multiple children.
    • FBX Export: Geometric transformations always create transformation chain.
    • FBX Export: fix logic for determining if scale transformation is identity.
    • FBX geometric transforms fix
    • FBX Export: handle newly-added geometric transform inverse nodes.
    • FBX Export: reconstruct full skeleton for any FBX deformers.
    • Fbx export skeleton improvements
    • FBX Export: add missing 0 value to file footer.
    • Fix Texture_Alpha_soutce typo.
    • LayeredTextures now work with embedded texture data
    • Assimp animation time is already in seconds. Just convert to FBX time.
    • Added check for NULL Compound in Properties70 element (fixes DeadlyImportError on some FBX files)
    • FBXImporter: Fix GetUniqueName to return names properly
    • Fix for crash in StreamWriter::PutString when exporting ASCII FBX
    • Don't call PutString with an empty string. Both DumpChildrenAscii and EndAscii can return without modifyting the string, so we need to check the string before calling PutString. This used to cause a crash.
    • Fbx convert to unit
    • Optimisation of FBX node name uniqueness
    • FBX import: fix import of direct data by vertices + unify node renaming
    • fixed ordering of skin indices and weights, to be consistent between systems
    • Add FBX Line Element support.
    • Preserve all the material parameters from FBX models
    • Fix for FBX binary tokenization of arrays of type 'c'
    • Generate attenuation constants if non are privded in the Blender file. Using: https://imdoingitwrong.wordpress.com/2011/01/31/light-attenuation/
    • Fix FBX face materials not being properly loaded if the face count mismatches the material count
  • LWO:
    • Initialize unnamed node uniqueness index outside of loop.
    • Use C++11 auto for easier refactoring.
    • Move some assignments to make it clearer when the thing should be moved.
  • IFC-2x3:
    • Fixed bug in IFC when dimensional exponent parameters in IfcSIUnits is not defined.
    • In IFC, fixed parser to avoid interpretation of '##' in string as identifiers
  • MD5:
    • MD5-Loader: set meshnames.
  • MDC:
    • Fix horrible pointer casting hack
    • fix a possible nullptr access.
  • MDLLoader:
    • Replace raw pointer with vector to fix a memory leak
  • MMD:
    • Add virtual destructor to a class which already has virtual functions
    • Fix memory leak
  • MDLImporter:
    • Use unique_ptr
    • Fixes a double free
  • Obj:
    • Use unique_ptr
    • Fix possible memory leak
    • Fix line continuations in OBJ files
    • Fix buffer overflow in obj loader
    • Replace assertion by an exception in Obj parsing.
    • Fix material index off-by-one error in some OBJ files (seen in a C4D export).
    • Fixed test .obj file: OBJ Vertex Colors are expected to be floats (0-1).
    • Fix Issue #1923: OBJ Exporter can't correctly export vertex colors.
    • bad OBJ file that can still be read
    • Fix .obj displacement texture parsing
    • Fix expensive memory allocation and memory copying occurring in obj files with a large number of meshes.
    • Pointcloud support
    • OBJ: Coerce texture coords of nan or infinity to zero
    • a test for bad OBJ file format and code fix that handles it
    • Fix progress reporting in ObjFileParser. Remove old unused code which is claiming to still take up "1/3" of the total progress.
    • Obj: we can still import partially incorrect files
    • OBJ coerce invalid nan or inf texture coords to 0
  • Ogre:
    • Change OgreXmlSerializer::HasAttribute parameter from std::string to pointer.
    • Avoid creating static std::strings.
    • Avoid creating function-scoped static constants.
    • Prevent crash when Ogre skeleton file is missing
  • OpenGEX:
    • Replace raw pointer with vector to fix a memory leak.
    • Replace std::copy with explicit loop.
    • Use std::unique_ptr to fix some memory leaks.
  • Q3BSP:
    • Convert Q3BSP Importer to use ZipArchiveIOSystem
    • Add assertion to silence a static analyzer warning
  • PLY:
    • float-color.ply is broken.
    • Fix for undefined behavior when loading binary PLY.
    • PLY importer should not create faces.
    • Set primitive_type to point when PLY is a point cloud.
    • Add support for texture file in PLY exports.
    • PLY importer should not automatically create faces.
    • Fix ply exporter to be conformant to spec respecting vertex colors.
    • Fix ply exporter to be conformant to spec respecting vertex colors.
  • Smd
    • Cannot read bone names containing spaces
  • STL:
    • Fix white ambient in STL loader
    • Fix import of binary STL files in double-precision builds.
    • STL binary Export should write 4-byte floats for vertex and normal coordinates.
    • Add mesh names to imported ASCII STL.
    • STL-Exporter: fix division by zero in normalize method during update
  • XGLLoader:
    • Fix const issue when seeting vec2.
    • Fix a memory leak
  • X3DImporter:
    • Add virtual destructors to some classes which already have virtual functions
  • X:
    • fix out of bound access.
    • Release x-file-based scene when throwing an exception.
    • Fix exception.
    • Fix typo.
    • Add misisng bracket.
  • Postprocessing
    • Fix UV texture coords generation along Z Axis
    • Thomasbiang fix issue join identical vertices not needed.
    • Fix missing File Scale and Application scale fixes for all conversions.
    • ScaleProcess overhauled to improve compatibility with animations and unit conversion.
    • All textures use relative path except embedded textures, this is a fix for it.
    • Add gen-aabb process to postprocessing.
    • Embedding images post-process.
    • PretransformVertices: Rearrange some assignments to clarify things.
    • LimitBoneWeightsProcess: Initialize all members of Weight in constructor.
    • FindInstancesProcessOptim: Optim FindInstancesProcess.
    • Optim FindInstancesProcess: ComputePositionEpsilon() is a costly function which was called in the inner loop although it only uses data from upper loop.
    • Degenerate triangles with small area removing fix
    • ImproveCacheLocality crashes if non triangular faces
    • Add mesh name to ValidateDataStructure log
    • Fix GenVertexNormals
    • Added forced generation of normals with extra flag.
    • Force generating mesh normals.
    • Deactivate area based rejection of triangles in triangulation
    • JoinVerticesProcess should only try to deduplicate used vertices.
    • Feature/join vertices processor kill unused vertices
    • FlipUVsProcess should also process AnimMeshes (if any)
    • Allow findDegenerate and SplitLargeMesh to pass point clouds models.
    • integrated DropFaceNormals process (cmake, poststepregistry)
    • ValidateDataStructure.cpp:
      • Fixed warnings introduced by last commit (hopefully)
      • Fixed case fallthrough (due to exception flow, it didn't make a practical difference, but hopefully will remove a warning)
      • Minor formatting consistency improvements
  • Tools:
    • Remove the qt-viewer from the build system and move it into its own repo.
    • Fix AssimpView build.
    • Fix Assimp viewer build with MinGW
  • Examples:
    • Update Sample_SimpleOpenGL.c
  • Java-Port:
    • JAssimp: fix simple code analysis issues.
    • Fix another misinterpretation from the JNI-interface.
    • Add progresshandler support jassimp
  • .Net-Port:
    • Fix documentation for assimp.net.
    • Update AssimpNet redirect
  • Python-port:
    • Version bump pyassimp.
    • Fix indentation error in python bindings.
    • Remove check for 'assimp' in name of directories to be searched for library in python port.
    • Add pyassimp code generation script for materials.
    • Ensure obj is not null before using hasattr.
    • Minor changes to setup.py to make it slightly more compliant
    • Solved pyassimp.errors.AssimpError in conda
    • Build Python representation for metadata.
    • Fix "bytes aketrans" issues in Python>=3.1
    • Fix: except SyntaxError for py3 viewer
  • Android:
    • Added ASSIMP_ANDROID_JNIIOSYSTEM precheck to only remain set to ON in proper ANDROID enabled toolchain environment
  • zlib & unzip
    • unzip: fix build with older zlib
  • irrXml:
    • IrrXML doesn't recognise the construction: <author></author> as being an empty element, and so ColladaParser::TestTextContent advances the element stream into the </author> element.

4.1.0 (2017-12):

FEATURES:

  • Export 3MF ( experimental )
  • Import / Export glTF 2
  • Introduce new zib-lib to eb able to export zip-archives
  • FIXES/HOUSEKEEPING:
  • Added missing include to stdlib.h and remove load library call
  • Fix install for builds with MSVC compiler and NMake.
  • Update list of supported file formats.
  • Add TriLib to the official list of supported ports.
  • Re-enabling PACK_STRUCT for MDL files.
  • Use std.::unique_ptr
  • Update D3MFExporter.h
  • Update MD3Loader.cpp, using index
  • Fix all warnings on MSVC14
  • Copy assimp dll to unit folder on windows
  • Update jvm port supported formats
  • Add support for building Mac OS X Framework bundles
  • Check for nullptr dereferencing before copying scene data
  • Update ValidateDataStructure.h, typo
  • Enable data structure validation in cases where it doesn't cause failures
  • Remove some dead assignments
  • fast_atof: Silence some uninitialized variable warnings
  • Check for area test if the face is a triangle.
  • Set mNumUVComponents to 0 when deleting texture coordinate sets
  • Only scale the root node because this will rescale all children nodes as well.
  • Issue 1514: Fix frame pointer arithmetic
  • Prevent failing stringstream to crash the export process
  • powf -> pow
  • add Defines.h to include folder for install.
  • Android:
  • Fix android build
  • Fix assimp for cross compile for android
  • Use define for D_FILE_OFFSET_BITS only for not-android systems.
  • FBX:
  • Fix handling with embedded textures
  • FBX 7500 Binary reading
  • Remove dead assignment
  • Fix export of deleted meshes; Add LazyDict::Remove method
  • Log an error instead of letting the fbx-importer crash. ( issue 213 )
  • Replace bad pointer casting with memcpy
  • Remove useless const qualifier from return value
  • Add explicit instantiation of log_prefix so other FBX source files can see it
  • add missing inversion of postrotation matrix for fbx.
  • FIReader: Silence uninitialized variable warning
  • Update version check in FBX reader to check for version >= 7500
  • Use actual min/max of anim keys when start/stop time is missing
  • GLTF1:
  • Fix output of glTF 1 version string
  • Fix delete / delete[] mismatch in glTFAsset
  • Don’t ignore rgba(1,1,1,1) color properties
  • glTF2 primitives fixes
  • Don’t ignore rgba(1,1,1,1) color properties
  • Fix delete / delete[] mismatch in glTFAsset
  • Remove KHR_binary_glTF code
  • glTF nodes can only hold one mesh. this simply assigns to and check’s a Node’s Mesh
  • version in glb header is stored as uint32_t
  • GLTF2:
  • node name conflict fix
  • Fix transform matrices multiplication order
  • Preserve node names when importing
  • Add support for tangents in import
  • Fix typo on gltf2 camera parameters
  • Moved byteStride from accessor to bufferView
  • Implemented reading binary glTF2 (glb) files
  • Fix signed/unsigned warning
  • Add postprocess step for scaling
  • Fix shininess to roughness conversion
  • Prefer “BLEND” over “MASK” as an alphaMode default
  • Approximate specularity / glossiness in metallicRoughness materials
  • Diffuse color and diffuse texture import and export improvements
  • Addressed some mismatched news/deletes caused by the new glTF2 sources.
  • Fix delete / delete[] mismatches in glTF2 importer
  • use correct name of exporter to gltf2
  • Fix possible infinite loop when exporting to gltf2
  • Fix glTF2::Asset::FindUniqueID() when the input string is >= 256 chars
  • Fix glTF2 alphaMode storage and reading
  • Fix glTF 2.0 multi-primitive support
  • Load gltf .bin files from correct directory
  • Add support for importing both glTF and glTF2 files
  • ampler improvements; Add new LazyDict method
  • Changes to GLTF2 materials
  • Remove Light, Technique references
  • Start removing materials common, and adding pbrSpecularGlossiness
  • Use !ObjectEmpty() vs. MemberCount() > 0
  • Working read, import, export, and write of gltf2 (pbr) material
  • Check in gltf2 models to test directory
  • Remove un-needed test models
  • Start managing and importing gltf2 pbr materials
  • Update glTF2 Asset to use indexes
  • Duplicate gltfImporter as gltf2Importer; Include glTF2 importer in CMake List
  • glTF2: Fix animation export
  • use opacity for diffuse alpha + alphaMode
  • STL:
  • Restore import of multi mesh binary STLs
  • Blender:
  • Silence warning about uninitialized member
  • MDLImporter:
  • Don't take address of packed struct member
  • assimp_cmd:
  • Fix strict-aliasing warnings
  • Open3DGC:
  • Fix strict-aliasing warnings
  • Add assertions to silence static analyzer warnings
  • Remove redundant const qualifiers from return types
  • Fix some uninitialized variable warnings
  • Remove OPEN3DGC and compression references
  • unzip:
  • Remove dead assignment
  • Bail on bad compression method
  • Fix possibly uninitialized variables
  • clipper:
  • Add assertion to silence a static analyzer warning
  • OpenDDLExport:
  • Reduce scope of a variable
  • Remove dead variable
  • Remove dead assignment
  • Fix another potential memory leak
  • X3DImporter:
  • Add assertions to silence static analyzer warnings
  • Add missing unittest
  • Workaround for buggy Android NDK (issue #1361)
  • TerragenLoader:
  • Remove unused variable
  • SIBImporter:
  • Add assertions to silence static analyzer warnings
  • IFC:
  • Remove dead code
  • Add explicit instantiation of log_prefix so IFCMaterial.cpp can see it
  • PLY:
  • Remove dead assignment and reduce scope of a variable
  • fix vertex attribute lookup.
  • OpenGEX:
  • Add assertion to silence a static analyzer warning
  • Fix for TextureFile with number in file name
  • Return early when element is TextureFile
  • NFF:
  • Add assertions to silence static analyzer warnings
  • Split up some complicated assignments
  • Raw: Fix misleading indentation warning
  • Reduce scope of a variable
  • LWO
  • Reduce scope of a variable
  • IRRLoader:
  • Fix confusing boolean casting
  • AssbinExporter:
  • Add assertion to silence a static analyzer warning
  • ASE:
  • Add assertion to silence a static analyzer warning
  • AMFImporter:
  • Add assertion to silence a static analyzer warning
  • Add a block
  • OptimizeGraph:
  • Fix possible null pointer dereference
  • RemoveRedundantMaterials:
  • Add assertion to silence a static analyzer warning
  • ImproveCacheLocality:
  • Add assertion to silence a static analyzer warning
  • RemoveRedundantMaterials:
  • Set pointer to nullptr after deleting it
  • Travis:
  • Disable unit tests in scan-build config
  • Move slower builds earlier to improve parallelization
  • Add static analysis to build
  • Remove unused branch rule for travis.
  • Add Clang UBSan build configuration
  • Treat warnings as errors, without typos this time
  • Unittests:
  • Add VS-based source groups for the unittests.
  • Collada:
  • export <library_animations> tag
  • Update ColladaExporter.cpp
  • Silence uninitialized variable warning
  • Add support for line strip primitives
  • Obj Wavefront:
  • check in exporting against out-of-bounds-access .
  • Issue 1351: use correct name for obj-meshname export for groups.
  • fix mem-lead: face will be not released in case of an error.
  • Anatoscope obj exporter nomtl
  • Raise exception when obj file contains invalid face indices
  • Added alternative displacement texture token in OBJ MTL material.
  • Obj: rename attribute from exporter.
  • Fix OBJ discarding all material names if the material library is missing
  • Step:
  • use correct lookup for utf32
  • MD2:
  • Fix MD2 frames containing garbage
  • STL
  • add missing const.
  • Fix memory-alignment bug.
  • Fix issue 104: deal with more solids in one STL file.
  • CMake
  • Fix issue 213: use correct include folder for assimp
  • Doxygen
  • Fix issue 1513: put irrXML onto exclucde list for doxygen run
  • PyAssimp:
  • Search for libassimp.so in LD_LIBRARY_PATH if available.
  • Fix operator precedence issue in header check
  • Split setup.py into multiple lines
  • Detect if Anaconda and fixed 3d_viewer for Python 3
  • created a python3 version of the 3dviewer and fixed the / = float in py3
  • Blender:
  • Fix invalid access to mesh array when the array is empty.
  • Fix short overflow.
  • Silence warning about inline function which is declared but not defined
  • JAssimp
  • Changed license header for IHMC contributions from Apache 2.0 to BSD
  • Add Node metadata to the Jassmip Java API
  • Added supported for custom IO Systems in Java. Implemented ClassLoader IO System
  • Added a link to pure jvm assimp port
  • Clang sanitizer:
  • Undefined Behavior sanitizer
  • Fixed a divide by zero error in IFCBoolean that was latent, but nevertheless a bug
  • B3DImporter:
  • Replace bad pointer casting with memcpy
  • AppVeyor:
  • Cleanup and Addition of VS 2017 and running Tests
  • Fixed File Size reported as 0 in tests that use temporary files
  • x86 isn't a valid VS platform. Win32 it is, then.
  • Replaced the worker image name, which doesn't work as generator name, with a manually created generator name.
  • Cleaned up appveyor setup, added VS 2017 to the build matrix and attempted to add running of tests.
  • Treat warnings as errors on Appveyor
  • Disable warning 4351 on MSVC 2013
  • OpenGEXImporter:
  • Copy materials to scene
  • Store RefInfo in unique_ptr so they get automatically cleaned up
  • Fix IOStream leak
  • Store ChildInfo in unique_ptr so they get automatically cleaned up
  • improve logging to be able to detect error-prone situations.
  • AMFImporter:
  • Fix memory leak
  • UnrealLoader:
  • Fix IOStream leak
  • Upgrade RapidJSON to get rid of a clang warning
  • zlib:
  • Update zlib contribution
  • Removed unnecessary files from zlib contribution
  • Replaced unsigned long for the crc table to z_crc_t, to match what is returned by get-crc_table
  • MakeVerboseFormat:
    • Fix delete / delete[] mismatches in MakeVerboseFormat
  • MaterialSystem:
  • Fix out-of-bounds read in MaterialSystem unit test
  • SIB:
  • Added support for SIB models from Silo 2.5
  • AssbinExporter:
  • Fix strict aliasing violation
  • Add Write specialization for aiColor3D
  • DefaultLogger:
  • Whitespace cleanup to fix GCC misleading indentation warning
  • MDP:
  • Fix encoding issues.
  • PreTransformVertices:
  • fix name lost in mesh and nodes when load with flag
  • C4D:
  • Fixes for C4D importer
  • Unzip:
  • Latest greatest.

4.0.1 (2017-07-28)

  • FIXES/HOUSEKEEPING:
  • fix version test.
  • Not compiling when using ASSIMP_DOUBLE_PRECISION
  • Added support for python3
  • Check if cmake is installed with brew
  • Low performance in OptimizeMeshesProcess::ProcessNode with huge numbers of meshes
  • Elapsed seconds not shown correctly
  • StreamReader: fix out-of-range exception
  • PPdPmdParser: fix compilation for clang

4.0.0 (2017-07-18)

FEATURES:

  • Double precision support provided ( available via cmake option )
  • QT-Widget based assimp-viewer ( works for windows, linux, osx )
  • Open3DGC codec supported by glFT-importer
  • glTF: Read and write transparency values
  • Add Triangulate post-processing step to glTF exporters
  • Update rapidjson to v1.0.2
  • Added method to append new metadata to structure
  • Unittests: intoduce a prototype model differ
  • X3D support
  • AMF support
  • Lugdunum3D support
  • Obj-Importer: obj-homogeneous_coords support
  • Obj-Importer: new streaming handling
    • Added support for 64 bit version header introduced in FbxSdk2016
    • Travis: enable coverall support.
    • PyAssimp: New version of the pyASSIMP 3D viewer, with much improved 3D controls
    • Morph animation support for collada
    • Added support for parameters Ni and Tf in OBJ/MTL file format
    • aiScene: add method to add children
    • Added new option to IFC importer to control tessellation angle + removed unused IFC option
    • aiMetaData: introduce aiMetaData::Dealloc
    • Samples: add a DX11 example
    • travis ci: test on OXS ( XCode 6.3 ) as well
    • travis ci: enable sudo support.
    • openddlparser: integrate release v0.4.0
    • aiMetaData: Added support for metadata in assbin format

FIXES/HOUSEKEEPING:

  • Introduce usage of #pragma statement
  • Put cmake-scripts into their own folder
  • Fix install pathes ( issue 938 )
  • Fix object_compare in blender importer( issue 946 )
  • Fix OSX compilation error
  • Fix unzip path when no other version was found ( issue 967 )
  • Set _FILE_OFFSET_BITS=64 for 32-bit linux ( issue 975 )
  • Fix constructor for radjson on OSX
  • Use Assimp namespace to fix build for big-endian architectures
  • Add -fPIC to C Flags for 64bit linux Shared Object builds
  • MDLLoader: fix resource leak.
  • MakeVerboseFormat: fix invalid delete statement
  • IFC: fix possible use after free access bug
  • ComputeUVMappingprocess: add missing initialization for scalar value
  • Fix invalid release of mat + mesh
  • IrrImporter: Fix release functions
  • Split mesh before exporting gltf ( issue 995 )
  • 3MFImporter: add source group for visual studio
  • IFC: Switch generated file to 2 files to fix issue related to <mingw4.9 ( Thanks Qt! )
  • ObjImporter: fix test for vertices import
  • Export scene combiner ( issues177 )
  • FBX: make lookup test less strict ( issues 994 )
  • OpenGEX-Importer: add import of vertex colors ( issue 954 )
  • Fix bug when exporting mRotationKeys data
  • Fix mingw build (mingw supports stat64 nowadays)
  • cfileio: fix leaks by not closing files in the destructor
  • Fix OBJ parser mtllib statement parsing bug.
  • Q3BSP-Importer: remove dead code
  • Fix BlenderDNA for clang cross compiler.
  • ScenePreprocessor: fix invalid index counter.
  • Fix compiler warnings ( issue 957 )
  • Fix obj .mtl file loading
  • Fixed a compile error on MSVC14 x64 caused by the /bigobj flag failing to be set for the 1 and 2-suffixed versions introduced in commit 0a25b076b8968b7ea2aa96d7d1b4381be2d72ce6
  • Fixed build warnings on MSVC14 x64
  • Remove scaling of specular exponent in OBJFileImporter.cpp
  • use ai_assert instead of assert ( issue 1076 )
  • Added a preprocessor definition for MSVC to silence safety warnings regarding C library functions. This addresses all warnings for MSVC x86 and x64 when building zlib, tools and viewer as a static lib
  • fix parsing of texture name ( issue 899 )
  • add warning when detecting invalid mat definition ( issue 1111 )
  • copy aiTexture type declaration instead of using decltype for declaration to fix iOS build( issue 1101 )
  • FBX: Add additional material properties
  • FBX: Correct camera position and clip planes
  • FBX: Add correct light locations and falloff values
  • fix typo ( issue 1141 )
  • Fix collada export. Don't duplicate TEXCOORD/NORMALS/COLORS in <vertices> and <polylist> ( issue 1084 )
  • OBJParser: set material index when changing current material
  • OBJ: check for null mesh before updating material index
  • add vertex color export support ( issue 809 )
  • Fix memory leak in Collada importer ( issue 1169 )
  • add stp to the list of supported extensions for step-files ( issue 1183 )
  • fix clang build ( Issue-1169 )
  • fix for FreeBSD
  • Import FindPkgMacros to main CMake Configuration
  • Extended support for tessellation parameter to more IFC shapes
  • defensice handling of utf-8 decode issues ( issue 1211 )
  • Fixed compiler error on clang 4.0 running on OSX
  • use test extension for exported test files ( issue 1228 )
  • Set UVW index material properties for OBJ files
  • Fixed no member named 'atop' in global namespace issue for Android NDK compilation
  • Apply mechanism to decide use for IrrXML external or internal
  • Fix static init ordering bug in OpenGEX importer
  • GLTF exporter: ensure animation accessors have same count
  • GLTF exporter: convert animation time from ticks to seconds
  • Add support for reading texture coordinates from PLY meshes with properties named 'texture_u' and 'texture_v'
  • Added TokensForSearch in BlenderLoader to allow CanRead return true for in-memory files.
  • Fix wrong delete ( issue 1266 )
  • OpenGEX: fix invalid handling with color4 token ( issue 1262 )
  • LWOLoader: fix link in loader description
  • Fix error when custom CMAKE_C_FLAGS is specified
  • Fast-atof: log overflow errors
  • Obj-Importer: do not break when detecting an overflow ( issue 1244 )
  • Obj-Importer: fix parsing of multible line data definitions
  • Fixed bug where IFC models with multiple IFCSite only loaded 1 site instead of the complete model
  • PLYImporter: - optimize memory and speed on ply importer / change parser to use a file stream - manage texture path in ply
  • Import - manage texture coords on faces in ply import - correction on point cloud faces generation
  • Utf8: integrate new lib ( issue 1158 )
  • Fixed CMAKE_MODULE_PATH overwriting previous values
  • OpenGEX: Fixed bug in material color processing ( issue 1271 )
  • SceneCombiner: move header for scenecombiner to public folder.
  • GLTF exporter: ensure buffer view byte offsets are correctly aligned
  • X3D importer: Added EXPORT and IMPORT to the list of ignored XML tags
  • X3D Exporter: fixed missing attributes
  • X3D importer: Fixed import of normals for the single index / normal per vertex case
  • X3D importer: Fixed handling of inlined files
  • X3D importer: fixed whitespace handling (issue 1202)
  • X3D importer: Fixed iterator on MSVC 2015
  • X3D importer: Fixed problems with auto, override and regex on older compilers
  • X3D importer: Fixed missing header file
  • X3D importer: Fixed path handling
  • X3D importer: Implemented support for binary X3D files
  • Fix build without 3DS ( issue 1319 )
  • pyassimp: Fixed indices for IndexedTriangleFanSet, IndexedTriangleSet and IndexedTriangleStripSet
  • Fixes parameters to pyassimp.load
  • Obj-Importe: Fixed texture bug due simultaneously using 'usemtl' and 'usemap' attributes
  • check if all exporters are disabled ( issue 1320 )
  • Remove std functions deprecated by C++11.
  • X-Importer: make it deal with lines
  • use correct path for compilers ( issue 1335 )
  • Collada: add workaround to deal with polygon with holes
  • update python readme
  • Use unique node names when loading Collada files
  • Fixed many FBX bugs

API COMPATIBILITY:

  • Changed ABI-compatibility to v3.3.1, please rebuild your precompiled libraries ( see issue 1182 )
  • VS2010 outdated

3.3.1 (2016-07-08)

FIXES/HOUSEKEEPING:

  • Setup of default precision for 17 exporters
  • Fix xcode project files
  • Fix BlenderTesselator: offsetof operator
  • Invalid version in cmake file
  • Update pstdint.h to latest greatest

3.3.0 (2016-07-05)

FEATURES:

  • C++11 support enabled
  • New regression-test-UI
  • Experimental glTF-importer support
  • OpenGEX: add support for cameras and lights
  • C4D: update to latest Melange-SDK
  • Add a gitter channel
  • Coverity check enabled
  • Switch to <...> include brackets for public headers
  • Enable export by pyAssimp
  • CI: check windows build
  • Add functionality to perform a singlepost-processing step
  • Many more, just check the history

FIXES/HOUSEKEEPING:

  • Fix of many resource leaks in unittests and main lib
  • Fix iOS-buildfor X64
  • Choosing zlib manually for cmake
  • many more, just check the history

3.2.1 (2016-010-10)

FEATURES:

  • Updated glTF exporter to meet 1.0 specification.

FIXES/HOUSEKEEPING:

  • Fixed glTF Validator errors for exported glTF format.

ISSUES:

  • Hard coded sampler setting for
    • magFilter
    • minFilter
  • void* in ExportData for accessor max and min.

3.2.0 (2015-11-03)

FEATURES:

  • OpenDDL-Parser is part of contrib-source.
  • Experimental OpenGEX-support
  • CI-check for linux and windows
  • Coverity check added
  • New regression testsuite.

FIXES/HOUSEKEEPING:

  • Hundreds of bugfixes in all parts of the library
  • Unified line endings

API COMPATIBILITY:

  • Removed precompiled header to increase build speed for linux

3.1.1 (2014-06-15)

FEATURES:

  • Support for FBX 2013 and newer, binary and ASCII (this is partly work from Google Summer of Code 2012)
  • Support for OGRE binary mesh and skeleton format
  • Updated BLEND support for newer Blender versions
  • Support for arbitrary meta data, used to hold FBX and DAE metadata
  • OBJ Export now produces smaller files
  • Meshes can now have names, this is supported by the major importers
  • Improved IFC geometry generation
  • M3 support has been removed

FIXES/HOUSEKEEPING:

  • Hundreds of bugfixes in all parts of the library
  • CMake is now the primary build system

API COMPATIBILITY:

  • 3.1.1 is not binary compatible to 3.0 due to aiNode::mMetaData and aiMesh::mName
  • Export interface has been cleaned up and unified
  • Other than that no relevant changes

3.0.0 (2012-07-07)

FEATURES:

  • New export interface similar to the import API.
  • Supported export formats: Collada, OBJ, PLY and STL
  • Added new import formats: XGL/ZGL, M3 (experimental)
  • New postprocessing steps: Debone
  • Vastly improved IFC (Industry Foundation Classes) support
  • Introduced API to query importer meta information (such as supported format versions, full name, maintainer info).
  • Reworked Ogre XML import
  • C-API now supports per-import properties

FIXES/HOUSEKEEPING:

  • Hundreds of bugfixes in all parts of the library
  • Unified naming and cleanup of public headers
  • Improved CMake build system
  • Templatized math library
  • Reduce dependency on boost.thread, only remaining spot is synchronization for the C logging API

API COMPATIBILITY:

  • renamed headers, export interface, C API properties and meta data prevent compatibility with code written for 2.0, but in most cases these can be easily resolved
  • Note: 3.0 is not binary compatible with 2.0

2.0 (2010-11-21)

FEATURES:

  • Add support for static Blender (*.blend) scenes
  • Add support for Q3BSP scenes
  • Add a windows-based OpenGL sample featuring texturing & basic materials
  • Add an experimental progress feedback interface.
  • Vastly improved performance (up to 500%, depending on mesh size and spatial structure) in some expensive postprocessing steps
  • AssimpView now uses a reworked layout which leaves more space to the scene hierarchy window
  • Add C# bindings ('Assimp.NET')
  • Keep BSD-licensed and otherwise free test files in separate folders (./test/models and ./test/models-nonbsd).

FIXES:

  • Many Collada bugfixes, improve fault tolerance
  • Fix possible crashes in the Obj loader
  • Improve the Ogre XML loader
  • OpenGL-sample now works with MinGW
  • Fix Importer::FindLoader failing on uppercase file extensions
  • Fix flawed path handling when locating external files
  • Limit the maximum number of vertices, faces, face indices and weights that Assimp is able to handle. This is to avoid crashes due to overflowing counters.
  • Updated XCode project files
  • Further CMAKE build improvements

API CHANGES:

  • Add data structures for vertex-based animations (These are not currently used, however ...)
  • Some Assimp::Importer methods are const now.

1.1 (2010-04-17)

FEATURES:

  • Vastly improved Collada support
  • Add MS3D (Milkshape 3D) support
  • Add support for Ogre XML static meshes
  • Add experimental COB (TrueSpace) support
  • Automatic test suite to quickly locate regressions
  • D bindings (dAssimp)
  • Python 2.n bindings (PyAssimp)
  • Add basic support for Unicode input files (utf8, utf16 and utf32)
  • Add further utilities to the assimp tool (xml/binary dumps, quick file stats)
  • Switch to a CMAKE-based build system including an install target for unix'es
  • Automatic evaluation of subdivision surfaces for some formats.
  • Add Importer::ReadFileFromMemory and the corresponding C-API aiReadFileFromMemory
  • Expose further math utilities via the C-API (i.e. aiMultiplyMatrix4)
  • Move noboost files away from the public include directory
  • Many, many bugfixes and improvements in existing loaders and postprocessing steps
  • Documentation improved and clarified in many places.
  • Add a sample on using Assimp in conjunction with OpenGL
  • Distribution/packaging: comfortable SDK installer for Windows
  • Distribution/packaging: improved release packages for other architectures

CRITICAL FIXES:

  • Resolve problems with clashing heap managers, STL ABIs and runtime libraries (win32)
  • Fix automatic detection of file type if no file extension is given
  • Improved exception safety and robustness, prevent leaking of exceptions through the C interface
  • Fix possible heap corruption due to material properties pulled in incorrectly
  • Avoid leaking in certain error scenarios
  • Fix 64 bit compatibility problems in some loaders (i.e. MDL)

BREAKING API CHANGES:

  • None -

MINOR API BEHAVIOUR CHANGES:

  • Change quaternion orientation to suit to the more common convention (-w).
  • aiString is utf8 now. Not yet consistent, however.