EnglishРусскийTürkçeDeutschFrançais Über · RSS
WebInterface.org
WebInterface.org

Notizen zu Zeichnung, Druck, Fotografie und Bildern aus dem Computer.

Start · Computergrafik · Vom Modell zum Pixel

Vom Modell zum Pixel

Das gewöhnliche Vokabular der Computergrafik lässt sich leicht überlesen, weil jedes Wort im Alltag auch einen schlichten Sinn hat. Im Fach sind die Wörter enger gefasst.

Pixel, Primitiv, Bild

In der digitalen Bildgebung ist ein Pixel, ein Bildelement, ein einzelner Punkt in einem Rasterbild. Pixel sitzen auf einem regelmäßigen zweidimensionalen Gitter und werden oft als Punkte oder Quadrate gezeichnet. Jedes Pixel ist ein Abtastwert eines ursprünglichen Bildes. Mehr Abtastwerte ergeben gewöhnlich eine genauere Wiedergabe dieses Originals. Die Intensität ist von Pixel zu Pixel verschieden. In einem Farbsystem hat ein Pixel typischerweise drei Subpixel, Rot, Grün und Blau. Vergrößert man eine digitale Fotografie weit genug, hören die Quadrate auf, einen kontinuierlichen Ton vorzutäuschen. Das ist kein Fehler des Bildschirms. Es ist die Darstellung, aus der falschen Entfernung gesehen.

Ein Primitiv ist eine Grundeinheit, die ein Grafiksystem zu einem komplexeren Bild oder Modell zusammensetzt. In einem 2D-Spiel können die Primitiven Sprites und Character-Maps sein. Im CAD, dem rechnergestützten Konstruieren, sind es die geometrischen Primitiven, die der Modellierer anbietet. Beim dreidimensionalen Rendern sind es Polygone, sehr oft Dreiecke. Die Hardware kann ein Primitiv direkt unterstützen, weil das Zeichnen in Silizium schneller ist, als es jedes Mal aus einem Programm aufzubauen. Oder das Primitiv ist nur eine Bequemlichkeit, die das Programm bereitstellt, und die Hardware sieht darunter etwas Einfacheres.

Ein digitales Bild ist entweder ein Vektorbild oder ein Rasterbild. Von beiden sind die Raster die häufigeren. Das Bild kann aus einer Kamera stammen, aus einem optischen Instrument oder aus einer Rechnung, an der nie eine Linse beteiligt war. Ist die Darstellung gewählt, muss sie noch zu Licht auf einem Schirm werden.

Rendern

Rendern ist das Erzeugen eines zweidimensionalen Bildes aus einem dreidimensionalen Modell durch ein Computerprogramm. Eine Szenendatei hält die Objekte in einer festgelegten Sprache oder Datenstruktur: Geometrie, Blickpunkt, Texturierung, Beleuchtung und Schattierung, als Beschreibung einer virtuellen Szene. Diese Daten gehen an ein Renderprogramm und kommen als digitales Bild heraus, als Rasterdatei. Der Renderer steckt gewöhnlich in der Grafiksoftware. Manche sind Plugins. Manche sind eigene Programme. Das Wort rendering ist eine Analogie dazu, wie eine Zeichnerin eine Szene umsetzt: ein Bild aus einer Beschreibung, nicht aus dem Sitzen vor der Sache.

Die technischen Verfahren unterscheiden sich. Das allgemeine Problem nicht. Gegeben ist eine dreidimensionale Beschreibung, gebraucht wird ein zweidimensionales Bild. Die Schritte auf diesem Weg, auf einem Gerät wie einer GPU, heißen die Grafikpipeline. Eine GPU ist ein Gerät, das die CPU bei der Rechnung unterstützt. Soll die Szene unter virtuellem Licht einigermaßen realistisch und vorhersehbar aussehen, muss die Software die Rendering-Gleichung berücksichtigen. Diese Gleichung deckt nicht jedes Phänomen der Beleuchtung. Sie ist ein allgemeines Lichtmodell für computergenerierte Bilder, keine vollständige Theorie der Optik. „Rendering“ ist auch das Wort, wenn ein Videoschnittprogramm Effekte bis in eine fertige Datei ausrechnet. Dasselbe Wort, eine engere Aufgabe: dort liegt die Geometrie schon als Folge von Einzelbildern vor, und das Programm setzt sie zusammen.

Projektion, Strahlen, Schattierung

Die 3D-Projektion bildet dreidimensionale Punkte auf eine zweidimensionale Ebene ab. Die meisten heutigen Bildschirme sind flach, also ist diese Projektion überall. Echtzeitanwendungen in 3D tun das gewöhnlich durch Rasterisierung: Das projizierte Polygon bedeckt einige Pixel, und diese Pixel werden bemalt. Die Rasterisierung fragt bei jedem Polygon, welche Pixel es bedeckt. Die Strahlverfolgung fragt bei jedem Pixel, was das Licht getan hat.

Die Strahlverfolgung gehört zu den Algorithmen der Bildreihenfolge. Sie erzeugt ein Bild, indem sie den Weg des Lichts durch die Pixel einer Bildebene verfolgt. Sie kann einen hohen Grad an Fotorealismus erreichen, gewöhnlich höher als das übliche zeilenweise Rendern (Scanline Rendering), und die Kosten liegen ebenfalls höher. Lange haben diese Kosten sie von interaktiven Maschinen ferngehalten. Die Kosten haben sich verschoben. Die Idee nicht.

Schattierung stellt Tiefe dar, indem die Dunkelheit wechselt. Im technischen Zeichnen war das Wort schon geläufig. Das Mittel wird dichter aufgetragen, oder in dunklerer Farbe, wo die Form sich vom Licht abwendet, und leichter, wo sie dem Licht zugewandt ist. Die Kreuzschraffur ist eine Technik: Linien, die sich im Gitter rechtwinklig schneiden, enger gesetzt, wo die Partie dunkler gelesen werden soll. In der Computergrafik hat sich das Wort erweitert. Es heißt nun auch, dass Shader angewendet werden, kleine Programme, deren Aufgabe es ist, die Farbe eines Abtastwerts festzulegen. Ein Shader kann die Kreuzschraffur nachahmen. Er kann auch tun, was kein Stift kann, weil er die Flächennormale und die Lichter als Zahlen kennt.

Textur, Aliasing, Volumen

Texturieren (Texture Mapping) fügt einer erzeugten Grafik oder einem 3D-Modell Detail, eine Oberflächentextur oder Farbe hinzu. Edwin Catmull hat es 1974 auf die 3D-Grafik angewendet. Eine Texturmap wird auf die Oberfläche einer Form oder eines Polygons gelegt. Der übliche Vergleich ist gemustertes Papier, um eine schlichte weiße Schachtel gewickelt. Es ist ein guter Vergleich, und er versagt an einer Stelle: Das Papier wirft Falten, und einer Texturmap lässt sich sagen, sie solle das lassen. Multitexturing legt mehr als eine Textur zugleich auf ein Polygon. Prozedurale Texturen entstehen durch das Einstellen der Parameter eines Algorithmus. Bitmap-Texturen werden in einem Bildeditor gemalt oder von einer Kamera genommen. Eine Textur auf eine Polygonfläche zu legen verlangt gewöhnlich UV-Mapping, ein manuelles Anordnen der Texturkoordinaten. NURBS-Flächen bringen eine eigene Parametrisierung mit, die als diese Koordinaten dienen kann, ohne ein gesondertes Abwickeln.

Dieselbe Überschrift deckt Normal Maps und Bump Maps, die Höhe vortäuschen, Specular Maps, die Glanz vortäuschen, und Environment Maps, die einen Spiegel vortäuschen. Keine davon ändert etwas daran, dass die Fläche darunter ein grobes Netz sein kann. Sie ändern, was die Lichtrechnung von dieser Fläche glaubt.

Ein auflösungsunabhängiges Objekt, etwa ein 3D-Modell, auf ein Rastergerät wie einen LCD oder eine CRT zu zeichnen, erzeugt Aliasing. Die Artefakte sitzen vor allem längs geometrischer Kanten und längs der Grenzen des Texturdetails. Umgangssprachlich sind es Treppen (Jaggies). Verfahren der Kantenglättung (Anti-Aliasing) mindern sie. Das Bild ist für das Auge leichter, und die Rechnung kostet etwas. Supersampling ist eine Familie solcher Verfahren. Wer eine Einstellung wählt, wählt einen Punkt auf diesem Ausgleich. Eine Bitmap-Textur, die in einer Auflösung vorbereitet und in einer anderen gezeigt wird, ein texturiertes Modell weit von der Kamera zum Beispiel, zeigt Aliasing. Eine prozedurale Textur kann es in jeder Auflösung zeigen, weil sie bis zur Abtastung keine eigenen Pixel hat. Mipmapping und Texturfilterung sind die üblichen Mittel für den Fall der Textur. Sie machen das Problem nicht philosophisch. Sie bringen den Abtastwert auf die Größe, in der er gezeichnet wird.

Volumenrendering zeigt eine zweidimensionale Projektion einer dreidimensionalen Menge von Abtastwerten. Eine typische Menge ist ein Stapel von Schichtbildern aus einem CT- oder MRI-Scanner, in regelmäßigem Abstand aufgenommen, jede Schicht selbst ein regelmäßiges Gitter aus Pixeln. Jedes Volumenelement, auch Voxel genannt, hält einen einzelnen Wert, abgetastet aus seiner unmittelbaren Nachbarschaft. Farbe lässt sich dann nach dem Gewebe zuweisen, sodass Knochen, Muskel und Gefäße in der Projektion getrennt zu lesen sind. Es ist Rendern, und es ist nicht dieselbe Aufgabe wie das Rendern einer modellierten Figur. In den Daten kann keine Fläche liegen, bis der Renderer entscheidet, wo eine erscheinen soll.

Dreidimensionale Computergrafik liegt vor, sobald die Primitiven das Modell eines Körpers sind und nicht eine flache Markierung. Das Vokabular bleibt. Die Menge der Daten, die es zu decken hat, nicht.

Vorher: Flache Bilder: Pixel, Sprites und VektorenNachher: Waren VR-Grafiken ihrer Zeit voraus?