assimp

The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

OTHER License

Downloads
11.8K
Stars
10.8K
Committers
697

Bot releases are hidden (Show)

assimp - The Assimp 5.4.1 Bugfix Release Latest Release

Published by kimkulling 5 months ago

What's Changed

New Contributors

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

assimp - The Assimp 5.4.0 Minor Release

Published by kimkulling 6 months ago

What's Changed

New Contributors

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

assimp - The 5.3.1 Bugfix Release

Published by kimkulling about 1 year ago

What's Changed

New Contributors

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

assimp - The Assimp 5.3.0 Minor-Release

Published by kimkulling about 1 year ago

What's Changed

New Contributors

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

assimp - The Assimp 5.2.5 Bugfix-Release

Published by kimkulling about 2 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.2.4 Bugfix-Release

Published by kimkulling over 2 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.2.3 Bugfix-Release

Published by kimkulling over 2 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.2.2 Bugfix-release

Published by kimkulling over 2 years ago

What's Changed

New Contributors

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

assimp - The Assimp v5.2.1 Bugfix-Release

Published by kimkulling over 2 years ago

What's Changed

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

assimp - The Assimp 5.2.0 Release

Published by kimkulling over 2 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.1.6 Bugfix-Release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.1.5 Bugfix-Release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.1.4 Bugfix-Release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The Assimp 5.1.3 Bugfix-release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The Assimp v5.1.2 Bugfix-Release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The 5.1.1 Bugfix Release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The 5.1.0 release

Published by kimkulling almost 3 years ago

What's Changed

New Contributors

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

assimp - The 5.1.0 release candidate 1

Published by kimkulling almost 3 years ago

Release notes will follow

What's Changed

New Contributors

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

assimp - The 5.0.1 bugfix release

Published by kimkulling almost 5 years ago

  • Fix wrong version
  • Fix MacOS compile issue.
  • Add pdf-docs
assimp - The Asset Importer Lib v5.0.0 release

Published by kimkulling about 5 years ago

  • 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::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 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.
Package Rankings
Top 23.35% on Forge.puppet.com
Top 1.97% on Pypi.org
Top 16.91% on Anaconda.org
Top 3.52% on Proxy.golang.org
Badges
Extracted from project README's
Financial Contributors on Open Collective Codacy Badge Average time to resolve an issue Percentage of issues still open