Texturkoordinaten per Vertex
-
Hi,
Das Problem beschäftigt mich schon die ganze Zeit und ich habe auch keine Lösung gefunden:
Wenn für jedes Dreieck 3 Texturkoordinaten definiert werden, wie kann ich jetzt für jeden Vertex ein Texturkoordinatenpaar finden?
z.B soll dann, wenn der Vertex schon andere Texturekoordinaten hat, ein neuer erstellt werden.Mein bisheriger Algorithmus:
VertexIndexInfo : OldIndex, NewIndex Alle Dreiecke durchlaufen die drei Indizes durchgehen wenn der vertex die selben uv koord. hat wie das des Indizes continue alle VertexInfos durchgehen bis VertexInfo.OldIndex == akt. Index Wenn kein VertexIndexInfo gefunden wurde vertex mit neuer tex-coord. und VertexInfo erzeugen else setze akt. Index auf VertexIndexInfo.NewIndex
-
möchtest du die Texturkoordinaten in der Textur berechnen, oder wissen welche Texturkoordinaten ein Vertex hat?
-
schon gut...
Der Algorithmus klappt, ich hatte nur einen speziellen Fall nicht beachtet, der jedoch eigentlich nicht extra behandelt werden musste
-
Alle Dreiecke durchlaufen
- alle VertexInfos durchgehen bis VertexInfo.OldIndex == akt. Indexquadratischer aufwand wird mit modellen jenseits 100.000 polygonen nicht zu gebrauchen sein.
-
Ja, aber nur wenn denn auch viele unterschiedliche Texturkoordinaten vorhanden sind.
Asnonsten ist der Algorithmus ziemlich schnell und man muss nicht viel Speicher durch einen 3 * NumFaces großen Vertexbuffer verschwenden.