# 3dfx Voodoo Graphics

Der Voodoo Graphics (auch „Voodoo 1“) (Codename SST-1) ist ein im Oktober 1996 vorgestellter 3D-Grafikchipsatz des ehemaligen kalifornischen Unternehmens 3dfx Interactive. Er gilt als erster brauchbarer 3D-Grafikchip im nichtprofessionellen Bereich. Im professionellen Bereich wie beispielsweise bei CAD kamen schon früher Grafikadapter nach dem TIGA- oder 8514/A-Standard zum Einsatz.

## Geschichte

Bereits vor dem Voodoo Graphics präsentierte Nvidia mit dem NV1 einen 2D/3D-Grafikchip, der allerdings mit Curved Surfaces arbeitete, was bei Entwicklern auf wenig Zustimmung stieß.
Nach etwa zweijähriger Entwicklungszeit präsentierte 3dfx Interactive im Oktober 1996 den Voodoo Graphics. Anders als der nVidia NV1 war dieser ein reiner 3D-Chip ohne 2D-Funktionalität und nutzte das Dreieck als Standardprimitiv. Analog zum PCX1 von PowerVR bot er nur eine 3D-Einheit und benötigte eine separate 2D-Karte im selben System. Im Vergleich zu späteren 3D-Beschleunigern und den zu der Zeit gängigen 3D-Grafik-Workstations enthielten diese frühen Grafikbeschleuniger nur die Rasterizing-Einheit, die das Füllen des Framebuffers übernimmt. Die zur Projektion von 3D-Koordinaten auf die zweidimensionale Bildfläche notwendigen Matrixmultiplikationen und die Beleuchtungsberechnungen wurden noch auf der Host-CPU durchgeführt. Die erste 3D-Beschleunigerkarte mit einer funktionierenden Transform & Lighting-Einheit war die Ende 1999 vorgestellte NVIDIA GeForce 256.
In 3D-Anwendungen (z. B. Computerspiele) übernimmt die Beschleunigerkarte die Aufgaben zur Grafikberechnung. Das hatte den großen Vorteil, dass durch die verminderte Auslastung des Hauptprozessors geringere Anforderungen an das Computersystem gestellt wurden. Schon Systeme mit damals relativ leistungsschwachen Prozessoren (ab Intel Pentium mit 90 MHz und 32 MB Arbeitsspeicher) konnten durch den Voodoo Graphics von einer deutlich beschleunigten und vor allem verschönerten 3D-Grafik – eine entsprechende Anwendung vorausgesetzt – profitieren.
Die damals übliche Auflösung in Computerspielen mit 3D-Grafik für den PC war meist auf 320 × 200 Pixel beschränkt. Mit der zusätzlichen 3D-Beschleunigerkarte waren Auflösungen von 640 × 480 Pixel mit einer beeindruckenden Bildverbesserung flüssig spielbar. Dazu war es nötig, die Spiele an die Hardware anzupassen. Den Programmierern wurde dazu von 3dfx Interactive die hauseigene Schnittstelle Glide zur Verfügung gestellt. Da die erreichbaren Verbesserungen aber immens waren, ließen entsprechende Patches nicht lange auf sich warten. U. a. Descent II, Quake sowie Tomb Raider zählten zu den so aufgewerteten Computerspielen. Die damals bereits bestehenden Grafikschnittstellen OpenGL und Direct3D wurden ebenfalls unterstützt.
Die ersten 3D-Beschleunigerkarten mit dem Voodoo Graphics kosteten circa 370 DM.

## Installation

Eine mit dem Voodoo Graphics bestückte 3D-Beschleunigerkarte wird mit einem analogen Loop-Kabel mit der 2D-Grafikkarte verbunden; den Monitor schließt man ebenfalls an die 3D-Beschleunigerkarte an. So installiert, wird das von der 2D-Karte kommende Signal (z. B. die Darstellung einer Kommandozeile oder der Windows-Desktop) durch das Loop-Kabel zum Monitor durchgeschleift.
Durch diese Konstruktion kann es aber bei (damals) hohen Bildwiederholraten und Auflösungen (ab etwa 1280 × 1024 Pixeln) im 2D-Modus zu Qualitätseinbußen kommen. PowerVR verfolgte deshalb ein anderes Konzept über den PCI-Bus, das allerdings deutlich leistungsfähigere Hauptplatinen voraussetzte.

## Eigenschaften

Fast alle (für Ausnahmen siehe unten) Karten mit dem Voodoo Graphics sind mit 4 MByte 50 MHz EDO-Speicher ausgestattet. Durch eine für damalige Verhältnisse ungewöhnliche Dual-Channel Speicheranbindung mit 2 × 64 Bit waren 2 MB Framebuffer für den PixelFX genannten Pixelprozessor und 2 MB Texturspeicher für den TexelFX genannten Texturprozessor reserviert. Der Standardtakt beträgt 50 MHz.
Die angegebene Füllrate beträgt 45 Megapixel (respektive 45 Megatexel). Zum Vergleich, die im Jahr 2000 erschienene GeForce 2 GTS brach als erste Grafikkarte die Grenze von 1 Gigapixel. Der RAMDAC der Voodoo Graphics beträgt 135 MHz. Bei Verwendung des Z-Buffers konnte eine Auflösung von 640 × 480 ansonsten 800 × 600 bei 85 Hz erreicht werden. Dies geschieht mit einer Farbtiefe von 16 Bit (High Color); die so darstellbaren 65.536 Farben waren zur damaligen Zeit revolutionär.
(Die folgende Liste wurde aus dem technischen Handbuch übernommen.)
* dreiecksbasierte Rasterisierungseinheit
* perspektivisches Texture Mapping
* Alpha Blending
* 24 Bit Dithering
* Textur-Antialiasing (hier im Sinne von Edge-Antialiasing) mit Subpixelkorrektur
* linear interpoliertes polygonbasiertes Gouraud Shading
* linear interpoliertes 16 Bit Z-Puffer Rendern
* perspektivisches und gleitkommagenaues 16 Bit W-Puffer Rendern
* unterstützte Interpolationsmethoden zur Texturfilterung: Point Sampling sowie bilineares und trilineares Texturfiltern mit integriertem LOD abhängigen Mip Mapping der Textur
* unterstützte Texturformate
** 8 Bit: RGB(3-3-2), Alpha(8), Intensity(8), Alpha-Intensity(4-4), YIQ(4-2-2) (narrow channel Texturkompression)
** 16 Bit: RGB(5-6-5), ARGB(1-5-5-5), ARGB(4-4-4-4), ARGB(8-3-3-2), Alpha-Intensity(8-8), AYIQ(8-4-2-2) (Alpha + narrow channel Texturkompression)
* „narrow channel“ Texturkompression: 24 Bit RGB nach 8 Bit YIQ
* 2–4 MB EDO DRAM Framebuffer
* 1–4 MB EDO DRAM Texturspeicher
Im Gegensatz zu aktuellen (2013) Grafikkarten bearbeitet die Voodoo nur den letzten Teil der Renderingpipeline, nämlich die Rasterisierung inklusive Texture Mapping von Dreiecken im Bildschirmkoordinatensystem. Moderne Grafikkarten übernehmen zudem die Transformation der Geometrie sowie das Clipping.

## Bekannte 3D-Beschleunigerkarten mit Voodoo Graphics

* Diamond Monster 3D (4 MB)
* Guillemot MaxiGamer 3D (4 MB)
* Orchid Righteous3D (bei dieser Karte hörte man ein Klicken beim Wechsel in den 3D-Darstellungsmodus, da ein mechanisches Relais verwendet wurde)
* Miro Highscore 3D und die baugleiche Canopus Pure 3D (6 MB Grafikspeicher; die zusätzlichen 2 MB sind weiterer Texturspeicher)
* VillageTronic MacMagic (8 MB Gesamtspeicher, je 4 MB Bild- und Texturspeicher)
* Quantum3D Obsidian 100SB 4440/4400 (SLI-Karte mit 20 bzw. 12 MB Gesamtspeicher, die erste Version hat eine zweite TMU wie beim Voodoo2-Chipsatz)

## Software-Emulation der 3dfx Voodoo Graphics

Für die Emulationssoftware DOSBox gibt es einen Patch, der den Voodoo Graphics 3D-Beschleuniger softwareseitig emuliert.