blender - Objekte in OGL einbinden
-
Kóyaánasqatsi schrieb:
Hä? Egal was für Sachen du da modellierst, es werden alle Daten als Dreiecke abgespeichert. Oder was dachtest du? Glaubst du etwa das Elefanten als Elefanten-Ecke abgespeichert werden?
-
hellihjb schrieb:
Und jetzt zeig mal noch den Inhalt von "m_vertices" und "m_face_vertices".
wie gesagt, die stimmen:
cout << "m_vertices:" << endl << endl; for (int i = 0; i < m_vertices.size (); i++) cout << m_vertices [i] << endl; cout << "m_face_vertices:" << endl << endl; for (int i = 0; i < m_face_vertices.size (); i++) cout << m_face_vertices [i] << endl;
Ausgabe:
m_vertices: 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 0.999999 1 0.999999 -1 1 -1 -1 1 -1 1 1 m_face_vertices: 1 2 3 4 5 8 7 6 1 5 6 2 2 6 7 3 3 7 8 4 5 1 4 8
-
Glaube mir doch einfach. Wenn die Würfeldaten als Quadrat-Koordinaten abgespeichert werden, dann müssten es maximal 6 Faceindices seien. Da dann ein Quadrat 4 Eckpunkte hat, müssten es 6 * 4 Koordinaten seien. Wenn deine Würfeldaten als Dreick-Koordinaten abgespeichert werden, was standardisiert und üblich ist, dann hättest du pro Würfelseite 2 Faceindices und somit 2 * 3 Koordinaten. Der komplette Würfel hätte so 12 Faceindices und 12 * 3 Koordinaten.
Glaubst du mir jetzt?
Im Übrigen:
Überprüfe mal die Daten aus der Würfel-Datei mit deinen. Irgendetwas stimmt da nicht, da der maximale Index 8 beträgt.
-
Kóyaánasqatsi schrieb:
Irgendetwas stimmt da nicht, da der maximale Index 8 beträgt.
Index "1" referenziert "m_vertices[0]" - alle Indizes muessen also um 1 verschoben werden.
Wenn deine Würfeldaten als Dreick-Koordinaten abgespeichert werden, was standardisiert und üblich ist
Das ist ja offentsichtlich nicht der Fall.
Je nach einsatzzweck kann es auch durchaus sinnvoll sein, Polygone zu erhalten.
-
Wenn man bei Blender ins .obj Format exportiert, dann gibt es einen Schalter mit Aufschrift "Triangulate". Nur um mal die weitere Diskussion um Dreiecke und nicht Dreiecke zu beenden