Open Asset Import Library

Last updated
Open Asset Import Library
Developer(s) Alexander Gessler
Thomas Schulze
Kim Kulling, et al.
Stable release
5.4.3 [1]   OOjs UI icon edit-ltr-progressive.svg / 30 August 2024;2 months ago (30 August 2024)
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 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">Simple DirectMedia Layer</span> Free software multimedia library

Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.

<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. As it has developed, it has drawn inspiration from other high-level programming languages. Notably, it has been influenced by 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 Gaming 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.

<span class="mw-page-title-main">Torque (game engine)</span> 3D computer game engine

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">Rhinoceros 3D</span> 3D computer graphics software

Rhinoceros is a commercial 3D computer graphics and computer-aided design (CAD) application software that was developed by TLM, Inc, dba Robert McNeel & Associates, an American, privately held, and employee-owned company that was founded in 1978. Rhinoceros geometry is based on the NURBS mathematical model, which focuses on producing mathematically precise representation of curves and freeform surfaces in computer graphics.

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

QGIS 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 in a range of data formats. QGIS was previously also known as Quantum GIS.

<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 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">Away3D</span>

Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor, a 3D graphics engine, a 3D physics engine and a compressed 3D model file format (AWD).

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, MIPS, PowerPC, RISC-V, s390x, x86/IA-32, x86-64, and some other by 3rd party.

<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 in Buenos Aires 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 system 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."

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">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.4.3". 30 August 2024. Retrieved 22 September 2024.
  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.