Как ни странно, основным двигателем прогресса 3B-технологий являются игры — именно любители компьютерных игр являются главными (самыми массовыми) потребителями 3В-акселераторов. Более «серьезные» применения движущейся трехмерной графики — различные тренажеры-имитаторы полетов и езды — по сути тоже являются играми, только для серьезных людей. Трехмерная анимация, применяемая в современном телевидении и кинематографии, пока что реализуется не на массовых персональных компьютерах, а на более мощных рабочих станциях, но и там используются практически все вышеописанные элементы технологии.
Технологии построений, выполняемых 3B-акселераторами, постоянно совершенствуются, и описать все применяемые приемы в данной главе просто невозможно. Все новшества нацелены на достижение фотореалистических изображений игровых сцен с большой скоростью смены кадров (до 100 кадров/с), на экранах с большим разрешением (до 2048 х 1536) и в полноцветном режиме (True Color, 32 бита на пиксел). Конечно же, эти цели достигаются не ускорением «честных» расчетов для каждого элемента модели, а разными «обманными» приемами вроде текстур. Новинки технологий, применяемых в акселераторах, будут давать видимый (в прямом смысле) эффект, если их будут знать и использовать соответствующие приложения (игры) и поддерживать драйверы, через которые приложения взаимодействуют с аппаратными средствами графической карты. Именно драйверы отвечают за распределение обязанностей между центральным процессором и графическим процессором акселератора, и их корректность определяет качественные и количественные параметры графического конвейера. Много интересных подробностей работы 3B-акселераторов можно узнать на сайте iXBT.com, где публикуются обзоры новинок, а также статьи по теории трехмерных построений. Мощность акселератора определяется списком реализуемых функций рендеринга и качеством их выполнения, а также производительностью, измеряемой как по входу, так и по выходу. Поскольку на входе акселератор оперирует многоугольниками-тесселями, то интерес представляет их количество, обсчитываемое за единицу времени. Для определенности (и более внушительного абсолютного значения) берут параметр Mts (Mega Triangle per Second — миллионов треугольников в секунду). По выходу определяют скорость формирования пикселов в видеопамяти Mps (Mega Pixel per Second — миллионов пикселов в секунду).
Для работы акселератору требуется довольно много памяти: это пара буферов экрана (во время отображения одного буфера в другом строится новый кадр), Z-буфер, α-буфер (может вписываться в видеопамять), и память для хранения текстур (да еще и во многих экземплярах для MlPmap). Специализированный процессор акселератора, типовая разрядность которого 128 бит (а начинали с 32-64-битных), должен иметь доступ к памяти со скоростью, измеряемой единицами гигабайт в секунду. Такая производительность достижима для локальной памяти, установленной на графическом адаптере, — ни шина PCI, ни порт AGP не предоставят акселератору регулярный доступ к системной памяти на столь высоких скоростях. Даже у AGP пиковая производительность составляет всего 2,132 Гбайт/с в режиме 8х. Но это пиковая производительность в середине пакета при условии отсутствия обращений к памяти со стороны центрального процессора (а ему тоже ведь надо работать). Порт AGP позволяет акселератору пользоваться системной памятью для хранения текстур, что тоже неплохо. При этом снимается ограничение на размер описания текстур, которые без AGP приходилось держать в ограниченном объеме видеопамяти. На решение проблемы «тесноты» в свое время была нацелена и архитектура однородной памяти UMA, но в AGP, в отличие от UMA, сохраняется локальный видеобуфер на графическом адаптере и расширение доступной памяти не отзывается снижением производительности.
Трехмерные акселераторы для компьютерных игр на PC первой внедрила фирма 3dfx, до того занимавшаяся игровыми приставками, и 3dfx стало нарицательным именем 3B-акселератора. За несколько лет эта фирма выпустила серию акселераторов, большинство из которых называется Voodoo с различными номерами и добавлениями. Когда в требованиях к аппаратным средствам ПК в аннотациях к играм указывается «3dfx», это означает необходимость применения 3D-акселератора (может и не обязательно фирмы 3dfx). Никакие программные средства тут уже не помогут — достичь реализации замыслов разработчиков игры они не позволят.
5. Обработка видеоизображений
Слово «видео» в современном толковании подразумевает привычное всем видеоизображение, которое мы видим на телевизионных экранах. Это изображение, в отличие от компьютерной графики, может получаться в результате видеосъемки естественных объектов. Чтобы подчеркнуть естественность происхождения, а также непредсказуемую подвижность изображения, ввели термин «живое видео». Растровая система отображения информации на экране монитора PC имеет глубокие корни в телевидении, но объединить компьютерную графику с телевизионным изображением оказывается непросто. Для понимания сложностей и путей решения этой задачи кратко поясним принципы передачи цветных телевизионных изображений.
Как нам уже известно, в цветном мониторе экран сканируется одновременно тремя лучами базисных цветов и каждый луч модулируется входным сигналом. Также мы знаем, что отображение мелких элементов (большого количества пикселов в строке) требует полосы сигнала в десятки мегагерц. В телевидении широкополосные RGB-сигналы существуют только в пределах студии, передавать же их по радиоканалам в таком виде технически невозможно. Кроме того, телевизионный сигнал должен быть совместим с черно-белыми телеприемниками. В телевидении сигналы трех первичных цветов R, G, В проходят через преобразователь координат, на выходе которого получают сигнал Y, несущий информацию о яркости точек (luminance), и два цветоразностных сигнала U и V, несущих информацию о цвете (chrominance) — о соотношениях яркостей красного и синего цвета относительно зеленого. Зеленый выбран основным, поскольку зрение людей к нему наиболее чувствительно. Далее, эти сигналы «путешествуют» по телевизионному тракту до телеприемника разными путями в зависимости от используемого вещательного стандарта. Сигнал Y всегда передается на основной (несущей) частоте телевизионного канала, цветоразностные сигналы, специальным образом закодированные, передаются на поднесущей частоте канала. Потеря цветоразностного сигнала приведет к тому, что принятое изображение окажется черно-белым. Поскольку проблема полосы пропускания видеотракта стоит остро, во всех вещательных системах принята чересстрочная развертка. В первой системе цветного телевещания — NTSC принята частота кадров 30 Гц (частота полей — 60 Гц), а количество строк — 525, из которых видимых — 480. При полосе канала яркости в 4,5 МГц в строке может быть различимо до 640 пикселов (вот откуда формат 640 х 480). Однако для передачи цветоразностных сигналов используется поднесущая 3,58 МГц, и горизонтальное разрешение снижается до 400-450 пикселов. Реально же домашний телеприемник обеспечивает примерно половину этого разрешения. Напомним, что это разрешение лишь по яркостному каналу. Цветоразностная информация (два сигнала) втискивается в подканал с поднесущей 3,58 МГц, да еще для экономии полосы, оставляемой яркостному каналу, после модуляции подавляют саму поднесущую и нижнюю часть спектра сигнала. Так что цветовые сигналы после таких преобразований, передачи по радиоканалу и обратного восстановления в телеприемнике поступят на входы видеоусилителей R, G, В с существенно урезанной, по сравнению даже с яркостным каналом, полосой частот. Видеосигнал, состоящий из яркостной составляющей и поднесущей, модулированной цветоразностными сигналами, называется композитным (Composite Video). Поскольку наибольшие потери информации цветоразностного сигнала происходят при модуляции и демодуляции его поднесущей, лучшее качество передачи изображения даст сигнал, взятый сразу после цветоразностного преобразователя на приемной стороне. Интерфейс S-Video (Separate Video) использует раздельные сигнальные линии для яркостного канала (Y) и модулированного сигнала цветности (С). Стандартный 4-контактный разъем S-Video типа mini-DIN используется как интерфейс высококачественных видеосистем, его синонимами являются и названия S-VHS и Y/C. Наивысшее качество передачи обеспечивает профессиональный (студийный) интерфейс YUV (professional video) на трех сигнальных линиях: здесь цветоразностные сигналы U и V передаются в немодулированном виде.
Кроме стандарта NTSС существуют еще два популярных в мире стандарта: PAL и SECAM.
В стандарте PAL фаза одного из цветоразностных сигналов (R-Y) меняется от строки к строке, что и дало название этому методу (Phase Alternating Line). Такое решение позволило повысить стабильность декодирования. Для увеличения горизонтального разрешения поднесущая частота цветоразностного сигнала повышена до 4,43 МГц. Частота кадров — 25 Гц (при частоте полей 50 Гц), количество строк — 625. Стандарт PAL обеспечивает разрешение 800 х 600. В варианте PAL-M принят формат кадра NTSC (60 Гц и 525 строк), а в PAL-N при 625 строках (50 Гц) вернулись к поднесущей 3,58 МГц.
В системе SECAM вместо квадратурной модуляции поднесущей применены две поднесущие цветоразностных сигналов с частотной модуляцией. Частота кадров — 25 Гц (при частоте полей 50 Гц), количество строк — 625.
Говоря о телевизионных стандартах, не следует забывать и о канале звукового сопровождения. Во всех этих системах для звука используется частотная модуляция дополнительной поднесущей частоты 6,5 МГц для SECAM; 5,5 МГц для PAL (но иногда и 6,5 МГц); 4,5 МГц для NTSC и PAL-M; может встречаться и 6 МГц.