Schattenwurf mit Perspective Shadow Maps

Ähnliche Dokumente
Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Advanced Computer Graphics Erweiterung zur 6. Übung

Kapitel 4: Schattenberechnung

Shader. Computer Graphics: Shader

Projektion. Ebene geometrische Projektionen

Rendering: Lighting and Shading

3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

Shadowing. Vortrag im Rahmen des PIXAR-Seminars, Juli Philipp Freyer

OpenGL und die Fixed-Function-Pipeline

3.6 Schattenberechnung

VHDL - Grundlagen des Pointrenderings

Computergrafik 1 Beleuchtung

Bildbearbeitung und Texturierung

Graphische Datenverarbeitung und Bildverarbeitung

Beleuchtung. in Computerspielen

Lokale Beleuchtungsmodelle

Koordinatensysteme und Clipping

Kapitel 2: Mathematische Grundlagen

Mathematische Grundlagen

2.3.1 Rechtshändiges und linkshändiges Koordinatensystem

Affine Koordinatentransformationen

Perspektive Shadow Maps

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

51 Numerische Berechnung von Eigenwerten und Eigenvektoren

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Lösungen zur Geometrischen Optik Martina Stadlmeier f =

Softwareprojekt Spieleentwicklung

Speziell-Relativistischer (Flug-) Simulator

Computer Graphik (CS231) Projektübungsblatt 3

Lineare Algebra. Inhalt. Hauptbestandteil der Vorlesung Mathematik 2 Literatur: Teschl/Teschl, Band 1, Kap. 9-14

7.6. Prüfungsaufgaben zu Normalenformen

Das Wichtigste auf einen Blick

Aufgabenskript. Lineare Algebra

Computergrafik Universität Osnabrück, Henning Wenke,

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Transformationen im 3D-Raum

Christina Nell. 3D-Computergrafik

Übung: Computergrafik 1

Seminar 3-D Grafik Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen. Hermann Schwarz Marko Pilop

3D-Sicht, Projektionen

Vorlesung Mathematik 2 für Informatik

Computergrafik 1 Übung

Computer Graphics Shader

Beleuchtungsmodelle und Shading

14 MATHEMATISCHE GRUNDLAGEN DER COMPUTERGEOMETRIE. x y

Rechnergestütztes Konstruieren im Metallbau und Holzbau. Rechnergestütztes Konstruieren im Metallbau und Holzbau Dr.-Ing. Hans-Walter Haller

3D-Darstellungen mit Maxima

Die Welt der Shader. Fortgeschrittene Techniken III

Entwicklung einer Programmbibliothek zur Simulation von Hautdeformation durch Knochen und Muskeln

geschlossene Schachtel mit einem kleinen Loch

Bildregistrierung in der Medizin. Fethi KAYA - Yusuf ÖZBEK

Abitur 2011 G8 Abitur Mathematik Geometrie VI

1 Fraktale Eigenschaften der Koch-Kurve

Computergrafik Sommersemester 2004 Übungen

Viewing Pipeline. Kapitel Die synthetische Kamera

7 Blender Intern Renderer

4. Kapitel 3D Engine Geometry

entspricht der Länge des Vektorpfeils. Im R 2 : x =

Echtzeit Videoverarbeitung

Was ist Robotik? Robotik heute:

Abitur 2010 Mathematik LK Geometrie V

Transformation Allgemeines Die Lage eines Punktes kann durch einen Ortsvektor (ausgehend vom Ursprung des Koordinatensystems

Mathematics for 3D Game Programming & Computer Graphics. 10. Shadows. Sonja Barth & Martin Siebenborn. Proseminar Numerik

3 Koordinatentransformationen

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Lösungsvorschlag zum zweiten Übungsblatt

Repräsentation und Transformation von geometrischen Objekten

Übungsblatt 1 Geometrische und Technische Optik WS 2012/2013

Aufgabenskript. Lineare Algebra

1.2 Dateiformate. max. 1,5 MB / Sekunde o Bild Sequenzen für alle in Schleife abzuspielenden Videos: BMP, PNG, JPG. bis zu 1.

Kommt ein Vektor zur Drogenberatung: "Hilfe ich bin linear abhängig."

Morphing. von Tim Sternberg. Im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder

Kreis - Tangente. 2. Vorbemerkung: Satz des Thales Eine Möglichkeit zur Bestimmung der Tangente benutzt den Satz des Thales.

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

Ambient Occlusion Precomputed Radiance Transfer

Legt man die vom Betrachter aus gesehen vor den, wird die spätere Konstruktion kleiner als die Risse. Legt man die hinter das Objekt, wird die perspek

Oktaeder. Bernhard Möller. 22. Dezember 2010

Entwicklung einer robusten Methode zur Berechnung von Stereokorrespondenzen

Überblick Echtzeit-Rendering. Uwe Domaratius

Transkript:

16. April 2010

Xpiriax Software Wer wir sind und was wir machen Hobby-Entwicklerteam, zur Zeit 6 Personen gegründet Anfang 2008 Schwerpunkte: Spiele- & 3D-Engine-Programmierung Ziele: Erfahrung, Arbeitsproben, eigene Firma www.xpiriax.de

Übersicht Einführung und Motivation Computergrak-Grundlagen, Teil 1 Shadow Maps Computergrak-Grundlagen, Teil 2 Perspective Shadow Maps

Einführung und Motivation Einführung und Motivation

Einführung und Motivation Schatten sind ein wichtiges visuelles Gestaltungselement in der Computergrak sie erleichtern es dem Betrachter, Aussagen über die Lage von Objekten in einer Szene in Bezug auf Tiefeninformationen und Abstand zu anderen Objekten zu machen

Einführung und Motivation sie heben die Richtung der Beleuchtung hervor die Szene gewinnt stark an Realismus Markus Kle mann, Xpiriax Software

Einführung und Motivation Warum Shadow Maps? sehr einfach zu verstehen schnell zu implementieren zahlreiche Erweiterungsmöglichkeiten, um die Qualität signikant zu verbessern (z.b. Perspective Shadow Maps)

Computergrak-Grundlagen, Teil 1 Computergrak-Grundlagen, Teil 1: Die Transformationspipeline

Computergrak-Grundlagen, Teil 1 Die Transformationspipeline bevor ein 3D-Objekt auf dem Bildschirm angezeigt werden kann, durchläuft es eine Reihe an Transformationen Überführung der Eckpunkte (Vertices) von einem Raum in einen anderen Transformationen werden i.d.r. durch die Multiplikation mit 4 4-Matrizen realisiert

Computergrak-Grundlagen, Teil 1 Transformationsmatrizen - Beispiel: Translation Beispiel: Die Matrix T := 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 verschiebt den Punkt v := (x, y, z, 1) T : T v = 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 x y z 1 = x + t x y + t y z + t z 1

Computergrak-Grundlagen, Teil 1 Sichttransformation: Weltraum Kameraraum

Computergrak-Grundlagen, Teil 1 Perspektivische Transformation: Kameraraum Post-perspektivischer Raum

Computergrak-Grundlagen, Teil 1 Bildraumtransformation: Post-perspektivischer Raum Bildraum

Computergrak-Grundlagen, Teil 1 Sichttransformation Die View Matrix M view überführt den Punkt v = (x, y, z, 1) T aus dem Weltraum in den Kameraraum: M view v Durch Ändern der View Matrix kann man die Szene aus einem anderen Blickwinkel rendern (z.b. aus Sicht einer Lichtquelle).

Shadow Mapping Shadow Mapping

Shadow Mapping Überblick Von Lance Williams im Jahre 1978 vorgeschlagenes Verfahren zur Berechnung von Echtzeit-Schatten. Das Verfahren besteht aus 2 Schritten: Schritt 1: Erzeugung der Shadow Map (Datenstruktur, die Tiefeninformationen aus Sicht der Lichtquelle speichert) Schritt 2: Überprüfung der Beleuchtung für jeden Punkt anhand seines Abstands zur Lichtquelle

Shadow Mapping Schritt 1: Erstellung der Shadow Map Szene wird aus der Sicht der Lichtquelle in die Shadow Map gerendered

Shadow Mapping Schritt 1: Erstellung der Shadow Map Szene wird aus der Sicht der Lichtquelle in die Shadow Map gerendered Tiefeninformationen werden als Grauwerte zwischen 0 und 1 gespeichert: 0 = geringer Abstand zur Lichtquelle, 1 = groÿer Abstand zur Lichtquelle

Shadow Mapping Schritt 1: Erstellung der Shadow Map Szene wird aus der Sicht der Lichtquelle in die Shadow Map gerendered Tiefeninformationen werden als Grauwerte zwischen 0 und 1 gespeichert: 0 = geringer Abstand zur Lichtquelle, 1 = groÿer Abstand zur Lichtquelle fertige Shadow Map enthält in jedem Pixel den geringsten Abstand bis zum ersten sichtbaren Objekt

Shadow Mapping Schritt 1: Erstellung der Shadow Map

Shadow Mapping Schritt 2: Berechnung der Schatten Szene wird aus der Sicht der Kamera auf den Bildschirm gerendered

Shadow Mapping Schritt 2: Berechnung der Schatten Szene wird aus der Sicht der Kamera auf den Bildschirm gerendered für jeden Bildpunkt: Ermitteln der x- und y-position in der Shadow Map (Sampling Position)

Shadow Mapping Schritt 2: Berechnung der Schatten Szene wird aus der Sicht der Kamera auf den Bildschirm gerendered für jeden Bildpunkt: Ermitteln der x- und y-position in der Shadow Map (Sampling Position) Abstand d des Punktes von der Lichtquelle berechnen

Shadow Mapping Schritt 2: Berechnung der Schatten Szene wird aus der Sicht der Kamera auf den Bildschirm gerendered für jeden Bildpunkt: Ermitteln der x- und y-position in der Shadow Map (Sampling Position) Abstand d des Punktes von der Lichtquelle berechnen Vergleich von d mit dem in der Shadow Map gespeicherten Wert an der Sampling Position

Shadow Mapping Schritt 2: Berechnung der Schatten Szene wird aus der Sicht der Kamera auf den Bildschirm gerendered für jeden Bildpunkt: Ermitteln der x- und y-position in der Shadow Map (Sampling Position) Abstand d des Punktes von der Lichtquelle berechnen Vergleich von d mit dem in der Shadow Map gespeicherten Wert an der Sampling Position Falls d gröÿer ist, liegt ein anderes Objekt (aus Sicht der Lichtquelle) davor und der Punkt wird nicht beleuchtet

Shadow Mapping So funktioniert Shadow Mapping

Shadow Mapping Beispiel

Shadow Mapping Vorteile einfach zu verstehen und zu implementieren im Vergleich zu anderen Schattenwurfalgorithmen nur wenige Berechnungen (insbesondere keine geometrischen Berechnungen wie z.b. Bounding Volumes) fast überall einsetzbar, da von allen modernen Grakkarten unterstützt robuste Implementierung ohne Sonderfälle

Shadow Mapping Nachteile Qualität der Schatten hängt stark von der Gröÿe der Shadow Map ab hoher Speicherverbrauch bei groÿen und / oder vielen Shadow Maps ungeeignet für omni-direktionale Lichtquellen perspektivisches Aliasing

Shadow Mapping Problem: Perspektivisches Aliasing

Shadow Mapping Problem: Perspektivisches Aliasing

Shadow Mapping Problem: Perspektivisches Aliasing x d s r s cos α und x dr i cos β

Shadow Mapping Problem: Perspektivisches Aliasing x d s r s cos α und x dr i cos β d x r i cos β d s r s cos α r i cos β

Shadow Mapping Problem: Perspektivisches Aliasing r Perspektivisches Aliasing entsteht, wenn d d s cos α s r i cos β > d i (d.h. wenn mehrere Pixel im Bild den gleichen Pixel in der Shadow Map überdecken). Das passiert in der Regel, wenn:

Shadow Mapping Problem: Perspektivisches Aliasing r Perspektivisches Aliasing entsteht, wenn d d s cos α s r i cos β > d i (d.h. wenn mehrere Pixel im Bild den gleichen Pixel in der Shadow Map überdecken). Das passiert in der Regel, wenn: r s (Abstand zur Lichtquelle) besonders groÿ wird

Shadow Mapping Problem: Perspektivisches Aliasing r Perspektivisches Aliasing entsteht, wenn d d s cos α s r i cos β > d i (d.h. wenn mehrere Pixel im Bild den gleichen Pixel in der Shadow Map überdecken). Das passiert in der Regel, wenn: r s r i (Abstand zur Lichtquelle) besonders groÿ wird (Abstand zum Betrachter) besonders klein wird

Shadow Mapping Problem: Perspektivisches Aliasing Lösungsansatz: Für direktionale Lichtquellen (Lichtquelle im Unendlichen und Lichtstrahlen verlaufen parallel), ist d unabhängig von r s, hängt also nur noch von ds ab. r i

Shadow Mapping Problem: Perspektivisches Aliasing Für eine orthogonale Ansicht (Betrachter im Unendlichen und Projektionsstrahlen verlaufen parallel), ist d unabhängig von r i, hängt also nur noch von d s r s ab.

Shadow Mapping Problem: Perspektivisches Aliasing Für eine orthogonale Ansicht (Betrachter im Unendlichen und Projektionsstrahlen verlaufen parallel), ist d unabhängig von r i, hängt also nur noch von d s r s ab. Dieser Zustand (direktionale Lichtquelle + orthogonale Ansicht) kann mit Perspective Shadow Maps realisiert werden!

Computergrak-Grundlagen, Teil 2 Computergrak-Grundlagen, Teil 2: Die perspektivische Transformation

Computergrak-Grundlagen, Teil 2 Perspektivische Transformation Überführt die Punkte in zwei Schritten aus dem Kameraraum in den post-perspektivischen Raum (Post Perspective Space, kurz: PPS):

Computergrak-Grundlagen, Teil 2 Perspektivische Transformation Überführt die Punkte in zwei Schritten aus dem Kameraraum in den post-perspektivischen Raum (Post Perspective Space, kurz: PPS):

Computergrak-Grundlagen, Teil 2 Die Sichtpyramide (View Frustum)

Computergrak-Grundlagen, Teil 2 Der post-perspektivische Raum Die Sichtpyramide wird in einen Einheitswürfel transformiert: Im PPS liegen die x-, y- und z-koordinaten zwischen 1 und 1 (Normalized Device Coordinates).

Computergrak-Grundlagen, Teil 2 Zusammenhang zwischen Kameraraum und post-perspektivischem Raum

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Punkte mit z = n (Near Plane) werden auf die Ebene bei 1 abgebildet

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Punkte mit z = f (Far Plane) werden auf die Ebene bei 1 abgebildet

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Unendlich ferne Punkte werden auf die Unendlichkeitsebene z abgebildet (Grenzwertbetrachtung für z und z )

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Punkte mit z > 0 (Punkte hinter dem Beobachter) werden auf Punkte hinter der Unendlichkeitsebene z abgebildet und durch die perspektivische Teilung invertiert...

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Projektionsstrahlen verlaufen im post-perspektivischen Raum parallel:

Computergrak-Grundlagen, Teil 2 Auswirkungen der perspektivischen Transformation Objekte werden perspektivisch verzerrt:

Perspective Shadow Mapping Perspective Shadow Mapping

Perspective Shadow Mapping Übersicht Von Marc Stamminger und George Drettakis vorgeschlagene Lösung für das beim konventionellen Shadow Mapping auftretende perspektivische Aliasing: bauen auf den konventionellen Shadow Maps auf anstatt die Shadow Map im Weltraum zu generieren, wird diese im post-perspektivischen Raum erzeugt Verringerung von Aliasing-Eekten und Erhöhung der Schatten-Qualität

Perspective Shadow Mapping Grundidee im post-perspektivischen Raum sind Objekte, die sich näher an der Kamera benden, gröÿer als weiter entfernte Objekte

Perspective Shadow Mapping Grundidee im post-perspektivischen Raum sind Objekte, die sich näher an der Kamera benden, gröÿer als weiter entfernte Objekte Szene vor Erzeugung der Shadow Map in den post-perspektivischen Raum überführen Objekte werden perspektivisch verzerrt, nahe Objekte erscheinen gröÿer

Perspective Shadow Mapping Grundidee im post-perspektivischen Raum sind Objekte, die sich näher an der Kamera benden, gröÿer als weiter entfernte Objekte Szene vor Erzeugung der Shadow Map in den post-perspektivischen Raum überführen Objekte werden perspektivisch verzerrt, nahe Objekte erscheinen gröÿer Objekte mit geringer Entfernung zur Kamera nehmen einen entsprechend gröÿeren Bereich in der Shadow Map ein

Perspective Shadow Mapping Grundidee im post-perspektivischen Raum sind Objekte, die sich näher an der Kamera benden, gröÿer als weiter entfernte Objekte Szene vor Erzeugung der Shadow Map in den post-perspektivischen Raum überführen Objekte werden perspektivisch verzerrt, nahe Objekte erscheinen gröÿer Objekte mit geringer Entfernung zur Kamera nehmen einen entsprechend gröÿeren Bereich in der Shadow Map ein Grundannahme: nahe Schatten stammen von nahen Objekten und ferne Schatten von fernen Objekten nahe Schatten erhalten eine entsprechend bessere Auösung in der Shadow Map

Perspective Shadow Mapping Shadow Maps vs. Perspective Shadow Maps links: konventionelle Shadow Map rechts: das gleiche Bild mit einer Perspective Shadow Map der gleichen Gröÿe

Perspective Shadow Mapping Der Algorithmus verläuft analog zum konventionellen Shadow Mapping einzige Änderung: bevor die Szene aus der Sicht der Lichtquelle gerendered wird, wird sie zuerst in den post-perspektivischen Raum der Kamera überführt

Perspective Shadow Mapping Schritt 1: Erstellung der Perspective Shadow Map Eckpunkte in den post-perspektivischen Raum der Kamera überführen post-perspektivische Szene aus der Sicht der Lichtquelle in die Shadow Map rendern

Perspective Shadow Mapping Schritt 2: Berechnung der Schatten Szene aus der Sicht der Kamera auf den Bildschirm rendern zum Ermitteln der Shadow Map Sampling Position den Punkt zunächst in den post-perspektivischen Raum der Kamera überführen der Rest verläuft vollständig analog zum konventionellen Verfahren

Perspective Shadow Mapping Implementierung Bei der Implementierung zu beachten: Da wir im post-perspektivischen Raum arbeiten, muss auch die Lichtquelle zunächst in diesen Raum überführt werden. Es treten einige Sonderfälle auf, z.b. schattenwerfende Objekte auÿerhalb des View Frustums.

Perspective Shadow Mapping direktionale Lichtquellen im post-perspektivischen Raum

Perspective Shadow Mapping Punktlichter im post-perspektivischen Raum

Perspective Shadow Mapping schattenwerfende Objekte auÿerhalb des Frustums Problem: Punkte hinter der Kamera werden invertiert!

Perspective Shadow Mapping schattenwerfende Objekte auÿerhalb des Frustums Lösung: Denition einer virtuellen Kamera.

Perspective Shadow Mapping Bewertung Reduzierung des perspektivischen Aliasings durch Verwendung von Perspective Shadow Maps:

Perspective Shadow Mapping Bewertung Reduzierung des perspektivischen Aliasings durch Verwendung von Perspective Shadow Maps: Aliasing durch r i (Entfernung zum Auge) wird vollständig entfernt, da wir im post-perspektivischen Raum der Kamera arbeiten und dort die Projektionsstrahlen parallel verlaufen.

Perspective Shadow Mapping Bewertung Reduzierung des perspektivischen Aliasings durch Verwendung von Perspective Shadow Maps: Aliasing durch r i (Entfernung zum Auge) wird vollständig entfernt, da wir im post-perspektivischen Raum der Kamera arbeiten und dort die Projektionsstrahlen parallel verlaufen. Wenn es sich bei der transformierten Lichtquelle um ein Directional Light handelt, wird ebenfalls das durch die Entfernung zur Lichtquelle r s verursachte Aliasing entfernt.

Schlussbetrachtung Shadow Maps vs. Perspective Shadow Maps konventionelle Shadow Maps sehr einfache Implementierung ohne Sonderfälle gut geeignet für Innenräume und Lichtquellen mit einer sehr begrenzten Reichweite ungeeignet für groÿe Auÿenbereiche mit weit entfernten Lichtquellen perspektivisches Aliasing Implementierungsaufwand (inkl. Research): ca. 3 MT

Schlussbetrachtung Shadow Maps vs. Perspective Shadow Maps Perspective Shadow Maps Beseitigung bzw. Minderung des perspektivischen Aliasings gute bis sehr gute Schattenqualität gut geeignet sowohl für Innen- als auch für Auÿenbereiche einige Sonderfälle in 3D-Echtzeitanwendungen, da der Beobachter keine feste Position besitzt und die Lichtquellen sich praktisch überall benden können aufwändige und fehleranfällige Implementierung Implementierungsaufwand (inkl. Research): ca. 30 MT

Perspective Shadow Mapping Vielen Dank für die Aufmerksamkeit!