Fakultät für Informatik

Ähnliche Dokumente
1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Terrain-Rendering mit Geometry Clipmaps

Rendering Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Texture Based Direct Volume Rendering

Rendering: Lighting & Shading

Überblick Echtzeit-Rendering. Uwe Domaratius

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Non-Photorealistic Rendering

OpenGL. (Open Graphic Library)

Christina Nell 3D-Computergrafik Seminararbeit im Hauptseminar Grafikprogrammierung. Universität Ulm Sommersemester 2008

MF Breadcrumbs. Sergej Schefer & Fabian Marx

Zeichnen von Graphen. graph drawing

Photon Mapping. Proseminar How to make a P I X A R movie. Inhaltsverzeichnis. Andreas Schmidt 2011

computer graphics & visualization

Im Original veränderbare Word-Dateien

Stereoskopisches 3D Gaming

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany

8 Cycles. ein GUI-basierter Ansatz wie bei den Blender-Intern-Materialien.

NÜTZLICHE TIPPS FÜR OPTIMALE SCANS

Digitale Bildverarbeitung Einheit 12 3D-Rekonstruktion

Billboard Clouds for Extreme Model Simplification

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, Kore Nordmann

Graphische Datenverarbeitung und Bildverarbeitung

Teil III. Grundlagen der Computergrafik

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering

Datensicherung. Beschreibung der Datensicherung

Arbeitsablauf (workflow) für digitale Fotos

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum

Computer Graphik II Tesselierung impliziter Kurven und Flächen

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework

Linear Workflow. Linear Workflow. Version

Seminar Game Development Game Computer Graphics. Einleitung

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

Cutout - Dokumentation Plug-In zur Erstellung von Bastelbögen

Grundlagen der Spieleprogrammierung

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann

Parallele und funktionale Programmierung Wintersemester 2013/ Übung Abgabe bis , 16:00 Uhr

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern

RTT DeltaGen Suite. Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination. Copyright 2010 by Realtime Technology AG

THREEDEE Visual FX, Echtzeit 3D-Applikation & Virtual Reality

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

Institut für Informatik Visual Computing SE Computational Photography

Programmiertechnik II

Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian. Dauer: 30 min jeweils. Note: 1.

Optimierung eines neuen Logarithmic-Search-Verfahrens zum Image Mosaicing unter Einsatz des CUDA-Frameworks

Super-Resolution. Irena Kpogbezan & Moritz Brettschneider. Seminar Computational Photography

Fachgruppe Elektronik und EDV im BVS Frühjahrstagung 2004, Alte Leipziger Versicherung AG, Oberursel

Telezentrische Meßtechnik

hand-out perspektive photoshop

Hochschule Bremen

Projekt: 2- und 3-dimensionales Darstellen Thema:»AeroShow«

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Photorealistische Echtzeit-Visualisierung geovirtueller Umgebungen

Seite Seite 2

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

EDV-Anwendungen im Archivwesen II

GPU-basiertes Volumenrendering von multimodalen medizinischen Bilddaten in Echtzeit

5.4 Klassen und Objekte

Computer Graphik (CS231) - Installation der Software

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Die allerwichtigsten Raid Systeme

Funktionsschaltflächen Einstellungen. Einstellungen

Rendering. Ein kurzer Überblick. Hochschule Rhein-Main Fachseminar WS 09/10 Betreuender Dozent: Prof. Dr. Karl-Otto Linn.

Der Einsatz von HDRIs in LightWave 7

9th NEMO-SpectroNet Collaboration Forum

Visualisierung mit TurboCAD

Effekte richtig einsetzen

Christoph Künne. Ebenen. Photoshop-Basiswissen Band 8 Edition DOCMA

Kompakte Graphmodelle handgezeichneter Bilder

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression

Modellierung in der Computergraphik

OpenGL vs. Direct3D Ein 3D-API Vergleich

Eine Einführung Computergrafik SS14 Timo Bourdon

ii. Filter Sharing i. Einführung 1. Der neutrale Filter

Erläuterung des Begriffs Plagiat

3D Rasterization. Unifying Rasterization and Ray Casting. Simon Christoph Stein. 20 Dez Georg-August-Universität Göttingen

kornelia rath space 277 matrikelnummer portfolioass finale digitale darstellungsmethoden ss 2010 chair_it

Woraus besteht ein Bild? (c) Winfried Heinkele

Non-Photorealistic Rendering

Was ist Language Based BPM? Eine kurze Erklärung Version 1.0

HDR Aufnahmetechniken. B.Eng. Paschá Kulijew Limelight Photography

Kinect Nils Röder, Björn Frömmer

Unterscheidung: Workflowsystem vs. Informationssystem

SketchBook Ink. Tipps & Tricks

Versuch 7 Komplexe Übertragungsfunktion eines RC-Gliedes mittels Digital-Oszilloskop (Direct I/O)

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Bildmerkmalssuche. Seminar Computational Photography. Visual Computing Department of Computer Science

3D Landschaftsvisualisierung

Algorithmische Methoden zur Netzwerkanalyse

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete

Zuschauer beim Berlin-Marathon

Volumen Visualisierung

4 Greedy-Algorithmen (gierige Algorithmen)

MSXFORUM - Exchange Server 2007 > Exchange Architektur

Transkript:

Fakultät für Informatik der Technische Universität München Seminararbeit Advanced Topics in Computer Graphics and Visualization Subpixel Reconstruction Antialiasing for Deferred Shading Peter Arndt

Einleitung Antialiasing findet seit den Jahren 2000/2001 vermehrt Einzug im PC-Spiele Bereich. Dies wurde durch Implementierung von Multisample Antialiasing (MSAA) in Grafikhardware ermöglicht. Das zuvor Softwareseitig verfügbare Supersample Antialiasing war für die damalige Hardware zu rechenintensiv. MSAA reduziert die Shading-Kosten erheblich was einen Einsatz von Antialiasing in Echtzeitanwendungen erst möglich machte. Mit Verbreitung von Deferred Shading wurde MSAA wieder impraktikabel, da es in diesem Szenario zu Supersampling degeneriert und der Grafikspeicherverbrauch enorm steigt. Dies zog die Entwicklung einer Reihe anderer Algorithmen nach sich, einer davon ist das hier beschriebene Subpixel Reconstruction Antialiasing (SRAA), bei dem in einem Post Process Aliasing Artefakte durch Interpolation von Subpixelinformationen aus dem Bild entfernt werden. Einen ähnlichen Ansatz verfolgt Morphological Antialiasing (MLAA), bei dem versucht wird im Bild Kanten zu detektieren und Aliasing mittels Weichzeichnen zu vermindern. SRAA kann als Verbesserung dieses Algorithmus angesehen werden, da es einen ähnlichen Ansatz, nämlich die Behandlung von Aliasing an Objektkanten, verfolgt. Die Kantendetektion wird durch Eingabe von Geometriedaten jedoch signifikant verbessert. Multisample Antialiasing Multisample Antialiasing (MSAA) ist ein weit verbreiteter Antialiasing Algorithmus, der in verschiedenen Variationen vielfach in Grafikkarten Implementiert ist. Grundidee ist, dass in Bereichen in denen sich die Geometrie im Subpixelbereich nicht ändert auch keine nennenswerten Änderungen in der Farbe zu beobachten sind. Algorithmus Im Allgemeinen werden bei MSAA n Samples pro Pixel betrachtet. Typischerweise werden aber nur n = 2, n = 4 oder n = 8 verwendet. Welche dieser Werte unterstützt werden ist von der verwendeten Hardware abhängig. Weiterhin liegen m Primitive 1 innerhalb dieses Pixels. Seien nun s 1 s m die Anzahl an Samples die innerhalb eines der m Primitiven liegen und c 1 c m die Farbwerte der Primitiven. Dann gilt für den finalen Farbwert des Pixels der folgende Zusammenhang. m C = s i c n i Wobei für die Summe der Gewichte der einzelnen Farbwerte auf 1 normiert ist. m i=1 s i = 1 n i=1 Für n würde MSAA gemäß des Abtasttheorems perfektes Antialiasing liefern. Aber auch kleinere Werte liefern gute Ergebnisse, wenn auch Aliasing nicht vermieden werden kann. Abbildung 1 visualisiert die Funktionsweise für einen vier Pixel großen Block. 1 Die Begriffe Primitiven und Dreiecke werden im Kontext dieser Arbeit synonym verwendet.

Abbildung 1 Multisample Antialiasing nach [20] Fazit MSAA bietet verglichen mit Supersampling eine annähernd gleiche Qualität zu signifikant geringeren Kosten, da viele Shading-Berechnungen eingespart werden. Die Ersparnis ist hierbei vom Detailgrad der Szene abhängig, da der Algorithmus zumindest theoretisch durch viele kleine Dreiecke in reines Supersampling degenerieren kann. Praktisch sollte dies in natürlichen Szenen jedoch nicht Flächendeckend eintreten. Deferred Shading Deferred Shading bezeichnet eine Technik, bei der die Lichtberechnungen von den Geometrieberechnungen abgetrennt werden. Dieses Konzept, das zuerst in dem Spiel S.T.A.L.K.E.R.: Shadow of Chernobyl (2007) eingesetzt wurde, stammt schon aus dem Jahre 1990. Es ermöglicht die Verwendung von vielen hundert dynamischen Lichtern, auch in komplexen Szenen. Prinzip Bei dieser Methode wird eine Szene in zwei Schritten gerendert. Im ersten Schritt werden die sogenannten Geometrieinformationen berechnet und in je eine Textur geschrieben. Was das umfasst hängt vor allem vom verwendeten Beleuchtungsmodell ab. Üblich sind hierbei Normalen, Tiefenwerte und Farbe. Im zweiten Schritt wird dann die eigentliche Lichtberechnung vorgenommen und das finale Bild mithilfe des Beleuchtungsalgorithmus berechnet. Hierdurch wird die Beleuchtung nicht mehr auf der Geometrie-, sondern auf Pixelebene ausgeführt, was den Aufwand enorm reduziert. Es werden weiterhin überflüssige Berechnungen gespart, da die Tiefensortierung der Geometrie bereits ausgeführt wurde und so mehrfache Berechnungen, die am Ende sowieso verworfen worden wären, nicht ausgeführt werden. Fazit Deferred Shading hat sich zum Standard in modernen PC-Spielen entwickelt. Dies liegt zum einen daran, dass eine realistisch wirkende Beleuchtung für einen realistischen Eindruck der Umgebung unablässig ist und zum anderen nicht nur die Lichtberechnung von dem Deferred Pass profitieren kann. Problematisch ist die Verwendung von transluzenten Objekten in der Szene, da diese nicht korrekt behandelt werden können. Dies liegt daran, dass nur die Eigenschaften der dem Betrachter am nächsten liegenden Oberfläche in den Texturen gespeichert werden. Zur korrekten Behandlung von transluzenten Objekten sind jedoch auch Informationen über dahinter liegende Oberflächen notwendig. MSAA kann nicht ohne weiteres mit Deferred Shading kombiniert werden. Dies liegt vor allem am Speicherbedarf der beim Deferred Shading schon hoch ist und sich durch Einsatz von MSAA nochmals

um einen Faktor vervielfacht. Ein weiteres Problem, das seit Direct3D 10.1 nicht mehr besteht, war die Ausgabe der einzelnen Samples in eine Textur. Subpixel Reconstruction Antialiasing Mit Einführung von Deferred Shading wurden wie eingangs erwähnt andere Antialiasing Algorithmen notwendig, da der Einsatz von MSAA aus angegebenen Gründen nicht mehr praktikabel war. Ein Ansatz war Morphological Antialiasing (MLAA), bei dem die Kanten durch Heuristiken im finalen Bild detektiert werden und Aliasing-Artefakte mittels Filter unterdrückt werden. Bei SRAA handelt es sich genau wie beim MLAA um einen Post Process Algorithmus. In der Arbeitsweise unterscheiden sich diese aber grundlegend, sowohl bei der Detektion der Kanten, als auch beim Filterprozess. SRAA ist in der Lage in vielen Szenarien Ergebnisse zu produzieren, die denen von 16-fachem Supersampling entsprechen, kann aber nicht alle Artefakte entfernen. So lassen sich beispielsweise in feinen regelmäßigen Strukturen weiterhin stark sichtbare Artefakte finden. Sichtbar ist dieser Effekt in den Abbildungen 2 und 3. vergleicht man den Zaun in Abbildung 2 mit der Referenz aus Abbildung 3 erkennt man deutliche Aliasingartefakte. Bedingt durch die im Folgenden erläuterte Arbeitsweise können diese jedoch nicht vermieden werden. Überblick SRAA nutzt die Tatsache, dass sich auch an den Kanten der Primitiven meist die Farben nicht, oder nur geringfügig ändern, weswegen es genügt diese in Bildschirmauflösung zu rendern. Geometrieinformationen, hierzu gehören im Allgemeinen Tiefenwerte und Normalen, werden hingegen in erhöhter Auflösung benötigt. Mithilfe der hoch Aufgelösten Geometrieinformationen und der Farbwerte wird ein Bild in Auflösung der Geometriedaten interpoliert, dass dann mithilfe eines Antialiasing Filters auf Bildschirmauflösung verkleinert wird. Um SRAA zu verwenden muss als die Rendering Pipeline zum einen dahingehend verändert werden, dass die Geometriedaten in erhöhter Auflösung gerendert werden. Zum anderen ist ein Pass nötig, in dem die Interpolation und das Downsampling mit Antialiasing Filterung auf Bildschirmauflösung stattfindet. Algorithmus Um die Geometriedaten zu erhalten bieten sich verschiedene Möglichkeiten an. Sie werden üblicherweise Mithilfe von MSAA erzeugt. Dies ist der effizienteste Weg, da so die Zeitvorteile die es mit sich bringt, wenn nicht für jedes Sample ein Wert berechnet werden muss, auch für SRAA genutzt werden können. Im anschließenden Interpolationsschritt werden die Geometriedaten verwendet, um aus der in Bildschirmauflösung gerenderten Szene eine Version mit doppelt so hoher Auflösung in x und y Richtung zu erzeugen. Zur Interpolation eines Samples wird für jedes der umliegenden neun Samples, für das ein Shading-Wert vorliegt, zunächst eine Gewichtung bestimmt, die angibt zu welchem Grad sie den Farbwert des zu interpolierenden Pixels bestimmt. Die Formel zur Berechnung ist hierbei von den verwendeten Geometriedaten abhängig. Verwendet man Tiefenwerte und Normalen in beliebiger Kombination zur Interpolation bieten sich die folgenden Formeln an: δ p = σ p (p t p s ) n s δ n = 1 (n s n t ) w = e τ max (δ n,δ p )

Hierbei beschreibt der Term δ p den Einfluss der Tiefenänderung auf die Gewichtung und δ n den Einfluss der Änderung der Normalen. Aus diesen wird gemäß der Formel die Gewichtung w bestimmt. Der Parameter σ p dient der Skalierung der Tiefe, er muss abhängig von der Szene so gewählt werden, dass Unstetigkeiten an Objektgrenzen in Werte δ p 1 resultieren. Der zweite Parameter τ legt fest, wie schnell die Gewichtung eines betrachteten Samples abnimmt. Höhere Werte sorgen dafür, dass sich der Einfluss schnell verringert. Bei Test hat sich gezeigt, dass ein Wert τ = 500 gute Ergebnisse produziert. Die Indices s und t bezeichnen das Sample, dass Interpoliert werden soll und das Sample für das die Gewichtung berechnet wird. Diese für jedes Sample zu berechnenden Gewichte müssen anschließend noch normiert werden um sicherzustellen, dass sich die Interpolierten Farbwerte im Bereich von 0 bis 1 für jeden Farbkanal bewegen. Dazu wird jedes einzelne Gewicht durch die Summe aller neun Gewichte dividiert. Mithilfe dieser normierten Gewichte kann nun der Farbwert des Samples interpoliert werden. Bezeichnen wir die Summe der Gewichte als w gesamt lassen sich Interpolation und Normierung in einer Formel zusammenfassen. C = c i steht hierbei für den Farbwert des Samples i. 9 w i w gesamt i=1 Variationen Es gibt viele Ansatzpunkte um den Algorithmus zu variieren. Einer davon ist die Verwendung anderer Geometrieinformationen. In der zuvor vorgestellten Basisvariante des Algorithmus werden Tiefenwert und Normalen verwendet, um Objektkanten zu identifizieren. Eine einfache Variation wäre es zu diesem Zweck nur die Tiefen oder nur die Normalen zu verwenden. Dies spart wenn man ausschließlich den Antialiasingprozess betrachtet Rechenzeit ein, da die nicht verwendeten Eingabedaten zumindest im Fall der Normalen nicht erzeugt werden müssen. Wenn man das Ganze aber im Kontext der gesamten Anwendung betrachtet, stellt man leicht fest das sowohl Tiefe als auch Normalen für die Beleuchtung benötigt werden. Dadurch verringert sich die eingesparte Zeit nur auf wenige Rechenzyklen. Eine weitere interessante Alternative ist die Verwendung der SV_PrimitiveID zur Unterscheidung der verschiedenen Dreiecke. Hierfür wird im ersten Pass beim Deferred Shading eine zusätzliche Textur gerendert, die die PrimitiveIDs des Dreiecks am jeweiligen Sample enthält. Man kann hierbei um Speicherplatz zu sparen den 32 Bit Wert von SV_PrimitiveID auf beispielsweise 8 Bit hashen, da es nicht Ziel ist jedes einzelne Dreieck identifizieren zu können, sondern nur die Kanten zwischen benachbarten Dreiecken. Die Wahrscheinlichkeit von Kollisionen im Hashwert zweier benachbarter Primitiven ist dabei zu vernachlässigen. Tritt eine solche Kollision dennoch auf sind die sichtbaren Folgen aufgrund der Größe eines solchen Dreiecks meist kaum wahrzunehmen. Ein größeres Problem stellt hierbei dar, dass die PrimitiveID üblicherweise nicht für die Lichtberechnungen benötigt wird und daher zusätzlich zu den sowieso schon vorhandenen Tiefenwerten und Normalen gespeichert werden muss. Dafür erhält man allerdings eine Kantenerkennung die ähnlich der von MSAA arbeitet. Der einzige Unterschied zwischen beiden Algorithmen liegt dann nur noch in der Farbwertbestimmung der Samples, die bei SRAA zwar weniger rechenaufwendig, aber auch weniger zuverlässig ist. Ein weiteres Problem entsteht bei der Verwendung von Tesselation, da die hierdurch generierten Dreiecke dieselbe PrimitiveID besitzen, wie das originale Dreieck. c i

Abbildung 2 Szene aus Battlefield 3 (Frostbite 2 Engine) mit SRAA [13] Abbildung 3 Szene aus Battlefield 3 (Frostbite 2 Engine) mit 16x Supersample Antialiasing [13] Fazit SRAA bietet verglichen mit zuvor verfügbaren MLAA eine deutlich bessere Bildqualität. Ein zusätzlicher Vorteil ist, dass die Laufzeit von SRAA, zumindest im eigentlichen Antialiasingschritt, unabhängig von der Komplexität der Szene ist. Die Generierung der Geometriedaten kann keinesfalls als unabhängig betrachtet werden, da diese ja durch die Szene bestimmt wird. Weiterhin ist die Möglichkeit zur Variation des Algorithmus bezüglich verwendeter Eingabedaten, als auch der zu Verwendenden Interpolationsalgorithmen und Antialiasingfiltern positiv hervorzuheben.

Ein Nachteil ist fehlendes Antialiasing in Texturen, das aber auch MSAA nicht bieten kann. Hierfür existieren jedoch erprobte Lösungen, wie zum Beispiel Mip Mapping, was diesen Punkt wenig bedeutend macht. Ein größeres Problem ergibt sich aus der Art des Algorithmus, da es sich hier um Post Process Antialiasing handelt ist es, wie zuvor gezeigt, in einigen Fällen nicht möglich markante Artefakte aus dem Bild zu entfernen. Außerdem wird durch die Interpolation bedingt in Gebieten mit wenigen Kanten ein leichter Weichzeicheneffekt erreicht, der im Allgemeinen unerwünscht ist.

Literatur 1. Chajdas, M., McGuire, M. und Luebke, D. 2011. Subpixel Reconstruction Antialiasing. 2. Reshetov, A. 2009. Morphological Antialiasing. 3. Salvi, M. und Vidimce, K. 2012. Surface Based Anti-Aliasing. 4. Jimenez, J., Echevarria, J., Sousa, T. und Gutierrez D. 2012. SMAA: Enhanced Subpixel Morphological Antialiasing 5. Schmidt T. 2009. Anti-Aliased Deferred Rendering http://elib.uni-stuttgart.de/opus/volltexte/2009/4417/pdf/stud_2206.pdf 6. Semantics http://msdn.microsoft.com/en-us/library/bb509647%28vs.85%29.aspx 7. Rasterization Rules (Direct3D 10) http://msdn.microsoft.com/de-de/library/windows/desktop/cc627092%28v=vs.85%29.aspx 8. ACM SIGGRAPH 2011 Course Filtering Approaches for Real-Time Anti-Aliasing http://iryoku.com/aacourse/downloads/07-sraa-subpixel-reconstruction-anti-aliasing.pdf 9. Nvidia Research: Subpixel Reconstruction Antialiasing http://research.nvidia.com/sites/default/files/publications/sraa-talk.pdf http://research.nvidia.com/sites/default/files/publications/ McGuire-SRAA-SIGGRAPH2011.ppt 10. Anteru s blog https://anteru.net/research/subpixel-reconstruction-antialiasing/ 11. Akeley, K. 2007. Multisample Antialiasing http://graphics.stanford.edu/courses/cs248-07/lectures/ 2007.10.11%20CS248-06%20Multisample%20Antialiasing/ 2007.10.11%20CS248-06%20Multisample%20Antialiasing.ppt 12. Lülff, J. 2009. (Fast) Fourier Transformation und ihre Anwendungen http://pauli.uni-muenster.de/tp/fileadmin/lehre/nummethoden/sose2009/ Vortrag_FFT_220409.pdf 13. Nguyen, H. 2007. GPU Gems 3: Chapter 19. Deferred Shading in Tabula Rasa https://developer.nvidia.com/content/gpu-gems-3-chapter-19-deferred-shading-tabula-rasa 14. Anti-Aliasing http://graphics.wikia.com/wiki/anti-aliasing 15. Der Hochpassfilter http://www.webmasterpro.de/design/article/photoshop-der-hochpassfilter.html 16. Deferred Shading http://wiki.delphigl.com/index.php/deferred_shading 17. Multisampling Anti-Aliasing unter der Lupe http://alt.3dcenter.org/artikel/multisampling_anti-aliasing/ 18. Multisample anti-aliasing http://en.wikipedia.org/wiki/multisample_anti-aliasing 19. Deferred Shading http://de.wikipedia.org/wiki/deferred_shading 20. Woligroski, D. 2011. Generic Anti-Aliasing Implementations http://www.tomshardware.com/reviews/ anti-aliasing-nvidia-geforce-amd-radeon,2868-2.html