Seite 2 von 4
Re: Assimp-News
Verfasst: 27.07.2017, 20:50
von kimmi
Ply-Loader Exception ist im aktuellen Master behoben.
Re: Assimp-News
Verfasst: 28.07.2017, 01:02
von Krishty
Sauber; alle meine PLYs laden jetzt! Nochmal besten Dank!
Re: Assimp-News
Verfasst: 28.07.2017, 08:54
von kimmi
Kein Problem, das war ein Fehler im block-weisen Laden der ASCII-Files. Es folgt 4.0.1 ...
Re: Assimp-News
Verfasst: 31.07.2017, 21:00
von xq
Gibt es eigentlich eine offizielle Doku, wie ich mit Assimp eine Szene baue, sodass ich sie ordnungsgemäß exportieren kann? Ich scheitere grade grausam an den Texturen
Re: Assimp-News
Verfasst: 01.08.2017, 10:45
von kimmi
Du kannst dem folgenden Dokument die grundlegenden Ideen entnehmen (
http://assimp.org/lib_html/usage.html ). Ansonsten gibt es die Unittests, die zu Testzwecken eigene Szene bauen.
Da ist aber noch Luft nach oben. Ich erstell mal ein Ticket, um einige Tutorials zu schreiben.
Re: Assimp-News
Verfasst: 01.08.2017, 17:46
von kimmi
Ein erster Schuß für die glFT2.0-Export-Funktionalität ist nun in Assimp verfügbar. Das Ganze kann auf dem aktuellen Masterbranch eingesehen werden. Feedback wäre toll!
Viel Spass und happy Loading ...
Re: Assimp-News
Verfasst: 02.08.2017, 16:38
von Krishty
PLY kracht wieder gewaltig, und zwar immer in PlyLoader.cpp (522):
- plycrash.png (8.12 KiB) 10443 mal betrachtet
Re: Assimp-News
Verfasst: 03.08.2017, 11:40
von kimmi
Danke, ich hab da was verschlimmbessert.
Re: Assimp-News
Verfasst: 03.08.2017, 14:59
von kimmi
Sollte wieder behoben sein.
Re: Assimp-News
Verfasst: 03.08.2017, 16:07
von Krishty
Läuft; danke!
Re: Assimp-News
Verfasst: 04.08.2017, 10:20
von kimmi
Habe das Ganze auch gleich per Unittest abgesichert, damit ich in Zukunft merke, wenn ich einen Loader kaputt mache. Allerdings ist das schon eine ganze Menge Arbeit. Zur Zeit gibt es da eine abstrakte Basisklasse, bei der im Test die Methoden importerTest und exporterTest implementiert werden müssen. Dazu werden nun noch Anzahl importierter Meshes, Vertices und Faces überprüft:
Code: Alles auswählen
class utPLYImportExport : public AbstractImportExportBase {
public:
virtual bool importerTest() {
Assimp::Importer importer;
const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", 0 );
EXPECT_EQ( 1u, scene->mNumMeshes );
EXPECT_NE( nullptr, scene->mMeshes[0] );
EXPECT_EQ( 8u, scene->mMeshes[0]->mNumVertices );
EXPECT_EQ( 6u, scene->mMeshes[0]->mNumFaces );
return (nullptr != scene);
}
virtual bool exporterTest() {
Importer importer;
Exporter exporter;
const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", 0);
EXPECT_NE(nullptr, scene);
EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "ply", ASSIMP_TEST_MODELS_DIR "/PLY/cube_test.ply"));
return true;
}
};
Falls da was schief geht, fällt es zukünftig also auf. Dazu gibt es noch eine Regressions-Testsuite, die gerade aber nicht läuft. Aber ich arbeite daran.
Re: Assimp-News
Verfasst: 04.08.2017, 12:35
von Krishty
Das gibt es doch schon, oder? Zumindest wurde mir bei GitHub mit deinen letzten Check-Ins als kleines rotes Kreuz angezeigt, dass es PLY-Probleme mit der Coverage geben würde (40 % fail oder so) … bloß habe ich das erst nach dem Merge entdeckt ;)
Re: Assimp-News
Verfasst: 04.08.2017, 13:04
von kimmi
Den IMporttest gab es schon, allerdings habe ich vergessen, die Parameter abzutesten ( in dem Unittest ).
Re: Assimp-News
Verfasst: 04.08.2017, 13:11
von Krishty
Ah okay!
Re: Assimp-News
Verfasst: 17.08.2017, 19:56
von kimmi
Ich habe bezüglich der verschiedenen Language-Bindings mall eine Umfrage ins Leben gerufen. Es würde mich freuen, wenn Ihr da mal abstimmt, um die Relevanz der verschiedenen Bindings besser abschätzen zu können:
https://www.patreon.com/posts/asset-importer-13907338
Re: Assimp-News
Verfasst: 18.08.2017, 09:27
von kimmi
Habe gerade erst bemerkt, dass man zur Teilnahme bei Patreon angemeldet sein muß. Ich werde das Ganze mal auf der Website starten.
Re: Assimp-News
Verfasst: 24.08.2017, 17:09
von Krishty
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 …
Re: Assimp-News
Verfasst: 04.09.2017, 14:07
von Krishty
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.
Re: Assimp-News
Verfasst: 04.09.2017, 14:13
von kimmi
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.
Re: Assimp-News
Verfasst: 04.09.2017, 15:28
von Krishty
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:
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>
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.
Re: Assimp-News
Verfasst: 05.09.2017, 08:58
von kimmi
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.
Re: Assimp-News
Verfasst: 05.09.2017, 08:59
von kimmi
den 3D-Printer von thingiverse kenne ich :) ...
Re: Assimp-News
Verfasst: 05.09.2017, 11:10
von Krishty
kimmi hat geschrieben:den 3D-Printer von thingiverse kenne ich :) ...
Welchen?
Re: Assimp-News
Verfasst: 05.09.2017, 11:35
von kimmi
Den, den wir hier haben. Kenne den genauen Typen gar nicht.
Re: Assimp-News
Verfasst: 05.09.2017, 11:52
von Krishty
Ach ja, sie gehören zu MakerBot. Hat mit den Modellen dort aber nicht viel zu tun.
Re: Assimp-News
Verfasst: 05.09.2017, 13:05
von kimmi
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.
Re: Assimp-News
Verfasst: 19.09.2017, 21:52
von kimmi
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.
Re: Assimp-News
Verfasst: 20.09.2017, 10:15
von Thoran
Mal abgesehen davon, dass FBX eine API-Hölle ist, was ist Dein konkretes Problem?
Re: Assimp-News
Verfasst: 26.09.2017, 16:06
von kimmi
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.
Re: Assimp-News
Verfasst: 28.09.2017, 14:53
von Krishty
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.)