380 likes | 514 Views
Postprocessing. Algorithmen für Computerspiele Alexander Martin 19. Juli 2010. Inhaltsverzeichnis. Einführung Definition Postprocessing Überblick - Postprocessing generierte Bildeffekte Einordnung in den Bildsyntheseprozess Deferred Shading Grundlagen
E N D
Postprocessing Algorithmen für Computerspiele Alexander Martin 19. Juli 2010
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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. Algorithmen für Computerspiele - Postprocessing
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. Algorithmen für Computerspiele - Postprocessing
1. Einführung Algorithmen für Computerspiele - Postprocessing
1. Einführung • Einordnung in den Bildsyntheseprozess gesammelte Informationen Postprocessing zBsp. im OpenGL Pixel-Shader Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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 Algorithmen für Computerspiele - Postprocessing
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 anwenden Jedes Pixel beleuchtet/schattiert P 1 2 [Pseudo Code, Deferred Shading Technik] Algorithmen für Computerspiele - Postprocessing
2. Deferred Shading 2 1 P [Architektur, Deferred Shading Technik] [Deferred Shading, Geometrieverarbeitung, Architektur] [Deferred Shading, Beleuchtungsphase, Architektur] Algorithmen für Computerspiele - Postprocessing
2. Deferred Shading Motion Vector Depth Beispiel – Killzone 2 Buffer Buffer Normal Albedo Buffer Buffer Specular Intensity Deferred Composition Buffer Beleuchtung Specular Roughness / Power Target Image with Postprocessing Buffer Fertig Algorithmen für Computerspiele - Postprocessing
2. Deferred Shading [S.T.A.L.K.E.R, GSC Game World, 2007] [Crysis, Crytek, 2008] [Killzone 2, Guerrilla Games, 2009] Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche • Grundlage - Ambient Occlusion Technik • „Umgebungsverdeckung“ - Verschattung • Simuliert globale Beleuchtung • In Engstellen viele diffuse Reflexionen geringere Beleuchtungsstärke • Aufhellung durch Umgebungslicht, Verdunklung durch Objekte in Nähe • Ungeeignet für bewegliche Geometrien Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche • Ambient Occlusion-Funktion: Gewichtung Verdeckungswert Integral über Halbkugel Sichtbarkeitsfunktion Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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 Szenen-Geometrie Tiefenwerte Algorithmen für Computerspiele - Postprocessing
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 P 3D-Szene Algorithmen für Computerspiele - Postprocessing
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 Kernel Abtast-Punkt Pixel Tiefenbild Bildebene Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche • SSAO - Pipeline Tiefenwerte Bildebene (Viewport) Bildebene (Viewport) Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche SSAO - Beispiele [Crytek, CryEngine 3] SSAO - Aus SSAO - Aus SSAO - An SSAO - An [Avalanche Studios, Just Cause 2] Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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) Bildebene P P P Algorithmen für Computerspiele - Postprocessing
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 AO Algorithmen für Computerspiele - Postprocessing
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! [Seurat] [Dali] [Picasso] Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche • Bild-Kontrastverstärkung • Räumliche Abhängigkeiten von Objekten Lokale Begrenzung in der Anwendung (an Konturen) Funktionsweise - Unsharp Masking the Depth Buffer: Verdunkelung Tiefeninformation Verdunkelte Kontur Phong-Shading Algorithmen für Computerspiele - Postprocessing
3. Screen Space Ambient Occlusion & ähnliche Funktionsweise - Unsharp Masking the Depth Buffer: Gewichtung Raum-Wichtigkeit Ableitung der Tiefenfkt. Aus An [Ergebnis] Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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 Circle of Confusion (Zerstreuungskreis) Bildebene Focus-Linse Fokuspunkt Objektebene Brennpunkt Algorithmen für Computerspiele - Postprocessing
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 in Echtzeit als Postprocess Algorithmen für Computerspiele - Postprocessing
4. Fokustiefe und Motion Blur • Depth of Field - Fokustiefe [Just Cause 2] [Crysis] DoF - ON DoF - OFF Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
4. Fokustiefe und Motion Blur • Motion Blur - Bewegungsunschärfe Verfahren: • Geschwindigkeitsbild der Szene notwendig • Depth-Buffer, Viewport-Projektions-Matrix für jedes Frame Pixelpositionen der letzten Frames • Differenz der Frame-Pixelpositionen Geschwindigkeitsbild, Geschwindigkeitsvektor Abtasten und Mitteln von Pixel-Werten in Richtung des Vektors Blur-Effekt Algorithmen für Computerspiele - Postprocessing
4. Fokustiefe und Motion Blur • Motion Blur - Bewegungsunschärfe [GTA 4] [Test Driver Unlimited 2] [Killzone 2] [Speed Forge Extreme] Algorithmen für Computerspiele - Postprocessing
Inhaltsverzeichnis • Einführung • Definition Postprocessing • Überblick - Postprocessing generierte Bildeffekte • Einordnung in den Bildsyntheseprozess • Deferred Shading • Grundlagen • Screen Space Ambient Occlusion & ähnliche Techniken • Grundlage - Ambient Occlusion Technik • Screen Space Ambient Occlusion • ähnliche Techniken • Fokustiefe und Motion Blur • Depth of Field - Fokustiefe • Motion Blur - Bewegungsunschärfe • Fazit Algorithmen für Computerspiele - Postprocessing
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 Algorithmen für Computerspiele - Postprocessing
Fragen Fragen? Algorithmen für Computerspiele - Postprocessing