Open Asset Import Library

Last updated
Open Asset Import Library
Developer(s) Alexander Gessler
Thomas Schulze
Kim Kulling, et al.
Stable release
5.3.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 25 September 2023;4 months ago (25 September 2023)
Repository
Operating system Cross-platform
Type 3D model import library
License BSD
Website www.assimp.org

Open Asset Import Library (Assimp) is a cross-platform 3D model import library which aims to provide a common application programming interface (API) for different 3D asset file formats. Written in C++, it offers interfaces for both C and C++. Bindings to other languages (e.g., BlitzMax, C#, Python) are developed as part of the project or are available elsewhere. [2] Given the importance and the benefits of Assimp, a pure Java (/Kotlin) port is being developed here.

Contents

The imported data is provided in a straightforward, hierarchical data structure. Configurable post processing steps (i.e., normal and tangent generation, various optimizations) augment the feature set. [3]

Assimp currently supports 57 different file formats for reading, including COLLADA (.dae), 3DS, DirectX X, Wavefront OBJ and Blender 3D (.blend). [4] As of Version 3.0 Assimp also provides export functionality for some file formats. [5]

Projects using Assimp

Several open source projects use Assimp, such as MonoGame [6] and Urho3D. [7]

Torque3D added Assimp in Torque3D 4.0. [8]

Godot added Assimp in Godot 3.2, [9] but this was replaced in Godot 3.3 and later. [10] [11]

See also

Related Research Articles

<span class="mw-page-title-main">D (programming language)</span> Multi-paradigm system programming language

D, also known as dlang, is a multi-paradigm system programming language created by Walter Bright at Digital Mars and released in 2001. Andrei Alexandrescu joined the design and development effort in 2007. Though it originated as a re-engineering of C++, D is now a very different language drawing inspiration from other high-level programming languages, notably Java, Python, Ruby, C#, and Eiffel.

Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a QT/Qml wrapper, and Google Native Client.

<span class="mw-page-title-main">Microsoft XNA</span> Freeware set of tools by Microsoft

Microsoft XNA is a freeware set of tools with a managed runtime environment that Microsoft developed to facilitate video game development. XNA is based on .NET Framework, with versions that run on Windows and Xbox 360. XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006.

IronPython is an implementation of the Python programming language targeting the .NET and Mono frameworks. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with Python Tools for Visual Studio, which is a free and open-source extension for Microsoft's Visual Studio IDE.

Torque Game Engine, or TGE, is an open-source cross-platform 3D computer game engine, developed by GarageGames and actively maintained under the current versions Torque 3D as well as Torque 2D. It was originally developed by Dynamix for the 2001 first-person shooter Tribes 2. In September 2012, GarageGames released Torque 3D as open-source software under the MIT License.

<span class="mw-page-title-main">OpenSceneGraph</span>

OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.

COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.

<span class="mw-page-title-main">QGIS</span> Open-source desktop GIS software

QGIS, also known as Quantum GIS, is a geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data.

<span class="mw-page-title-main">SymPy</span> Python library for symbolic computation

SymPy is an open-source Python library for symbolic computation. It provides computer algebra capabilities either as a standalone application, as a library to other applications, or live on the web as SymPy Live or SymPy Gamma. SymPy is simple to install and to inspect because it is written entirely in Python with few dependencies. This ease of access combined with a simple and extensible code base in a well known language make SymPy a computer algebra system with a relatively low barrier to entry.

FBX (Filmbox) is a proprietary file format developed by Kaydara and owned by Autodesk since 2006. It is used to provide interoperability between digital content creation applications. FBX is also part of Autodesk Gameware, a series of video game middleware.

<span class="mw-page-title-main">LibreCAD</span> Free and open-source 2D CAD software

LibreCAD is a computer-aided design (CAD) application for 2D design. It is free and open-source, and available for Linux, macOS, and Windows operating systems.

<span class="mw-page-title-main">Godot (game engine)</span> Cross-platform, open-source game engine

Godot is a cross-platform, free and open-source game engine released under the permissive MIT license. It was initially developed by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.

<span class="mw-page-title-main">Nim (programming language)</span> Programming language

Nim is a general-purpose, multi-paradigm, statically typed, compiled high-level systems programming language, designed and developed by a team around Andreas Rumpf. Nim is designed to be "efficient, expressive, and elegant", supporting metaprogramming, functional, message passing, procedural, and object-oriented programming styles by providing several features such as compile time code generation, algebraic data types, a foreign function interface (FFI) with C, C++, Objective-C, and JavaScript, and supporting compiling to those same languages as intermediate representations.

<span class="mw-page-title-main">Amazon Lumberyard</span> Cross-platform triple-A game engine

Amazon Lumberyard is a now-superseded freeware cross-platform game engine developed by Amazon and based on CryEngine, which was licensed from Crytek in 2015. In July 2021, Amazon and the Linux Foundation announced that parts of the engine would be used to create a new open source game engine called Open 3D Engine, which would replace it. A new Open 3D Foundation, run by the Linux Foundation, will manage the new engine, which will be licensed under the open source Apache 2.0 license. The new engine is reportedly partially based on Lumberyard but with many parts rewritten, and is considered a new engine.

glTF 3D scene and model file format

glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers. An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D."

<span class="mw-page-title-main">Phaser (game framework)</span> Cross-platform JavaScript video game framework

Phaser is a 2D game framework used for making HTML5 games for desktop and mobile. It is free software developed by Photon Storm.

raylib Game programming library

Raylib is a cross-platform open-source software development library. The library was made to create graphical applications and games.

<span class="mw-page-title-main">Foliate (software)</span> E-book reading application for Linux

Foliate is a free e-book reading application for desktop Linux systems. The name refers to leaves, meaning "(getting) leafy" or "…-leaved".

<span class="mw-page-title-main">GDevelop</span> Open-source, cross-platform game engine

GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival, a software engineer at Google, GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.

<span class="mw-page-title-main">Aseprite</span> Pixel art image and animation editor

Aseprite is a proprietary, source-available image editor designed primarily for pixel art drawing and animation. It runs on Windows, macOS, and Linux, and features different tools for image and animation editing such as layers, frames, tilemap support, command-line interface, Lua scripting, among others. It is developed by Igara Studio S.A. and led by the developers David, Gaspar, and Martín Capello. Aseprite can be downloaded as freeware, or purchased on Steam or Itch.io. Aseprite source code and binaries are distributed under EULA, educational, and Steam proprietary licenses.

References

  1. "Release 5.3.1". 25 September 2023. Retrieved 20 October 2023.
  2. "Docs". Archived from the original on 2018-03-10. Retrieved 2018-03-10.
  3. "Features".
  4. "Features".
  5. "Open Asset Import Library".
  6. "MonoGame.Dependencies/Assimp at master · MonoGame/MonoGame.Dependencies". GitHub .
  7. "urho3d/Source/ThirdParty/Assimp at master · urho3d/urho3d". GitHub .
  8. "Version 4.0". Torque3D.
  9. Lee, K. S. Ernest (iFire) (2018-11-19). "Add Open Asset Importer to Godot". Godot. Retrieved 2023-08-21. Supports various formats from Open Asset Import Library (assimp). The focus is on FBX and MMD.
  10. MacPherson, Gordon (2020-10-30). "FBX importer rewrite". Godot. Retrieved 2020-11-01. This is a complete rewrite of the importer. It will give more deterministic behavior. Over 1 year has gone into the development of this importer to remove the burden of the FBX SDK.
  11. Lee, K. S. Ernest (iFire) (2022-03-28). "Add fbx2gltf support for importing .fbx files". Godot. Retrieved 2023-08-21. Lets you drag or place .fbx files in the project folder and it will import the files. An editor setting sets the location of the fbx2gltf binary.