From 988e85f409905de1866921c9925c5e3943777b4a Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Mon, 29 Mar 2021 19:07:51 +0200 Subject: [PATCH] Grafik Pipeline hydriert --- Computergrafik - Cheatsheet.pdf | Bin 283972 -> 283243 bytes Computergrafik - Cheatsheet.tex | 153 +++++++++++++++++--------------- 2 files changed, 81 insertions(+), 72 deletions(-) diff --git a/Computergrafik - Cheatsheet.pdf b/Computergrafik - Cheatsheet.pdf index 2093bec666019b0114895d470e273e710dadf3fe..df32734bc800ec56caf486d14db0668b75e9a8bf 100644 GIT binary patch delta 63997 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 delta 64792 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 Treiber -> Vertex-Verarbeitung -> Primitivenbehandlung -> Rasterisierung \& Interpolation -> Fragment Verarbeitung -> Rasteroperation -> Bildspeicher + \begin{enumerate*} + \item Programm API + \item Treiber + \item Vertex-Verarbeitung + \item Primitivenbehandlung + \item Rasterisierung \& Interpolation + \item Fragment Verarbeitung + \item Rasteroperation + \item Bildspeicher + \end{enumerate*} - \subsection{Allgemeines} + \subsection{Allgemein} \begin{itemize*} \item Anwendungsprogramm: \begin{itemize*} \item läuft auf der CPU, \item definiert Daten und Befehlsabfolge, - \item greift dazu über das Grafik-API (Application Programming Interface, z. B. OpenGL, Direct3D) auf die Grafikkarte zu + \item greift dazu über das Grafik-API (z.B. OpenGL, Direct3D) auf die Grafikkarte zu \end{itemize*} - \item Treiber: übersetzt die Grafikbefehle des Programms in die Maschinensprache der speziellen Grafikhardware (Graphics Processing Unit / GPU, z.B. von nVidia, AMD oder Intel) + \item Treiber: übersetzt die Grafikbefehle des Programms in die Maschinensprache der speziellen Grafikhardware (Graphics Processing Unit) \item Befehle und Daten werden über den Bus (z.B. PCI-Express) von der CPU auf die GPU übertragen \item OpenGL-Pipeline: Abarbeitung der Grafikbefehle auf der GPU \item Ausgabe des Bildspeichers auf dem Monitor \item Treiber schickt Daten/Befehle an die GPU (z. B. via PCIe -Bus) - \item Funktionsausführung auf der GPU ist dann abhängig vom aktuellen Zustand (OpenGL State Machine bzw. den gewählten Shadern):z.B. vorher definierter Primitivtyp (hier GL Polygon), Transformation, Lichtquellen, Interpolationsart (z.B. Gouraud Shading vs. Flat Shading) + \item Funktionsausführung auf der GPU ist dann abhängig vom aktuellen Zustand \end{itemize*} - Abarbeitungsreihenfolge auf der GPU: + \paragraph{Abarbeitungsreihenfolge auf der GPU} \begin{itemize*} - \item Empfangen der Vertices in einer geordneten Sequenz. - \item Vertexverarbeitung via Vertex Shader. Jeder Input-Vertex im Datenstrom wird in einen Output-Vertex transformiert und beleuchtet. + \item Empfangen der Vertices in einer geordneten Sequenz + \item Vertexverarbeitung via Vertex Shader. Jeder Input-Vertex im Datenstrom wird in einen Output-Vertex transformiert und beleuchtet \item Primitive culling (Verwerfen wenn nicht sichtbar) und clipping (Abschneiden der Polygone am Rand) \item Rasterkonvertierung (Polygon Filling) und Interpolation der Attributwerte (x-Koordinate, 1/z, R, G, B, Texturkoordinaten u/v, ...) - \item Die Daten jedes Fragmentes (Pixel/Subpixel) wird mit einem Fragment Shader verarbeitet. Zu jedem Fragment gehört eine Anzahl Attribute. + \item Die Daten jedes Fragmentes (Pixel/Subpixel) wird mit einem Fragment Shader verarbeitet. Zu jedem Fragment gehört eine Anzahl Attribute \item Per-Sample Operationen: Blending (Alpha-Blending bei Transparenz), Tiefen- und Stencil- Operationen ... \end{itemize*} - \subsection{Vertex-Verarbeitung} - \begin{itemize*} - \item Transformationen: Modell-Transformation, Kamera-Transformation (Model View Matrix) → Matrixmultiplikationen → Skalarprodukt - \item Beleuchtung (Lighting): Lichtquellen, diffuses \& spekuläres Material: (Gouraud Shading) Lambert, Phong-Modell → Skalarprodukt - \item Skalarprodukte (Gleitkomma-Multiplikationen und Additionen) werden durch viele parallele Prozessoren auf der GPU effizient verarbeitet. - \end{itemize*} + \begin{description*} + \item[Transformationen] Modell-Transformation, Kamera-Transformation (Model View Matrix) $\rightarrow$ Matrixmultiplikationen $\rightarrow$ Skalarprodukt + \item[Beleuchtung] Lichtquellen, diffuses \& spekuläres Material: Lambert, Phong-Modell $\rightarrow$ Skalarprodukt + \item[Skalarprodukte] (Gleitkomma-Multiplikationen und Additionen) werden durch viele parallele Prozessoren auf der GPU effizient verarbeitet + \end{description*} %\subsection{Primitive & Primitivenbehandlung} %![Primitive; Quelle Computergrafik Vorlesung 2020/21](Assets/Computergrafik-Renderpipeline-primitive.png) \subsection{Rasterkonvertierung} \begin{itemize*} - \item Edge Tables bereits erzeugt (Polygonsetup in Primitivenbeh.) - \item Rasterkonvertierung/Interpolation entspricht der Scan-Line-Konvertierung (s. Polygonfüllalgoritmus), generiert Pixel (Fragments) - \item Interpolation der x-Werte der Kanten (siehe left edge scan /bzw. right edge scan) - \item pro Scan Line: inkrementiere x-Wert (left edge, right edge) (OpenGL behandelt nur konvexe Polygone/Dreiecke – d. h. immer 2 Kanten pro Bildzeile!) - \item lineare Interpolation weiterer Attribute: + \item Edge Tables bereits erzeugt (Polygonsetup) + \item Rasterkonvertierung/Interpolation entspricht der Scan- Line-Konvertierung, generiert Pixel (Fragments) + \item Interpolation der x-Werte der Kanten (left/right edge scan) + \item pro Scan Line: inkrementiere x-Wert (left/right edge) + \item lineare Interpolation weiterer Attribute \begin{itemize*} - \item z (1/z)-Werte, + \item $z (1/z)$-Werte, \item RGB-Werte (Gouraud Shading), \item Texturkoordinaten u/v (affines Texturmapping), \item Normalen (Phong Shading) \end{itemize*} \item sehr wenige Ganzzahloperationen pro Pixel/Bildzeile - \item Ausnahmen: z. B. perspektivische Texture Maps (FP-Division!) + \item Ausnahme z.B. perspektivische TM (FP-Division) \end{itemize*} - \subsection{Fragment-Verarbeitung} - Weiterverarbeitung auf Basis der interpolierten Attribute im Fragment Shader - - Beispiel Phong-Shading: Berechnung des Phong-Beleuchtungsmodells auf Basis der vorher linear interpolierten Fragmentnormalen, -position und Materialdaten sowie der Daten der Lichtquellen und Kameraposition + \begin{itemize*} + \item Weiterverarbeitung auf Basis der interpolierten Attribute im Fragment Shader + \item Beispiel Phong-Shading: Berechnung des Phong-Beleuchtungsmodells auf Basis der vorher linear interpolierten Fragmentnormalen, -position und Materialdaten sowie der Daten der Lichtquellen und Kameraposition + \end{itemize*} \subsection{Rasteroperationen} \begin{itemize*} \item Abschließende Auswahl/Zusammenfassung der berechneten Fragmentdaten (pro Pixel) - \item Beispiel: nicht transparente Objekte, Übernahme der Farbwerte mit z-Position, welche am dichtesten an der Kamera ist (z-Buffer) - \item Beispiel: transparente Objekte (z.B. Glashaus), lineares Blending zwischen schon existierenden Farbwerten und neuesten entsprechend der Transparenz + \item Beispiel: nicht transparente Objekte, Übernahme der Farbwerte mit z-Position, welche am dichtesten an der Kamera ist + \item Beispiel: transparente Objekte, lineares Blending zwischen schon existierenden Farbwerten und neuesten entsprechend der Transparenz \end{itemize*} \subsection{Performance} Einfaches Modell zur Bestimmung der Rechenzeit T: - $T = a * \text{Anzahl Vertices} + b * \text{Anzahl Bildpixel}$ (a = Aufwand pro Vertex, b = Aufwand pro Pixel) + $$T = a * \text{Anzahl Vertices} + b * \text{Anzahl Bildpixel}$$ + (a = Aufwand pro Vertex, b = Aufwand pro Pixel) \begin{itemize*} \item Grafikkarten geben ihre Performance an in: \begin{itemize*} - \item Anzahl Polygone / Sekunde (Polygone mit kleiner Pixelanzahl) + \item Anzahl Polygone / Sekunde (Polygone mit kleiner Pixelanzahl) \item Anzahl verarbeitete Pixel / Sekunde - \item z.B. ca. 100 Millionen Polygone/sec à 10 Pixel / Polygon (mit Texturen, tri-lineare Filterung, etc. mehrere Milliarden Pixel / s (Gouraud Shader) (Angaben: nVidia Geforce 6800 - Jahr 2005) \end{itemize*} - \item Problem der Grafik-Pipeline: Flaschenhals! - Langsamste Operation hält Pipeline auf (bestimmt Durchsatz) → Zwei extreme Situationen: + \item Problem der Grafik-Pipeline: Langsamste Operation hält Pipeline auf (bestimmt Durchsatz) + \item $\rightarrow$ Zwei extreme Situationen: + \begin{description*} + \item[Vertex-limited] viele Vertices, kleine Polygone (wenige Pixel), einfache lineare Interpolation der Vertex-Attribute pro Fragment (kleines b ) + \item[Fill rate limited] anspruchsvolle Fragment-Shader (großes b), weniger dafür große Polygone (viele Pixel) + \end{description*} + \item Außerdem: Grafikspeicher-Zugriffe sind teuer (Latenz und Bandbreite beachten) z.B. Auslesen gerenderter Bilder aus dem Grafikspeicher + \item Eine für die Grafikkarte angegebene Performance ist nur unter unrealistisch günstigen Bedingungen zu erreichen. \begin{itemize*} - \item Vertex-limited: viele Vertices, kleine Polygone (wenige Pixel), einfache lineare Interpolation der Vertex-Attribute pro Fragment (kleines b ) - \item Fill rate limited: anspruchsvolle Fragment-Shader (großes b), weniger dafür große Polygone (viele Pixel) - \end{itemize*} - \item Außerdem: Grafikspeicher-Zugriffe sind teuer (Latenz und Bandbreite beachten!) z.B. Auslesen gerenderter Bilder aus dem Grafikspeicher - \item Eine für die Grafikkarte angegebene Performance (z. B. 100 Mio Polygone/sec bei G-Force 6800) ist nur unter unrealistisch günstigen Bedingungen zu erreichen. - \begin{itemize*} - \item d. h. z.B. nicht 100 Mio. unterschiedliche Polygone mit 1 fps (wegen Speicherbandbreite für Vertexzugriffe) - \item auch nicht 10.000 Polygone mit 10.000 fps (da Framebuffer-Reset teuer) - \item Herstellerangaben gelten nur unter optimalen Bedingungen (z. B. 10 Pixel / projiziertem Polygon)! - \item realistisch (verschieden große Polygone) → ca. 1 Mio Polygone mit 10 fps (10 Mio Polygone/s) = 10\% der Peak Performance! + \item wegen Speicherbandbreite für Vertexzugriffe + \item da Framebuffer-Reset teuer + \item Herstellerangaben nur für optimalen Bedingungen + \item realistisch $\rightarrow\approx 10\%$ der Peak Performance! \end{itemize*} \end{itemize*} @@ -1750,7 +1759,7 @@ \item inverse Transformation, d.h. indirekte Methode \item da jedes Pixel im Zielbild B an der Position (k, l) Ausgangspunkt der Rechnung ist, bleibt keines unbelegt \item keine Löcher mehr! - \item Problem: Auch das Quellbild A ist nur an ganzzahligen Rasterpunkten i,j gegeben. Wie ermittelt man A(x,y) aus den Pixeln A(i,j) im Umfeld von x,y? Wie groß muss das Umfeld sein? → Resamplingproblem (Wiederabtastung) + \item Problem: Auch das Quellbild A ist nur an ganzzahligen Rasterpunkten i,j gegeben. Wie ermittelt man A(x,y) aus den Pixeln A(i,j) im Umfeld von x,y? Wie groß muss das Umfeld sein? $\rightarrow$ Resamplingproblem (Wiederabtastung) \end{itemize*} Lösungsansatz: Rückwärtstransformation der Pixelkoordinaten @@ -1784,7 +1793,7 @@ \begin{itemize*} \item auch hier entstehen zwar keine Lücken im Zielbild beim Transformieren zusammenhängender Bilder \item aber beim Sampeln im Originalbild entstehen Aliasing-Artefakte: - \item z.B. Auslassen jedes zweiten Pixels im Originalbild → Zielbild wird uniform weiß (oder schwarz) + \item z.B. Auslassen jedes zweiten Pixels im Originalbild $\rightarrow$ Zielbild wird uniform weiß (oder schwarz) \end{itemize*} \item exakte Lösung wäre nur bei doppelter Auflösung möglich \item jedoch Auflösung im Zielbild begrenzt, gute Näherung muss gefunden werden @@ -1839,7 +1848,7 @@ \item Wir stellen uns bewusst das Bild aus Punkten zusammengesetzt vor, d.h. \begin{itemize*} \item wir können von $M * N$ Basisbildern der Dimension $M * N$ ausgehen, in denen jeweils nur ein Pixel den Wert 1 (weiß) besitzt (alle anderen Pixel Schwarz = 0) - \item diese Basisbilder sind damit alle orthonormal → Wichtungsfaktoren durch inneres Produkt! + \item diese Basisbilder sind damit alle orthonormal $\rightarrow$ Wichtungsfaktoren durch inneres Produkt! \item sie ergeben in der grauwertgewichteten Summe das diskrete Bild F \end{itemize*} \end{itemize*} @@ -1885,7 +1894,7 @@ \item Rechts unten: Anteil der höchsten Frequenz \end{itemize*} \item Der Cosinus Raum bildet ein Orthonormalsystem - \item ein Pixelbild im Ursprungsraum lässt sich zusammensetzen als gewichtete Addition von Bildern mit unterschiedlichen Frequenzen → Spektralzerlegung + \item ein Pixelbild im Ursprungsraum lässt sich zusammensetzen als gewichtete Addition von Bildern mit unterschiedlichen Frequenzen $\rightarrow$ Spektralzerlegung \item Ähnlich funktioniert die Fouriertransformation (Sinus und Cosinustransformation) \end{itemize*} @@ -1929,7 +1938,7 @@ \item Rekonstruktion eines Signals mittels Interpolation durch Erzeugen weiterer Samples zwischen den gemessenen Samples mittels eines Interpolationsalgorithmus (Supersampling) \item z.B. durch polynomiale Interpolation (mehrere Nachbarsamples) \item Dennoch entsteht ein etwas gestörtes Signal (hier nicht harmonische Verzerrung / Modulation) - \item → Aliasing-Effekt, allerdings in abgemildertem Umfang + \item $\rightarrow$ Aliasing-Effekt, allerdings in abgemildertem Umfang \end{itemize*} Bei der eingangs vorgeschlagenen Rückwärtstransformation (vom Zielbild zurück ins Originalbild) ist die Samplingrate durch das Zielbild bestimmt (d.h. ein Sample pro Pixel im Zielbild). @@ -1956,7 +1965,7 @@ \item Danach Sampling des gefilterten Originalbildes durch inverse Transformation jedes Pixels im Zielbild \end{itemize*} - → Die höchsten Frequenzen des Originalbildes können aufgrund der zu geringen Auflösung im Zielbild ohnehin nicht dargestellt werden. Dieser Ansatz findet die beste Lösung unter den gegebenen Umständen. + $\rightarrow$ Die höchsten Frequenzen des Originalbildes können aufgrund der zu geringen Auflösung im Zielbild ohnehin nicht dargestellt werden. Dieser Ansatz findet die beste Lösung unter den gegebenen Umständen. Achtung! Reihenfolge ist wichtig: Wenn man zuerst sampelt und dann das Zielbild filtert, lässt sich u.U. die Originalinformation (wenn dort Frequenzen oberhalb der Nyquistfrequenz enthalten sind) nicht mehr rekonstruieren! @@ -1974,7 +1983,7 @@ \item Inverse Transformation der Koordination vom Zielbild + Sampling im Originalbild \item Bei einer Vergrößerung findet hierbei eine Überabtastung statt (d. h. das Signal im Originalbild liegt unter der halben Nyquistfrequenz der Samplingrate des Zielbildes) \item Zur genauen Rekonstruktion von Zwischenwerten kann man interpolieren, d.h. ein gewichtetes Mittel zwischen Werten der benachbarten Pixel im Originalbild berechnen - \item Dadurch werden die scharfen (aber ungenau positionierten Flächengrenzen) zwar unscharf... Aber die wahrgenommene Genauigkeit nimmt zu → Antialiasing + \item Dadurch werden die scharfen (aber ungenau positionierten Flächengrenzen) zwar unscharf... Aber die wahrgenommene Genauigkeit nimmt zu $\rightarrow$ Antialiasing \item Zur Gewichtung können ebenfalls Filterfunktionen im Ortsraum verwendet werden – Cut-off-Frequenz = Nyquistfrequenz im Originalbild (z. B. lineare Interpolation oder Nearest Neighbor, Sinc Funktion, etc.) \end{itemize*} @@ -1999,8 +2008,8 @@ \begin{itemize*} \item $m=(-1,1), n=(-1,1)$ \item $H=\frac{1}{9} \begin{pmatrix} 1&1&1\\ 1&1&1 \\ 1&1&1 \end{pmatrix}$ - \item einfache Mittelwertbildung der Nachbarpixel → unscharfes Bild und hochfrequente Artefakte - \item Faltungsoperatoren zur Tiefpassfilterung → Beispiel Rauschunterdrückung + \item einfache Mittelwertbildung der Nachbarpixel $\rightarrow$ unscharfes Bild und hochfrequente Artefakte + \item Faltungsoperatoren zur Tiefpassfilterung $\rightarrow$ Beispiel Rauschunterdrückung \end{itemize*} Beispiel Filterfern: 5x5 Binominalfilter @@ -2021,7 +2030,7 @@ \begin{itemize*} \item Box-Filter \begin{itemize*} - \item Alle Abtastwerte innerhalb eines um das Pixel gelegte Quadrat (meist mit der Kantenlänge von einem Pixelabstand) haben die gleiche Gewichtung: → Mittelwertbildung + \item Alle Abtastwerte innerhalb eines um das Pixel gelegte Quadrat (meist mit der Kantenlänge von einem Pixelabstand) haben die gleiche Gewichtung: $\rightarrow$ Mittelwertbildung \item Das Box-Filter liefert im Allgemeinen schlechte Ergebnisse, da seine Fourier-Transformierte eine Sinc-Funktion ist, die den gewünschten Frequenzbereich nur schlecht isoliert \end{itemize*} @@ -2066,7 +2075,7 @@ \item Filter zur Hoch- bzw. Bandpassfilterung: \item Anwendung: z.B. Kantenextraktion \item Sobelgradient: $H_{xS} =\begin{pmatrix} 1&0&-1\\ 2&0&-2\\ 1&0&-1\end{pmatrix}, H_{yS}=\begin{pmatrix} 1&2&1\\ 0&0&0\\ -1&-2&-1 \end{pmatrix}$ - \item Differenzbildung (Ableitung) → hohe Frequenzen werden verstärkt! + \item Differenzbildung (Ableitung) $\rightarrow$ hohe Frequenzen werden verstärkt! \item im Gegensatz dazu sind Tiefpassfilter Integralfilter = gewichtete Summe der Nachbarpixel \end{itemize*}