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.
Shownotes
computergenerierte Bilder sind rasterisiert (in Bildpunkte unterteilt)
jeder Bildpunkt hat genau eine Farbegenerell sind verschiedene Rasterisierungen möglich (z.B. bei Facettenaugen von Insekten meist hexagonale Rasterung)bei Computern meist quadratische Pixelraster: vereinfacht Speicherabbildung und bestimmte Berechnungen, die Nachbarpixel einbeziehenFarbe ist nicht eine einzige Zahl, sondern ein Punkt in einem mehrdimensionalen Farbraum
verschiedene Farbräume/Farbmodelle je nach AnwendungRGB (Rot-Grün-Blau): für selbstleuchtende Monitore mit drei verschiedenen Grundfarben (Beispiel aus einem CRT-Monitor)YUV (Y-Luminanz, UV-Chrominanz) etc.: für Fernsehbildschirme (abwärtskompatibel zu Schwarzweißfernsehern, die UV ignorieren und nur Y anzeigen)HSV und CIELAB: modellieren die natürliche Farbwahrnehmung des MenschenCMYK (Cyan-Magenta-Yellow-Black): für Druckprozesse mit vier StandardtintenFarbrä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)Beispielrechnung: Wie groß ist der Datenstrom zu einem normalen Computermonitor?
angenommen 4K-Auflösung: 3840x2160 Pixelangenommen 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)angenommen 60 Hz, also 60 Bilder pro SekundeErgebnis (ohne Datenkompression): 3840 * 2160 Pixel / Bild * 3 Byte / Pixel * 60 Bilder / Sekunde = 1.39 GiB/s bzw. 11.1 Gib/szum Vergleich: komprimiertes 4K-Video typischerweise 2 MiB/s (16 Mib/s), Kompressionsfaktor ~700Bildaufbau in traditionellen Systemen mit 2D-Grafik (z.B. Spielkonsolen der 80er und frühen 90er) erfolgt meist mittels Sprites
Sprites: einzelne vorgefertigte Bilder (z.B. Glyphen einer Terminal-Schriftart oder einzelne Objekte in einem Videospiel)Pixel-ArtGrafikprozessor erhält eine Liste von Sprites mit den entsprechenden Positionen, an denen diese eingefügt werden sollenBild entsteht als Überlagerung aller Sprites in ein GesamtbildGesamtbild liegt somit im Videospeicher vor (einem separaten Speicher des Grafikprozessors) und kann dann zum Monitor geschickt werden (siehe auch Double Buffering und V-Sync)in Abgrenzung dazu: Vektorgrafik
Beschreibung eines Bildes mittels grafischer Primitiven (Rechtecke, Kreise, Linien, Kurven)Bildaufbau durch Rasterisierung dieser Primitiven, z.B. mittels des Bresenham-Algorithmusbis Ende der 90er oft mittels separater Koprozessoren (z.B. Super FX), da die normalen Prozessoren nicht schnell genug warenBildaufbau in traditionellen Desktopsystemen (z.B. Windows 95 bis XP) ist eine Mischung aus beiden
Fensterrahmen, Knöpfe etc. als Vektorgrafik (teilweise in Sprites vorgerendert)Textsatz ebenfalls auf Basis vorgerenderter Sprites für die einzelnen Zeichen, die wiederum als Vektorgrafik definiert sindseit den 2000er-Jahren werden auch 2D-Bilder zunehmend auf der Grafikkarte berechnet, denn:
Grafikkarten bzw. Grafikprozessoren (GPUs) sind seit diesem Punkt hinreichend allgegenwärtigGPUs sind für diese Aufgabe deutlich effizienter (sowohl in Geschwindigkeit als auch Energieverbrauch)GPUs können auch fortgeschrittene Effekte wie Schattierungen oder Animationen effizient berechnen