600 likes | 695 Views
PolyCube-Maps. Marco Tarini Kai Hormann Paolo Cignoni Claudio Montani. Maik Lathan. Motivation. Texture-Atlas. Mesh. Textured-Mesh. Motivation. Texture -Artefakte Nähte und Verzerrungen. Motivation - Nähte. Nähte haben fatale Folgen… Parametrisierung ist netzabhängig:
E N D
PolyCube-Maps Marco Tarini Kai Hormann Paolo Cignoni Claudio Montani Maik Lathan
Motivation Texture-Atlas Mesh Textured-Mesh Computergrafik-Hauptseminar 2005 --- Maik Lathan
Motivation • Texture-Artefakte Nähte und Verzerrungen Computergrafik-Hauptseminar 2005 --- Maik Lathan
Motivation - Nähte Nähte haben fatale Folgen… • Parametrisierung ist netzabhängig: Verschiedene LOD-Stufen bedingen individuelle Parametrisierungen Computergrafik-Hauptseminar 2005 --- Maik Lathan
Motivation – Texture-Filterung Nähte haben fatale Folgen… • Schlechte Texture-Filterung: Mip-Mapping sowie Bilineare Filterung bedingen kontinuierliche Texel an Patch-Rändern nicht erfüllt Computergrafik-Hauptseminar 2005 --- Maik Lathan
Motivation – Verschwendeter Speicher Nähte haben fatale Folgen… • Verschwendeter Speicher Atlas-Mapping verschenkt viel Texture-Speicher Patches liegen schlecht verdichtet in Map ! ! ! ! ! Computergrafik-Hauptseminar 2005 --- Maik Lathan
Es gibt eine Lösung… PolyCube-Maps
Inhalt • PolyCube-Maps im Überblick • PolyCube-Maps – in a Nutshell • Funktionsweise von PolyCube-Maps • Bilder • Experimentelle Ergebnisse • Ausblick Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick – Cube-Mapping Mesh CubeMap + = Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick – Cube-Mapping w u v • Cube-Mapping für nahtloses Texture-Mapping „missbrauchen“ + = Mesh CubeMap Textured Apple Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick – Cube-Mapping erweitern • Mechanismus leicht ändern Jedes Vertex erhält 3D-Texture-Position in Raum T3 Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick – Cube-Mapping erweitern • Beim Rendern jedes Fragment von Ursprung auf Einheitswürfel-Oberfläche T3 projizieren mit T3T3 • Cube-Mapping bildet Punkt aus T3 auf 2D-TextureT2 ab Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick ABER: Methode funktioniert nur mit kugelförmigen Objekten ALSO: Konzept auf beliebige Körper erweitern ! Lösung: Viele Unit-Cubes Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick – PolyCube-Definition • Was ist ein PolyCube 2-mannigfaltig flächig verbundene Anordnung von Cubes • PolyCube-Maps nutzen gesamte Oberfläche T3 von PolyCube anstatt nur einen Unit-Cube Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps im Überblick Graphics-Pipeline Rasterer Interpolation Computergrafik-Hauptseminar 2005 --- Maik Lathan
PolyCube-Maps – in a Nutshell Texture-Domain T3 Texture-Domain T2 w Texture-Map v u PolyCube Look-up-Tabelle Objektraum 3 T3 auf T3 mappen Fragment mit 3D-UVW T3 auf T2 mappen finales Texel Mesh (per Vertex Texture-UVW)
Funktionsweise von PolyCube-Maps - Mechanismus • PolyCube-Mapping komplett in Shader implementiert Shader nutzt Projektion P u. Abbildung M sowie Look-up-Tabelle • Shader muß simpel und schnell sein Fallunterscheidung • 3D-Texture-Raum T3 in kubische Zellen gleicher Größe unterteilen Zentren verschieben Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – PolyCube&Zellen Betrachtung des Schnittes von Zelle und PolyCube Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Zellen • Schnitt von PolyCube-Oberfläche u. Zellen Facelets • 2-Mannigfaltigkeit 63 Anordnungen von Facelets Rotation u. Reflektion weg lassen auf 6 Basisfälle reduzierbar Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Zellen Vorteile der neuen Zellen… • Anzahl von möglichen Schnitt-Anordnungen von PolyCube und Zellen sehr gering • P und M kontinuierlich für jede Zelle definierbar Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Konstruktion 1 2 3 4 5 6 Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Überschneidungen T3 • ABER keine gute Parametrisierung Überschneidungen • iterativer Algorithmus der Texture-Positionen optimiert u. globale Verzerrung minimiert worst case Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Mean Value Projektion (nicht optimiert) Mean Value • Linear lokales Optimierungsproblem • Minimal bei konformen Parametrisierungen • Flächenverformung kann groß werden Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – MIPS Projektion (nicht optimiert) MIPS • Nicht lineares Optimierungsproblem • Minimal bei konformen Parametrisierungen • Flächenverformung kann groß werden Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Extended MIPS ext. MIPS • Erweiterung von MIPS • Gewichtungsparameter für Mittelung zwischen Konformität und Flächenerhaltung Projektion (nicht optimiert) Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Energiefunktionen Projektion (nicht optimiert) Mean Value MIPS ext. MIPS Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube-Maps Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung P • Für alle 6 Basisanordnung definiert Case 3 Case 4a Case 4b Case 5 Case 6a Case 6b Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube-Maps Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung M Case 3 Case 4a Case 4b Case 5 • Facelets aus T3 auf Squarelets der Größe SxS in 2D-TextureT2 abbilden Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung M • Squarelets in Texture-Patch packen Texture-Patches ergeben PolyCube-Map Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung M pT3 Anwendung von M auf Punkt pT3 aus Zelle: • Berechne relative Position von p innerhalb von Facelet Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung M pT3 fT2T2 Anwendung von M auf Punkt pT3 aus Zelle: • Multiplikation mit S relative Position im zugehörigen Squarelet S S Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Abbildung M S S Anwendung von M auf Punkt pT3 aus Zelle: • Resultierender Wert offsetspezifisch je nach Basisfall nun globales Offset in T2 hinzu addieren Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube-Maps Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Look-up-Tabelle • PolyCube muss Mesh ähneln flexible Beschreibung durch Look-up-Tabelle T3LUT innerhalb von 2D-TextureT2 • T3LUT direkt aus PolyCube gewonnen Basisfall für jede Zelle durch 8 Nachbar-Cubes ermittelbar • Tabelleneinträge je Zelle Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Look-up-Tabelle Welche Informationen enthält Look-up-Tabelle: • Informationen über Zelle in RGB-Texel gepackt RGB CRO-Eintrag e e.C: welcher Basistyp e.R: Index auf eine von 24 Achse-zu-Achse-Rotationen e.O: Globales Offset des Patches von e in T2 (*S) Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube-Maps Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps – Shader PseudoCode Fragment f geht in Shader mit 3D-Texture-Position fI3T3 • 3D-Index i3 von Zelle zu fI3 ermitteln: Subzellenposition: • Hole e aus T3LUT bei Index i • Rotiere fS um Ursprung mit e.R • Appliziere P u. M ohne globales Offset nach Fall aus e.C • Addiere globales Offsete.O • Finales Offset ist Index von korrektem Texel fT2T2 Computergrafik-Hauptseminar 2005 --- Maik Lathan
Funktionsweise von PolyCube-Maps - Roadmap Konstruktion von PolyCube-Maps Abbildung P Konstruktion von Look-up-Tabelle Abbildung M Shader Computergrafik-Hauptseminar 2005 --- Maik Lathan