Upload
wenzeslaus-heier
View
103
Download
1
Embed Size (px)
Citation preview
Algorithmen für Computerspiele
Alexander Martin19. Juli 2010
Postprocessing
Algorithmen für Computerspiele - Postprocessing 2
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 3
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 4
1. Einführung
• Definition Postprocessing
• In der allgemeinen Datenverarbeitung:
Der Begriff Postprocessing bezeichnet die Nachbearbeitung und Aufbereitung von Ergebnissen einer Computersimulation.
• Im Bildsynthese-Prozess:
Der Begriff Postprocessing bezeichnet die Nachbearbeitung und Aufbereitung von gerenderten Bildern durch zusätzliche Bildberechnungen.
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 5
1. Einführung
• Überblick - Postprocessing generierte Bildeffekte
• Schatten - Deferred Shading, Screen Space Ambient Occlusion
• Kantenglättung - Anti-Aliasing
• Fokustiefe - Depth of Field, Sharpen-Filter, Unsharp-Filter
• Bewegungsunschärfe - Motion Blur
• Helligkeitsunterschiede - High Dynamic Range, Bloom Lighting
• Blendenflecke oder Linsenreflexionen - Lens Flares
• Lichtstreuung - Volumetric Light Scattering
• Kunsteffekte - Cel-Shading-Comic-Look, Schraffureffekte,…
• uvm.
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 6
1. Einführung
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 7
1. Einführung
• Einordnung in den Bildsyntheseprozess
19. Juli 2010
Postprocessing
gesammelte Informationen
zBsp. im OpenGL Pixel-Shader
Algorithmen für Computerspiele - Postprocessing 8
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 9
2. Deferred Shading
• Grundlagen
• Bisherige Probleme in der Licht- und Schattenberechnung- Aufwändig bei vielen Objekten, Lichtquellen- Für jede Lichtquelle wird jedes Objekt gezeichnet- Rendercall Worst-Case O(nO*nL)
• Idee ist Deferred Shading – „verzögertes Schattieren“- Trennung Geometrieverarbeitung, Lichtberechnung- Komplexe Szenen, viele Lichtquellen möglich- kein Aufwand für verdeckte Flächen- Rendercall Worst-Case O(nO+nL)
- Kein Hardware Anti-Aliasing- Keine Transparente Objekte
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 10
2. Deferred Shading
• Deferred Shading – grobes Prinzip – 2 Phasen +Bildraum-Pixel-Daten (3D-Position, Normale, etc.) sammeln Texturen in Mutliple Render Targets (G-Buffer,…)
Beleuchtungsberechnung der Szene mit Buffer-Daten- Globale Beleuchtung – bildschirmfüllendes Quadrat als Lichtquelle- Lokale Beleuchtung – Lokale Lichtquellen mit Lichtvolumen
Beleuchtungsmethode anwendenJedes Pixel beleuchtet/schattiert
19. Juli 2010
P
[Pseudo Code, Deferred Shading Technik]
1
2
Algorithmen für Computerspiele - Postprocessing 11
2. Deferred Shading
19. Juli 2010
[Deferred Shading, Geometrieverarbeitung, Architektur] [Deferred Shading, Beleuchtungsphase, Architektur]
1 2 P
[Architektur, Deferred Shading Technik]
Algorithmen für Computerspiele - Postprocessing 12
2. Deferred Shading
19. Juli 2010
Depth
Normal
Specular Intensity
Specular Roughness / Power
Motion Vector
Deferred Composition
Target Image with Postprocessing
Albedo
Fertig
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Beleuchtung
Beispiel – Killzone 2
Algorithmen für Computerspiele - Postprocessing 13
2. Deferred Shading
19. Juli 2010
[S.T.A.L.K.E.R, GSC Game World, 2007]
[Crysis, Crytek, 2008]
[Killzone 2, Guerrilla Games, 2009]
Algorithmen für Computerspiele - Postprocessing 14
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 15
3. Screen Space Ambient Occlusion & ähnliche
• Grundlage - Ambient Occlusion Technik• „Umgebungsverdeckung“ - Verschattung• Simuliert globale Beleuchtung
• In Engstellen viele diffuse Reflexionengeringere Beleuchtungsstärke
• Aufhellung durch Umgebungslicht, Verdunklung durch Objekte in Nähe
• Ungeeignet für bewegliche Geometrien
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 16
3. Screen Space Ambient Occlusion & ähnliche
• Ambient Occlusion-Funktion:
19. Juli 2010
SichtbarkeitsfunktionIntegral über Halbkugel
GewichtungVerdeckungswert
Algorithmen für Computerspiele - Postprocessing 17
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 18
3. Screen Space Ambient Occlusion & ähnliche
• Screen Space Ambient Occlusion – SSAO• „Ambient Occlusion“ in Echtzeit - Crytek 2007
• Lichtstrahlenverfolgung nicht im 3D-ObjektRaum• Berechnung im 2D-Bildraum mit Tiefen-Bild, Kernel
• Depth-Buffer als Approximation der Szenen
19. Juli 2010
Szenen-Geometrie
Tiefenwerte
Algorithmen für Computerspiele - Postprocessing 19
3. Screen Space Ambient Occlusion & ähnliche
• Funktionsweise – SSAO• Ziel: Verdeckungswert jedes Pixels im Bild Occlusion-Buffer
• Ideales Verfahren→ In Szene um P eine Kugel mit Radius r legen→ Über die Kugel integrieren, wie AO→ Volumen bestimmen, geschnitten mit der Szene→ Volumen approximieren zur Umgebungsverdeckung in P
• Ideales Vorgehen viel zu aufwändig
19. Juli 2010
P3D-Szene
Algorithmen für Computerspiele - Postprocessing 20
3. Screen Space Ambient Occlusion & ähnliche
• Funktionsweise – SSAO• Annäherung - Depth-Buffer und Abtast-Kernel
→ Pixel in Bildebene wählen Punkt in Objektebene→ Kugel um Pixel, Abtast-Punkte auf Kugeloberfläche (Kernel) → Jeder Abtast-Punkt hat eine errechnete Tiefe (Kernel)→ Vergleich mit Tiefenbild der Szene
→ Abtast-Punkte überdeckt oder nicht→ Verdeckungswert für Pixel anhand Verhältnis Überdeckungen
19. Juli 2010
Kernel
Pixel
Abtast-Punkt
Bildebene Tiefenbild
Algorithmen für Computerspiele - Postprocessing 21
3. Screen Space Ambient Occlusion & ähnliche
• SSAO - Pipeline
19. Juli 2010
Bildebene(Viewport)
Tiefenwerte
Bildebene(Viewport)
Algorithmen für Computerspiele - Postprocessing 22
3. Screen Space Ambient Occlusion & ähnliche
19. Juli 2010
[Crytek, CryEngine 3]
[Avalanche Studios, Just Cause 2]
SSAO - Beispiele
SSAO - AnSSAO - Aus
SSAO - Aus
SSAO - An
Algorithmen für Computerspiele - Postprocessing 23
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 24
Bildebene
P P
3. Screen Space Ambient Occlusion & ähnliche
• ähnliche Techniken• Hardwarebeschleunigtes AO – 2 Phasen (Shanmugamand, Arikan. 2007)
• 1. Phase - Image Space Ansatz (für hohe Detaildichte) Depth-Buffer benutzt Nachbarpunkte von P als „Verdeckungs“-Kugeln
→ Jeweils approximierter Verdeckungswert→ Abhängig von Position und Entfernung der Kugel zu P→ Verdeckungswerte auf Pixel der Bildebene projiziert → Verschattung von Pixel anhand Nachbar-Pixel-Werte (Kernel)
19. Juli 2010
P
Algorithmen für Computerspiele - Postprocessing 25
3. Screen Space Ambient Occlusion & ähnliche
• 2. Phase - Distant-Occluder Ansatz (für niedrige Detaildichte) Approximation der Szene in Kugeln Kugeln in Bildebene als Flächen Ambient Occlusion auf Flächen Verdeckungswerte auf Szene übertragen
19. Juli 2010
AO
Algorithmen für Computerspiele - Postprocessing 26
3. Screen Space Ambient Occlusion & ähnliche
• ähnliche Techniken• Image Enhancement by Unsharp Masking the Depth Buffer (Luft, 2006)
Angelehnt an Kunsttechnischen Effekt Schattenwurf/Aufhellung an Objektgrenzen
Tiefenwahrnehmung simuliert „Idee“ von Ambient Occlusion!
19. Juli 2010
[Dali] [Picasso] [Seurat]
Algorithmen für Computerspiele - Postprocessing 27
3. Screen Space Ambient Occlusion & ähnliche
• Bild-Kontrastverstärkung• Räumliche Abhängigkeiten von Objekten
Lokale Begrenzung in der Anwendung (an Konturen)
19. Juli 2010
Phong-ShadingTiefeninformation Verdunkelte Kontur
Funktionsweise - Unsharp Masking the Depth Buffer:
Verdunkelung
Algorithmen für Computerspiele - Postprocessing 28
3. Screen Space Ambient Occlusion & ähnliche
19. Juli 2010
Raum-Wichtigkeit Gewichtung
Funktionsweise - Unsharp Masking the Depth Buffer:
[Ergebnis]
Ableitungder Tiefenfkt.
AnAus
Algorithmen für Computerspiele - Postprocessing 29
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 30
4. Fokustiefe und Motion Blur
• Depth of Field - Fokustiefe
• Optische-Grundlagen der Schärfedefinition (Schärfentiefe etc.)• Circle of Confusion (CoC), der Zerstreuungskreis• Fokusebene• Objektebene• Linse
19. Juli 2010
BildebeneFocus-Linse
Circle of Confusion(Zerstreuungskreis)
FokuspunktObjektebeneBrennpunkt
Algorithmen für Computerspiele - Postprocessing 31
4. Fokustiefe und Motion Blur
• Depth of Field - Fokustiefe
• 5 Arten von DoF-Techniken:
Diffuses Raytracing über Fokus-Linse Accumualations-Puffer Techniken Layer-Basierte Techniken
Forward-Mapped Z-Buffer Techniken (Sprites Blending)- Punkte nicht in Fokusebene- Pixel unscharf (über Pixel-Tiefe)
Unschärfe-Bereich in Frame-Buffer schreiben
Reverse-Mapped Z-Buffer Techniken (Texture-Mapping)- Pixel-Unschärfe anhand Tiefen-Buffer-Differenz
19. Juli 2010
in Echtzeit
alsPostprocess
Algorithmen für Computerspiele - Postprocessing 32
4. Fokustiefe und Motion Blur
• Depth of Field - Fokustiefe
19. Juli 2010
DoF - ON
DoF - OFF
[Just Cause 2]
[Crysis]
Algorithmen für Computerspiele - Postprocessing 33
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 34
4. Fokustiefe und Motion Blur
• Motion Blur - Bewegungsunschärfe
Verfahren:
• Geschwindigkeitsbild der Szene notwendig
• Depth-Buffer, Viewport-Projektions-Matrix für jedes FramePixelpositionen der letzten Frames
• Differenz der Frame-PixelpositionenGeschwindigkeitsbild, GeschwindigkeitsvektorAbtasten und Mitteln von Pixel-Werten in Richtung des Vektors
Blur-Effekt
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 35
4. Fokustiefe und Motion Blur
• Motion Blur - Bewegungsunschärfe
19. Juli 2010
[Test Driver Unlimited 2]
[Speed Forge Extreme]
[Killzone 2]
[GTA 4]
Algorithmen für Computerspiele - Postprocessing 36
Inhaltsverzeichnis
1. Einführung• Definition Postprocessing• Überblick - Postprocessing generierte Bildeffekte• Einordnung in den Bildsyntheseprozess
2. Deferred Shading• Grundlagen
3. Screen Space Ambient Occlusion & ähnliche Techniken• Grundlage - Ambient Occlusion Technik• Screen Space Ambient Occlusion• ähnliche Techniken
4. Fokustiefe und Motion Blur• Depth of Field - Fokustiefe• Motion Blur - Bewegungsunschärfe
5. Fazit
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 37
5. Fazit
Zukünftige Entwicklung:
• Echtzeit-Berechnung von Effekten
• Auf Kosten physikalischer Korrektheit
• Postprocessing übernimmt mehr Aufgaben
• Neue Effekte können realisiert werden
• Bestehende Effekte können verlagert werden
• Entlastung der restlichen Grafik-Pipeline
19. Juli 2010
Algorithmen für Computerspiele - Postprocessing 38
Fragen
Fragen?
19. Juli 2010