Реферат: Видеоадаптеры персональных компьютеров - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Видеоадаптеры персональных компьютеров

Банк рефератов / Радиоэлектроника

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 5264 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Видеоадаптеры персональных комп ьютеров Устройство , которое называется видеоадаптером (или видеоплатой , видеокартой ), есть в каждом компьютере . В виде устройства , интегрированного в системную плату , либо в качестве самостоятельного компонента – платы расширения . Главная функция , выполня емая видеокартой , это преобразование полученной от центрального процессора информации и команд в формат , который воспринимается электроникой монитора , для создания изображения на экране . Монитор обычно является неотъемлемой частью любой системы , с помощью которого пользователь получает визуальную информацию. Стандартные типы видеоадаптеров MDA ( Monochrome Display Adapter - монохромный адаптер дисплея ) - простейший видеоадаптер , применявшийся в первых IBM PC. Работает в текстовом режиме с разрешением 80x25 (720x350, матрица символа - 9x14), поддерживает пять атрибутов текста : обычный , яркий , инверсный , подчеркнутый и мигающий . Частота строчной развертки - 15 Кгц . Интерфейс с монитором - цифровой : сигналы синхронизации , основной видеосигнал , дополнительный с и гнал яркости . HGC ( Hercules Graphics Card - графическая карта Hercules ) - расширение MDA с графическим режимом 720x348, разработанное фирмой Hercules . CGA ( Color Graphics Adapter - цветной графический адаптер ) - первый адаптер с графическими возможностям и . Работает либо в текстовом режиме с разрешениями 40x25 и 80x25 (матрица символа - 8x8), либо в графическом с разрешениями 320x200 или 640x200. В текстовых режимах доступно 256 атрибутов символа - 16 цветов символа и 16 цветов фона (либо 8 цветов фона и а трибут мигания ), в графических режимах доступно четыре палитры по четыре цвета каждая в режиме 320x200, режим 640x200 - монохромный . Вывод информации на экран требовал синхронизации с разверткой , в противном случае возникали конфликты по видеопамяти , проя в ляющиеся в виде "снега " на экране . Частота строчной развертки - 15 Кгц . Интерфейс с монитором - цифровой : сигналы синхронизации , основной видеосигнал (три канала - красный , зеленый , синий ), дополнительный сигнал яркости . EGA ( Enhanced Graphics Adapter - у лучшенный графический адаптер ) - дальнейшее развитие CGA, примененное в первых PC AT. Добавлено разрешение 640x350, что в текстовых режимах дает формат 80x25 при матрице символа 8x14 и 80x43 - при матрице 8x8. Количество одновременно отображаемых цветов - по-прежнему 16, однако палитра расширена до 64 цветов (по два разряда яркости на каждый цвет ). Введен промежуточный буфер для передаваемого на монитор потока данных , благодаря чему отпала необходимость в синхронизации при выводе в текстовых режимах . струк т ура видеопамяти сделана на основе так называемых битовых плоскостей - "слоев ", каждый из которых в графическом режиме содержит биты только своего цвета , а в текстовых режимах по плоскостям разделяются собственно текст и данные знакогенератора . Совместим с MDA и CGA. Частоты строчной развертки - 15 и 18 Кгц . Интерфейс с монитором - цифровой : сигналы синхронизации , видеосигнал (по две линии на каждый из основных цветов ). MCGA ( Multicolor Graphics Adapter - многоцветный графический адаптер ) - введен фирмой IB M в ранних моделях PS/2. Добавлено разрешение 640x400 (текст ), что дает формат 80x25 при матрице символа 8x16 и 80x50 - при матрице 8x8. Количество воспроизводимых цветов увеличено до 262144 (по 64 уровня на каждый из основных цветов ). Помимо палитры , вве д ено понятие таблицы цветов , через которую выполняется преобразование 64-цветного пространства цветов EGA в пространство цветов MCGA. Введен также видеорежим 320x200x256, в котором вместо битовых плоскостей используется представление экрана непрерывной обл а стью памяти объемом 64000 байт , где каждый байт описывает цвет соответствующей ему точки экрана . Совместим с CGA по всем режимам , а с EGA - по текстовым , за исключением размера матрицы символа . Частота строчной развертки - 31 Кгц , для эмуляции режимов CGA используется так называемое двойное сканирование - дублирование каждой строки формата Nx200 в режиме Nx400. интерфейс с монитором - аналогово-циф pовой : цифровые сигналы синхронизации , аналоговые сигналы основных цветов , передаваемые монитору без дискретиз а ции . Поддерживает подключение монохромного монитора и его автоматическое опознание - при этом в видео -BIOS включается режим суммирования цветов по так называемой шкале серого ( grayscale ) для получения полутонового че pно-белого изображения . Суммирование вып олняется только при выводе через BIOS - при непосредственной записи в видеопамять на монитор попадает только сигнал зеленого цвета (если он не имеет встроенного цветосмесителя ). VGA ( Video Graphics Array - множество , или массив , визуальной графики ) - расш ирение MCGA, совместимое с EGA, введен фирмой IBM в средних моделях PS/2. Фактический стандарт видеоадаптера с конца 80-х годов . Добавлен текстовый режим 720x400 для эмуляции MDA и графический режим 640x480 с доступом через битовые плоскости . В режиме 640 x 480 используется так называемая квадратная точка (соотношение количества точек по горизонтали и вертикали совпадает со стандартным соотношением сторон экрана - 4:3). Совместим с MDA, CGA и EGA, интерфейс с монитором идентичен MCGA. IBM 8514/а - специализи рованный адаптер для работы с высокими разрешениями (640x480x256 и 1024x768x256), с элементами графического ускорителя . Не поддерживает видеорежимы VGA. интерфейс с монитором аналогичен VGA/MCGA. IBM XGA - следующий специализированный адаптер IBM. расшире но цветовое пространство (режим 640x480x64k), добавлен текстовый режим 132x25 (1056x400). Интерфейс с монитором аналогичен VGA/MCGA. SVGA ( Super VGA - "сверх " VGA) - расширение VGA с добавлением более высоких разрешений и дополнительного сервиса . Видеореж имы добавляются из ряда 800x600, 1024x768, 1152x864, 1280x1024, 1600x1200 - все с соотношением 4:3. Цветовое пространство расширено до 65536 ( High Color ) или 16.7 млн . ( True Color ). Также добавляются расширенные текстовые режимы формата 132x25, 132x43, 132x50. Из дополнительного сервиса добавлена поддержка VBE. Фактический стандарт видеоадаптера примерно с 1992 г . Устройство типовой видеокарты Она состоит из четырех основных устройств : памяти , контроллера , ЦАП и ПЗУ . Видеопамять служит для хранения изображения . От ее объема зависит максимально возможное полное разрешение видеокарты – A*B*C, где A - количество точек по горизонтали , B - по вертикали , и C - количество возможных цветов каждой точки . Например , для разрешения 640x480x16 дост а точно 256 Кб , для 800x600x256 - 512 Кб , для 1024x768x65536 (другое обозначение - 1024x768x64k) - 2 Мб , и т.д . Поскольку для хранения цветов отводится целое число разрядов , количество цветов всегда является степенью двойки (16 цветов - 4 разряда , 256 - 8 р а зрядов , 64k - 16, и т.д .). Видеоконтроллер отвечает за вывод изображения из видеопамяти , регенерацию ее содержимого , формирование сигналов развертки для монитора и обработку запросов центрального процессора . Для исключения конфликтов при обращении к памят и со стороны видеоконтроллера и центрального процессора первый имеет отдельный буфер , который в свободное от обращений ЦП время заполняется данными из видеопамяти . Если конфликта избежать не удается - видеоконтроллеру приходится задерживать обращение ЦП к видеопамяти , что снижает производительность системы ; для исключения подобных конфликтов в ряде карт применялась так называемая двухпортовая память , допускающая одновременные обращения со стороны двух устройств . Многие современные видеоконтроллеры является потоковыми - их работа основана на создании и смешивании воедино нескольких потоков графической информации . Обычно это основное изображение , на которое накладывается изображение аппаратного курсора мыши и отдельное изображение в прямоугольном окне . Видео к онтроллер с потоковой обработкой , а также с аппаратной поддержкой некоторых типовых функций называется акселератором или ускорителем , и служит для разгрузки ЦП от рутинных операций по формированию изображения . ЦАП (цифроаналоговый преобразователь , DAC) сл ужит для преобразования результирующего потока данных , формируемого видеоконтроллером , в уровни интенсивности цвета , подаваемые на монитор . Все современные мониторы используют аналоговый видеосигнал , поэтому возможный диапазон цветности изображения опреде л яется только параметрами ЦАП . Большинство ЦАП имеют разрядность 8x3 - три канала основных цветов (красный , синий , зеленый , RGB) по 256 уровней яркости на каждый цвет , что в сумме дает 16.7 млн . цветов . Обычно ЦАП совмещен на одном кристалле с видеоконтрол л ером . Видео-ПЗУ - постоянное запоминающее устройство , в которое записаны видео -BIOS, экранные шрифты , служебные таблицы и т.п . ПЗУ не используется видеоконтроллером напрямую - к нему обращается только центральный процессор , и в результате выполнения им пр ограмм из ПЗУ происходят обращения к видеоконтроллеру и видеопамяти . ПЗУ необходимо только для первоначального запуска адаптера и работы в режиме MS DOS; операционные системы с графическим интерфейсом - Windows или OS/2 - практически не используют ПЗУ для управления адаптером , хотя и могут иметь проблемы в работе при ошибках в программе BIOS , не найденных разработчиками . На карте обычно размещаются один или несколько разъемов для внутреннего соединения ; один из них носит название Feature Connector и служит для предоставления внешним устройствам доступа к видеопамяти и изображению . К этому разъему может подключаться телеприемник , аппаратный декодер MPEG, устройство ввода изображения и т.п . На некоторых картах предусмотрены отдельные разъемы для подобных уст р ойств . Видеоускорители (акселераторы ) Ускоритель ( accelerator ) - набор аппаратных возможностей адаптера , предназначенный для перекладывания части типовых операций по работе с изображением на встроенный процессор адаптера . Различаются ускорители графики ( g raphics accelerator ) с поддержкой изображения отрезков , простых фигур , заливки цветом , вывода курсора мыши и т.п ., и ускорители анимации ( video accelerators ) - с поддержкой масштабирования элементов изображения и преобразования цветового пространства. Почт и сразу после появления SVGA , видеоадаптеры стали оснащать акселераторами для аппаратного ускорения работы с графическими операционными системами – прорисовкой и заливкой “окон” , аппаратным курсором “мыши” и пр ., а затем и ускорения некоторых простых , но с ильно загружавших процессор операций работы с цифровым видео – MPEG . Вплоть до переноса на видеочип полного декодера MPEG . В последнее время в области 2 D -графики наметился некоторый застой – ничего нового в этой области уже не было придумано , все видеоплат ы , вплоть до самых дешевых , почти выровнялись по скорости и качеству изображения . Однако рынок видеоплат был прямо таки взорван появлением АКСЕЛЕРАТОРОВ ТРЕХМЕРНОЙ ГРАФИКИ. Основные понятия 3 D -графики Артефакты ( Artefacts ) Артефакт – недостаток , побочный эффект , изъян , присутствующий в изображении . Ниже приводятся названия распространенных артефактов (эти названия используются в описании понятий ), и их английские эквиваленты . Названия в целом условны – у многих предметов нет стандартного названия . Размыто сть Blur смазывание мелких деталей текстуры Муар Moire pattern текстура с регулярной структурой получает инородный рисунок Полосы мипмэппинга Mipmap bands видны границы между текстурами с разными мип-уровнями (на рисунке сверху и снизу ) Пикселизация Pixelization образование "квадратов " при сильном растягивании текстуры и отсутствии билинейной фильтрации Шум Noise, sparkling текстура теряет свою структуру ; при движении текстура не двигается , а "шумит " Нестыковка текстур полигоны не стыкуются между собой , оставляя тонкие светлые или темные промежутки Лестнич ный эффект Jaggies, stair-stepping зубчатость краев полигонов и диагональных линий Z- алиасинг Z-aliasing неправильный расчет глубины Альфа-смешение (Alpha blending) Альфа-смешение – техника создания эффекта полупрозрачности путем объединения исходного пиксела с пикселом , уже находящимся во фрейм-буфере . Каждому пикселу обычно ставится в соответствие значения красного , зеленого и синего компонентов цвета (R,G,B). Если ставится в соответствие еще альфа-значение , то говорят что пикселы имеют альфа-канал (компонент A в схеме RGBA). Альфа-значение определяет степень прозрачности конкретного пиксела . Объек ты могут иметь различную прозрачность , например стекло имеет высокий уровень прозрачности (и таким образом низкое альфа-значение ), а желе – средний уровень . Альфа-смешение есть процесс комбинирования двух объектов на экране с учетом их альфа-каналов . Альф а-смешение используется для : антиалиасинга , прозрачности , создания теней , зеркал , тумана . Антиалиасинг (Anti-aliasing) Алиасинг – результат сэмплинга , то есть преобразования непрерывного изображение в дискретное . Алиасинг ухудшает качество изображения , вызывая разнообразные артефакты : лестничны й эффект , муар и шум . Антиалиасинг призван нейтрализовать подобные артефакты и улучшить качество изображения . По предназначению антиалиасинг делится на краевой и полный . Краевой антиалиасинг – механизм борьбы с лестничным эффектом . Краевой антиалиасинг сг лаживает края полигонов и диагональные линии . Краевой антиалиасинг применяется в 3D-ускорителях Voodoo Graphics, Voodoo 2, Verite V2000. Для реализации краевого антиалиасинга чаще всего используют технику усреднения по площади (area averaging) . Цвет пиксела определяется на основании того , насколько каждый полигон перекрывает данный пиксел . Например , как показано на рисунке ниже , пиксел перекрывают два полигона : A и B. Метод усреднения по площади определяет видимые области , занимаемые полигонам и , которые "прикасаются " к пикселу , и вычисляет результирующий цвет на основании видимых площадей перекрытия (то есть принадлежащих и пикселу , и полигону ). Пусть полигон A занимает 40% площади пиксела , а полигон B – 60%. Результирующий цвет в этом случае о п ределяется цветами A и B c весовыми коэффициентами 40% и 60% соответственно (то есть проводится операция альфа-смешения ). Для линий и точек метод тот же самый , в данном случае считается , что линии и точки имеют ненулевую площадь . К сожалению , альфа-смешение в краевом антиалиасинге приводит к появлению артефакта под названием bleeding (дословно "кровоточение "). Bleeding – окрашивание внутренних ребер в цвет фона , это связано с тем , что между гранями образуе тся тонкий просвет . Поэтому программа сама должна знать , какие ребра и линии нужно сглаживать . Из-за этого краевой антиалиасинг сложно программировать . Полный антиалиасинг , в отл ичие от краевого , направлен на полную нейтрализацию алиасинга . Единственным представителем полного антиалиасинга является субпиксельный антиалиасинг . Субпиксельный антиалиасинг применяется в 3D-ускорителях PVNG, Intel740, nVidia Riva 128 и TNT , а также во в сех профессиональных OpenGL-ускорителях . Субпиксельный антиалиасинг в Intel 740 и nVidia Riva TNT базируется на технике суперсэмплинга . Суперсэмплинг означает , что вся сцена рендерится в каком-то большом виртуальном разрешении , а затем сжимается до фактиче ского разрешения . В общем случае виртуальное и фактическое разрешения могут быть некратными . Техника суперсэмплинга возможна из-за того , что эти ускорители используют tile-based архитектуру . Ускорителю традиционной архитектуры потребовался бы большой объе м памяти (для виртуального разрешения 1600x1200 – более 8 MB). Дело в том , что ускоритель tile-based архитектуры не работает с целым фреймбуфером , а с отдельными фрагментами (tiles). И все данные о субпикселах он хранит только для фрагмента , который рендер и тся в данный момент . В 3D-ускорителях серии Glint от 3 DLabs используется другой метод , основанный на хранении маски . Рассмотрим случай , когда 1 пиксел разбивается на 1 6 (4x4) субпикселов (эта техника называется мультисэмплингом ), а полигоны рендерятся front-to-back (картинка снизу ). Когда рендерится полигон не переднем плане , субпикселы 2,3,4 ,7,8,12 окрашиваются в цвет переднего полигона . Причем запоминается , какие субпикселы попали в передний полигон , то есть маска . Эта маска проверяется когда рендерится задний полигон . Субпикселы 1,5,6,9 окрашиваются в цвет заднего полигона . Субпикселы 2,3, принадлежащие обоим полигонам , не изменяют цвет и таким образом остаются с цветом переднего полигона . В результате – никакого bleedingа . Обратная сторона такого антиалиасинга – это необходимость хранения маски для каждого пиксела и требование сортировки п олигонов front-to-back. Второе требование можно обойти , сохраняя z-координату для каждого субпиксела . Однако хранить z-координаты для всех субпикселей на экране невозможно , так как это требует гигантского объема видеопамяти . Поддержку субпиксельного антиа л иасинга с z-буферизацией реализует техника аккумулятора . Суть его сводится к тому , что обработка ведется последовательно для каждого пиксела и при этом используется одна и та же память . Недостаток : из-за требования последовательной обработки невозможность аппаратного распараллеливания и как следствие уменьшение производительности в число раз , равное числу субпикселов в пикселе . Например субпиксельный антиалиасинг 4x4 снижает производительность в 16 раз , или другими словами увеличивает Fillrate в 16 раз . М ипмэппинг (MIP-mapping) Мипмэппинг (MIP-mapping) использует несколько версий одной текстуры с разной степенью детализации (LOD – level-of-detail), причем следующая версия меньше предыдущей в 4 раза (например 128x128, 64x64, 32x32 и т.д .). Такие версии наз ываются мип-уровнями , а все версии одной текстуры – мип-каскадом . Цели мипмэппинга : Уменьшение времени обработки – для объектов на далеком расстоянии обрабатывать текстуру с низким разрешением гораздо легче Избавление от шума и муара - добавление мип-ур овней с низким уровнем детализации Существует несколько видов мипмэппинга , но все они используют 1 либо 2 соседних мип-уровня . При мипмэппинге , каждый используемый мип-уровень либо увеличивается , либо уменьшается (соотвествие 1:1 статистически редко ). Увел ичение и уменьшение называются соответственно магнификацией (magnification) и минификацией (minification). И минификация , и магнификация имеет свои недостатки . Минификация приводит к underfilteringу (выражающемуся в муаре и шуме ), магнификация - к overfilt eringу (выражающемуся в пикселизации или заблюриванию ). Чем меньше искажается мип-уровень , тем лучше выглядит текстура в конечном итоге . Основные виды мипмэппинга : Простой мипм эппинг (nearest mipmapping) без билинейной фильтрации сейчас не используется . Простой мипмэппинг с билинейной фильтрацией . Самый применяемый метод сегодня . Похож на предыдущий метод , но между текселами выполняется интерполяция . При приближении или удалени и объекта от наблюдателя выбирается подходящий мип-уровень . При приближении к наблюдателю выбирается мип-уровень с бОльшей степенью детализации , при удалении – с меньшей . Что же будет с мип-уровнем в конкретный момент – будет выполняться минификация или м а гнификация ? Это зависит от конкретной реализации и от параметра , называемого LOD-bias . Если в рендеринге доминирует минификация , то на сцене присутствуют шум и муар . Если доминирует магнификация , то текстуры кажутся более размазанными , но муара /шума нет . П ростому мипмэппингу присущ артефакт , выражающийся в резких переходах на текстурированной поверхности (так называемые полосы мипмэппинга ). Это происходит при смене степени детализации , если мип-каскад нарисован некачественно . Трилинейная фильтрация (tri-linear filtering). Наиболее аккуратный способ вычисления цвета пиксела . Трилинейная фильтрация более сложна , нежели предыдущие методы . В отличие от простого мипмэппинга , в котором просто выбирается подходящий уровени детализации , здесь проводится ин т ерполяция между двумя соседними мип-уровнями . Благодаря этому полосы мипмэппинга не образуются . При вычислении цвета пиксела используется 8 текселов (4 при билинейной фильтрации ) и требует 7 операций смешения (3 при билинейной фильтрации ). Использование т р илинейной фильтрации дает гораздо более высокое качество изображения для движущихся объектов. Адаптивная фильтрация частично решает проблему overfilteringа /underfilteringа . Программа выбирает как обрабатывать мип-уровни , отдельно верхний и нижний . Например интерполировать нижний мип-уровень , и не интерполировать верхний мип-уровень , а затем интерполировать полученные текстуры между собой , как при трилинейной фильтрации . Мипмэппинг предполагает , что разработчик сам создает мип-каскад . Однако многие игры име ют лишь текстуры с одним разрешением . Для решения этой проблемы была придумана техника авто-мипмэппинга . Драйвер 3D-ускорителя сам вычисляет несколько мип-уровней , используя основную текстуру (она становится мип-уровнем с максимальной детализацией ). Техник а авто-мипмэппинга используется также для увеличения числа мип-уровней , если игра использует недостаточное их количество (например многие игры используют всего 3 мип-уровня для экономии текстурной памяти ). Мипмэппинг дает высокое качество для полигонов , п реимущественно обращенных на наблюдателя (т.е . расположенных параллельно плоскости экрана ), так как такие полигоны состоят из квадратных пикселов . Однако наклоненные полигонов состоят из неквадратных пикселов , и к проблеме размера пикселов добавляется про б лема формы пикселов . При стандартном подходе фильтр , который хорошо работает с квадратными пикселами , дает сильный алиасинг на неквадратных . Решением этой проблемы является анизотропная фильтрация , которая является более сложным фильтром , чем трилинейная ф ильтрация . Анизотропная фильтрация работает с пикселами как с эллипсами и для получения одного пиксела обрабатывает большое количество текселов (до 32). Морфинг ур овня детализации (LOD morphing) Морфинг уровня детализации (LOD) весьма полезен в играх с большими открытыми пространствами . Его главная цель – обеспечение плавного появления объектов в области видимости игрока . Пример : автомобильный симулятор . Дома , дере вья , которые внезапно появляются в области видимости "ниоткуда ", вызывают неприятное впечатление . В данном случае , при реализации морфинга уровня детализации дома и деревья появляются полностью прозрачными , а по мере приближения к игроку приобретают очерт а ния , становятся более плотными , и в непосредственной близости становятся полностью непрозрачными . Другое , более сложное применение морфинга уровня детализации – реализация объектов с разным уровнем детализации . Создается несколько версий одного объекта с разной степенью детализации : самая низкая детализация для отображения объекта на очень далеком расстоянии , и самая высокая детализация для самого близкого расстояния . Чем выше детализация , тем из большего числа полигонов состоит объект . Это позволяет умен ь шить число полигонов на сцене , и следовательно повысить производительность . Например , нет смысла отображать автомобиль во всей его красе на расстоянии , при котором игрок может различить только цвет автомобиля . Переходы между уровнями детализации осуществл я ется также варьированием прозрачности : смена детализации происходит не мгновенно , непрозрачная (старая ) версия становится прозрачной , а прозрачная (новая ) – более плотной . Версии одного объекта для разных уровней детализации могут готовиться на стадии раз работки , а могут просчитываться в реальном времени методом прогрессивных сеток (progressive meshes). Прогрессивные сетки поддерживаются Direct3D. Мультитекстурирование (Multitexturing) Мультитекстурирование – метод рендеринга с использованием нескольких текстур за минимальное число проходов . Текстуры накладываются на объект последовательно , с использованием разного рода арифметических операций . Мультитекстурирование поз воляет конвейеризировать наложение текстур с использованием нескольких (обычно двух ) блоков текстурирования . Рисунок наглядно демонстрирует выполняемые действия . Первый блок накладывает на пиксел текстуру Tex0, используя операцию Op0, передает пиксел второ му блоку . Этот пиксел передается второму блоку , который натягивает на него текстуру Tex1, используя операцию Op1. В это время первый блок не ждет , а переходит к обработке следующего пиксела , и т.д . Мультитекстурирование похоже на конвейеризацию в микропро ц ессорах , только мультитекстурирование гораздо проще , здесь нет никаких ветвлений и т.п . Операции наложения тумана и альфа-смешения с фрейм-буфером не относятся к мультитекстурированию и выполняются после всех стадий . Мультитекстурирование может использоваться для эффективной реализации таких эффектов как : · карты освещенности (lightmaps) · отражения (reflections) · морфинг текстур (texture morphing) · текстуры с детализацией (detailed textures) Рендеринг (Rendering) Рендеринг – процесс визуализации трехмерных объектов и сохранение изображения в фрейм-буфере . Рендеринг выполняется по многоступенчатому механизму , называемому конвейером рендеринга . Конвейер ренд еринга может быть разделен на 3 стадии : тесселяция , геометрическая обработка и растеризация . Принцип конвейеризации является фундаментальным понятием , в соответствии с ним работают и 3D-ускорители , и 3D-API, – благодаря конвейеру можно рассмотреть работу л юбого из них . Если взять произвольный 3D-ускоритель , то он не будет ускорять все стадии конвейера , и даже более того , стадии могут лишь частично ускоряться им . Далее мы рассмотрим подробнее стадии конвейера в контексте работы 3D-ускорителей . Традиционно к а ждую стадию обозначают буквами . Стадия "T". Тесселяция (триангуляция ) – процесс разбиения поверхности объектов на полигоны (треугольники или четырехугольники ). Эта стадия проводится полностью программно вне зависимости от технического уровня и цены 3D-апп аратуры . Тем не менее тесселятор (программный код , отвечающий за тесселяцию ) должен учитывать особенности того или иного 3D-ускорителя , так как они могут иметь разные требования к полигонам-примитивам : произвольные треугольники треугольники с горизонталь ной нижней или верхней гранью треугольник или четырехугольник с описанием уравнений ребер (бесконечные плоскости ) Также тесселятор должен учитывать , умеет ли работать с сетками (meshes) разных типов . Если 3D-программа разрабатывается на высокоуровневом 3D -API, например Direct3D RM или PowerRender, то ей не надо заботиться обо всех этих деталях , так как такой API имеет свой тесселятор . Стадия "G". Геометрическая обработка делится на несколько фаз , и может частично ускоряться 3D-ускорителем . трансформация (transformation) – преобразование координат (вращение , перенос и масштабирование всех объектов ) отсечение (clipping), выполняемое до и после преобразования координат освещение (lighting) – определение цвета каждой вершины с учетом всех световых источник ов (решение уравнения освещенности ) проецирование (projection) – преобразование координат в систему координат экрана setup – предварительная обработка потока вершин (перевод из плавающей точки в фиксированную точку данных о вершинах , а также сортировка в ершин , отбрасывание задних граней , субпиксельная коррекция ) Наиболее часто люди путаются именно с геометрической обработкой . Это усугубляется тем , что сами производители путают терминологию . (Например 3Dlabs заявляет , что Glint Delta – геометрический сопро цессор , что вообще говоря неверно , Delta – это setup engine.) Большинство существующих 3D-ускорителей ускоряют только последнюю фазу – setup, при том делают это с разной степенью полноты . Говорят , что 3D-ускоритель имеет полный setup engine, если он может переводить в фиксированную точку все данные о вершине . В зависимости от типа примитивов , с которыми работает 3D-ускоритель , речь ведется о triangle setup или о planar setup. Геометрический процессором называется ускоритель , который ускоряет всю стадию гео метрической обработки , в том числе трансформацию и освещение . Реализация геометрического процессора довольно дорого , и как уже было сказано , он является объектом рекламных спекуляций . Определить реализован ли геометрический процессор довольно легко – надо выяснить , поддерживает ли 3D-ускоритель операции с матрицами . Без такой поддержки не может идти речь об ускорении фазы трансформации . Геометрическими процессорами являются например Glint Gamma и Pinolite. Стадия "R". Растеризация – наиболее интенсивная оп ерация , обычно реализуемая на аппаратном уровне . Растеризатор выполняет непосредственно рендеринг и является наиболее сложной ступенью конвейера . Если стадия геометрической обработки работает с вершинами , то растеризация включает операции , проводимые на пи ксельном и суб-пиксельном уровне . Растеризация включает в себя удаление скрытых поверхностей , текстурирование , альфа-смешение , z-буферизация , затенение , антиалиасинг , dithering. Текстурирование (Texture mapping) Текстурирование – основной метод моделирования поверхностей . Текстура – изображени е , накладываемое на поверхность . Использование текстур требует гораздо меньше ресурсов , нежели моделирование поверхности с помощью полигонов . Текстуры хранятся в текстурной памяти , отдельные тексели (точки текстуры ) используются для покрытия текстурой пикс елей перед записью во фрейм-буфер . В зависимости от конкретного метода текстурирования , разное число текселей требуется для обработки одного пиксела . Сэмплинг (point- sampling) – простейший метод текстуриров ания , в котором для отображения одной точки используется всего один тексел (рисунок ниже ). Этому методу присущ серьезный артефакт : когда наблюдатель приближается вплотную к текстурированной поверхности , происходит пикселизация . Для избежания этого артефакта используют другие методы текстурирования , ос нованные на фильтрации текстур . Билинейная фильтрация (bi-linear filtering) использует 4 смежных тексела для получения одного пиксела (рисунок ниже ). Билинейная фильтрация требуе т четыре операции смешения для каждого результирующего пиксела : для двух верхних текселей , для двух нижних и для двух полученных значений . Более сложные методы текст урирования основаны на мипмэппинге . Когда полигоны текстурируются , необходимо учитывать перспективу . Для того , чтобы текстурированные объекты выглядели правильно , необходима перспективная коррекция . Она гарантирует , что текстура правильно наложится на раз ные части объекта . Перспективная коррекция – ресурсоемкая процедура (одна операция деления на каждый пиксел ), поэтому 3D-ускорители должны реализовывать ее аппаратно . Но разные ускорители достигают разного качества перспективной коррекции . Fillrate – скорость текстурирования , измеряемая в пикселах в секунду , является очень важной величиной , и именно ее указывают как основную характеристику 3D-чипсета . Fillrate 100 мл н пикселей /сек означает , что 3D-ускоритель может обработать 100 млн пикселей в секунду , накладывая на них текстуры . На fillrate влияет множество факторов , таких как тип фильтрации , глубина цвета , альфа-смешение , туман и антиалиасинг . Туман (Fog) Туман и спользуется для создания атмосферных эффектов . Туман используется для создания дымки и скрытия удаленных объектов . В первом случае повышается реалистичность сцены , во втором – понижается ее сложность . С туманом объекты могут рендериться с разной степенью детализации в зависимости от расстояния до наблюдателя . Туман работает по принципу : чем дальше объект , тем больше туман его поглощает . Поэтому для удаленных объектов разумно использовать меньше полигонов , чем для близких . Туман также скрывает и переходы м е жду уровнями детализации . Туман можно разделить на полигонный (per-polygon) и пиксельный (per-pixel). Полигонный метод линейно интерполирует уровень тумана по значениям в вершинах для получения уровня тумана в каждой точке полигона . Этот метод хорош тольк о для маленьких полигонов . Пиксельный метод рассчитывает уровень тумана для каждого пиксела , и для больших полигонов дает более реалистичное изображение . Туман также можно разделить и по другому признаку – на линейный и экспоненциальный (или табличный ). П ри линейном тумане степень поглощения объекта туманом линейно зависит от расстояния до наблюдателя , а при экспоненциальном тумане – рассчитывается на основании таблицы . Удаление ск рытых поверхностей (Hidden Surface Removal) Удаление скрытых поверхностей (hidden surface removal – HSR) – комплексный механизм , служащий дл\я уменьшени\я числа треугольников , которые будут участвовать в рендеринге , а также правильном рендеринге с точки з рени\я глубины . Прежде всего надо отбросить все треугольники , которые заведомо не видны . Отсечение (clipping). Отбрасываютс\я все треугольники , которые не попадают в объем отсчечени\я (clip volume), который ограничен шестью плоскост\ями по трем координат ам . Это важнейший метод HSR, который выполн\яетс\я всегда . Отбрасывание задних граней (backface culling). Выполняется проверка , куда "смотрит " треугольник . Это возможно , так как у каждой вершины есть нормаль и поэтому все треугольники являются ориентирова нными в пространстве . Если треугольник смотрит "на наблюдателя ", он считается видимым , а если "от наблюдателя " – то невидимым . Это позволяет снизить вдвое число видимых треугольников , например для вывода сферы , состоящей из треугольников , необходимо сренд е рить только треугольники , составляющие полусферу , которую видит наблюдатель . BSP-деревья . Программный метод HSR для статической геометрии , например уровней в 3D-шутере . Цель BSP-деревьев – упорядочение треугольников спереди назад (front-to-back) и определ ение тех треугольников , которые полностью закрываются другими. После того , как осталось минимум треугольников , надо их отрендерить , причем так , чтобы видимые пикселы были видимы , а невидимые – невидимы . Z- буферизация (z-buffering). Z-сортировка (z-sortin g). Z-сортировка – менее аккуратный программный метод удаления скрытых поверхностей по сравнению с z-буферизацией , также известный как алгоритм Паинтера . Объекты сортируются сзади наперед (back-to-front). Более удаленные объекты рендерятся в первую очеред ь , за ними следуют менее удаленные . Если объекты пересекают друг друга , то ближайший накладывается на дальнего , то есть происходит z-алиасинг. 3D-программные ин терфейсы (3D API) API (программный интерфейс ) – интерфейс для написания программ , поддерживающий оборудование определенного типа и операционную систему . 3D API позволяет программисту создавать трехмерное программное обеспечение , использующее все возможнос ти 3D-ускорителей . API обычно включают в себя функции , глобальные данные , константы и другие элементы , позволяющие разработчику избегать непосредственного взаимодействия с оборудованием . 3D API делятся на универсальные и специализированные. Универсальный 3D API позволяет абстрагироваться от конкретного оборудования . Без универсального API, поддерживающих широкий спектр 3D-ускорителей , разработчиками пришлось бы портировать игры под множество плат . Наиболее известные универсальные 3D API – OpenGL и Direct3D . Специализированный 3D API (Native 3D API) предназначен для одного конкретного семейства 3D-ускорителей и ограждает программиста от низкоуровнего программирования с помощью прямого доступа к регистрам и памяти . Примеры специализированных 3D API – Glide ( от 3Dfx), RRedline (от Rendition), PowerSGL (от Videologic), RenderGL (от Intergraph). Direct3D – 3D API компании Microsoft, предназначенный для использования преимущественно в играх . Direct3D существует только в Windows 95, в скором будущем появится в Wi ndows NT 5.0. Direct3D имеет два режима : RM (retained mode) или абстрактный и IM (immediate mode) или непосредственный . IM состоит из тонкого уровня , который общается с аппаратурой и обеспечивает самое высокое быстродействие . Абстрактный режим – высокоуров невый интерфейс , покрывающий множество операций для программиста , включая инициализацию и трансформацию . У обоих режимов есть достоинства и недостатки , большинство Direct3D-игр используют IM. OpenGL – открытый 3D API, созданный компанией SGI и контролируе мый ассоциацией OpenGL Architecture Review Board, в которую входят DEC, E&S, IBM, Intel, Intergraph, Microsoft и SGI. OpenGL реализует широкий диапазон функций от вывода точки , линии или полигона до рендеринга кривых поверхностей NURBS, покрытых текстурой. Использование универсального 3D API предполагает использование драйверов для этого API. На сегодняшний день наличие драйверов Direct3D и OpenGL является обязательным требованием ко всем 3D-ускорителям . Direct3D-драйвер реализует так называемый уровень а ппаратной абстракции , HAL (Hardware Abstraction Layer) – интерфейс , который взаимодействует непосредственно с оборудованием и позволяет приложениям использовать возможности 3D-ускорителя с маскимальным быстродействием . HAL имеет низкоуровневый доступ к 3D- чипу и реализует 3D-функции на аппаратном или программно-аппаратном уровне . В отличие от HAL, уровень эмуляции , HEL (Hardware Emulation Layer) является программным растеризатором . OpenGL-драйвер может быть реализован в двух вариантах : как ICD и как MCD. I CD (Installable Client Driver) полностью включает все стадии конвейера OpenGL, что дает максимальное быстродействие , но ICD довольно сложно программировать . MCD (Mini Client Driver) разработан для внесения абстракции в конвейер OpenGL. MCD гораздо легче пр ограммировать , так как разработчик программирует только те участки кода драйверы , которые он считает нужным оптимизировать для своего чипсета . Однако MCD уступает ICD в быстродействии , плюс ко всему MCD работает только в Windows NT. Для широкого внедрения OpenGL на платформе Windows 95 сейчас разрабатывается 3D Graphics Device Driver Kit (Комплект разработчика драйверов устройств для 3D-графики ). Новый DDK будет включать переработанный SGI ICD DDK и Direct3D DDK и позволит поставщикам графических микросхем и плат разрабатывать OpenGL-драйверы для Windows 95, Windows NT 4.0, а также Windows 98 и Windows NT 5.0. Наложение рельефа (Bump mapping) Наложение рельефа , или bumpmapping , – продвинутая методика моделирования рельефных поверхностей . Суть bumpmappingа в следующем : в реальном времени рассчитывается рельефная карта , которая используется для симуляции рельефности . Такой рельефной картой может быть карта освещенности или карта смещений UV. Общий вид рельефной карты – DuDvL, где Du/Dv – дельты текстурных коо рдинат environment map, L – освещенность . Прежде всего программист готовит карту высот (height map), которая описывает рельеф в виде множества высот , либо карту смещений нормалей (normal dispmap), которая описывает рельеф в виде нормалей . Для того , чтобы например подчеркнуть показать бугорки и впадины рельефа с помощью светотени , надо затемнить либо осветлить стенки этих бугорков и впадин . Таким образом существенными для bumpmapping являются не сами высоты , их дифференциалы . Рассмотрим два вида рельефных карт по отдельности . Карта освещенности (lightmaps). Каждому пикселу ставится в соответствие значение освещенности L. Карта освещенности рассчитывается с учетом источников света . Полученная карта освещенности накладывается на основную текстуру альфа-смеше нием . Этот метод симулирует рельефность матовой поверхности игрой света и тени . Карта смещений UV (UV-dispmap). Каждому пикселу ставится в соответствие вектор DuDv. Карта смещений UV используются для получения environment map с пертурбацией . Пертурбация о значает , что environment map искажается определенным образом , чтобы передать рельефность . Полученный environment map также накладывается на основную текстуру альфа-смешением . Этот метод симулирует рельефность глянцевой или зеркальной поверхности отражение м окружающей среды . Используя комбинацию карты освещенности и карты смещений UV, можно получать очень красивые модели . Z- буферизация (Z-buffering) Z-буферизация – самый наде жный метод удаления скрытых поверхностей . Z-буфер – область видеопамяти , в которой для каждого пиксела хранится значение глубины . Когда рендерится новый пиксел , его глубина сравнивается со значением , хранимом в z-буфере , точнее с глубиной уже срендеренного пиксела с теми же x и y координатами . Если новый пиксел имеет значение глубины выше значения в z-буфере , это значит что новый пиксел невидим , и он не записывается во фрейм-буфер , если ниже – то записывается . Z-буфер обычно расположен во фреймбуфере , поэт о му при отключении аппаратной z-буферизации место под z-буфер освобождается , что позволяет 3D-ускорителю работать в более высоких разрешениях . Ради получения этих высоких разрешений некоторые игры с несложной графикой используют не Z-буферизацию , а более п р остые методы удаления скрытых поверхностей . Тем не менее отключение z-буферизации может приводить к артефакту , известному как z-алиасинг . Главный аттрибут z-буфера – разрещающая способность . Она критична для высококачественного рендеринга сцен с большой г лубиной . Чем выше разрешающая способность , тем выше дискретность z-координат и точнее выполняется рендеринг удаленных объектов . 24-разрядный z-буфер дает разрешающую способность 16 млн , 32-разрядный – 2 млрд , а 16-разрядный – только 64 тыс . Если при ренде р инге разрешающей способности не хватает , то может случиться , что 2 перекрывающихся объекта получат одну и ту же z-координату , в результате аппаратура не будет знать какой объект ближе к наблюдателю , что опять же ведет к z-алиасингу . При использовании z-буферизации надо позаботиться о том , чтобы глубины были корректны с точки зрения перспективы . Допустим , ускоритель рендерит треугольник с заданными z-координатами трех его верш ин . Он должен рассчитать z-координаты для всех точек , лежащих внутри треугольника . Если их просто интерполировать , то результат получится некорректным с точки зрения перспективы , поэтому их надо корректировать . Но современные 3D-ускорители используют техн и ку , называемую w-буфером . W-координата – величина с плавающей точкой , обратная к z-координате . Всем вершинам ставятся в соответствие именно w-координаты , которые можно интерполировать без перспективной коррекции . Поколения 3 D -акселераторов Вообще-то , функ ции , ускоряющие расчет трехмерной графики , начали появляться в массовых видеочипах давно – с 1995 года . Такие микросхемы , как S 3 Virge и ATI Rage , имели в списке своих возможностей аппаратное ускорение некоторых операций растеризации 3 D -изображения . Однак о они были крайне медленными и в то время еще не появилось стандартных API , а фирменные API практически не были поддержаны разработчиками программного обеспечения. В 1996 году появляются видеочипы с серьезными заявками на гордое звание “ 3 D -ускоритель” – Ve rite 1000 от фирмы Rendition , Matrox MGA-1064SG и nVidia NV 1 (крайне интересный продукт – чип работал на основе расчета не полигонов , а криволинейных поверхностей Безье ; имел затенение по Фонгу , а не по Гуро (это вытекало из неполигонной технологии ); у него была поддержка билинейной фильтрации текстур , мипмэппинга , альфа-смешения , попиксельного тумана – кое-что из этого только начинает внедряться в самых последних или только анонсированных видеочипах ). Но они снова были практически не востребованы производи т елями программ – на горизонте возникли громада Microsoft с ее API DirectX ( Direct 3 D ) и фирма , всколыхнувшая рынок массовой 3 D -акселерации и фактически создавшая его заново – 3 DFX . Чипсет фирмы 3 DFX - Voodoo Graphics ( VooDoo 1) надолго определил стандарты ка чества , скорости и принципов 3 D -графики на PC . Voodoo Graphics состоял из двух микросхем , снабжаемых раздельными банками памяти - Pixel FX и Texel FX. Первая была предназначена для работы с буфером кадров и Z-буфером . Она осуществляла закраску треугольнико в , используя для этого данные , поступающие со второго кристалла , который контролировал буфер текстур и отвечал за все операции по получению данных и их интерполяции . Судя по всему , первоначально эта архитектура разрабатывалась для более серьезных , неигров ы х применений , и первые мощные платы Obsidian (позже и Obsidian II на базе чипсета Voodoo2) использовались военными . Тактовая частота — до 60 МГц . Поддерживалась только память типа EDO (время доступа — 30 — 35 нс ), при этом размер буфера кадров мог достигать 4 Мб , а буфера текстур — 8 Мб . Максимальное разрешение — 800х 600 точек , у платы с буфером кадров емкостью 2 Мб — 640х 480. Скорость заполнения — 50 — 60 млн пикселей в секунду . Производительность — около 500 тыс . треугольников в секунду . Вывод трехмерных сце н в окне Windows не поддерживался (была возможна работа только на полный экран ). Также необходимо отметить ещё несколько особенностей . Первое – это был внешний 3 D -ускоритель , обычная 2 D -видеокарта соединялась с картой на базе VooDoo Graphics посредством ско зного кабеля , а та , в свою очередь , соединялась с монитором , пропуская ее видеосигнал через себя . Когда программа начинала использовать 3 D -функции , тогда VooDoo просто блокировал сигнала обычной видеоплаты и работал сам . Второе – это масштабируемость (масс ово эта технология стала применяться только в Voodoo2), т.е . можно соединить две карты в одну и при этом увеличивается максимальное разрешение и , конечно , скорость . И третье - удобный для программирования API Glide, который поддерживался только картами от 3Dfx и до сих пор еще поддерживается разработчиками программного обеспечения. К тому же , 3DFX не стала лениться и добилась широкой поддержки своего продукта разработчиками игр – путем личных бесед с программистами и руководителями фирм , поставки вариантов своих карт для проверки работоспособности программ и создания (без проволочек и задержек ) SDK ( Software Development Kit ) для Glide и бесплатной рассылки его почти всем девелоперским фирмам. Только почти через год , к концу 1996-нач . 1997 года появился конк урент этому чипсету . И стал им новый продукт фирмы nVidia – Riva 128. Фирма учла свой неудачный опыт с NV 1 и пошла по уже накатанной 3 DFX колее в архитектуре своего чипсета . Новый ускоритель работал с принятой всеми разработчиками программного обеспечения п олигонной технологией но , кроме повторений некоторых идей 3 DFX , имел и свои плюсы . Сразу отметим вдвое большую разрядность шины памяти . Первый плюс . Второй плюс заключается в интеграции 2D/3D ускорителей на одной микросхеме . Также , очень неплохой являлась работа с вводом /выводом композитного видеосигнала (конечно для видеоплаты , у которой эти функции не являются основными ). Микросхема стала одной из первых , кто был совместим с новой графической шиной AGP (не теряя поддержки PCI) и была первой , корректно и о смысленно реализовавшей естественную для AGP архитектуру DIME ( Direct Memory Execution ), которая позволяет отводить часть оперативной памяти компьютера под хранение текстур (AGP Memory ). Таким образом буфер кадров и Z-буфер находятся в локальной памяти пла ты , а большая часть текстур хранится в системной памяти компьютера . Поддерживала работу только с 16 битным цветом . Riva 128 была сильно процессорозависимым чипом - максимальные характеристики были достижимы только на недавно появившихся тогда процессорах кл асса PentiumII . Fillrate составлял 100 млн . пикселей в секунду . Геометрия – до 5 млн . треугольников в секунду . Также существовал несколько доработанный вариант Riva 128ZX с увеличенным объемом памяти до 8 Мб (у обычной Riva 128 – 2-4 Мб ). В конце 1997-нач . 1998 г . (вообще , с тех пор именно это время почему-то стало у фирм любимым временем представления новых 3 D -продуктов ) появились ускорители следующего поколения. Первым вышел новый чипсет от 3 DFX – VooDoo 2. Это было трехчиповое решение – чипсет имел 2 мик росхемы Texel FX 2, работавших под управлением схемы Pixel FX 2. Карты на его основе продолжали традиции VooDoo Graphics и были дополнительными картами для основной видеоплаты . В связи с наличием двух текстурных процессоров , стало возможным наложение двух те кстур за один проход - “бесплатное” мультитекстурирование (“бесплатное” в том смысле , что производительность в режиме мультитекстурирования не падала , по сравнению с однотекстурным режимом , так как в этом случае второй текстурный процессор просто не работ а л ). Тактовая частота кристалла возросла до 100 МГц . Имел 192-битную архитектуру , скорость работы с памятью – 2,2 Гб /с , fill rate – 90 Mpixels / sec , способен обсчитывать 3млн . полигонов /с . Именно в этом чипсете была полностью реализована для массового польз ователя технология SLI (Scan Line Interleave). По этой технологии 2 карты VooDoo 2 устанавливались в систему и соединялись для параллельной работы (одна считала четные строки изображения , а вторая – нечетные ). При этом теоретическая производительность выра стает вдвое (реально чуть меньше ). За счет этого Voodoo2 удавалось долго держаться на плаву. Позже появился и главный конкурент – 3 D -чип Riva TNT ( TwiN Texel ) от фирмы nVidia . Он тоже имел два текстурных конвейера и мог делать однопроходное мультитекстурир ование и трилинейную и анизотропную фильтрацию . Имел 24(16)-битный Z -буфер и 8-битный буфер шаблонов (через который можно было делать интересные эффекты , вроде “правильных” теней ). Fill rate – 250 Mpixels / sec (125 – в режиме мультитекстурирования ), 6 млн . полигонов /с . Обладал прекрасными 2 D - возможностями – имел RAMDAC 250 MHz , акселерацию для распаковки видео форматов MPEG -1 и MPEG -2 (для проигрывания DVD ). Чуть позже TNT , 3 DFX выпустил на рынок первый свой 2 D /3 D -чипсет Voodoo Banshee . Это был вариант Voo doo 2, но без одного Texel FX 2 процессора и со встроенной в чип 2 D -графикой . Был медленнее Voodoo 2 в режиме мультитекстурирования , который фактически вытеснил однотекстурный к этому времени , но все равно обладал неплохой скоростью и качественной графикой , поэтому , хотя и не стал лидером продаж , нашел свою долю рынка. Вышедшие через год чипсеты 3 DFX Voodoo 3 и nVidia Riva TNT 2 являлись эволюционным развитием предшественников и были , по существу , вариантами Banshee и TNT - сделанными на новом технологическом процессе , с исправленными ошибками , добавлением второго текстурного процессора (для Voodoo 3), работающие на более высоких частотах чипа и памяти , и с некоторыми мелкими улучшениями и нововведениями . Так , технологический процесс уменьшился с 0,35 мкм до 0,2 5-0,22 мкм , частоты возросли от 100 до 143-183 MHz , выросло количество адресуемой памяти – до 32 Мб и режимы 32-битной 3 D -графики приобрели вполне рабочую скорость в высоких разрешениях (но не Voodoo 3 – 3 DFX считала , что 32-битный цвет никому не нужен и не интересен ). В настоящий момент главные игроки на поле трехмерной акселерации – фирмы nVidia и 3DFX поменялись ролями (теперь 3 DFX выступает в роли более слабого конкурента nVidia ) выбрали себе разные пути развития , по которым и пытаются повести весь мир з а собой. NVidia выбрала путь создания устройств менее процессорозависимых , способных выполнять весь цикл рендеринга самостоятельно – устройств с аппаратным расчетом трансформации , отсечения и освещения , так называемым hardware T & L ( TCL ). У нее уже вышло дв а чипсета с поддержкой T & L – GeForce 256 и GeForce 2 GTS . Их характеристики впечатляют – хотя они и не намного ( GeForce 2 GTS – всего в 2,5-3 раза ) быстрее чем устройства , которые для этих расчетов используют центральный процессор PC , но зато при этом они поч ти полностью освобождают его от работы над графикой (все занимается специальный графический процессор – GPU ) и позволяют использовать ЦП для программирования физики или искусственного интеллекта противников в играх , для обработки красивого окружающего звук а , процедурных текстур (текстур , расчет которых идет с использованием фрактальной математики ) и пр. К сожалению , пока их новые идеи и продукты слабо поддержаны разработчиками , но такие программы уже появляются , а поддержка hardware T & L в DirectX 7 и OpenGL дает все основания думать , что даром усилия фирмы nVidia не пропадут и что она движется в правильном направлении . К тому же , там где hardware T & L не поддерживается , новые акселераторы могут работать как обычные (но более быстрые ) и все равно являются лидер ами по производительности. 3DFX пошла по пути увеличения fill rate и использования полноэкранного сглаживания . Она разработала архитектуру VSA -100, одночиповое решение с поддержкой 32-битного цвета , которое можно масштабировать , объединяя до 32 чипов (кажд ый со своей собственной памятью ), а по некоторым данным и до 128 чипов , добиваясь при этом fill rate более 3,5 Гигатекселей в секунду ! А еще , при использовании более 2-х чипов на плате , становится доступным использование их новейшей технологии T - Buffer . Те хнология T-Buffer была создана инженерами компании 3dfx с тем , чтобы повысить уровень реализма визуализации 3D графики в персональных компьютерах . Достигнуть этого можно при условии избавления от различных дефектов изображения , возникающих при воспроизвед е нии компьютерной 3D графики . Конечная цель заключается в приближении качества создаваемого изображения на компьютерных системах к качеству изображений , получаемых с помощью фото или видеокамер. Технология T-Buffer, на которой решила сконцентрироваться комп ания 3dfx, должна способствовать обеспечению более качественной визуализации компьютерной 3D графики за счет наложения различных цифровых эффектов в режиме реального времени на сформированное в результате рендеринга изображение . Самыми важными среди предл а гаемых к использованию эффектов являются : full-scene spatial anti-aliasing (сглаживание всей сцены , т.е . удаление неровностей линий и границ полигонов на всем пространстве видимой сцены , чаще называемым просто full-scene anti-aliasing), motion blur (эффек т размытости контуров быстро движущихся объектов , аналогичный тому , который возникает при съемке фотокамерой движущихся объектов ) и depth of field (эффект облегчающий визуальное восприятие конкретных объектов сцены за счет фокусировки только на конкретном о бъекте или части сцена , а все остальная сцена остается не в фокусе , т.е . размывается ). Эффект depth of field позволяет использовать такой параметр , как расстояние между объектами . Делается это за счет введения различных уровней четкости или величины фокус и ровки для каждого объекта сцены . Объект или часть сцены , на которых сделана фокусировка , выглядят более четко , а все остальные объекты или окружающая сцена выглядят более размытыми . Таким образом , внимание наблюдателя может концентрироваться как на близки х , так и на удаленных объектах или частях сцены . Пока компания запаздывает с выпуском своих новых продуктов на VSA -100 – видеоплат серий Voodoo 4 и Voodoo 5, но уже стало известно , что хотя они и имеют fill rate более высокий (не намного ), чем чипы GeForce 25 6 и GeForce 2 от nVidia , но включение функций T - Buffer сильно тормозит их работу (а для карт серии Voodoo 5 6000, которые несут в себе четыре чипа VSA -100 и могут работать с T - Buffer на нормальных скоростях , установлена чрезвычайно высокая цена – более 600 д олларов !). К тому же , все эффекты новой технологии можно использовать на любой видеоплате , которая имеет хорошую скорость – например , уже имеются драйвера с полноценной (и вполне работоспособной по скорости ) поддержкой full-scene spatial anti-aliasing для видеокарт на базе GeForce . А разработчики программного обеспечения новую технологию пока не поддерживают никак , только антиалиасинг можно использовать в любых , даже старых , программах , а новые эффекты должны быть сразу запрограммированы в программах . Так ч то , похоже , T - Buffer , в том виде , как его преподносит 3 DFX , не нужен никому и этот путь ведет фирму в никуда. Я почти не коснулся в своей работе продукции других фирм-производителей видео чипсетов – таких как ATI , Matrox , S 3, Intel , NEC ( Videologi с ), 3 DLab s и других . Все они либо шли по проторенной nVidia и 3 DFX дороге (и при этом не слишком преуспели в скорости и качестве своих продуктов по сравнению с главными конкурентами ), либо (зачастую , к сожалению , совершенно не заслуженно ) их инновации не пришлись “ ко двору” и были или совсем не востребованы (как , например , тайловая архитектура чипов Videologic ), или позднее выпущены в новых продуктах гигантами индустрии. Вот , вкратце , и вся история , классификация и особенности строения и работы видеоадаптеров персон альных компьютеров.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
На мой взгляд, все эти «дневные» и «ночные» кремы – полная профанация: ну откуда крем может знать, который сейчас час?
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru