Assimp-News
Forumsregeln
Bitte nur zu Engines und Toolkits posten, die auch eine eigene Entwicklungsumgebung anbieten. Zu Engines, die nur programmatisch angesprochen werden können, bitte hier posten.
Bitte nur zu Engines und Toolkits posten, die auch eine eigene Entwicklungsumgebung anbieten. Zu Engines, die nur programmatisch angesprochen werden können, bitte hier posten.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Habe gerade erst bemerkt, dass man zur Teilnahme bei Patreon angemeldet sein muß. Ich werde das Ganze mal auf der Website starten.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
C4D importiert mit falscher Orientierung.
Soweit ich das sehen kann, ist bei C4D X rechts, Y hoch, und Z in den Bildschirm hinein (left-handed). Die Dateidaten werden aber ohne Konvertierung nach Assimp übertragen und dort als right-handed behandelt.
Nachtrag: mein “fix” in void C4DImporter::InternReadFile:
pScene->mRootNode = new aiNode("<C4DRoot>");
⇨ pScene->mRootNode->mTransformation.c3 = -1.0f; // transform left-handed to right-handed
… ich weiß aber gar nicht, ob Y/Z nicht auch getauscht werden müssen und wie das mit Texturen läuft usw. usf. Habe auch kein Cinema4D zum Testen hier. Ihr könnt das also sicher besser …
Soweit ich das sehen kann, ist bei C4D X rechts, Y hoch, und Z in den Bildschirm hinein (left-handed). Die Dateidaten werden aber ohne Konvertierung nach Assimp übertragen und dort als right-handed behandelt.
Nachtrag: mein “fix” in void C4DImporter::InternReadFile:
pScene->mRootNode = new aiNode("<C4DRoot>");
⇨ pScene->mRootNode->mTransformation.c3 = -1.0f; // transform left-handed to right-handed
… ich weiß aber gar nicht, ob Y/Z nicht auch getauscht werden müssen und wie das mit Texturen läuft usw. usf. Habe auch kein Cinema4D zum Testen hier. Ihr könnt das also sicher besser …
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Der Blender-Import interpretiert das Koordinatensystem falsch, oder? Von 20 Blender-Dateien, die ich stichprobenartig herausgesucht habe, war bei 15 offensichtlich Z oben statt Y. Beim Rest hätte man drüber streiten können, wie es der Künstler ausgelegt hat.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Hatte ich gar nicht mehr auf dem Zettel, aber da war was, ja. Danke für den Hinweis! Mal sehen, ob ich das bald beheben kann.
Momentan versuche ich noch aus dem FBX-Transformationen schlau zu werden.
Momentan versuche ich noch aus dem FBX-Transformationen schlau zu werden.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
FBX ist selten, oder? Seit letzter Woche crawle ich thingiverse, und unter den rund 320.000 Modellen, die ich bisher habe, waren vier FBX (dreimal binär, einmal Text). Die laden so weit ganz ordentlich.
Falls es dir hilft: Visual Studio kann ebenfalls FBX importieren; ich würde Microsoft zutrauen, die Referenzimplementierung lizensiert zu haben.
Nachtrag: Ja, unter Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\VsGraphics liegt eine libfbxsdk.dll von Autodesk. Kannst also im Zweifel mit Visual Studio vergleichen.
————
X3D geht nicht, sobald Texturen drin sind. Attribute "url" in node <ImageTexture> has incorrect value. sobald eine Datei das hier enthält:Ich habe gerade nicht die Spezifikation parat um zu prüfen, ob das korrekt ist; aber es kommt häufig vor und FreeWRL (gammeligster X3D-Loader der Welt) lädt es.
Falls es dir hilft: Visual Studio kann ebenfalls FBX importieren; ich würde Microsoft zutrauen, die Referenzimplementierung lizensiert zu haben.
Nachtrag: Ja, unter Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\VsGraphics liegt eine libfbxsdk.dll von Autodesk. Kannst also im Zweifel mit Visual Studio vergleichen.
————
X3D geht nicht, sobald Texturen drin sind. Attribute "url" in node <ImageTexture> has incorrect value. sobald eine Datei das hier enthält:
Code: Alles auswählen
<?xml version='1.0' encoding='UTF-8'?>
<X3D profile="Immersive" version="3.1">
<Scene>
<Shape>
<Appearance>
<ImageTexture url='texture.png'/>
</Appearance>
</Shape>
</Scene>
</X3D>
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
FBX wird oft angefragt. Und wenn ich hauptberuflich Assimp machen würde, wären die ganzen Bugs auch kein Problem :). Danke für den Bug-Report, das schaue ich mir auch mal an.
ich habe angefangen, unter https://www.patreon.com/assimp einen monatlichen Rückblick auf die Höhepunkte des aktuellen Masters zu schreiben.
Für August sieht das so aus: https://www.patreon.com/posts/asset-importer-14214732
Wenn Ihr Feedback für mich habt, nur zu.
ich habe angefangen, unter https://www.patreon.com/assimp einen monatlichen Rückblick auf die Höhepunkte des aktuellen Masters zu schreiben.
Für August sieht das so aus: https://www.patreon.com/posts/asset-importer-14214732
Wenn Ihr Feedback für mich habt, nur zu.
Zuletzt geändert von kimmi am 05.09.2017, 09:08, insgesamt 1-mal geändert.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
den 3D-Printer von thingiverse kenne ich :) ...
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Welchen?kimmi hat geschrieben:den 3D-Printer von thingiverse kenne ich :) ...
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Den, den wir hier haben. Kenne den genauen Typen gar nicht.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Ach ja, sie gehören zu MakerBot. Hat mit den Modellen dort aber nicht viel zu tun.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Ich weiß, war mir beim Besuch der Website nur gerade aufgefallen. FBX wird in dem Umfeld auf wenig benutzt. Aber beim Import von Modellern wird es öfter verwendet.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
glFT2.0-Import und Export ist auf dem aktuellem Master: https://www.patreon.com/posts/14395686
Freuen uns über jegliche Form von Feedback. Dazu schlage ich mich noch immer mit FBX rum.
Freuen uns über jegliche Form von Feedback. Dazu schlage ich mich noch immer mit FBX rum.
Re: Assimp-News
Mal abgesehen davon, dass FBX eine API-Hölle ist, was ist Dein konkretes Problem?
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
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Dass das Kurbelwellenproblem noch besteht. Die Welle wird nicht richtig platziert, da ich die Connnections der jeweiligen FBXNodes korrekt auslesen muss. Und das habe ich zwar auf meinem Stapel zu erledigender probleme, aber noch nicht angegangen.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Diese Änderung in SIBImporter.cpp ist mir aufgefallen, Zeilen 187–204:
std::vector<unsigned char> str;
str.reserve(numWChars * 4 + 1);
…
utf8::utf16to8(start, end, back_inserter(str));
…
str[str.size()] = '\0'; // !!!
aiString result = aiString((const char *)&str[0]);
Das stinkt zum Himmel. Es könnte durch ein Schlupfloch sein, dass man hinter die Größe eines std::vector schreiben/lesen darf, so lange er ausreichend groß reserviert ist … aber ich würde mich auf keinen Fall darauf verlassen und das sollte in jedem Review erneut die Sirenen aufheulen lassen.
Könnt ihr aiString keinen Konstruktor mit begin und end statt Nullterminierung verpassen, um die Situation zu entschärfen? Mit std::string würde ich an der Stelle auch einfach std::string result(str.begin(), str.end()); schreiben, anstatt Nullen in dunkle Bereiche von Arrays zu schieben …
… oder ändert es zumindest zu str.push_back('\0'); … und zu str.data() statt &str[0] …
… und das Speicherleck bei Exceptions durch die umliegenden new/delete sollte auch deutlich sein.
(Ich meckere normalerweise nicht über sowas, aber der Code wurde frisch geändert – und wenn man ihn schon ändert, dann bitte richtig™. Mit *jeder* STL löst der Code sofort eine Assertion aus; das bedeutet, dass der Autor vor dem Hochladen kein einziges Mal einen Debug Build kompiliert hat.)
std::vector<unsigned char> str;
str.reserve(numWChars * 4 + 1);
…
utf8::utf16to8(start, end, back_inserter(str));
…
str[str.size()] = '\0'; // !!!
aiString result = aiString((const char *)&str[0]);
Das stinkt zum Himmel. Es könnte durch ein Schlupfloch sein, dass man hinter die Größe eines std::vector schreiben/lesen darf, so lange er ausreichend groß reserviert ist … aber ich würde mich auf keinen Fall darauf verlassen und das sollte in jedem Review erneut die Sirenen aufheulen lassen.
Könnt ihr aiString keinen Konstruktor mit begin und end statt Nullterminierung verpassen, um die Situation zu entschärfen? Mit std::string würde ich an der Stelle auch einfach std::string result(str.begin(), str.end()); schreiben, anstatt Nullen in dunkle Bereiche von Arrays zu schieben …
… oder ändert es zumindest zu str.push_back('\0'); … und zu str.data() statt &str[0] …
… und das Speicherleck bei Exceptions durch die umliegenden new/delete sollte auch deutlich sein.
(Ich meckere normalerweise nicht über sowas, aber der Code wurde frisch geändert – und wenn man ihn schon ändert, dann bitte richtig™. Mit *jeder* STL löst der Code sofort eine Assertion aus; das bedeutet, dass der Autor vor dem Hochladen kein einziges Mal einen Debug Build kompiliert hat.)
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Gut:
Der 3MF-Bug mit Post Processing Order ist behoben.
Schlecht:
3DS scheint falsche Transformation zu haben, wenn Objekte gespiegelt sind. Die entsprechenden Datei kommt direkt aus 3ds Max; ich schicke sie dir via PM.
Noch schlechter:
Bei FBX sind die Transformationsfehler noch extremer. Außerdem kommen die Farben zu dunkel raus – habt ihr in Assimps Materialeigenschaften ein Flag für sRGB/linear oder einen Gamma-Faktor, den ich übersehe?
Der 3MF-Bug mit Post Processing Order ist behoben.
Schlecht:
3DS scheint falsche Transformation zu haben, wenn Objekte gespiegelt sind. Die entsprechenden Datei kommt direkt aus 3ds Max; ich schicke sie dir via PM.
Noch schlechter:
Bei FBX sind die Transformationsfehler noch extremer. Außerdem kommen die Farben zu dunkel raus – habt ihr in Assimps Materialeigenschaften ein Flag für sRGB/linear oder einen Gamma-Faktor, den ich übersehe?
- Chromanoid
- Moderator
- Beiträge: 4272
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Assimp-News
Habt ihr mal überlegt automatische Tests mit Bildvergleich einzubauen? Also Soll-Bild vs. tatsächliche Ausgabe (z.B. via https://github.com/donbright/diffpng)? Dann würde man solche Fehler ziemlich schnell sehen und man muss nicht komplizierte Vertex-Prüfungen machen. Oder macht ihr die Tests so schon?
BTW ich weiß das geht da vielleicht eher unter, aber irgendwie verstehe ich nicht warum Assimp-News in der Kategorie "Autorensysteme und Toolkits" gelandet ist. Wahrscheinlich wegen Toolkit oder? Ich glaube damit waren eher Toolkits für komplette Spiele gemeint...
BTW ich weiß das geht da vielleicht eher unter, aber irgendwie verstehe ich nicht warum Assimp-News in der Kategorie "Autorensysteme und Toolkits" gelandet ist. Wahrscheinlich wegen Toolkit oder? Ich glaube damit waren eher Toolkits für komplette Spiele gemeint...
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Das Problem ist eher, dass zu wenige Testdateien vorliegen. 80 % der Dateien im Netz nutzen nur 20 % der Features und sind leicht korrekt darzustellen.
Die restlichen 20 % der Dateien sind dafür höllische Verkettungen von Sonderfällen. Sowas zu finden ist schwer genug, aber dann noch mit passender Lizenz …
… die Testdateien, die ich kimmi schicke, stammen auch von unseren Kunden und dürfen auf keinen Fall im offiziellen Repository landen. Um die nachzubauen, muss er sich wahrscheinlich erstmal 3ds Max besorgen und nachmachen, was bei der Originaldatei gemacht wurde (spezieller Objekttyp, via spezieller Option spiegeln, etc).
Ich habe in meinem VRML-Import ungefähr 80 % Code-Abdeckung, bei 200 isolierten Testfällen und 10.000(!) heruntergeladenen Testdateien. Auf Github würden nur die 200 isolierten Testfälle landen, weil ich für den Rest niemals die Lizenzen klären könnte. So schlimm ist das.
————
Übrigens braucht man auch kein diffpng für sowas. Ich habe alle meine Testfälle so ausgelegt, dass der Pixel in der Mitte nur bei Erfolg grün ist. Rate mal, welcher Testfall hier nicht funktioniert:
Die restlichen 20 % der Dateien sind dafür höllische Verkettungen von Sonderfällen. Sowas zu finden ist schwer genug, aber dann noch mit passender Lizenz …
… die Testdateien, die ich kimmi schicke, stammen auch von unseren Kunden und dürfen auf keinen Fall im offiziellen Repository landen. Um die nachzubauen, muss er sich wahrscheinlich erstmal 3ds Max besorgen und nachmachen, was bei der Originaldatei gemacht wurde (spezieller Objekttyp, via spezieller Option spiegeln, etc).
Ich habe in meinem VRML-Import ungefähr 80 % Code-Abdeckung, bei 200 isolierten Testfällen und 10.000(!) heruntergeladenen Testdateien. Auf Github würden nur die 200 isolierten Testfälle landen, weil ich für den Rest niemals die Lizenzen klären könnte. So schlimm ist das.
————
Übrigens braucht man auch kein diffpng für sowas. Ich habe alle meine Testfälle so ausgelegt, dass der Pixel in der Mitte nur bei Erfolg grün ist. Rate mal, welcher Testfall hier nicht funktioniert:
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Das Ding mit dem SIB schaue ich mir an, riecht in der Tat komisch. Ist mir beim Review durch ie Lappen gegangen. Ebenfalls komisch: Clangs AddressSanitizer und MemorySanitizer schlagen nicht an. Das kann aber auch in der Tatsache begründet sein, dass wir keinen Testfall dafür haben :o).
Danke auf jeden Fall für den Hinweis.
Danke auf jeden Fall für den Hinweis.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Bitmap-Vergleiche würden gehen, ich habe aber einen Scene-Differ gebaut. Bei Bildern hat man schnell sehr viele Daten, die man mittels git sehr schwer verwalten kann ( Diffs und so ). Da steckt richtig Arbeit drinn. Und da das Ganze in der Freizeit läuft, geht halt nicht alles.
Dewegen verweise ich noch mal auf unsere PAtreon-Seite *hüstel*: https://www.patreon.com/assimp
Dewegen verweise ich noch mal auf unsere PAtreon-Seite *hüstel*: https://www.patreon.com/assimp
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Und ich habe in den letzten Tagen mehr als 10 Issues zumachen können. Der Assimp-Build für Android wird gerade schön gemacht und ich arbeite Altlasten ( FBX z.B. ) ab.
Der CI-Build testet nun auch auf Zugriffsverletzungen und Memory-Leaks ( Clang sei Dank ) und ist bedeutend schneller geworden. FBX und IFC entwickeln sich zu immer größeren Baustellen. Allein der Umfang / KOmplexitität der Importer haut mich jedes mal wieder um.
Der CI-Build testet nun auch auf Zugriffsverletzungen und Memory-Leaks ( Clang sei Dank ) und ist bedeutend schneller geworden. FBX und IFC entwickeln sich zu immer größeren Baustellen. Allein der Umfang / KOmplexitität der Importer haut mich jedes mal wieder um.
Zuletzt geändert von kimmi am 09.11.2017, 11:05, insgesamt 1-mal geändert.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
… und ein weiterer Nachteil: Falls man mal die Beleuchtungsbedingungen ändert (weil man z.B. gemerkt hat, dass der Shader das Licht nicht sRGB-korrekt gerendert hat), muss man *alle* Testbilder von Hand neu verifizieren. Dein Szenen-Vergleich ist da sicher der viel bessere Weg.kimmi hat geschrieben:Bei Bildern hat man schnell sehr viele Daten, die man mittels git sehr schwer verwalten kann ( Diffs und so ).
Ja; ich kann’s mir nur gerade nicht leisten. Vielleicht kriege ich das über die Firma hin, dass wir vorrangige Behandlung kaufen.kimmi hat geschrieben:Dewegen verweise ich noch mal auf unsere PAtreon-Seite *hüstel*: https://www.patreon.com/assimp
Ich wundere mich noch immer, wie ihr COLLADA geschafft habt. Das unterstützt doch auch 1000 Dinge, bis hin zu Physiksimulation … Schulterklopfen dafür.kimmi hat geschrieben:FBX und IFC entwickeln sich zu immer größeren Baustellen. Allein der Umfang / KOmplexitität der Importer haut mich jedes mal wieder um.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Das war Schrompf und Alexander! Da ziehe ich auch den Hut vor.
- Chromanoid
- Moderator
- Beiträge: 4272
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Assimp-News
Ah verstehe. Ich dachte ehrlich gesagt daran, dass man die gleiche Szene in allen Formaten bereitstellt und dann nur eine Referenz-Bilderserie (für unterschiedliche Perspektiven und Features) benötigt. Das Bereitstellen der Referenzbilder müsste natürlich auch automatisch gehen, dann muss man nichts verwalten, nur ab und zu den Referenz-Bild-Generator anwerfen, wenn man so eine Situation hat, die Krishty beschreibt. Aber ein Szene-Differ ist doch auch gut.kimmi hat geschrieben:Bitmap-Vergleiche würden gehen, ich habe aber einen Scene-Differ gebaut. Bei Bildern hat man schnell sehr viele Daten, die man mittels git sehr schwer verwalten kann ( Diffs und so ). Da steckt richtig Arbeit drinn. Und da das Ganze in der Freizeit läuft, geht halt nicht alles.
Cool. Ich frage mich wie das möglich ist, wenn man wirklich Material-Render-Regressionstests machen möchte.Krishty hat geschrieben:Übrigens braucht man auch kein diffpng für sowas. Ich habe alle meine Testfälle so ausgelegt, dass der Pixel in der Mitte nur bei Erfolg grün ist.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Für alle 3D-Druck-Leute hier: der 3MF-Exporter ist auf master als Experimental.
Gruß Kimmi
Gruß Kimmi
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Habe gerade Version 4.1.0 der Asset-Importer-Lib released, um die Mengen an Fixes und neuen Features unters Volk zu bekommen.
Einige Highlights:
Viel Spass damit!
Einige Highlights:
- glFT2 import und Export
- 3DF-Exporter
- Statische Code-Analyse im CI Build
- CI benutzt den Adress Sanitizer von Clang
- Verbesserungen im Build-Support für Android
- ...
Viel Spass damit!
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp-News
Wir haben unser erstes Asset-Importer-Lib auf Patreon ( siehe https://www.patreon.com/assimp ) geknackt. Somit werden in den nächsten Wochen automatisch Windows-Installer per CI-Build zur Verfügung gestellt werden. Ich war mir gar nicht so sicher, ob die Patreon-Plattform für einer Lib wie Assimp irgendwelche Unterstützung bieten wird. Um so positiver bin ich davon überrrascht, dass mich so viele bei der Arbeit unterstützen wollen :).
Die zwischenzeitliche Missetat der Patreon-CEO's, die Patronen für ihr Engangement stärker zur Kasse zu bitten, wurde übrigens rückgängig gemacht. Das hat für viel Ärger gesorgt.
Viele Grüße,
Kim
Die zwischenzeitliche Missetat der Patreon-CEO's, die Patronen für ihr Engangement stärker zur Kasse zu bitten, wurde übrigens rückgängig gemacht. Das hat für viel Ärger gesorgt.
Viele Grüße,
Kim
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
kimmi, habt ihr diesen Commit getestet? https://github.com/assimp/assimp/commit ... 284ccccac5
Ich hab’s nicht und weiß jetzt nicht, ob das
Außerdem muss in C4DImporter.cpp (80) das hier:
durch das ersetzt werden:
… wahrscheinlich kompiliert ihr ohne C4D-Unterstützung, dann fällt euch sowas nicht auf.
————
P.S.: Warum eigentlich static auto prefix = "C4D: "; return prefix; anstatt return "C4D: ";? Das sieht mir völlig verkompliziert aus. Ist das eine Optimierung aus der Zeit, als das noch ein std::string war?
Und … warum eigentlich eine Funktion statt einer Variable? Hat da jemand das überflüssige-Singletons-Fieber gekriegt? In der ursprünglichen Fassung den std::string durch char const * zu ersetzen wäre das allerkürzeste, deutlichste gewesen …
Ich hab’s nicht und weiß jetzt nicht, ob das
- bloß eine Warnung behebt (wie im Titel steht) und das ++ überflüssig war,
- oder ob das ++ versehentlich gelöscht wurde und nun der Importer Schrott ist.
Außerdem muss in C4DImporter.cpp (80) das hier:
Code: Alles auswählen
namespace Assimp {
template<> const std::string LogFunctions<C4DImporter>::log_prefix = "C4D: ";
}
Code: Alles auswählen
namespace Assimp {
template<> const char* LogFunctions<C4DImporter>::Prefix()
{
static auto prefix = "C4D: ";
return prefix;
}
}
————
P.S.: Warum eigentlich static auto prefix = "C4D: "; return prefix; anstatt return "C4D: ";? Das sieht mir völlig verkompliziert aus. Ist das eine Optimierung aus der Zeit, als das noch ein std::string war?
Und … warum eigentlich eine Funktion statt einer Variable? Hat da jemand das überflüssige-Singletons-Fieber gekriegt? In der ursprünglichen Fassung den std::string durch char const * zu ersetzen wäre das allerkürzeste, deutlichste gewesen …
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Übrigens habe ich hier noch ein paar synthetische STL-Tests für meinen Viewer herumliegen, die du in Assimps Testmatrix integrieren kannst. Ich weiß gerade nicht, wie der Stand bei euch ist, darum melde dich einfach, falls Bedarf besteht :)
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Assimp-News
Gehe ich recht in der Annahme, dass IFCReaderGen_4.cpp experimentell ist und man nicht erwarten kann, dass er kompiliert?
Ich find’s schön, dass ihr langsam alles zu std::unique_ptr und std::shared_ptr portiert, aber bitte initialisiert dann auch richtig! Hier sind 77 Stellen, die durch make_unique oder make_shared ersetzt werden sollten:
Wie wär’s mit
In Importer.cpp (192) habt ihr auch einen Rechtschreibfehler durch einen anderen ersetzt.
Ich find’s schön, dass ihr langsam alles zu std::unique_ptr und std::shared_ptr portiert, aber bitte initialisiert dann auch richtig! Hier sind 77 Stellen, die durch make_unique oder make_shared ersetzt werden sollten:
*zoom.jpg*D3MFOpcPackage.cpp hat geschrieben: bool exist( false );
if(it != m_ArchiveMap.end()) {
exist = true;
}
return exist;
Wie wär’s mit
return it != m_ArchiveMap.end();
In Importer.cpp (192) habt ihr auch einen Rechtschreibfehler durch einen anderen ersetzt.