2015-01-05 4 views

Antwort

4

Die Anzahl der Positions-, Normal- und Texturkoordinaten kann unterschiedlich sein, da sich zwei Scheitelpunkte eine Koordinate in einem Raum teilen können, sich jedoch in einem anderen unterscheiden.

Denken Sie an eine Box (8 verts) mit 6 verschiedenen rechteckigen Formen (eine pro Gesicht) im Texturraum -> das sind 6 * 4 = 24 Texturkoordinaten.

Bearbeiten: Eine gemeinsame uv-map für eine Box sieht wie folgt aus (14 Texturkoordinaten). Ich habe drei verschiedene Ecken notiert: A, B und C. Beachten Sie, dass in einer Box jeder Scheitel an drei Seiten angrenzt, was auch in der uv-map zutrifft. C erhält eine Texturkoordinate, die an drei Flächen angrenzt, aber B muss dupliziert und A verdreifacht werden.

Box-uv

+0

Danke BeyelerStudios, nicht sicher, ob ich verstanden habe, was Sie meinen. Eine Box hat 8 3D-Punkte (unsere Eckpunkte). Die Textur, die ich anlege, passt für alle 6 Formen. In diesem Fall wird ein Gesicht durch 4 Ecken definiert. Wenn ich die rgb-Werte für einen Vertice finden möchte, kann ich mehr als einen auswählen. Sorry, ich glaube ich habe dich falsch verstanden :( – Chrizzldi

+0

Ah ja, ich verstehe dich! Die Tatsache, dass die Textur nicht in einem Stück sein muss, ergibt mehr vtextures als Scheitelpunkte. Danke! – Chrizzldi

+0

Dies ist eine sehr gute Erklärung, Sie sollten dies zu Wikipedia hinzufügen.Das erklären Sie es im Moment nicht :)! – Chrizzldi

0

fand ich die Ursache des Problems. Ich hatte mein Programm vorzeitig optimiert und erkannte nicht, dass Texturkoordinaten eine größere Menge als Vertexkoordinaten haben könnten, da die Texturen pro Fläche und nicht pro Scheitelpunkt abgebildet werden, sodass jedem Scheitelpunkt viele Texturkoordinaten zugeordnet werden können . Hoffentlich lernt jemand aus meinen Fehlern.

Etwas, das ich seltsam fand, war die Initialisierung einer sf::RenderWindow vor dem Ausführen meiner .obj Parser führte dazu, dass keine Fehlermeldungen ausgelöst wurden und der Absturz in einem ganz anderen Bereich berichtet wurde, als es tatsächlich passierte.

Verwandte Themen