Hi, ich beschäftige mich grad etwas mit der Thematik und habe ein wenig herumgesucht, aber bisher keinen wirklcihen Loader gefunden. In der JMonkey ist einer drin und den werd ich mir auch nochmal ansehen, aber einen seperaten Loader, den ich implementieren könnte, habe ich bisher noch nicht wirklich gefunden. Formate... ich werd wohl 3d studios und blender nutzen.
Habt ihr da irgendwelche Ideen, was man nehmen kann?
Ansonsten würd ich mich wohl auhc mal dran machen und soetwas selbst versuchen.
Ich beschäftige mich zwar schon eine weile mit ogl aber modelling ist für mich ziemlihces neuland, deswegen musste ich überhaupt erstmal versuchen durch die Begrifflichkeiten zu blicken. Zum Mesh bietet unser Wiki ja eine gute erklärung, aber zu face hab ich nichts gefunden. Soweit ich verstanden habe, ist ein Face "größentechnisch" betrachtet kleiner als ein Mesh. Face hört sich sehr nach einer Oberfläche an, aber das Mesh selbst ist ja schon die ganze Oberfläche. Ist ein Face nun nur ein Dreieck?
Gibt es zum Schreiben eines solchen loaders auch tutorials? hab da auch sdchon gesucht, aber bisher nur c++ gefunden und ich kann c++ nur so schlecht lesen, dass das kaum etwas wird. Ich werd mir hier die dglloader auch nochmal ansehen und evtl versuchen sie auf java zu portieren..
Danke schonmal
Ein Face ist ein einzelnes Polygon. Meistens benutzt man Dreiecke, aber es werden hin und wieder auch Quads (4 Eckpunkte) oder auch Polygone mit mehr Eckpunkten verwendet.
Da ja sowieso an jeder Ecke angeraten wird, alle Modelle in Triangles aufzuteilen, um die Tesselierung auszusparen, sind also faces im besten fall Triangles und ansonsten irgendeine andere Primitive (?)
Dann hab ich das soweit
Hab mir auch eben die Nehetuts nochma angesehen
Mit dem tut auf der Website und den Portierungen kann man es sich verdeutlichen, wie alles funktioniert.
Wobei in der Portierung eine Klasse LittleEndianDataInputStream dabei ist, die sich offenbar auf bit- und byteebene mit dem Dateneinlesen beschäftigt. Das ist leider überhaupt nicht dokumentiert, ich nehme mal an, um diese Klasse und ihre Aufrufe innerhalb des Loadings nachvollziehen zu können, muss ich dazu noch den Aufbau des Milkshapeformats zur Hand nehmen...
(ich häng den Code mal an)
public synchronized void reset() throws IOException {
throw new IOException();
}
}
Mal von der Klasse abgesehen, die für mich gerade noch etwas sehr kryptisch anmutet, hab ich den Aufbau der Modelle und das Loadingverfahren verstanden ^^ Ich hatte eigentlich erwartet, dass ganze etwas mehr Voodoo beinhaltet, aber eigentlich ist alles sehr verständlich
Nachdem der Import dank der Nehetuts für die Milkshape files geht, hab ich mir gedahct, ich nehme mal noch das 3ds format, um ein weitgehend wichtiges format abzudecken. Dazu hab ich auch eine nette erklärung gefunden:
http://www.spacesimulator.net/tut4_3dsloader.html
Allerdings wühlt man da ziemlich viel in den Bytes herum und die Byteoperationen sind nicht mein Steckenpferd...
Ich habe mal die oben gepostete Datei zum Einlesen der Typen genommen, aber ich bekomme bei verschiedenen modellen immer (meiner Meinung nach) falsche Angaben für die Verticeanzahl zb
bei diesem Beispiel wird mir zb 512 angezeigt als Verticeanzahl, wobei das als potenz von 2 angesehen, gar nicht so falsch ist. Das beispiel, das diese Zahl erzeugt ist eine Plane aus Blender. Auch Namen werden mir nie ausgegeben... irgendwie steh ich ziemlich im Wald und Tutorials zum Javaapproach gibt es auch 0...
Hätte hier noch einen alten und eher experimentellen OBJ Loader im Angebot. Hab den mal angehängt. Vielleicht hilft dir das bei deiner Problematik. Ist zwar nicht perfekt, da ich den damals auch nur aus meinem damaligen Design-Kenntnisstand zusammengewürfelt hab, aber er lief zumindest mit den von Maya 7 erstellen OBJ Dateien ^^
Das Teil nutzt LWJGL und die Standard Java IO.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.