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