60
Marco Tarini Kai Hormann Paolo Cignoni Claudio Montani PolyCube-Maps PolyCube-Maps Maik Lathan Maik Lathan

Marco TariniKai HormannPaolo CignoniClaudio Montani

  • Upload
    qiana

  • View
    32

  • Download
    4

Embed Size (px)

DESCRIPTION

PolyCube-Maps. Marco TariniKai HormannPaolo CignoniClaudio 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: - PowerPoint PPT Presentation

Citation preview

Page 1: Marco TariniKai HormannPaolo CignoniClaudio Montani

Marco Tarini Kai Hormann Paolo Cignoni Claudio Montani

PolyCube-MapsPolyCube-MapsMaik LathanMaik Lathan

Page 2: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Motivation

MeshMesh

Texture-AtlasTexture-Atlas

Textured-MeshTextured-Mesh

Page 3: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Motivation

Texture-Artefakte Nähte und Verzerrungen

Page 4: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Motivation - Nähte

Nähte haben fatale Folgen…Nähte haben fatale Folgen…

1. Parametrisierung ist netzabhängig:

Verschiedene LOD-Stufen bedingen individuelle Parametrisierungen

Page 5: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Motivation – Texture-Filterung

Nähte haben fatale Folgen…Nähte haben fatale Folgen…

2. Schlechte Texture-Filterung:

Mip-Mapping sowie Bilineare Filterung bedingen kontinuierliche Texel an Patch-Rändern nicht erfüllt

Page 6: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Motivation – Verschwendeter Speicher

Nähte haben fatale Folgen…Nähte haben fatale Folgen…

3. Verschwendeter Speicher

Atlas-Mapping verschenkt viel Texture-Speicher Patches liegen schlecht verdichtet in Map

!

!

! !

!

Page 7: Marco TariniKai HormannPaolo CignoniClaudio Montani

Es gibt eine Lösung…

PolyCube-MapsPolyCube-Maps

Page 8: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Inhalt

1. PolyCube-Maps im Überblick2. PolyCube-Maps – in a Nutshell3. Funktionsweise von PolyCube-Maps4. Bilder5. Experimentelle Ergebnisse6. Ausblick

Page 9: Marco TariniKai HormannPaolo CignoniClaudio Montani

PolyCube-Maps im ÜberblickPolyCube-Maps im Überblick

Page 10: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

PolyCube-Maps im Überblick – Cube-Mapping

+

=

Mesh

CubeMap

Page 11: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

PolyCube-Maps im Überblick – Cube-Mapping

Cube-Mapping für nahtloses Texture-Mapping „missbrauchen“

u v

w

=+

Mesh CubeMap Textured Apple

Page 12: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

PolyCube-Maps im Überblick – Cube-Mapping erweitern

Mechanismus leicht ändern Jedes Vertex erhält 3D-Texture-Position in Raum T3

3T

3T3

Page 13: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-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-Texture T2 ab

3T

2T

Page 14: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

PolyCube-Maps im Überblick

ABER:ABER: Methode funktioniert nur mit kugelförmigen Objekten

ALSO:ALSO: Konzept auf beliebige KörperKonzept auf beliebige Körper

erweitern !erweitern !

Lösung:Lösung: Viele Unit-Cubes

Page 15: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-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

Page 16: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

PolyCube-Maps im Überblick

Graphics-Pipeline

3

3r s tT

v v , v , v T

Rasterer

Interpolation

I3f

Page 17: Marco TariniKai HormannPaolo CignoniClaudio Montani

PolyCube-Maps in a NutshellPolyCube-Maps in a Nutshell

Page 18: Marco TariniKai HormannPaolo CignoniClaudio Montani

Mesh(per Vertex Texture-UVW) Look-up-Tabelle

Objektraum 3

Texture-Map

Texture-Domain T2

PolyCube

Texture-Domain T3

uv

wFragment mitFragment mit

3D-UVW3D-UVWTT33 auf T auf T33

mappenmappen

TT33 auf T auf T22

mappenmappen finales Texelfinales Texel

PolyCube-Maps – in a Nutshell

Page 19: Marco TariniKai HormannPaolo CignoniClaudio Montani

Funktionsweise von PolyCube-Funktionsweise von PolyCube-MapsMaps

Page 20: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

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

Page 21: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – PolyCube&Zellen

Betrachtung des Schnittes von Zelle und PolyCube

Page 22: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Zellen

Schnitt von PolyCube-Oberfläche u. Zellen FaceletsFacelets 2-Mannigfaltigkeit 63 Anordnungen von FaceletsFacelets

Rotation u. Reflektion weg lassen auf 6 Basisfälle reduzierbar

Page 23: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-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

Page 24: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube

Konstruktion vonPolyCube

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 25: Marco TariniKai HormannPaolo CignoniClaudio Montani

Konstruktion von PolyCubeKonstruktion von PolyCube

Page 26: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Konstruktion

1 32

4 5 6

Page 27: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Überschneidungen

ABER keine gute Parametrisierung Überschneidungen

iterativer Algorithmus der Texture-Positionen optimiert u. globale Verzerrung minimiert

T3

worst caseworst case

Page 28: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Mean Value

Linear lokales Optimierungsproblem

Minimal bei konformen Parametrisierungen

Flächenverformung kann groß werden

Projektion(nicht optimiert)

Mean Value

Page 29: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – MIPS

Nicht lineares Optimierungsproblem

Minimal bei konformen Parametrisierungen

Flächenverformung kann groß werden

Projektion(nicht optimiert)

MIPS

Page 30: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Extended MIPS

Erweiterung von MIPS Gewichtungsparameter für

Mittelung zwischen Konformität und Flächenerhaltung

Projektion(nicht optimiert)

ext. MIPS

Page 31: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Energiefunktionen

Projektion(nicht optimiert)

Mean Value MIPS ext. MIPS

Page 32: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube-Maps

Konstruktion vonPolyCube-Maps

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 33: Marco TariniKai HormannPaolo CignoniClaudio Montani

ProjektionProjektion P: TP: T3 3 TT33

Page 34: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung P

Für alle 6 Basisanordnung definiertCase 4aCase 3 Case 4b Case 5 Case 6a Case 6b

Page 35: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube-Maps

Konstruktion vonPolyCube-Maps

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 36: Marco TariniKai HormannPaolo CignoniClaudio Montani

ProjektionProjektion M: TM: T3 3 T T22

Page 37: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung M

FaceletsFacelets aus T3 auf SquareletsSquarelets der Größe SxS in 2D-Texture T2 abbilden

Case 4aCase 3 Case 4b Case 5

Page 38: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung M

SquareletsSquarelets in Texture-Patch packen Texture-Patches ergeben PolyCube-Map

Page 39: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung M

Anwendung von M auf Punkt pT3 aus Zelle:

1. Berechne relative Position von p innerhalb von FaceletFacelet

pT3

Page 40: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung M

Anwendung von M auf Punkt pT3 aus Zelle:

2. Multiplikation mit S relative Position im zugehörigen SquareletSquarelet

S

S

pT3 fT2T2

Page 41: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Abbildung M

Anwendung von M auf Punkt pT3 aus Zelle:

3. Resultierender Wert offsetspezifisch je nach Basisfall nun globales Offset in T2 hinzu addieren

S

S

Page 42: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube-Maps

Konstruktion vonPolyCube-Maps

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 43: Marco TariniKai HormannPaolo CignoniClaudio Montani

Konstruktion von Look-up-TabelleKonstruktion von Look-up-Tabelle

Page 44: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Look-up-Tabelle

PolyCube muss Mesh ähneln flexible Beschreibung durch Look-up-Tabelle T3

LUT innerhalb von 2D-Texture T2

T3LUT direkt aus PolyCube gewonnen

Basisfall für jede Zelle durch 8 Nachbar-Cubes ermittelbar

Tabelleneinträge je Zelle

Page 45: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Look-up-Tabelle

Welche Informationen enthält Look-up-Tabelle: Informationen über Zelle in RRGGBB-Texel gepackt RRGGBB

CROCRO-Eintrag e

ee.C:.C: welcher Basistyp

ee.R:.R: Index auf eine von 24 Achse-zu-Achse-Rotationen

ee.O:.O: Globales Offset des Patches von e in T2 (*S)

1 89 1617 24

C u. R O

Page 46: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube-Maps

Konstruktion vonPolyCube-Maps

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 47: Marco TariniKai HormannPaolo CignoniClaudio Montani

ShaderShader

Page 48: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps – Shader PseudoCode

Fragment f geht in Shader mit 3D-Texture-Position fI3T3

1. 3D-Index i3 von Zelle zu fI3 ermitteln:

Subzellenposition:

2. Hole e aus T3LUT bei Index i

3. Rotiere fS um Ursprung mit e.R

4. Appliziere P u. M ohne globales Offset nach Fall aus e.C

5. Addiere globales Offset e.O

6. Finales Offset ist Index von korrektem Texel fT2T2

I3i f 0.5, 0.5, 0.5

3S I3 Sf f i mit f 0.5, 0.5

Page 49: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Funktionsweise von PolyCube-Maps - Roadmap

Abbildung PAbbildung P

Abbildung MAbbildung M

ShaderShader

Konstruktion vonPolyCube-Maps

Konstruktion vonPolyCube-Maps

Konstruktion vonLook-up-Tabelle

Konstruktion vonLook-up-Tabelle

Page 50: Marco TariniKai HormannPaolo CignoniClaudio Montani

BilderBilder

Page 51: Marco TariniKai HormannPaolo CignoniClaudio Montani

Bilder – 3-Hole-Object & Laurana

Page 52: Marco TariniKai HormannPaolo CignoniClaudio Montani

Bilder – Bunny & Armadillo

Page 53: Marco TariniKai HormannPaolo CignoniClaudio Montani

case 3

case 4-a

case 4-b

case 5

Bilder – PolyCube & Zellen

Page 54: Marco TariniKai HormannPaolo CignoniClaudio Montani

Bilder – Apfel

Page 55: Marco TariniKai HormannPaolo CignoniClaudio Montani

Experimentelle ErgebnisseExperimentelle Ergebnisse

Page 56: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Experimentelle Ergebnisse

Distortion Stretch Efficiency

area angle T3M MT3 [Gu] [Hoppe]

3-Holes 1.003 1.001 0.986 0.986

Laurana 1.141 1.101 0.795 0.745

Bunny 1.034 1.069 0.892 0.913 0.639 0.703

Armadillo 1.224 1.318 0.616 0.577 0.607 0.465

1 ist ideal [Gu] Square-Domains [Hoppe] simple sphärische Modelle

Page 57: Marco TariniKai HormannPaolo CignoniClaudio Montani

AusblickAusblick

Page 58: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

Ausblick

Geometriebilder Shader-Verbesserung Automatische Parametrisierung Octree-Ansatz

Page 59: Marco TariniKai HormannPaolo CignoniClaudio Montani

Vielen Dank für Ihre Aufmerksamkeit!Vielen Dank für Ihre Aufmerksamkeit!

Page 60: Marco TariniKai HormannPaolo CignoniClaudio Montani

Computergrafik-Hauptseminar 2005 --- Maik LathanComputergrafik-Hauptseminar 2005 --- Maik Lathan

FragenFragen

?? ??

????

????

??

????

????

????

??

??

??

??

????