Die Open Asset Import Library, kurz 'Assimp', ist eine generische und portable Importbibliothek, die den Großteil aller gängigen 3D-Formate liest und in eine einheitliche Ausgabestruktur überführt. Assimp ist Open Source (BSD-Lizenz) und darf kostenfrei genutzt werden, selbst in kommerziellen Projekten. Die lib ist speziell auf die Belange von Spieleentwicklern zugeschnitten und liefert Modelldaten, die nahezu direkt für das Echtzeitrendering via OpenGL oder Direct3D zu gebrauchen sind.
Team
Kernteam:
Thomas Schulze (Schrompf)
Kim Kulling (Kimmi)
Alexander Gessler (Aramis)
Portierung/Sprachbindings:
Matthias Gubisch (rave3d)
Sebastian Hempel (EyDu)
Alois Zoitl
Ehemals:
Rainer Schmidt (Guru)
Sowie viele weitere ...
Features
- Unterstützung für nahezu alle verbreiteten 3D-Modellformate, insgesamt über 20
- Portable, plattformunabhängige Codebasis in standardkonformem C++
- Bindings für eine Vielzahl anderer Sprachen verfügbar bzw. in Entwicklung
- Flexible Konfiguration, sowohl zur Laufzeit als auch zur Kompilationszeit
- Postprocessing pipeline für typische Nachbearbeitungs- und Optimierungsschritte
- Szenengraphbasierte Ausgabedatenstruktur
- Weitestmöglicher Erhalt von Modellstruktur und Metainformationen
- Import von Bones und Weights sowie skeletaler Animationen
- Unterstützung für Kameras und Lichtquellen
- Komplexes Materialsystem mit Unterstützung für Multilayer-Materialien und Bumpmaps/Specularmaps o.ä.
- Windows-basierter Modellviewer, AssimpView
- 3D Studio R3/4 (*.3ds;*.ase)
- Wavefront Object (*.obj)
- DirectX (*.x)
- LightWave/Modo (*.lwo,*.lws;*.lxo)
- Collada (*.dae)
- Doom 3/Quake 4 (*.md5mesh;*.md5anim;*.md5camera)
- Quake I-III (*.mdl;*.md2;*.md3)
- 3D-Gamestudio (*.mdl;*.hmp)
- AC3D (*.ac)
- Biovision Motion Capture (*.bvh)
- Blitz3D (*.b3d)
Mögliche Nachbearbeitungsschritte sind u.a:
- Vertexcacheoptimierung
- Optimieren des Indexbuffers
- Berechnung von Normalen und Tangenten
- Entfernen unreferenzierter Daten
- Zusammenführung redundanter Materialien
- Kollabieren des Szenengraphs, Transformation aller Vertices in das WCS
- Triangulation von Polygonen mit mehr als 3 Punkten
- Sortierung von Meshes nach Typ der enthaltenen Primitiven (z.B. Dreiecke, Linien, Punkte)
- Suche nach instanzierten Meshes
- Entfernen invalider, durch Exportfehler entstandener Daten (z.B. genullter Normalen)
aus AssimpView.
Alle gezeigten 3D-Modelle stehen unter dem Copyright ihrer jeweiligen Besitzer.
Links
Hompepage
Sourceforge.net-Projektseite
Quellcode
Support
Für Fragen, Bugeports und Feedback steht unsere Mailingliste, assimp-discussions, zur Verfügung. Dazu gibt es auch noch unser englischsprachiges Supportforum. Das ZFX ist und bleibt aber die primäre Anlaufstelle für User aus dem deutschen Sprachraum, also zögert nicht hier eure Assimpspezifischen Fragen zu stellen :-)
Feedback
Wir freuen uns über Feedback jeglicher Art, gerne auch destruktiv :-)
Das Assimp-Team