Życie przed akceleratorami: Renderowanie programowe i poszarpane piksele

W połowie lat 90. trójwymiarowa grafika na komputerach PC była ograniczana przez procesor. Główny procesor Intel Pentium był zmuszony jednocześnie obliczać geometrię wielokątów, podział perspektywiczny i rasteryzację, co ograniczało gry do spikselowanej rozdzielczości 320x200.

Wczesne układy łączące 2D i 3D, takie jak S3 ViRGE, były powolne, przez co zyskały ironiczne miano „3D Decelerator” (opóźniacza 3D). Ekosystem PC desperacko potrzebował dedykowanego krzemu stworzonego specjalnie po to, aby odciążyć rasteryzację 3D.

«Uruchamianie 3D programowo obciążało główny procesor w 100%, generując morze pływających pikseli. Dedykowany krzem był naszym jedynym ratunkiem». (Scott Sellers, współzałożyciel 3dfx Interactive)

Architektura SST-1: Dlaczego dedykowana karta rozszerzeń zdefiniowała granie na nowo

Weterani Silicon Graphics: Scott Sellers, Gary Tarolli i Ross Smith postanowili nie konkurować na zatłoczonym rynku interfejsów 2D dla Windows. Zamiast tego zaprojektowali dedykowaną kartę akceleratora PCI tylko dla 3D, opartą na dwuprocesorowym układzie SST-1: procesorze ramki PixelFX i jednostce zarządzania teksturami TexelFX.

Wymagająca krótkiego zewnętrznego kabla przelotowego podłączonego do głównej karty VGA 2D, karta Voodoo sygnalizowała swoją aktywację niezapomnianym kliknięciem mechanicznego przekaźnika. Błyskawicznie zamglone piksele znikały pod wpływem sprzętowego filtrowania bilinearnego, alpha blendingu w czasie rzeczywistym i 16-bitowego bufora Z.

Kultowa karta akceleratora Diamond Monster 3D oparta na maszcie 3dfx SST-1.
Kultowa karta akceleratora Diamond Monster 3D oparta na maszcie 3dfx SST-1.

Magia API Glide: John Carmack i przełom z GLQuake

Sekretną bronią 3dfx było Glide – usprawnione, niskopoziomowe API wywodzące się z OpenGL, które omijało uciążliwe narzuty sterowników systemu operacyjnego i komunikowało się bezpośrednio z rejestrami sprzętowymi SST-1.

W styczniu 1997 roku John Carmack wypuścił GLQuake. Działając na sprzęcie 3dfx, Quake wyświetlał płynne 60 klatek na sekundę w rozdzielczości 640x480 z dynamicznymi, kolorowymi rozbłyskami rakiet, stanowiąc interaktywny przełom, który natychmiast uczynił programową rasteryzację CPU przestarzałą.

«W momencie, gdy GLQuake zaczął płynnie działać na Voodoo dzięki Glide, era programowego renderowania przez CPU przestała istnieć». (John Carmack, główny programista id Software)

Śmiertelna pycha: Przejęcie STB i potęga Nvidia GeForce

Opływając w sukces z 85% udziałem w rynku, kierownictwo 3dfx popełniło katastrofalny błąd strategiczny. Pod koniec 1998 roku przestali sprzedawać układy krzemowe partnerom takim jak Diamond czy Creative, przejmując producenta kart STB Systems za 141 milionów dolarów, aby samodzielnie produkować kompletne karty graficzne.

Odtrąceni partnerzy masowo uciekli w ramiona Nvidii. Jesienią 1999 roku Nvidia zadziałała śmiertelny cios kartą GeForce 256 wyposażoną w sprzętowy Transform & Lighting (T&L). Przygniecione długami korporacyjnymi, 3dfx zbankrutowało pod koniec 2000 roku, a jego aktywa zostały przejęte przez Nvidię.