Upload
moritz-muskat
View
230
Download
0
Embed Size (px)
Citation preview
Michael SchmidtMichael Schmidt
computer graphics & computer graphics & visualizationvisualization
Texture MappingTexture Mapping
Lapped TexturesLapped Textures
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Texture MappingTexture Mapping- 2D Textur übertragen auf 3D Mesh mit Hilfe von 2D Textur übertragen auf 3D Mesh mit Hilfe von
Texturkoordinaten für jedes VerticeTexturkoordinaten für jedes Vertice
- Vergleichbar mit dem einwickeln in Vergleichbar mit dem einwickeln in GeschenkpapierGeschenkpapier
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Texture MappingTexture Mapping- Unebene Meshes sind schwer „einzupacken“Unebene Meshes sind schwer „einzupacken“- Problem: einheitliche Parametrisierung ist schwer Problem: einheitliche Parametrisierung ist schwer
zu berechnenzu berechnen- Idee: mehrere Parametrisierungen für kleine Idee: mehrere Parametrisierungen für kleine
Stücke und diese danach zusammenfügen Stücke und diese danach zusammenfügen
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Was ist lapped texturing?Was ist lapped texturing?- Produziert gute Ergebnisse auf unebenen FlächenProduziert gute Ergebnisse auf unebenen Flächen- Erfordert allerdings Vorarbeit vom UserErfordert allerdings Vorarbeit vom User- Entwickelt von Emil Praun, Adam Finkelstein und Entwickelt von Emil Praun, Adam Finkelstein und
Hugues HoppeHugues Hoppe
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Was ist lapped texturing?Was ist lapped texturing?- Produziert gute Ergebnisse auf unebenen FlächenProduziert gute Ergebnisse auf unebenen Flächen- Erfordert allerdings Vorarbeit vom UserErfordert allerdings Vorarbeit vom User- Entwickelt von Emil Praun, Adam Finkelstein und Entwickelt von Emil Praun, Adam Finkelstein und
Hugues HoppeHugues Hoppe
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Was ist lapped texturing?Was ist lapped texturing?
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation1.1.Textur ZurechtschneidenTextur Zurechtschneiden- Vermeidung auffälliger Ränder durch Beachtung Vermeidung auffälliger Ränder durch Beachtung
markanter Merkmalemarkanter Merkmale- Unnötig für stochastische oder homogene Unnötig für stochastische oder homogene
Texturen Texturen - Vordefinierte Formen anwendbar, wie „Splotch“Vordefinierte Formen anwendbar, wie „Splotch“- Nach außen abnehmende Alphawerte um die Nach außen abnehmende Alphawerte um die
Ränder unkenntlicher zu machenRänder unkenntlicher zu machen
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation2.2.Spezifiziere VektorfeldSpezifiziere Vektorfeld- Up-Vektor T gibt Orientierung und Skalierung der Up-Vektor T gibt Orientierung und Skalierung der
Textur anTextur an- Vektorfeld kann per Hand oder auch Vektorfeld kann per Hand oder auch
(semi)automatisch erstellt werden(semi)automatisch erstellt werden- GUI vorhandenGUI vorhanden
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation2.2.Spezifiziere VektorfeldSpezifiziere Vektorfeld
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation3.3.Bilden des Surface PatchBilden des Surface Patch- Selektierung eines willkürlichen Punktes im MeshSelektierung eines willkürlichen Punktes im Mesh- Punkte in einer unebenen Umgebung oder hohen Punkte in einer unebenen Umgebung oder hohen
Diskontuinitäten im Vektorfeld bevorzugt, damit Diskontuinitäten im Vektorfeld bevorzugt, damit verzerrte Regionen später überdeckt werden verzerrte Regionen später überdeckt werden könnenkönnen
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation3.3.Bilden des Surface PatchBilden des Surface Patch- S = N x TS = N x T- S und T bilden eine BasisS und T bilden eine Basis- Ф: RФ: R33 -> R -> R22 projeziert diese in den projeziert diese in den
TexturkoordinatenraumTexturkoordinatenraum- Selektierter Punkt liegt im ZentrumSelektierter Punkt liegt im Zentrum
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation3.3.Bilden des Surface PatchBilden des Surface Patch- Vergrößern des Patches durch anfügen des Vergrößern des Patches durch anfügen des
nähesten Dreiecksnähesten Dreiecks- Patch muss homeomorph zu einer Disc seinPatch muss homeomorph zu einer Disc sein- Vergrößern nur an Kanten die nicht ganz Vergrößern nur an Kanten die nicht ganz
außerhalb der Textur liegenaußerhalb der Textur liegen- Abbruch bei zu hoher VerzerrungAbbruch bei zu hoher Verzerrung
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation4.4.Optimieren von фOptimieren von ф- T liegt auf der von A, B und C gebildeten EbeneT liegt auf der von A, B und C gebildeten Ebene
- T = α A + β B + γ CT = α A + β B + γ C
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation4.4.Optimieren von ф Optimieren von ф - Projektion ф linear über das FaceProjektion ф linear über das Face
- ddTT = α ф(A) + β ф(B) + γ ф(C) - t = α ф(A) + β ф(B) + γ ф(C) - t
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation4.4.Optimieren von фOptimieren von ф- Berechnung der verbesserten Berechnung der verbesserten
Projektionsparameter mit Hilfe der Methode der Projektionsparameter mit Hilfe der Methode der kleinsten Quadrate (least squares)kleinsten Quadrate (least squares)
- Heißt minimieren der untenstehenden Fkt mit Hilfe eines Iterativen Verfahrens(zB Levenberg-Marquardt)
- Σ Σ ||ddss||2 + + ||ddtt||2
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation
Ohne OptimierungOhne Optimierung Mit Optimierung Mit Optimierung
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation5.Auftragen der Texturen- Surface Patches einzeln Rendern- Ausschließen von verdeckten Faces- Faces werden erfahrungsgemäß 2-3 mal
gerendert- Verbesserung dieses Algorithmus durch
Multitexturing möglich
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
ImplementationImplementation6.Berechne Anteil der Texturierung- Rendern in einen Offscreen Buffer- Berechnung der anteiligen Bedeckung der
einzelnen Dreiecke- Abspeichern von einem Punkt bei nicht
vollständig texturierten Faces
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
LimitsLimits
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Fell in EchtzeitFell in Echtzeit- Verwendung von lapped textures- Keine Überlappungen der Texturen- Kein Alpha Blending am Rand- Erstellung von Shell und Fin Texturen
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Shell TexturenShell Texturen- Nach Lengyel Erstellung basierend auf der
Geometrie von Haarsträhnen simuliert durch ein Partikelsystem
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Shell TexturenShell Texturen- Einzelne Layer der Shell Textur werden
nacheinander auf die Surface Patches gerendert- Von innen(Haut) nach außen
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Fin TexturenFin Texturen- Erstellung basierend auf den Haarsträhnen und
einem Parameter der die Dichte bezeichnet
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Fin TexturenFin Texturen- Auswahl eines Intervalls zufälliger Länge, aber
beeinflußt von der Kantenlänge
edge 1edge 1
edge 2edge 2
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
Fin TexturenFin Texturen- Anlegen der Texturen an die Silhouette des
Objekts- Erstreckt sich entlang der Normalen der Kanten - Mit größerer Entfernung niedrigere Alpha Werte
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
EindrückeEindrücke
computer graphics & computer graphics & visualizationvisualization
Michael SchmidtMichael Schmidt
EindrückeEindrücke