Рефераты. Видеоадаптеры p> К мультимедиа-функциям также относят аппаратную цифровую компрессию и декомпрессию видео (что почти не встречается на массовых видеокартах), наличие композитного видеовыхода, вывод TV-сигнала на монитор, низкочастотный видеовход и высокочастотный TV-вход, модуль для работы с телетекстом и другие функции.

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

3D-акселераторы

Когда в роли двигателя прогресса выступили компьютерные игры, 2D- ускорители (см. Видеоакселераторы) почти исчерпали свои возможности, и эволюция видеокарт пошла по пути наделения их все более мощными средствами ускорения трехмерной машинной графики. Видеоадаптеры, способные ускорять операции трехмерной графики, получили название 3D-ускорителей (синонимом является 3D-акселератор, а также часто встречаемое жаргонное «3Dfx» для обозначения всех 3D-ускорителей, а не только произведенных компанией 3Dfx
Interactive). Вообще, 3D-ускорители существовали и раньше, но областью их применения было трехмерное моделирование и САПР, стоили они очень дорого
(от 1 до 15 тыс. долларов) и были практически недоступны массовому пользователю.

Какие же действия ускоряет 3D-акселератор? В компьютере трехмерные объекты представляются с помощью геометрических моделей, состоящих из сотен и тысяч элементарных геометрических фигур, обычно треугольников. Задаются также пространственное положение источников света, отражательные свойства материала поверхности объекта, степень его прозрачности и т. п. При этом некоторые объекты могут частично загораживать друг друга, между ними может переотражаться свет; пространство может быть не абсолютно прозрачным, а затянутым туманом или дымкой. Для большего реализма необходимо учесть и эффект перспективы. Чтобы поверхность смоделированного объекта не выглядела искусственной, на нее наносится текстура — двухмерная картинка небольшого размера, передающая цвет и фактуру поверхности. Все перечисленные трехмерные объекты с учетом примененных к ним эффектов должны в конечном итоге быть преобразованы в плоское изображение. Эту операцию, называемую рендерингом, и выполняет 3D-ускоритель.

Перечислим наиболее распространенные операции, которые 3D-ускоритель выполняет на аппаратном уровне:

Удаление невидимых поверхностей. Обычно выполняется по методу Z-буфера, который заключается в том, что проекции всех точек трехмерной модели объекта на плоскость изображения сортируются в специальной памяти (Z- буфере) по расстоянию от плоскости изображения. В качестве цвета изображения в данной точке выбирается цвет той точки в Z-буфере, которая наиболее близка к плоскости изображения, а остальные точки считаются невидимыми (если не включен эффект прозрачности), так как они загорожены от нас самой первой точкой. Эта операция выполняется подавляющим большинством
3D-ускорителей. В большинстве современных ускорителей предусмотрены 16- разрядные Z-буферы, размещаемые в видеопамяти на плате.

Закрашивание (Shading) придает треугольникам, составляющим объект, определенный цвет, зависящий от освещенности. Бывает равномерным (Flat
Shading), когда каждый треугольник закрашивается равномерно, что вызывает эффект не гладкой поверхности, а многогранника; по Гуро (Gouraud Shading), когда интерполируются значения цвета вдоль каждой грани, что придает криволинейным поверхностям более гладкий вид без видимых ребер; по Фонгу
(Phong Shading), когда интерполируются векторы нормали к поверхности, что позволяет добиться максимальной реалистичности, однако требует больших вычислительных затрат и в массовых 3D-ускорителях пока не используется.
Большинство 3D-ускорителей умеет выполнять закрашивание по Гуро.

Отсечение (Clipping) определяет часть объекта, видимую на экране, и обрезает все остальное, чтобы не выполнять лишних расчетов.

Расчет освещения. Для выполнения этой процедуры часто применяют метод трассировки лучей (Ray Tracing), позволяющий учесть переотражения света между объектами и их прозрачность. Эту операцию с разным качеством умеют выполнять все 3D-ускорители.

Наложение текстур (Texture Mapping), или наложение плоского растрового изображения на трехмерный объект с целью придания его поверхности большей реалистичности. Например, в результате такого наложения деревянная поверхность будет выглядеть именно как сделанная из дерева, а не из неизвестного однородного материала. Качественные текстуры обычно занимают много места. Для работы с ними применяют 3D-ускорители на шине AGP, которые поддерживают технологию сжатия текстур. Наиболее совершенные карты поддерживают мультитекстурирование — одновременное наложение двух текстур.

Фильтрация (Filtering) и сглаживание (Anti-aliasing). Под сглаживанием понимается уменьшение искажений текстурных изображений с помощью их интерполяции, особенно на границах, а под фильтрацией понимается способ уменьшения нежелательной «зернистости» при изменении масштаба текстуры при приближении к 3D-объекту или при удалении от него. Известна билинейная фильтрация (Bilinear Filtering), в которой цвет пиксела вычисляется путем линейной интерполяции цветов соседних пикселов, а также более качественная трилинейная фильтрация с использованием MIP-карт (Trilinear MIP Mapping).
Под MIP-картами (от лат. Multum in Parvum — «многое в одном») понимается набор текстур с разными масштабами, что позволяет в процессе трилинейной фильтрации выполнять усреднение между соседними пикселами и между соседними
MIP-картами. Трилинейная фильтрация дает особенный эффект при наложении текстур на протяженный объект, удаляющийся от наблюдателя. Современные платы поддерживают трилинейную фильтрацию.

Прозрачность, или альфа-канал изображения (Transparency, Alpha
Blending) — это информация о прозрачности объекта, позволяющая строить такие прозрачные и полупрозрачные объекты, как вода, стекло, огонь, туман и дымка. Наложение тумана (Fogging) часто выделяется в отдельную функцию и вычисляется отдельно.

Смешение цветов, или дизеринг (Dithering) применяется при обработке двух- и трехмерных изображений с большим количеством цветов на устройстве с меньшим их количеством. Этот прием заключается в рисовании малым количеством цветов специального узора, создающего при удалении от него иллюзию использования большего количества цветов. Пример дизеринга — применяемый в полиграфии способ передачи градаций серого цвета за счет нанесения мелких черных точек с различной пространственной частотой. В 3D- ускорителях дизеринг используется для передачи 24-битного цвета в 8- или 16- битных режимах.

Для поддержки функций 3D-ускорителя в играх и других программах существует несколько интерфейсов прикладного программирования, или API
(Application Program Interface), позволяющих приложению стандартным образом использовать возможности 3D-ускорителя. На сегодняшний день существует множество таких интерфейсов, среди которых наиболее известны Direct3D
(Microsoft), OpenGL (Silicon Graphics), Glide (3Dfx), 3DR (Intel), Heidi
(Autodesk), RenderGL (Intergraph).

Интерфейс Direct3D компании Microsoft стал фактическим стандартом для большинства компьютерных игр; и большинство 3D-ускорителей укомплектованы
Direct3D-драйверами. Однако стоит иметь в виду, что Direct3D поддерживается только в среде Windows 95/98, а уже в Windows NT большинство плат не поддерживает аппаратных функций ускорения.

Разработанный компанией Silicon Graphics для своих графических станций
Iris GL интерфейс прикладного программирования OpenGL стал общепринятым стандартом для программ трехмерного моделирования и САПР. Используемый в профессиональных 3D-ускорителях, он позволяет очень точно описывать параметры сцены. OpenGL в настоящее время является открытым стандартом, контролируемым ассоциацией OpenGL Architecture Review Board, в которую помимо Silicon Graphics входят Digital, IBM, Intel, Intergraph, Microsoft и др. Несмотря на это, существует множество диалектов OpenGL. По распространенности в области компьютерных игр OpenGL уступает Direct3D.

Драйвер 3D-ускорителя может поддерживать OpenGL в двух режимах: усеченном MCD (Mini Client Driver) и полном ICD (Installable Client
Driver). Драйвер MCD реализует только базовый набор операций, ICD— высокооптимизированный драйвер, который обеспечивает максимальное быстродействие. К сожалению, многие производители 3D-ускорителей, заявив о своей полной поддержке OpenGL, не обеспечивают ее даже на уровне MCD- драйвера. Наличием стабильных ICD-драйверов могут похвастаться лишь немногие 3D-ускорители (в основном на базе чипсетов 3DPro, Glint, Permedia
2 и RivaTNT).

Интерфейс Glide разработан компанией 3Dfx Interactive для производимых ею ускорителей Voodoo. Glide снискал широкое распространение среди производителей компьютерных игр, хотя, в отличие от OpenGL, Glide не является универсальным 3D API и поддерживает только возможности Voodoo.

В настоящее время наиболее известны следующие 3D-ускорители: ATI 3D
Rage Pro и 3D Rage 128; Intel i740; Number Nine Ticket to Ride IV;
Mitsubishi 3DPro/2mp, Matrox G100 и G200; S3 Savage3D; Riva128 и RivaTNT;
Rendition V2100 и V2200; 3Dlabs Permedia 2 и 3; 3Dfx Voodoo, Voodoo2 и
Voodoo Banshee; NEC PowerVR PCX2. На базе этих чипсетов производятся собственно видеокарты, причем не только перечисленными компаниями, а и компаниями, не выпускающими собственные графические процесоры, например
ASUSTek, Creative Labs или Diamond Multimedia. Современные 3D-видеокарты обладают и функциями ускорения двухмерной графики. Исключением являются ускорители на базе 3Dfx Voodoo и Voodoo2, которые подключаются к выходу обыкновенной видеокарты перед монитором специальным внешним соединительным кабелем. Такое решение ухудшает качество 2D-изображения, и к тому же невозможна работа в оконном режиме. В 3Dfx Voodoo Banshee от этой схемы отказались, и она представляет собой полноценный 2D/3D-ускоритель.

-----------------------
[pic]


Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.