Kapitelklicken springt direkt hin
Shownotes
<p>Hier nun der zweite Teil unserer Reihe über die Herkunft und Darstellung von Grafik.
Genießen sie heute Funfacts und Kaufberatung auf mittelmäßigem Niveau.</p><h2>Shownotes</h2><ul>
<li>
<p>computergenerierte Bilder sind <strong>rasterisiert</strong> (in Bildpunkte unterteilt)</p>
<ul>
<li>jeder Bildpunkt hat genau eine Farbe</li>
<li>generell sind verschiedene Rasterisierungen möglich (z.B. bei Facettenaugen von Insekten meist hexagonale Rasterung)</li>
<li>bei Computern meist quadratische Pixelraster: vereinfacht Speicherabbildung und bestimmte Berechnungen, die Nachbarpixel einbeziehen</li>
</ul>
</li>
<li>
<p>Farbe ist nicht eine einzige Zahl, sondern ein Punkt in einem mehrdimensionalen <strong>Farbraum</strong></p>
<ul>
<li>verschiedene Farbräume/Farbmodelle je nach Anwendung
<ul>
<li><a href="de.wikipedia.org/wiki/RGB-Farbraum">RG…; (Rot-Grün-Blau): für selbstleuchtende Monitore mit drei verschiedenen Grundfarben (<a href="commons.wikimedia.org/wiki/File:Lochmaske_makr… aus einem CRT-Monitor</a>)</li>
<li><a href="de.wikipedia.org/wiki/YUV-Farbmodell">…; (Y-Luminanz, UV-Chrominanz) etc.: für Fernsehbildschirme (abwärtskompatibel zu Schwarzweißfernsehern, die UV ignorieren und nur Y anzeigen)</li>
<li><a href="de.wikipedia.org/wiki/HSV-Farbraum">HS…; und <a href="de.wikipedia.org/wiki/Lab-Farbraum">CI…;: modellieren die natürliche Farbwahrnehmung des Menschen</li>
<li><a href="de.wikipedia.org/wiki/CMYK-Farbmodell">…; (Cyan-Magenta-Yellow-Black): für Druckprozesse mit vier Standardtinten</li>
</ul>
</li>
<li>Farbräume sind meistens dreidimensional, weil wir drei Arten von Farbrezeptoren im Auge haben (zum Vergleich: Fangschreckenkrebse haben bis zu 12 Rezeptorarten und bräuchten also einen zwölfdimensionalen Farbraum)</li>
</ul>
</li>
<li>
<p>Beispielrechnung: Wie groß ist der Datenstrom zu einem normalen Computermonitor?</p>
<ul>
<li>angenommen 4K-Auflösung: 3840x2160 Pixel</li>
<li>angenommen 8 Bit Farbtiefe: 8 Bit pro Pixel und Farbe, also 3 Byte pro Pixel (es gibt auch schon Monitore mit 10 Bit oder 12 Bit Farbtiefe)</li>
<li>angenommen 60 Hz, also 60 Bilder pro Sekunde</li>
<li>Ergebnis (ohne Datenkompression): 3840 * 2160 Pixel / Bild * 3 Byte / Pixel * 60 Bilder / Sekunde = 1.39 GiB/s bzw. 11.1 Gib/s</li>
<li>zum Vergleich: komprimiertes 4K-Video typischerweise 2 MiB/s (16 Mib/s), Kompressionsfaktor ~700</li>
</ul>
</li>
<li>
<p>Bildaufbau in traditionellen Systemen mit 2D-Grafik (z.B. Spielkonsolen der 80er und frühen 90er) erfolgt meist mittels <strong>Sprites</strong></p>
<ul>
<li>Sprites: einzelne vorgefertigte Bilder (z.B. Glyphen einer Terminal-Schriftart oder einzelne Objekte in einem Videospiel)
<ul>
<li><a href="en.wikipedia.org/wiki/Pixel_art">Pixel…;
</ul>
</li>
<li>Grafikprozessor erhält eine Liste von Sprites mit den entsprechenden Positionen, an denen diese eingefügt werden sollen</li>
<li>Bild entsteht als Überlagerung aller Sprites in ein Gesamtbild</li>
<li>Gesamtbild liegt somit im Videospeicher vor (einem separaten Speicher des Grafikprozessors) und kann dann zum Monitor geschickt werden (siehe auch <a href="de.wikipedia.org/wiki/Doppelpufferung">… Buffering</a> und <a href="de.wikipedia.org/wiki/Vertikale_Synchronisatio…;)</li>
</ul>
</li>
<li>
<p>in Abgrenzung dazu: <strong>Vektorgrafik</strong></p>
<ul>
<li>Beschreibung eines Bildes mittels grafischer Primitiven (Rechtecke, Kreise, Linien, Kurven)</li>
<li>Bildaufbau durch <strong>Rasterisierung</strong> dieser Primitiven, z.B. mittels des <a href="de.wikipedia.org/wiki/Bresenham-Algorithmus&qu…;
<li>bis Ende der 90er oft mittels separater Koprozessoren (z.B. <a href="de.wikipedia.org/wiki/Super_FX">Super FX</a>), da die normalen Prozessoren nicht schnell genug waren</li>
</ul>
</li>
<li>
<p>Bildaufbau in traditionellen Desktopsystemen (z.B. Windows 95 bis XP) ist eine Mischung aus beiden</p>
<ul>
<li>Fensterrahmen, Knöpfe etc. als Vektorgrafik (teilweise in Sprites vorgerendert)</li>
<li>Textsatz ebenfalls auf Basis vorgerenderter Sprites für die einzelnen Zeichen, die wiederum als Vektorgrafik definiert sind</li>
</ul>
</li>
<li>
<p>seit den 2000er-Jahren werden auch 2D-Bilder zunehmend auf der Grafikkarte berechnet, denn:</p>
<ul>
<li>Grafikkarten bzw. Grafikprozessoren (GPUs) sind seit diesem Punkt hinreichend allgegenwärtig</li>
<li>GPUs sind für diese Aufgabe deutlich effizienter (sowohl in Geschwindigkeit als auch Energieverbrauch)</li>
<li>GPUs können auch fortgeschrittene Effekte wie Schattierungen oder Animationen effizient berechnen</li>
</ul>
</li>
</ul>