Voodoo

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску

Voodoo - серия графических ускорителей компании 3dfx Interactive.

Voodoo были одними из первых графических ускорителей для ПК. Самые первые платы на Voodoo1 (Voodoo Graphics) являлись исключительно графическими ускорителями и связано это было с тем, что на видеокартах того времени не было аппаратной поддержки 3D-графики - они могли прорисовывать только в 2D. А, вставив в свободный pci-слот компьютера плату с чипом Voodoo1, владелец получал и аппаратный 3D-рендеринг.


Видеокарты серии

Поначалу у 3dfx не было своего завода, поэтому массово видеокарты производились на заводах других фирм. Основным был завод фирмы STB, который позднее и был выкуплен 3dfx Interactive.

Voodoo Graphics

Серия первых графических ускорителей от 3dfx Interactive, выпущенных в 1997 году. Являлись только ускорителями - для прорисовки в 2D требовалась отдельная видеокарта.

Схема подключения выглядела примерно так: У Voodoo были входной и выходной разъёмы VGA. Видеокарта соединялась снаружи со входным разъёмом Voodoo посредством специального Pass-Through-кабеля VGA-VGA (шёл в комплекте с Voodoo). Монитор же подключался к выходному разъёму Voodoo. Таким образом, при обычной прорисовке в 2D сигнал шёл сначала от видеокарты к Voodoo, а тот просто пропускал его через себя на монитор. В случае, когда требовался 3D-режим, сигнал от видеокарты блокировался, а прорисовкой уже занимался сам Voodoo. Надо заметить, что такая схема прорисовки 2D в ряде случаев заметно влияла на изображение монитора - оно становилось нечётким, потому что сигнал на пути к монитору проходил адский круг - Pass-Through-кабель.

Плата на Voodoo имела PCI-интерфейс. Основными архитектурными особенностями типичного ускорителя, основанного на Voodoo Graphics, было то, что он состоял из двух чипов. Один из них являлся текстурным блоком (TMU - Texture Mapping Unit), а второй олицетворял фрейм-буфер (FBI - Frame Buffer Interface). Всего на борту типичного Voodoo Graphics было 4Мб памяти, которые делились между текстурным блоком и фрейм-буфером пополам. Таким образом, поскольку фрейм-буфер был ограничен двумя мегабайтами памяти, максимальное разрешение, которое он способен был показать в 16-битном цвете при включенном аппаратном z-buffer - это 640x480, без аппаратного z-buffer - 800х600, однако картинка в этом случае оставляла желать лучшего. Voodoo Graphics не поддерживал 3D-рендеринг в окне. Прорисовка была возможна только в 16-битном цвете - поддержка 32-битного цвета отсутствовала, однако на тот момент очень редкие игры использовали 32-битные текстуры. Стандартная частота чипсета равнялась 50Мгц, но Voodoo Graphics можно было разгонять и настраивать. Для этого использовались системные переменные в DOS/Windows.

Важно отметить, что уже в 1996 году 3dfx Interactive разработала технологию SLI (Scan Line Interleaving), суть которой заключалась в том, что она позволяла объединить усилия двух видеокарт на базе Voodoo Graphics. В этом случае одна из них будет прорисовывать на экран только чётные строки, а другая нечётные. Это даёт возможность увеличить производительность примерно в полтора раза, а также увеличить разрешение экрана. Однако, в 1997 году эта технология была применена лишь на профессиональных решениях от 3dfx Interactive, таких как Obsidian 100SB, которые не были предназначены для рынка PC. А обыкновенные платы на Voodoo Graphics для PC хоть и имели поддержку SLI, но разъём для соединения двух ускорителей у таких карт отсутствовал.

3dfx Interactive разработала свой API для Voodoo и очень многие производители компьютерных игр разрабатывали свои игры под этот API. Это дало невероятный успех компании и Voodoo получился королём своего времени: по производительности в играх ему не было равных, с другой стороны, и цена на Voodoo Graphics была достаточно высока.

Поддержка сторонних API видеокартами Voodoo Graphics также имела место быть. В частности, большинство Direct3D-игр запускались на Voodoo Graphics без проблем. Некоторые OpenGL-игры могли не заработать из-за того, что Voodoo Graphics не поддерживал 3D-рендеринг в окне.


Voodoo Rush

Видеокарты, построенные на чипсете Voodoo Rush в 1997 году были первой попыткой 3dfx Interactive сделать полноценную 3D-видеокарту, а не просто ускоритель. В итоге получилась громадных размеров PCI-плата, которая помещалась не в каждый корпус. На плате присутствовали отдельно: чипсет Voodoo Rush (1xTMU + 1xFBI) и 2D-чип от Alliance Semiconductor. То есть, единого 2D/3D-ядра так и не было - за 2D отвечал отдельный чип. Объём графической памяти у типичных представителей - 6-8 Мбайт. У этих видеокарт также отсутствовал 32-битный цвет, но имелась возможность рендеринга в окне! Однако оборотной стороной медали оказалось снижение производительности из-за необходимости синхронизации работы 3D-чипа с более медленным 2D-чипом.


Voodoo²

Второе поколение графических ускорителей от 3dfx Interactive. Массово выпускались в 1998 году.

Карты на основе Voodoo² также являлись исключительно 3D-ускорителями с такой же схемой подключения к видеокарте и имели PCI-интерфейс. Состав чипсета пополнился ещё одним текстурным блоком (TMU), увеличилась частота чипсета до 90Мгц, количество памяти на борту карт также увеличилось и в основном варьировалось от 8 до 12Мб на одну плату, а это означало, что максимальное разрешение в 16-битном цвете с аппаратным z-buffer теперь стало 800х600, без него - 1024х768. Рендеринг в окне по-прежнему отсутствовал, 32-битный цвет тоже. На этих картах уже был реализован SLI. Объединение позволяло увеличить производительность и максимальное разрешение до 1024х768 со включенным z-buffer.

Как следствие того, что чипсет обзавёлся вторым TMU, стало возможным накладывать две текстуры за один проход, что давало ощутимый буст в производительности! Это назвали мультитекстурированием, однако 3dfx не запатентовала эту технологию, впрочем, как и SLI.

В драйверах были всё те же поддерживаемые API: Glide, Direct3D, OpenGL (MCD - miniport client driver). Наконец, в разделе настроек в драйверах появилась закладка для разгона. Выходило всё больше игр с поддержкой Glide, 3dfx на какое-то время стал синонимом 3D вообще.


Voodoo Banshee

В 1998 году в 3dfx Interactive осознали, что будущее за 2D/3D-ядром, а не отдельными ускорителями. Результатом этого осознания явились платы с единственным чипом - Voodoo Banshee. Надо сказать, что 2D-часть ядра была выполнена на славу - максимальное поддерживаемое разрешение равнялось 1900х1200 в 32-битном цвете! Однако с 3D-составляющей всё было не так гладко. За основу 3D-составляющей, конечно же, был взят чипсет Voodoo², но у него остался только один текстурный модуль (TMU) вместо двух, что лишало Banshee аппаратной поддержки мультитекстурирования. Также, как и у предшественника, у Banshee отсутствовала возможность 3D-рендеринга в 32-битном цвете, зато максимальное разрешение в 16-битном увеличилось до 1900х1200. Платы выпускались в двух вариантах: AGP2x и PCI, однако никаких возможностей AGP Banshee не использовал.

Из-за отсутствия поддержки мультитекстурирования Banshee уступал Voodoo² по производительности в играх, которые эту технологию использовали.

Voodoo³

Третье поколение графических ускорителей от 3dfx Interactive. Массово выпускались в 1999 году.

Это семейство разделилось на несколько моделей. Самыми популярными были:

  • Voodoo³ 2000 ()
  • Voodoo³ 3000
  • Voodoo³ 3500

Поддерживаемые API

Voodoo поддерживает 2 API:

  • Direct3D (6 версии, частично 7)
  • Glide (созданный специально для семейства Voodoo)

Дополнительно для игр с поддержкой OpenGL был введена частичная эмуляция OpenGL средствами Glide. Время выхода - ориентировочно после GLQuake/Quake2. Эмуляция реализовывала не все, а только необходимые играм функции OpenGL 1.1 (полной аппаратной поддержки OpenGL в Voodoo 1 и 2 нету, да и в 3 только по функциям, например невозможность работать в цветности >16 бит сразу делала Voodoo неприемлемым для всех профессиональных OpenGL приложений вроде 3DStudio Max).

Для поддержки Voodoo игра должна поддерживать API Glide либо Direct3D/OpenGL неполный, но это умеют и остальные ускорители. Более новые игры, поддерживающие аппаратное ускорение, обычно не могут работать с этим ускорителем, так как поддержка Glide просто не вставлена в код игры.

Некоторые старые игры, наоборот, поддерживают из ускорителей только Voodoo через Glide. Для работы таких игр на современных видеокартах нужен какой-либо Glide wrapper.

Есть драйверы для Voodoo1 и для XP (Glide+OpenGL Miniport), но без Direct3D; аналогично для XP64. Всё это сторонние проекты, ибо 3DFx Interactive мертво и куплено NVIDIA.

Для Voodoo2 и выше официальные и неофициальные драйвера поддерживают все API (кроме, само собой, OpenGL, который минипорт опять же вплоть до Voodoo4/5, где наконец-то сделали полную поддержку, у Voodoo3 неофициальный минипорт фактически соответствует полной реализации OpenGL 1.1).



Видеокарты серии

Voodoo Rush - недовуду: видеокарта + ускоритель , 6/8 мб памяти (2/4 мб видеокарта+4 ускоритель), много проблем с совместимостью.

Voodoo1 - просто Voodoo1 от разных брэндов. Есть одно исключение - фактически 2 Voodoo на 1 плате , модель уточняется. Размер памяти 4 мб, исключение - Canopus Pure3D - 2 мб фреймбуфер+4 мб текстурная память (обычно 2+2).

Voodoo2 - 8 или 12 мегабайт редакции, поддержка SLI.

3dfx Banshee 16MB AGP

Voodoo Banshee - ??/16 мб редакции. Не считая Rush это фактически первый Voodoo как самостоятельная видеокарта.

Voodoo3 - 2000, 3000, 3500+TV.

Voodoo4-5 - первая карта фактически 8MB Velocity (да, оно на ядре прообразе Voodoo4, а не 3), различные виды и вариации вплоть опять же до фактически SLI на 1 плате Voodoo5.

См. также