Zu dieser Karteikarte gibt es einen kompletten Satz an Karteikarten. Kostenlos!
71
Wie erhalte ich die Texturpositionen auf der Ebene?
Damit jeder Texel auf einer Kurve ein gleichlanges Kurvensegment texturiert, muss man mit s(t) = auP’(t) die zurückgelegte Strecke auf der Kurve berechnen. Dieser Weg muss für die Texturierung nur auf den Wertebereich von 0 bis 1 skaliert werden, d.h. eine Division durch die Gesamtstrecke. Im Fall der Bezierkurven ist der gültige Wertebereich für t, das Intervall von 0 bis 1. Eine sinnvolle eindimensionale Texturkoordinate einer Bezierkurve wäre also:
sTexture(t) =0tP’(t) dt 01P’(t)dt mit 0t1
Für eine Bezierfläche könnte man dieses Verfahren auch in u und v Richtung anwenden.
Integral leider nicht trivial lösbar. Alternativ könnte man die Kurve Triangulieren. Die einfach zu berechnenden Strecken zwischen den Punkten nähern das Integral dann abhängig vom Feinheitsgrad der Triangulierung effizient an.
Der naive Ansatz wäre u und v direkt als Texturkoordinaten verwenden.
Karteninfo:
Autor: cobocards-admin
Oberthema: Informatik
Thema: Computergrafik
Schule / Uni: Universität Koblenz-Landau
Ort: Koblenz
Veröffentlicht: 18.10.2010