Die Grafikkarte

Gliederung:

1. Allgemeines
2. Entwicklung
3. Funktion
4. Aufbau
5. Typen
6. Hinweise
7. Quellen

1. Allgemeines

Alle Computersysteme sind mit einer Anzeige verbunden. Diese ist der Monitor. Computermonitore sind in vielen verschiedenen Typen und Größen erhältlich. Sie sind ein Teil des Grafiksystems des Rechners. Um ein gutes Bild zu erhalten, sind also zwei Bestandteile verantwortlich:

Diese zwei Elemente müssen zusammenpassen und sich ergänzen, um letztendlich ein gutes Bild auf den Monitor zu bekommen. Auch der beste Monitor wird nur ein mittelmäßiges Bild liefern, wenn er an eine schlechte Grafikkarte angeschlossen ist. Andererseits hat man sein Geld zum Fenster hinausgeworfen, wenn man eine Spitzen-Grafikkarte im Rechner hat, die leider vom Monitor nicht ausgenutzt werden kann.

 

2. Die historische Entwicklung der Grafikkarte

1981
Die ersten IBM-PC's waren mit einem Monochrom Display Adapter (MDA) ausgestattet. Diese konnten nur Text darstellen.

1982
Die bekannteste Weiterentwicklung waren die HGC-Adapter der Firma Hercules (Hercules Graphic Card). Neben der Textdarstellung wurde noch ein Grafikmodus mit einer Auflösung von 720x348 Pixeln beherrscht (2 Farben: Text je nach Monitor grün, bernstein oder bei ganz edlen Modellen papierweiß. Hintergrund schwarz). Dieser Standard wurde schnell uninteressant als die nächste Generation aufkam.

1983
Der PC wird zum ersten Mal farbig mit dem Color Graphics Adapter (CGA). Die Karte beherrschte einen 4-Farben Modus mit 320x200 Pixeln oder den 2-Farben Modus (Schwarzweiß) bei 640x350 Pixeln. Einige CGA-Karten konnten den Hercules Monochrom-Modus ebenfalls noch darstellen.
Die Karte konnte auch einen 160x100 Modus mit 16 Farben darstellen, davon wurde jedoch so gut wie nie Gebrauch gemacht. Die Auflösung war dafür viel zu niedrig und viele Monitore hatten Probleme das darzustellen, da sie das Intensity-Bit nicht auswerten konnten.


Bild 1: CGA-Karte

1985
Der Enhanced Graphics Adapter (EGA) konnte immerhin schon volle 16 Farben darstellen, bei 320x200 oder bei 640x350 Pixeln. Die Karte war abwärtskompatibel zum CGA-Standard. Unterstützung für den Hercules Modus wurde immer seltener und war später nicht mehr vorhanden. Auf der EGA-Karte wurde auch erstmals ein eigenes Grafikkarten-BIOS eingesetzt. Die Vorgänger wurden noch vom PC-BIOS gesteuert.
Die Übertragung der Farben erfolgte im Format R-G-B+Intensity. Durch Aus- und Einschalten der Farben Rot, Grün und Blau konnten 23=8 Farben kombiniert werden. Diese konnten noch per Intensity auf Hell geschaltet werden, wodurch sich 16 Farben ergaben.
Bislang übertrugen alle Karten die Bilder rein digital


Bild 2: EGA-Karte

1987
Mit der Einführung der Rechnergeneration PS/2 brachte IBM auch eine neue Grafikkarte heraus. Die VGA-Karte (Video Graphics Array) arbeitete erstmalig mit einem analogen Signal. Bei 320x200 Pixeln konnte eine Farbtiefe von 256 beliebig definierbaren Farben aus einer Palette von 262.144 Farben dargestellt werden.
Im hochauflösenden Modus bei 640x480 Pixeln waren nur die üblichen 16 EGA-Farben möglich.
Die S(uper)-VGA-Karten sind erweiterte VGA-Karten mit mehr Speicher (256kB, bisher waren es 64kB). Sie konnten Auflösungen bis 800x600 Pixel darstellen, die Möglichkeit 256 Farben anzuzeigen, rückte auf 640x480 Pixel hoch. VGA und alle Nachfolger sind EGA und CGA kompatibel.
Noch besser waren die E(xtended)-VGA-Karten. Sie hatten 512kB Speicher oder mehr und eine Auflösung von mindestens 1024x768 Pixeln. Neben dem 256 Farben-Modus wurde auch der High Color Modus mit 16 Bit (64.000 Farben) und der True Color Modus mit 24 Bit (16 Mio. Farben) eingeführt.

1989
Das VESA-Komitee bringt mit dem VBE (VESA BIOS Extensions) einen Standard in den durch das Wettrüsten entstandenen Wildwuchs. Der übliche Weg war über das BIOS statt über direkte Chip-Programmierung.

1992
Durch Windows-Beschleuniger-Chips wird der Bildaufbau erstmals beschleunigt.

1993
Zwei neue Bussysteme, der VESA Local Bus (VLB) und Intels PCI (Peripheral Component Interconnect), machen Grafikkarten massiv schneller.


1995
nVidia stellt mit dem NV1 den ersten 3D-Beschleuniger-Chip vor. Eine PCI-Karte mit dem NV1 wie die Diamond Edge 3D beherbergte neben einem VGA-Modul mit Windows- und 3D-Beschleunigung noch einen TV Ein- und Ausgang und eine Soundkarte, komplett mit Wavetable. Durchsetzen konnte sich das nicht, da erstens nichts davon richtig funktionierte und zweitens die Programmierer mit der Art der 3D-Bechleunigung des NV1, Curved Surfaces, damals nicht viel anfangen konnten.

1996
3dfx stellt mit dem Voodoo Graphics den ersten wirklich brauchbaren 3D-Beschleuniger vor. Diese steckte man als Zusatzkarte hinzu (z.B. die Diamond Monster), die dann 3D-Grafiken ausrechnete.

1997
Intel definiert den AGP-Bus und stellt somit mehr Bandbreite speziell für den 3D-Bereich zur Verfügung.

1999
nVidia bringt mit der GeForce die erste Grafikkarte mit Transform & Lighting Engine hervor.

Danach folgen kontinuierlich Änderungen und Neuerungen, so dass es zu viel wäre diese auch hier aufzuführen. Im Internet gibt es aber noch weit aus mehr Informationen (siehe auch Quellen).

 

3. Funktion der Grafikkarte

Ursprünglich war die Grafikkarte nur dazu gedacht, die digitalen Bildinformationen des Computers in analoge Signale für den Bildschirm umzuwandeln. Mittlerweile übernimmt die Grafikkarte jedoch (besonders bei Spielen) Aufgaben, die früher die CPU zu erledigen hatte.
Während der Prozessor früher Befehle wie "mach das Pixel mit den Koordinaten 300 und 423 blau" für jeden Bildpunkt einzeln zur Grafikkarte schickte, reicht heute "mach ein Dreieck in blau mit folgenden Koordinaten: ...". Das bedeutet eine enorme Arbeitsersparnis für den Prozessor, da nicht die Eigenschaften von jedem einzelnen Pixel zur Grafikkarte übertragen werden müssen, sondern nur noch die "Bauanleitung" für geometrische Figuren.

Die Grafikkarte erhält ihre Anweisungen über einen Bus (AGP oder PCI, früher auch ISA), die Aufgaben werden im Grafikprozessor abgearbeitet und im Bildspeicher abgelegt. Der Bildspeicher wird mit der eingestellten Bildwiederholfrequenz von RAMDAC ausgelesen (das hat nichts mit der Taktfrequenz der Speicherbausteine zu tun) und dann in analoge Signale für den Monitor umgewandelt.

 

 

4. Der generelle Aufbau

Wesentliche Bestandteile einer Grafikkarte
(Bsp.: ELSA Winner II):


1. Grafikchip, hier durch Kühlkörper verdeckt
2. Bildspeicher
3. Schnittstellen für Monitor
4. RAMDAC: wandelt digitale in analoge Signale um
5. AGP-Interface

Entscheidende Kenngrößen einer Grafikkarte sind Größe und Art des Bildspeichers, die Leistungsfähigkeit des Grafikchips und des RAMDACs sowie das Interface. Der AGP-Bus ist wesentlich leistungsfähiger als der PCI-Bus, allerdings macht sich der Geschwindigkeitsvorteil nur bei einigen Spielen (3D) bemerkbar, da auch der PCI-Bus eine relativ hohe Übertragungsrate bietet. Zum Bildspeicher lässt sich sagen, dass jede heutige Grafikkarte die Anforderungen für normale Anwendungen wie Office-Pakete und Bildverarbeitung (im normalen Rahmen) erfüllt. Bei Spielen und komplexer 3D-Konstruktionssoftware sollte der Speicher möglichst groß und schnell sein.

Auf Grund der enormen Vielfalt und der extrem schnellen Entwicklung im Segment der Speicherbausteine, will ich hier nur die wichtigsten Arten erwähnen. Bis vor etwa 3-5 Jahren gab es nur zwei Sorten Speicher für Grafikkarten, den DRAM und den VRAM. Der Unterschied zwischen beiden besteht darin, dass man VRAM gleichzeitig beschreiben und auslesen kann, was zu einer Geschwindigkeitsverdopplung führt, bei DRAM hingegen ist das nicht möglich. In den letzten Jahren werden auf Grafikkarten vor allem SDRAM und SGRAM verwendet, wobei SGRAM der schnellere ist (100MHz und mehr). Heutzutage ist DDR-RAM gängig.


Bei den Grafikchips gilt das gleiche wie bei CPUs: je teurer, je mehr Transistoren und je höher die Taktfrequenz, desto besser der Chip. Moderne Grafikchips haben auf Grund der rasanten Entwicklung teilweise mehr Transistoren als eine CPU.

Beim RAMDAC ist entscheidend, wie groß der Pixeltakt ist, d.h. wie viel Pixel pro Sekunde zum Monitor geschickt werden können. Davon hängen Zeilenfrequenz (Anzahl der Zeilen, die der Monitor pro Sekunde erzeugt) und die Bildwiederholfrequenz (Anzahl der pro Sekunde komplett aufgebauten Bilder) ab. Damit das Bild nicht flimmert, sollte eine Bildwiederholfrequenz von mindestens 75 Hz in der gewünschten Auflösung erreichbar sein.

Ein Beispiel: Ein Monitor soll bei einer Auflösung von 1024x768 Punkten und 100 Hz betrieben werden. Man multipliziert die Anzahl der Bildpunkte (1024*768 = 786432) mit der Anzahl der Bilder pro Sekunde (hier 100). Man erhält ein Ergebnis von etwa 78 Mio. Pixel/sek. Dazu muss man noch etwa 10% dazuaddieren (Verwaltungsaufwand). Daraus folgt ein minimaler Pixeltakt von 87 MHz. Dieser Wert wird von allen modernen Grafikkarten erreicht.

 

5. Verschiedenen Typen


ATI 8500                      ATI 9700 pro



Voodoo 5500



GeForce 2 MX                      GeForce 4 TI

6. Hinweise

3D-Grafikchip:
Der 3D-Grafikchip ist das Herzstück einer jeden Grafikkarte. Er ist es, der die Berechnungen für das vollzieht, was wir als dreidimensionales Bild wahrnehmen. Bis es jedoch soweit ist, bevor ein einziges fertiges Bild berechnet ist, müssen erst Millionen über Millionen einzelne mathematische Anweisen vollzogen werden. Durch die heutige Technik geht dies schnell genug, um mehrere von diesen Bildern in einer Sekunde auf den Bildschirm zu bringen. Dies ermöglicht es uns frei in diesen virtuellen Welten zu bewegen.
An dieser Stelle folgen grob die Funktionseinheiten des Grafikchips:

* Pixel-Pipeline
Die Pixel-Pipeline ist ein wichtiger Teil eines jeden Grafikchips. In ihr werden die nötigen Berechnungen vollzogen, damit aus den ihr gegebenen Daten ein Bildpunkt berechnet werden kann. Sie teilt auch dem Texture Combiner die eventuelle Farbe der Dreiecke eines Objektes mit.

* Texture Combiner
Der Texture Combiner ist eine Arithmetik-Einheit. Sie kann mit verschiedenen Textur-Formaten umgehen und beherrscht über 20 verschiedenen Operationen. Ihre Aufgabe ist es zwei Texturen logisch miteinander zu verknüpfen. Wenn im Grafikchip, zum Beispiel eine Pixel Pipeline mit zwei Textur-Units arbeitet, so kann sie in einem Durchgang ein Pixel aus 2 kombinierten Texturen berechnen.

* Lokaler Speicher
Der lokale Grafikspeicher ist von essentieller Bedeutung. Ohne ihn könnte der auch noch so schnellste Grafikprozessor nur mäßige Leistung bringen. Er wird in verschiedene Bereiche, die Buffer und den lokalen Texture Cache, aufgeteilt. Je nach Art der Bufferverwaltung gibt es drei, nämlich den Front-, Back- und Z-Buffer, oder vier bei Triple-Buffering, bei dem noch ein zweiter Back-Buffer hinzu kommt. Der Rest verbleibt für lokal gespeicherte Texturen und 3D-Daten wie Vertex-Cache oder Mauszeiger, etc. übrig.

Bump Mapping:
Durch Modulation der Beleuchtung lässt sich der Eindruck von zusätzlichen räumlichen Details erwecken. Die Modulationswerte entnimmt der Pixel-Prozessor der zweiten Textur.

Curved Surfaces:
Um Rundungen darzustellen, muss man sie mit vielen kleinen Dreiecken modellieren. Durch einige Verfahren (Bezier, NURBS,..) ist es auch möglich, Kurven anhand einiger Punkte zu beschreiben. Man kann dann mit Hilfe spezieller Berechnungen die Kurve in Dreiecke zerlegen. Mit geeigneter Hardware würde es nun möglich, diese Berechnungen auf der Grafikkarte auszuführen. Die Anzahl der für die Kurven verwendeten Dreiecke könnte somit individuell an die vorhandene Hardwareausstattung angeglichen werden. Außerdem verringert sich die Buslast für die Übertragung der Dreiecksdaten. Für die sinnvolle Verwendung von Curved Surfaces in Hardware wird jedoch auch eine Hardware-Lighting-Einheit benötigt.


Dithering:
Bei Farbtiefen unter 24 Bit pro Pixel gehen beim Rendern Farbinformationen verloren. Beim Dithern wird versucht diesen Farbfehler über mehrere Pixel zu verteilen, um so mit den Farben benachbarter Pixel Zwischenfarben zu simulieren. Die beiden gängigen Verfahren addieren entweder die fehlenden Farbanteile auf einen benachbarten Pixel (relativ genau), oder sie runden die Farbwerte je nach Position des Pixels unterschiedlich (schnell).

Fogging:
Die Pixel eines Objektes werden dabei mit einer festen Farbe vermischt, deren Intensität mit wachsender Entfernung zunimmt. Sorgt bei Mischung mit Weiß zum Beispiel für atmosphärische Nebeleffekte. Fogging spart außerdem Rechenzeit, da Körper erst ab einer bestimmten Distanz gezeichnet werden müssen.

Hardware Transform & Lighting (T&L):
* Transformation
Die Objekte der 3D-Szene sind in einem globalen Koordinatensystem (World-Space) definiert. Wenn nun der Betrachter seinen Standort oder Blickpunkt ändert, muss die gesamte sichtbare Szene in ein anderes Koordinatensystem transformiert werden, das den Betrachter als Referenz hat. Dafür müssen verschiedene Aufgaben von der Transformationseinheit erledigt werden. Dreiecke werden so zum Beispiel gedreht, skaliert oder verschoben. Die Berechnungen die dabei durchgeführt werden, sind 4x4 Matrix-Multiplikationen. Je nach verwendetem Algorithmus benötigen diese 16 Multiplikationen und 12 Additionen oder 12 Multiplikationen und 9 Additionen. Aufgrund der Menge an Objekten und Transformationen entsteht ein enormer Rechenaufwand, der die Komplexität und Anzahl der Objekte in einer 3D-Szene limitiert. Ein speziell darauf angepasster Chip führt diese Operationen wesentlich schneller aus als eine CPU, die sich außerdem noch um weitere Berechnungen der virtuellen Welt kümmern muss (Physikberechnungen, Kollisionsabfragen, künstliche Intelligenz,...). Dadurch ist es möglich, 3D-Szenen mit einer höheren Detailfülle zu erzeugen.


Modell eines Porsche Boxster bestehend aus über 100.000 Dreiecken

Die Transformationseinheit ist weiterhin auch für die perspektivische Projektion zuständig.

* Lighting
Unter Lighting versteht man die Beleuchtung der 3D-Szene. Dies geschieht mit unterschiedlichen Beleuchtungsmodellen. Das einfachste Modell ist ambient Lighting. Dabei wird von einer Lichtquelle ausgegangen, die alle Objekte mit der gleichen Intensität beleuchtet. Die Lichtstrahlen wurden also schon so oft und von so vielen Objekten reflektiert, dass der Ursprung und die Richtung keine Rolle mehr spielen. Allen Dreieckseckpunkten (Vertices, einz. Vertex) kann also der gleiche Lichtwert zugewiesen werden. Diese Beleuchtungsmethode erfordert keine speziellen Berechnungen und kann auch von der CPU ohne Zeitverlust durchgeführt werden.
Ein etwas komplexeres Modell liegt diffuse Lighting zugrunde. Das Licht hat dabei eine bekannte Position oder Richtung, wird jedoch in alle Richtungen gleichstark reflektiert, so dass die Position des Betrachters keine Rolle spielt. Dadurch kann die Beleuchtung auch vorberechnet werden.
Auf dem komplexesten Modell basiert specular Lighting. Die Position der Lichtquelle sowie die Richtung des Lichtes ist hierbei bekannt. Das einfallende Licht wird dabei an der Normalen eines Dreiecks gespiegelt (Einfallswinkel = Ausfallwinkel). Je nach Betrachterposition bewegt sich ein Glanzlicht auf dem reflektierenden Objekt. Die Helligkeit, die einem Vertex letztendlich zugewiesen wird, setzt sich aus der Summe der verschiedenen Beleuchtungsmodelle zusammen.


3D Winbench Space Station (Quelle: nVidia)

Die Lightingeinheit muss aufgrund der nötigen Berechnungen von Vektorprodukten und Längen Divisionen, Wurzelberechnungen, Multiplikationen und Additionen ausführen. Durch den hohen Aufwand sind aktuelle T&L-Grafikkarten auf maximal 8 Lichtquellen beschränkt. Weiterhin werden die Vorteile von Vertex-Lighting nur bei sehr detaillierten Objekten deutlich, da wie der Name schon sagt, nur den Dreieckseckpunkten ein bestimmter Lichtwert zugewiesen wird. Die Lichtwerte der einzelnen Pixel werden im Allgemeinen durch Gouraud-Shading ermittelt. Dadurch kommt es bei großen Dreiecken vor allem bei specular Lights zu Darstellungsfehlern. In den meisten heutigen Anwendungen werden vorberechnete Lightmaps anstatt Echtzeitlighting verwendet, da diese auf allen Grafikkarten die gleichen Ergebnisse liefern und die Geschwindigkeit nicht so stark beeinflussen. Die Lightingeinheit kann allerdings auch für weitere entfernungsabhängige Berechnungen, wie zum Beispiel range-based Fog eingesetzt werden.

Hidden Surface Removal:
Es wird überprüft, welche Oberflächen der Polygone für den Benutzer im Endeffekt sichtbar sein werden. Nur diese werden dann gerendert, um Rechenzeit zu sparen.

Rendern:
Der für die Darstellung oder Visualisierung eines 3D-Objektes oder einer 3D-Szenerie erforderliche Rechenprozess.


Schnittstellen:
Die Leistung der Grafikkarte kann nur genutzt werden, wenn die Hardware von der Software angesprochen wird. Damit nicht für jede neue Grafikkarte ein Programm umgeschrieben werden muss, wurden verschiedene Schnittstellen entwickelt. Die Grafikkarte muss also ein bestimmtes Format verstehen können, um die Befehle der Software interpretieren zu können. Unterstützt die Hardware die verwendete Software nicht, ist sie nicht lauffähig oder muß vom Hauptprozessor zeitraubend übersetzt werden. Schnittstellen zwischen Hard- und Software werden API's genannt (Application Programming Interface). Das Programm kommuniziert also nicht direkt mit der Hardware, sondern mit dem API.
- Beispiele für 3D-Formate: Microsoft Direkt3D (Spiele), Open GL (Profi-Schnittstelle), GLIDE (Voodoo...), Heidi (nur bei 3D-StudioMax), VRML (Internet)
- Beispiele für Videostandards: AVI (Audio Video Interleave), MPEG-I (Motion Picture Expert Group), MPEG-II, JPEG (Joint Photographic Expert Group)

Shading:
Shading wird verwendet, um ein Objekt schattiert, also beleuchtet, darzustellen. Es ist aber nicht die Beleuchtung selbst, sondern wird in Verbindung mit einem Lighting Model benutzt. Die wichtigste Komponente, um ein Polygon zu beleuchten, ist dabei dessen Normalenvektor. Der Winkel zwischen diesem und den Lichtstrahlen (Vektor aus Richtung der Lichtquelle) bestimmt die Intensität des reflektierten Lichtes. Bei der Beleuchtung wird dabei zwischen ambient Light (Umgebungslicht mit unbekanntem Ursprung und unbekannter Richtung), diffuse Light (Licht mit bekanntem Ursprung) und specular Light (gerichtetes spiegelndes Licht, bekannter Ursprung und bekannte Richtung) unterschieden.


* Flat Shading
Beim Flat Shading wird nur ein Normalenvektor pro Polygon benötigt. Mit dessen Hilfe berechnet man einen Farb- bzw. Beleuchtungswert, der dann für alle Punkte des Polygons benutzt wird. Dies ist sehr schnell und sehr unschön, da es an den Polygonkanten zu sprunghaften Übergängen der Helligkeit kommt.

* Gouraud Shading
Gouraud Shading ermöglicht es mit Hilfe eines Verfahrens des Mathematikers Henri Gouraud innerhalb eines Dreieckes einen feinen Farbverlauf herzustellen. Dazu muss man einen Beleuchtungswert für jeden Eckpunkt berechnen, also auch dessen Normale. Um diese zu erhalten, nimmt man den Mittelwert der Normalen aller angrenzenden Polygone. Sobald man die Beleuchtungswerte für alle Eckpunkte hat, kann man durch Interpolation die Werte aller Pixel des Polygons errechnen.
Gouraud Shading kann dadurch Objekte rund oder gekrümmt darstellen, obwohl sie aus vielen Polygonen zusammengesetzt sind. Specular Light lässt sich allerdings nicht mit Gouraud Shading darstellen.


(Quelle: Proseminar 1997)

Während beim Flat Shading ein Dreieck einheitlich gefärbt ist, besitzt beim Gouraud Shading jede Ecke eine eigene Farbinformation. Aus der Zwischenberechnung dieser Eck - Farbwerte ergibt sich ein sehr weicher Verlauf, der sogar mit weniger Dreiecken für deutlich bessere Ergebnisse sorgt als das Flat Shading.

* Phong Shading
Beim Phong Shading werden die Normalen von allen Punkten ausgerechnet. Die Berechnungen zur Beleuchtung werden dann für jedes Pixel ausgeführt. Somit ist es möglich, auch specular Light darzustellen. Phong Shading bedeutet jedoch einen enormen Rechenaufwand und hat sich bis jetzt noch nicht durchgesetzt.

Texturing:
Muster wie Tapeten, Ziegelwände oder Zebras, die 3D-Beschleuniger auf beliebig geformte 3D-Körper projizieren können. Ohne geeignete Wand-, Boden-, Deckenverzierungen wäre ein Spiel äußerst kahl. Um dies zu ändern setzt man Texturen ein, die dann u.a. auf Polygone "geklebt" werden.

Texture Mapping:
Überlagerung eines Polygons mit einem perspektivisch korrekt dargestellten Textur.

Trilineares Filtering:
Um zwischen zwei Maps weichere Übergänge zu schaffen, fließen in die Berechnungen eines Bildpunktes noch die Farbwerte der beiden Maps mit ein, d.h. es wird zwischen den beiden Maps interpoliert, was die nötigen Speicherzugriffe verdoppelt. Das ergibt die besten Resultate hinsichtlich der Bildqualität, ist aber auch sehr rechenaufwendig.

VESA:
Video Electronics Standards Association. Sie wurde 1989 durch ATI, Chips & Technologies, Everex, Genoa, Intel, Phoenix Technologies, Orchid, Paradise, Video 7 und anderen Firmen eingeführt. Das Ziel war die Entwicklung einer BIOS-Erweiterung, die Hardware-unabhängigen Zugriff auf S-VGA-Karten verschiedener Anbieter möglich machen sollte.

Video Mapping:
Variante des Texture Mappings, bei der die Polygone mit einer animierten Textur (z.B. einer AVI - oder MPEG - Datei) beklebt werden.

Z-Buffer:
Der so genannte Z-Buffer speichert die Positionierung eines Pixels auf der z-Achse ( also in der Tiefe des Raumes). Bei gleicher Bildschirmposition mehrerer Pixel wird aufgrund der Tiefeninformation entschieden, ob der jeweilige Bildpunkt für den Betrachter sichtbar wäre und deshalb zu zeichnen ist oder nicht. Auf Hochleistungs-3D-Grafikhardware ist der Z-Buffer meist als separates EDO-DRAM (Error Checking & Correcting) ausgeführt (Local Buffer). Bei komplexen Objekten sollte der Grafikchip z-Werte mit einer Genauigkeit von 24 oder 32 Bit verarbeiten, um Darstellungsfehler bei feinen Details zu vermeiden. Die für Spiele entwickelte Windows 95-Schnittstelle DirectX arbeitet nur mit 16 Bit.


7. Quellen

www.3dcenter.de
www.cs.uni-magdeburg.de
www.gamestar.de
www.hwo.cidsnet.de
www.iwi.uni-sb.de
www.szut.uni-bremen.de
www.tu-chemnitz.de
www.kmelektronik.de