что такое графический акселератор
Что такое графический акселератор
Наиболее распространенный видеоадаптер на сегодняшний день адаптер SVGA (Super Video Graphics Array супервидеографический массив), который может отображать на экране дисплея 1280х1024 пикселей при 256 цветах и 1024х768 пикселей при 16 миллионах цветов.
С увеличением числа приложений, использующих сложную графику и видео, наряду с традиционными видеоадаптерами широко используются разнообразные устройства компьютерной обработки видеосигналов:
Рис. 2.12. Графический акселератор
· Графические акселераторы (ускорители) специализированные графические сопроцессоры, увеличивающие эффективность видеосистемы. Их применение освобождает центральный процессор от большого объёма операций с видеоданными, так как акселераторы самостоятельно вычисляют, какие пиксели отображать на экране и каковы их цвета.
· Фрейм-грабберы, которые позволяют отображать на экране компьютера видеосигнал от видеомагнитофона, камеры, лазерного проигрывателя и т. п., с тем, чтобы захватить нужный кадр в память и впоследствии сохранить его в виде файла.
· TV-тюнеры видеоплаты, превращающие компьютер в телевизор. TV-тюнер позволяет выбрать любую нужную телевизионную программу и отображать ее на экране в масштабируемом окне. Таким образом можно следить за ходом передачи, не прекращая работу.
Графический акселератор
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер) (англ. videocard ) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.
Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (ISA, VLB, PCI, PCI-Express) или специализированный (
Содержание
История
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа — 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер
Потом IBM пошла ещё дальше и сделала
С 1991 года появилось понятие VBE (VESA BIOS Extention — расширение VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся, перемещение больших блоков изображения из одного участка экрана в другой (например при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс несомненно удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Устройство
Современная видеокарта состоит из следующих частей:
Правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Характеристики
Поколения 3D-ускорителей
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth ) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного «голода» видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024×768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
Видеоакселераторы
Видеоадаптеры VGA (и первые SVGA ) имели ограниченную палитру и низкое разрешение экрана и очень сильно загружали центральный процессор. Причин тому было несколько:
· пассивность графического контроллера при формировании кадрового буфера
· низкое быстродействие видеопамяти
· низкая пропускная способность внутренних шин и интерфейса ввода/вывода
· недостаточное быстродействие и возможности RAMDAC
Эти недостатки и определили основные направления развития видеоадаптеров, приведших к появлению видеоакселераторов, которых мы сейчас называем видеокартами.
Как мы уже отмечали, RAMDAC аппаратно ограничивает количество цветов до 256, т.к. содержит только 256 регистров цвета. Каждый из них кодируется 8-разрядным числом, что определяет максимальное и минимально необходимый объем видеопамяти в 256 Кбайт (2 8 =256). Большее количество видеопамяти может быть полезно только при большем разрешении. Тут то у производителей и появилась мысль использовать большее разрешение. Одновременно с увеличением объема видеопамяти пришлось использовать новые методы ее адресации, поскольку количество пикселей на экране превысило размер адресного пространства (128 Кбайт). Увеличение объема видеопамяти позволило повысить разрешение, но не привело к улучшению цветности изображения – размер палитры по-прежнему оставался равным 256 цветам.
Больших успехов в улучшении цветности производители добились, после выпуска RAMDAC нового типа:
· новый RAMDAC позволял загружать данные из видеопамяти в выходной регистр ЦАП, минуя 8-разрядные регистры ЦАП – это позволило увеличить количество оттенков до 65536 (режим High Color ), кодируя при этом каждый пиксель 16 битами
· вместо 18-разрядного ЦАП стал использоваться 24-разрядный, что позволило отображать 2 24 =16777216 ( True Color )
Аппаратное ускорение
Графический акселератор, пришедший на смену стандартному видеоадаптеру, является активным устройством и значительно повышает быстродействие всей системы в целом. Это достигается путем использования серьезных преимуще ств гр афического процессора (сопроцессора). В такой системе большое количество функций выполняется на аппаратном уровне всего за несколько тактов работы акселератора. Акселератор использует команды высокого уровня для «общения» с остальными подсистемами, что разгружает шину ввода/вывода, т.к. значительно уменьшается поток команд. Кроме того, CPU освобождается от необходимости выполнения и передачи множества элементарных операций с содержимым кадрового буфера.
Акселератор способен аппаратно ускорять большой ряд операций, среди которых есть и построение трехмерных изображений, основа современной графики:
1. Прорисовка графических примитивов ( drawing ). На операциях прорисовки основаны все современные GUI интерфейсы программ и ОС. Параметры примитивов задаются в виде координат в векторном виде. В отличие от растрового представления цифрового изображения они гораздо компактнее и не зависят от используемого разрешения. По координатам легко построить все изображение. К командам прорисовки также относится и простейшая заливка контура ( fill ) и заполнение его узором.
3. Аппаратная поддержка окон ( hardware windowing ). Дело в том, что каждое активное приложение в операционной системе отслеживает «свое» открытое окно и его координаты в одном кадровом буфере оперативной памяти. При использовании hardware windowing каждое приложение использует свой «кадровый буфер», равный размеру открытого окна, так что « перенакрывания » окон к памяти не происходит. Выигрыш в скорости обработки координат окон тем больше, чем больше видеопамяти у видеоадаптера.
5. Аппаратный курсор. Эта технология обеспечивает аппаратную поддержку курсора мыши. Центральный процессор считывает из порта мыши текущие координаты указателя и посылает их акселератору, а тот в свою очередь, просто формирует изображение курсора в нужном месте экрана. Для формирования изображения курсора применяется технология спрайтов ( sprites ), которые временно заменяют участки растра изображением курсора, а затем при его перемещении в другое место их обратно восстанавливают.
Память для видеоадаптеров
Существует также ряд перспективных типов памяти. Среди них RDRAM, DDR SDRAM, 3D RAM, CDRAM, ESDRAM. 3 D RAM предназначена для обработки трехмерной графики. Память является двухпортовой и позволяет осуществлять конвейерную обработку данных. CDRAM представляет собой комбинацию из динамической памяти и скоростного буфера кэширования, выполненного на элементах статической памяти.
Синтез 3 D- изображений
· Конструирование (расчет) объекта на основе его математического описания
· Расчет движения и трансформации его формы
· Моделирование поверхности объекта с учетом различных внешних факторов (освещение, отражение, рельеф)
· Проецирование объекта на плоскость экрана с учетом всевозможных визуальных эффектов
При помощи таких особенностей человеческого зрения как разномасштабность объектов, наложения объектов, использования светотени и эффекта перспективы даже монокулярное изображении создает ощущение объемности.
1. построение геометрической модели поверхности объекта, путем задания опорных точек и уравнений линий (каркаса, wireframe )
3. трансформация ( transformation ) сводится к преобразованию координат вертексов для моделирования перемещения объекта и изменения его формы
4. расчет освещенности ( lighting ) и затенения ( shading ) поверхности объекта состоит из расчета освещенности каждого треугольника, но при этом поверхность объекта становится угловатой, состоящей из маленьких плоских граней разной заливки. Для устранения этого дефекта используются различные методы интерполяции
6. обработка координат вершин ( triangle setup ) элементарных треугольников представляет собой сортировку вершин и отбрасывание задних невидимых граней ( culling )
7. удаление скрытых поверхностей (HSR) – удаление из проецирования невидимых поверхностей объекта
9. моделирование эффектов прозрачности – коррекция цвета пикселей.
11. дизеринг ( dithering ) – интерполяция недостающих цветов
12. формирование кадра и пост-обработка в кадровом буфере в локальной памяти видеоадаптера
Стоит отметить, что для ускорения процесса создания растрового изображения используется механизм двойной буферизации, заключающийся в том, что в видеопамяти выделяется область для хранения одновременно двух кадров (по сути, два «кадровых буфера»). Построение одного начинается до того, как RAMDAC закончит отображение текущего.
· механизм прорисовки (Rendering Engine)
· цифро-аналоговый преобразователь ( RAMDAC )
· дополнительные опциональные блоки
Интерфейс 3D- акселераторов
Стандарт AGP имеет ряд важных особенностей, которые значительно увеличивают эффективную пропускную способность шины. Pipelining – пакетная (конвейерная) передача данных, когда следующий код адреса выставляется на шине сразу, не ожидая появления данных предыдущего адреса, т.е. коды адреса как бы выстраиваются в очередь. Данные последовательность адресов, которых была передана, также пересылаются по шине в виде пакета. В результате, задержка выдачи данных после выставления адреса на шине отсутствует.
И, наконец, помимо режима DMA в стандарте AGP используется DME ( Direct Memory Execution ) – режим, в котором локальная память видеокарты и системная память равноценны и являются одним адресным пространством, так что операции с текстурами могут выполняться как локальной, так и в системной памяти. В этом режиме обмен идет короткими пакетами, так что достигается значительное ускорение операций с текстурами.
Что такое видеоадаптер и графический акселератор?
Видеоадаптер — это электронная плата, которая обрабатывает видеоданные (текст и графику) и управляет работой дисплея. Содержит видеопамять, регистры ввода вывода и модуль BIOS. Посылает в дисплей сигналы управления яркостью лучей и сигналы развертки изображения. |
С увеличением числа приложений, использующих сложную графику и видео, наряду с традиционными видеоадаптерами широко используются разнообразные устройства компьютерной обработки видеосигналов:
Графические акселераторы (ускорители) — специализированные графические сопроцессоры, увеличивающие эффективность видеосистемы. Их применение освобождает центральный процессор от большого объёма операций с видеоданными, так как акселераторы самостоятельно вычисляют, какие пиксели отображать на экране и каковы их цвета.
TV-тюнеры — видеоплаты, превращающие компьютер в телевизор. TV-тюнер позволяет выбрать любую нужную телевизионную программу и отображать ее на экране в масштабируемом окне. Таким образом можно следить за ходом передачи, не прекращая работу.
Что такое клавиатура?
Клавиатура компьютера — устройство для ввода информации в компьютер и подачи управляющих сигналов. Содержит стандартный набор клавиш печатной машинки и некоторые дополнительные клавиши — управляющие и функциональные клавиши, клавиши управления курсором и малую цифровую клавиатуру. |
Все символы, набираемые на клавиатуре, немедленно отображаются на мониторе в позиции курсора (курсор — светящийся символ на экране монитора, указывающий позицию, на которой будет отображаться следующий вводимый с клавиатуры знак).
Наиболее распространена сегодня клавиатура c раскладкой клавиш QWERTY (читается «кверти»), названная так по клавишам, расположенным в верхнем левом ряду алфавитно-цифровой части клавиатуры:
Рис. 2.13. Клавиатура компьютера
Такая клавиатура имеет 12 функциональных клавиш, расположенных вдоль верхнего края. Нажатие функциональной клавиши приводит к посылке в компьютер не одного символа, а целой совокупности символов. Функциональные клавиши могут программироваться пользователем. Например, во многих программах для получения помощи (подсказки) задействована клавиша F1, а для выхода из программы — клавиша F10.
Управляющие клавиши имеют следующее назначение:
Малая цифровая клавиатура используется в двух режимах — ввода чисел и управления курсором. Переключение этих режимов осуществляется клавишей Num Lock.
Клавиатура содержит встроенный микроконтроллер (местное устройство управления), который выполняет следующие функции:
Клавиатура имеет встроенный буфер — промежуточную память малого размера, куда помещаются введённые символы. В случае переполнения буфера нажатие клавиши будет сопровождаться звуковым сигналом — это означает, что символ не введён (отвергнут). Работу клавиатуры поддерживают специальные программы, «зашитые» в BIOS, а также драйвер клавиатуры, который обеспечивает возможность ввода русских букв, управление скоростью работы клавиатуры и др.
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.
Трехмерные графические акселераторы: как выбирать
Основные требования к графическому адаптеру Анатомия трехмерного мультимедиа-акселератора Управление шиной (bus mastering) Наложение текстур с коррекцией перспективы (perspective-correct texture mapping) Освещение (lighting) и затенение (shading) Прозрачность текстур (texture transparency) Аппаратный
Трехмерная графика и виртуальная реальность всегда притягивали пользователей персональных компьютеров. Даже первые авиасимуляторы, созданные с использованием простейшей векторной графики, подстегивали нашу фантазию. В них из «кабины» F-117 открывался вид не на трехгранные холмы среди бескрайней одноцветной равнины, а на реалистические пейзажи неведомых стран. И лишь «милитаристская окраска» происходящего мешала испытывать эстетическое наслаждение.
Основные требования к графическому адаптеру
1. Достаточна ли скорость акселератора и насколько хорошо он работает в DOS и Windows 95?
2. Какие разрешения он поддерживает, какова его цветовая палитра и частота регенерации изображения?
3. Если речь идет о работе в среде DOS, то имеется ли поддержка стандарта VESA, а лучше VESA 2.0?
4. Если речь идет о работе в среде Windows 95, то имеются ли драйверы, поддерживающие стандарт DirectX, с качественным ускорением воспроизведения AVI- и MPEG-видео?
5. Имеются ли аппаратные функции ускорения трехмерной анимации? Каковы качество и скорость прорисовки текстур и трехмерных объектов?
Другое простое, но важное правило заключается в том, что графическая плата должна соответствовать вашему монитору. Необходимо учитывать спецификации на поддерживаемое максимальное разрешение и частоту развертки. Не покупайте графический адаптер профессионального уровня, если ваш монитор не обеспечивает разрешение хотя бы 1280×1024 при частоте регенерации 75 Гц. В наши дни задача несколько упростилась, так как введены новые спецификации DDC (VESA Display Data Channel), позволяющие совместимым устройствам (монитору и графическому адаптеру) автоматически подстраиваться друг к другу и работать при наилучших комбинациях разрешения и частоты развертки. Но подбор оптимальной пары «монитор-адаптер» все равно остается за вами.
Современные мониторы могут работать при разрешении 1600×1200 с частотой регенерации до 85 Гц. Для большинства пользователей 15-дюймовых мониторов достаточно, чтобы система поддерживала режимы 800×600 и 1024×768 при 24-разрядной глубине цвета (16 млн. цветов) с частотой регенерации в 75-85 Гц. Это даст некоторую гарантию, что вы не испортите зрение, проводя долгие часы перед компьютером. Безусловно, современный монитор просто обязан иметь цифровые настройки. И позаботьтесь о том, чтобы дисплей соответствовал стандарту MPR-II, а еще лучше рекомендациям TCO-95.
Анатомия трехмерного мультимедиа-акселератора
Управление шиной (bus mastering)
Эта функция необходима для достижения высокой частоты кадров. Существует два режима управления шиной. В первом режиме графический процессор запрашивает текстурные карты напрямую из системной памяти, не обращаясь к центральному процессору. Второй режим позволяет графическому процессору обрабатывать команды синхронно с центральным процессором. При этом информация о полигонах, из которых состоит объект, может быть просчитана центральным процессором и передана на обработку графическому процессору, а тем временем центральный процессор начнет обсчет нового кадра. Наличие этих режимов существенно повышает производительность акселератора.
Наложение текстур с коррекцией перспективы (perspective-correct texture mapping)
Освещение (lighting) и затенение (shading)
Освещение играет очень большую роль в визуальном восприятии трехмерного мира. Умело пользуясь светом и тенями, можно оптически сгладить угловатость трехмерных моделей, акцентировать внимание на определенных деталях и спрятать ненужные фрагменты. Поэтому аппаратная реализация функций освещения и затенения позволяет добиться более высокого качества изображения без участия центрального процессора.
Прозрачность текстур (texture transparency)
Аппаратный Z-буфер
Использование Z-буфера (выделенного буфера в ОЗУ графической платы для хранения данных о трехмерных объектах) необходимо, когда два объекта в трехмерном мире пересекаются относительно вашей точки зрения. Эта функция позволяет определить, какая часть одного объекта заслонена другим, и соответственно как именно необходимо прорисовывать изображение. Для Z-буфера требуется определенный объем памяти в кадровом буфере, поэтому его применение даже при базовых разрешениях (320Ё240, 640Ё480) возможно только при наличии как минимум 4-Мбайт ОЗУ. Однако расходы на дополнительную память оправдывают себя, так как все больше игр используют Z-буфер (например, Quake, US Navy Fighters`97) и без него производительность существенно снижается (в отсутствие Z-буфера обсчет изображений осуществляется программно, через центральный процессор).
Оптимизированные текстуры (Palletized textures)
Многоуровневые текстуры (MIP mapping)
Использование «тумана» (Fogging)
Смешивание текстур (Blending)
Итоги
Можно еще долго перечислять разнообразные трехмерные функции и технологии, но большинство из них встречаются только в профессиональных графических системах, поэтому здесь мы их касаться не будем. Чтобы помочь читателю сориентироваться в этом разнообразии графических плат, представленных на современном рынке, мы приводим таблицу, где перечислены практически все новейшие разработки в области трехмерных графических процессоров и новые продукты на их основе.
Акселераторы можно разделить на две группы: использующие собственные оригинальные технологии ускорения трехмерной графики и оптимизированные для стандартных программных интерфейсов (API). Такая ситуация сложилась из-за отсутствия единого стандарта, и если в Windows 95 доминирующее положение теперь занимает Microsoft Direct3D, то в DOS эта проблема до сих пор не решена. Каждый производитель пишет собственные программные интерфейсы для реализации возможностей своего акселератора. Это значит, что если игра не написана специально для данного графического процессора, то она не сможет использовать встроенные в него специальные функции. Наибольшую поддержку со стороны создателей программного обеспечения получили следующие графические процессоры: 3Dfx Voodoo (компании 3Dfx Interactive), 3D Rage II (ATI Technologies), MGA-1064SG (Matrox), Verite (Rendition) и семейство Virge (S3). Имеется примерно два десятка игр для среды DOS, которые используют возможности данных акселераторов (специальные версии Mech Warrior II, Descent II, Quake, Destruction Derby II, Tomb Rider и др.). Но скорее всего, поддержка трехмерной акселерации в DOS так и не получит широкого распространения, потому что большинству разработчиков проще делать программы для Windows, ориентируясь на утвердившийся стандарт Direct3D и совместимое с ним оборудование. В таком случае акселераторы, использующие нестандартные трехмерные функции (такие как Nvidia NV1 и NV3, NEC PowerVR), вряд ли смогут реализовать их в Direct3D-играх. Наибольшего внимания заслуживают следующие платы.
ATI 3D Pro Turbo PC2TV. Наиболее сильный конкурент Matrox. Эта плата имеет лучшее качество воспроизведения MPEG-видео. Поставляется с 4- или 8-Мбайт ОЗУ (SGRAM). У 3D Pro Turbo самый полный среди всех протестированных акселераторов набор трехмерных функций, драйверы хорошо оптимизированы для DirectX. Следует отметить наличие встроенного видеовыхода (S-Video и VHS), позволяющего демонстрировать компьютерное изображение (с разрешением до 1600×1200) на телеэкране и записывать его на видеомагнитофон.
miro Crystal 3D (Media 3D) и miro Crystal VR4000. Crystal 3D сделан на основе S3-Virge, поставляется с 2-Мбайт ОЗУ и является одним из самых недорогих трехмерных акселераторов. Crystal VR4000 использует более мощный процессор S3-Virge/VX и 4-Мбайт EDO VRAM. Функционально практически во всем совпадает с Diamond Stealth 3D 3000 и STB Velocity 3D, но, кроме того, подобно ATI 3D Pro Turbo PC2TV имеет встроенный преобразователь VGA-сигнала в телевизионный. При этом графические платы серии Crystal демонстрируют достаточно высокую производительность и стабильную работу драйверов.
Diamond Monster 3D. Использует графический процессор 3Dfx Voodoo Graphics, 4-Мбайт ОЗУ. Интересен в первую очередь тем, что не является самостоятельным графическим акселератором, а устанавливается вместе с любым SVGA-адаптером. Оптимизирован для трехмерных игр, поэтому по некоторым показателям существенно опережает своих «универсальных» коллег. В первую очередь это заслуга технологии 3Dfx Voodoo, которая является одной из наиболее перспективных и широко поддерживается производителями игр.