Asset Importer Library 3.1

Neuigkeiten und Ankündigungen rund um ZFX, Spieleentwicklung, Software, Programmierung und Computer.
Forumsregeln
Themen in diesem Forum werden als Neuigkeiten auf der Startseite, auf unserer Facebook-Seite und auf Twitter bekannt gemacht.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Asset Importer Library 3.1

Beitrag von kimmi »

Hallo zusammen,

nach nunmehr 1 1/2 Jahren stetiger Weiterentwicklung habe ich gestern abend die Version 3.1 der Asset-Importer Library in Github released. Release Notes sind gerade in Arbeit. Es hatte sich in dieser Zeit einfach zu viel getan, als dass ich das wirklich in einer Stunde zusammendampfen könnte.

Inhalt der neuen version sind unzählige Fixes in der Library, dem Build-Prozess, der Doku und auch sonst überall.

Vielen Dank an alle, die uns geholfen haben, diesen Zustand zu erreichen.

Gruß Kimmi
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von CodingCat »

Mist, hätte ich früher nochmal in den Tangent Space-Code reinschauen sollen. ;) Nein Spaß, super & vielen Dank an euch, dass ihr euch schon so viele Jahre so zuverlässig um die Unterhaltung des Projekts kümmert. Insbesondere eure schnelle Bearbeitung von Pull Requests macht das Arbeiten sehr viel einfacher, weil man nicht wie bei anderer Software monatelang um Probleme herumbauen muss. So stelle ich mir die Softwareentwicklung der Zukunft vor - auf dass in 20 Jahren alles über GitHub o.ä. Portale läuft! :)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

Manchmal würde ich mir mehr Nachtschlaf wünschen :). Mit Familie wird das in der Tat alles etwas herausfordernder!

Kimmi
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Aramis »

Kudos an Kimmi - dieses Release ist vollstaendige seine Leistung und Zeit!

That said, wir sollten neue Pakete fuer SF.net etc bauen. Das kann ich uebernehmen, seit dieser Woche hab ich wieder Zeit.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4855
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Schrompf »

Ein Daumen Hoch von mir. Auch ich war daran praktisch nicht beteiligt. Da hat Kimmi richtig was geleistet!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

So wie jeder von euch davor :). Gern geschehen, kenne das ja mittlerweile aus meinen Job ganz gut :).

Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Ach, GitHub. Und ich habe immer auf SourceForge gestarrt :?

Ich werde die neue Version mit Freude in den nächsten Tagen ausprobieren – vielen Dank auch von mir! :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Ich habe Probleme mit zlib. zconf.h existiert nicht; und die zconf.in.h, die dem Projekt beiliegt, enthält nicht nötige Bezeichner wie z_const. Ich nutze jetzt erstmal die alte zlib-Version. Heute abend werde ich mal probieren, die Aktuelle Version zu nutzen.

Mir ist aufgefallen, dass gegenüber 3.0 ein .m3-Dateiformat rausgeflogen ist?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Ich habe zlib 1.2.8 von www.zlib.net gezogen, in Assimps contrib-Verzeichnis ersetzt, und es funktioniert auf Anhieb :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Aramis »

Hattest du den CMake-Build benutzt? An sich sollte die Datei generiert werden.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Zieh-Mäh-Was?! Ich habe die Visual C++-Projektdatei benutzt, die beilag.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Aramis »

3.1.1 ist als Patch oben. Nun auch mit Paketen auf SF.net.

Schlechte Neuigkeit fuer dich: die vc9-Solution habe ich entfernt. Es wird auf Dauer einfach zu viel Maintenance-Aufwand.

Von nun am also nur noch CMake, oder die Prebuilt-Binaries.

PS:

Ich hoffe, es funktioniert alles. Release-Engineering machen wir uebermorgen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Schon in Ordnung; ich stelle mir die Dateien selber zusammen :) Die Versionsinformation für die Visual C++-Version zeigt auch noch (c)2010 …

P.S.: Bitte ändert AssimpPCH.cpp(66) zu #include "../revision.h" – nicht jeder fügt alle Pfade den Projekteinstellungen hinzu :)

P.P.S.: Hier sind meine Visual C++-2012-Projektdateien für eine Windows-DLL – ohne Precompiled Headers oder Ressourcen, dafür mit meinem Region Allocator. Vielleicht nützen sie ja irgendwann irgendwem.
Assimp Visual C++ project.7z
(6.47 KiB) 333-mal heruntergeladen
Zuletzt geändert von Krishty am 16.06.2014, 09:43, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

Der Trick mit CMake: es erstellt dir deine Projekt-Dateien. Deswegen haben wir das vor Jahren einmal umgestellt und nun das Ganze glatt gezogen. Der Arena-Allocator heißt Arena weil? Auf jeden Fall super, dass du das zur verfühung stellst, vielen Dank!

Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Ja und warum muss ich mir dann Software installieren und mir davon die Projektdateien erstellen lassen wenn es jemand anders (ihr) für mich tun kann? ;) „Arena“ weil … es Synonym mit „Region“ ist und mir gerade einfiel. Ist behoben :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

Dann saufen wir in Arbeit ab, weill alle Projekt-Dateien ständig nachgezogen werden müssten ( für jeden Compiler auf gefühlt 4 Plattformen wohlgemerkt ). Ich habe bereits gcc, Vissual-Studio 2013 und 2012 zu testen da und trotz dessen geht da gerne etwas schief.

Allerdings kann man so etwas machen wie andere Projekte: ein Batchfile anbieten, cmake einchecken und dann mit einem Knopfdruck das Ganze zur Verfügung haben.

Gruß Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Ich weiß ja, dass das eine weitere Exzentrik von mir ist, kein cmake benutzen zu wollen. Ich finde nur, dass gewisse Dinge einmal der Anbieter erledigen sollte statt jeder Nutzer einzeln, und dass eine Abhängigkeit von einem Drittprogramm (egal, wie weit verbreitet) die Nutzung immer erschwert. Nehmt mein Gestänker nur nicht als Änderungszwang; es hat ja bisher auch immer gut funktioniert :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

Kein Zwang, aber Change Reqests zur Steigerung der Begeisterung unserer User, die so billig zu haben sind, mach ich gerne ;).

Gruß Kimmi
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: Asset Importer Library 3.1

Beitrag von Sternmull »

Krishty: Das Problem bei der Sache ist ja das es unzählige IDEs bzw. Buildsysteme gibt deren Eingaben (Projekte, Makefiles,...) ggf. Platform/Konfigurations-Abhängig erzeugt werden. Wenn dann ein neues VS raus kommt oder was an CMake gemacht wird, müsste "der Anbieter" alle Projekte für alles neu generieren und testen. Den Aufwand kann man eigentlich keinem freiwilligen Entwickler zumuten. Deshalb finde ich es schon ok wenn sich die Nutzer halt noch ein zusätzliches Tool installieren und ein paar Anweisungen befolgen müssen bevor sie los legen. Zu guter letzt ist CMake ja auch recht verbreitet.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Vorher:
  • Anwender lädt Assimp
  • Anwender führt cmake aus
  • Anwender erhält ein ungetestetes Projekt, das vielleicht funktioniert (denn der Testaufwand kann, wie du sagst, keinem freiwilligen Team zugemutet werden)
Nachher:
  • Anwender lädt Assimp
  • Anwender hat ein ungetestetes Projekt, das vielleicht funktioniert
(Und wenn eine neue Version einer Entwicklungsumgebung rauskommt, die dem Paket nicht beiligt, ist es für den Anwender noch genau wie vorher.)

IMHO ist der einzige Unterschied, dass eine Abhängigkeit entfernt wurde weil cmake nun nur auf einem System ausgeführt werden musste statt auf 2000.

P.S.: Ich glaube, dass der Hund wo anders begraben liegt: Ich habe gesehen, dass cmake einige Header (z.B. für zlib) neu generiert. Könnte es sein, dass da je nach Build-Umgebung unterschiedliche Variationen benötigt werden? Dass also der selbe Quelltext nicht mit allen Umgebungen funktioniert, und man deshalb bestimmte Dateien erst auf dem Zielsystem erzeugen kann?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: Asset Importer Library 3.1

Beitrag von Sternmull »

Ja das kann sein. Das meinte ich auch miter zweiten Hälfte meines ersten Satzes. Allerdings machen davon nicht alle Projekte gebrauch. Manche könnten es also theoretisch so machen wie du es gern hättest (ich hab das auch bereits gesehen).
Benutzeravatar
Thoran
Establishment
Beiträge: 224
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Thoran »

Krishty hat geschrieben: IMHO ist der einzige Unterschied, dass eine Abhängigkeit entfernt wurde weil cmake nun nur auf einem System ausgeführt werden musste statt auf 2000.
Vorallem muss man nur ein make-File bearbeiten, anstatt zig make-/Projektfiles für jede unterstützte Platform. Ich arbeite selber schon länger mit CMake und man muss sich daran gewöhnen aber wenn ein CMake Makefile ordentlich gemacht ist, spuckt es für alle unterstützten Platformen funktionierende Projektdateien oder Makefiles aus. Das nenn ich arbeitsersparnis.
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Aramis »

Changelist gibt es nun auch (Sorry): https://github.com/assimp/assimp/blob/master/CHANGES

Re CMake: die Idee, die wichtigsten Plattformen vorzugenerieren ist schwer umzusetzen. Z.b. wird der Pfad auf das DX SDK (fuer AssimpView) iirc von CMake aufgeloest und ist danach in der Solution hardkodiert.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von kimmi »

Man kann ein vereinfachtes Batch-Skript für Windows / Linus vorbereiten, welches die Workspaces generiert. Vielleicht erhöht das die Akzeptanz. Danke für das Changelog und noch mehr Danke für den Release 3.1.1 :).

Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Aramis hat geschrieben:Changelist gibt es nun auch (Sorry): https://github.com/assimp/assimp/blob/master/CHANGES
Merci beaucoup :)
Re CMake: die Idee, die wichtigsten Plattformen vorzugenerieren ist schwer umzusetzen. Z.b. wird der Pfad auf das DX SDK (fuer AssimpView) iirc von CMake aufgeloest und ist danach in der Solution hardkodiert.
Du meinst für andere Entwicklungsumgebungen als Visual C++ (das dafür ja $(DXSDK_PATH) hat)? Das ist tatsächlich ein Showstopper; dicke Wurst :(
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Thoran
Establishment
Beiträge: 224
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Thoran »

Krishty hat geschrieben:Du meinst für andere Entwicklungsumgebungen als Visual C++ (das dafür ja $(DXSDK_PATH) hat)? Das ist tatsächlich ein Showstopper; dicke Wurst :(
Nein. Auch für VS wird der Pfad aufgelöst. CMake holt sich den über sein DX Findskript aus der Umgebungsvariablen zu DX den Pfad AFAIK.
Ich verstehe jetzt nicht was daran ein Showstopper ist?
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Krishty »

Weil das DirectX SDK nicht mit Assimp ausgeliefert wird, kann man auch keine im Voraus erzeugten Projektdateien ausliefern – weil die ja vorher wissen müssten, wo der Benutzer sein DirectX SDK installiert hat.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Thoran
Establishment
Beiträge: 224
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von Thoran »

Ok, hatte das anders verstanden. Ich dachte du meinst es ist ein Showstopper für den Einsatz von CMake. Aber egal, habs kapiert.
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Asset Importer Library 3.1

Beitrag von CodingCat »

Das Problem mit CMake ist tatsächlich, dass es de facto nicht im Stande ist, ortsungebundene Projektdateien zu generieren. Pfade werden grundsätzlich ALLE zu absoluten Pfaden aufgelöst; schon wenn du die Sources in ein anderes Verzeichnis verschiebst, müssen die Projekte neu generiert werden. Die unglaubliche Frechheit einiger CMake-Skripte, Source-Dateien je nach Konfiguration noch umzuschreiben, tragen dann ihr übriges zum absoluten Chaos bei. Damit ist CMake eine Alles-oder-Nichts-Option, Vorgenerieren ist nicht, nicht mal mit standardisierten Umgebungsvariablen.

Am Ende ist es leider wie immer: CMake ist grausiges Konstrukt, aber die schiere Menge an getesteter Funktionalität für praktisch alle relevanten Plattformen und Compiler rechtfertigen die Benutzung als etabliertes Standardtool.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Spiele Programmierer
Establishment
Beiträge: 426
Registriert: 23.01.2013, 15:55

Re: Asset Importer Library 3.1

Beitrag von Spiele Programmierer »

Dieser Eintrag in der FAQ scheint veraltet...
Is ASSIMP able to export models?
No. ASSIMP is an import library. It is intended to import assets, ...
Antworten