michael schmidt computer graphics & visualization texture mapping lapped textures

28
Michael Schmidt Michael Schmidt computer graphics & computer graphics & visualization visualization Texture Mapping Texture Mapping Lapped Textures Lapped Textures

Upload: moritz-muskat

Post on 06-Apr-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

Michael SchmidtMichael Schmidt

computer graphics & computer graphics & visualizationvisualization

Texture MappingTexture Mapping

Lapped TexturesLapped Textures

Page 2: Michael Schmidt computer graphics & visualization Texture Mapping Lapped 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

Page 3: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 4: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 5: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 6: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

Was ist lapped texturing?Was ist lapped texturing?

Page 7: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 8: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 9: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

ImplementationImplementation2.2.Spezifiziere VektorfeldSpezifiziere Vektorfeld

Page 10: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 11: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 12: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 13: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 14: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 15: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 16: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

ImplementationImplementation

Ohne OptimierungOhne Optimierung Mit Optimierung Mit Optimierung

Page 17: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 18: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

ImplementationImplementation

Page 19: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 20: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

LimitsLimits

Page 21: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 22: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 23: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 24: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

Fin TexturenFin Texturen- Erstellung basierend auf den Haarsträhnen und

einem Parameter der die Dichte bezeichnet

Page 25: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 26: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

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

Page 27: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

EindrückeEindrücke

Page 28: Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures

computer graphics & computer graphics & visualizationvisualization

Michael SchmidtMichael Schmidt

EindrückeEindrücke