Non-Photorealistic Rendering

Transcrição

Non-Photorealistic Rendering
Non-Photorealistic Rendering
Inhalt
1.Begriffserklärung
2.Warum NPR?
3.Beispiele
4.Feature Edges
5.Cool to Warm Shading
6.Toon Shading
7.Real Time Hatching
Non-Photorealistic Rendering
“Using a term like 'nonlinear science' is like referring to the
bulk of zoology as 'the study of nonelephant animals.'“
–Stanislaw Ulam
●
●
Erzeugung von Bildern mit erklärt anderem Ziel als
photorealistischer Darstellung
Viele Unterkategorien:
- abstract rendering
- artistic rendering
- comprehensive rendering
Warum NPR?
●
Klarere Informationsvermittlung
●
Zusätzliche Informationen unterbringen
●
Kunststile nachahmen
●
Kunst erschaffen
Painterly Rendering
●
Verschiedene Stilrichtungen möglich:
Impressionismus, Expressionismus, Pointilissmus, etc.
Aaron Hertzmann, 98 [1]
Manga Colorization
●
Identifizieren und kolorieren von Regionen
Tien-Tsin Wong et al. 06 [2]
Scientific Visualization
●
Farbliche Kodierung von Oberflächenkrümmungen
Stefanie Hahmann, 99 [3]
Cut-Away View
●
Blick ins Innere von Objekten durch Ausschneiden von
äußeren Schichten
Wilmot Li et al. 07[4]
Diepstraten et al. 03 [5]
Sketchy Rendering
Nachahmung von Bleistiftzeichnung
●
NPRQuake[6]
Praun et al. 01
[7]
Toon Shading
Comic-artige Darstellung
●
Mitchell et al. 07 [8]
The Legend of Zelda: The Wind Waker [9]
NPR in AR
●
Anwendung von NPR-Verfahren für stärkere
Immersion
Fischer et al. [10]
Feature Edges
●
Silhouettes Boundaries
(Grenzen)
Discontinuities
(Unstetigkeiten)
Feature Edges
●
Definition Silhouettes:
●
Definition Boundaries :
Kante ist nur Bestandteil eines Polygons
Feature Edges
●
Definition Discontinuities:
Winkel < 
-> Ridge
Winkel > 
-> Valley
Feature Edges
●
●
Image Space :
Verfahren untersuchen gerendertes Bild
Object Space :
Verfahren untersuchen Objekt Daten (Polygon Mesh)
Image Space
●
●
●
●
Tiefenpuffer in Textur rendern
Kantendetektion
(Sobel-Operator)
Normalen in Textur rendern
Kantendetektion
(Sobel-Operator)
Green et al. 99 [11]
Image Space
●
Kombination :
Object Space
●
●
●
–
–
Objekt 2 mal ausgeben lassen
Bei einem Objekt Eckpunkte entlang ihrer Normalen
verschieben
Objekt im Hintergrund anzeigen
Probleme:
Bei orthogonalen
Eckpunktnormalen enstehen
Lücken
Objekte verdecken Silhouetten
Cool to Warm Shading
●
Anwendung bei z.B. technischen Illustrationen
●
Gooch et al. 98 [12]
Cool to Warm Shading
Toon Shading
●
●
●
Erzeugt Comic-artige Darstellung
Farbwerte in 1D Textur
gespeichert
Berechnung pro Vertex:
n °

l
Skalarprodukt gibt an welcher
Texel verwendet wird
●
Lake et al. 00[13]
Real Time Hatching
Praun at al. 01[7]
Hatching
●
Schraffur: feine parallele Linien
●
Schatten
●
Form
●
Oberflächenbeschaffenheit
Real Time Hatching
●
Praun et al. Siggraph 2001
●
Object-Space basiertes Verfahren
●
Sammlungen von MipMap Texturen
●
Multitexturing
●
Räumliche und Zeitliche Kohärenz
●
Bleistift, Kohle, Tusche...
Mip Mapping
●
Multum in parvo (vieles in kleinen Teilen)
●
Problem Verkleinerung: mehrere Texel für ein Pixel
●
Qualitätsverlust oder Erhöhung der Rechenzeit
●
Textur in verschiedenen größen gespeichert
Tonal Art Map
●
Einzelne Striche zeichnen ist teuer
●
Alternative: Striche in Texturen rendern
●
MipMaps um Strichbreite konstant zu halten
Praun at al. 01[7]
Praun at al. 01[7]
Tonal Art Maps
●
Alle Striche aus
einem Bild
kommen auch in
allen größeren vor
Praun at al. 01[7]
Tonal Art Maps
●
●
Alle Striche aus
einem Bild
kommen auch in
allen dunkleren
vor Dunkleren
Wenig Artefakte
beim interpolieren
zwischen den
Helligkeitsstufen
Praun at al. 01[7]
Orientierung
●
Schraffur verdeutlicht Form
●
Striche folgen den Krümmungen
●
Richtungsfeld berechnen und glätten.
●
Probleme bei glatten oder
spherischen Flächen
Hertzmann, A., and Zorin, D. Illustrating smooth surfaces
Proceedings of SIGGRAPH 2000, 517–526
Rendern
●
Texturen zur Darstellung detaillierter Materialien
●
Schraffuren zeigen aber auch Beleuchtung
●
Lösung:
●
–
Szene untexturiert Beleuchten (CPU)
–
Farbwerte ermitteln
–
Entsprechende Texturen verwenden
–
Ohne Beleuchtung rendern
Problem: harte Kanten
Praun at al. 01[7]
Rendern
●
Pro Eckpunkt:
–
Nächst hellere und nächst dunklere Texturen finden
–
Texturen interpolieren
Praun at al. 01[7]
Rendern
●
Pro Fläche
–
Texturen der Eckpunkte interpolieren
Praun at al. 01[7]
Beispiele
a) Wenig Striche am Pol der Kugel (MipMap)
b) glatte Helligkeitsübergänge
c) Zusammenspiel von a) und b)
a)
b)
c)
Video
Quellen (Teil1)
[1] Aaron Hertzmann, “Painterly rendering with curved brush strokes of multiple sizes“, Siggraph 98
[2] Tien-Tsin Wong, Yingge Qu, Pheng-Ann Heng, “Manga Colorization, Siggraph 06
[3] Stefanie Hahmann, “Visualization Techniques for surface analysis, Advanced Visualizatoin Techniques, 99
[4] Wilmot Li, Lincoln Ritter, Maneesh Agrawala, Brian Curless, David Salesin, “Interactive Cutaway Illustrations of Complex 3D
Models“, Siggraph 07
[5] J. Diepstraten, D. Weiskopf, T. Ertl, “Transparency in Interactive Technical Illustrations“ in Computer Graphics Forum 22, 03
[6] NPRQuake http://www.cs.wisc.edu/graphics/Gallery/NPRQuake
[7] Praun, E., Hoppe, H., Webb, M., and Finkelstein, A. “Real-Time Hatching“ In Proc. of SIGGRAPH 2001, 581--586.
[8] Jason Mitchell, Moby Francke, Dhabih Eng, “Illustrative rendering in Team Fortress 2“, NPAR 07
[9] The Legend of Zelda: The Wind Waker, Nintendo
[10] J. Fischer, D. Bartz, W. Straßer, Stylized Augmented Reality for Improved Immersion, Proceedings of IEEE Virtual Reality (VR)
[11] S. Green, D. Salesin, S. Schofield, A. Hertzmann, P. Litwinowicz, A. Gooch, C. Curtis, B. Gooch, Non-Photorealistic Rendering,
Siggraph 99
[12] Amy Gooch, Bruce Gooch, Peter Shirley, Elaine Cohen, “A non-photorealistic lightning model for automatic technical illustration“
Siggraph 98
[13] A. Lake, C. Marshall, M. Harris, M. Blackstein “Stylized rendering techniques for scalable real-time 3D animation“
Cover from: Jon Farrel, http://qualitytrash.blogspot.com/2007/09/non-photorealistic-rendering-tests.html

Documentos relacionados