Смекни!
smekni.com

Реализация трехмерной графики (стр. 1 из 10)

Содержание

Введение

1. Принципы вывода изображений

2. Графический режим

3. Текстовый режим

4. Трехмерная графика

4.1. Графический конвейер

4.2. Рендеринг

4.3. Реализация трехмерной графики

5. Обработка видеоизображений

5.1. Стандарты MPEG

Введение

Персональный компьютер смог стать привлекательным вычислительным сред­ством благодаря интерактивности взаимодействия с пользователем. Интерактив­ность подразумевает наличие устройств оперативного ввода и вывода информации. Основной поток выходной информации — визуальный, причем информа­ция представляется как в текстовом, так и в графическом виде. Визуальная ин­формация может выводиться на экран, возможно получение и ее «твердой ко­пии» (Hard Copy) — на бумаге, пленке и т. п. Для интерактивного режима вывод на бумагу малоинтересен, хотя в далекой истории компьютеров интерактивный режим впервые был реализован именно на телетайпе (грубо говоря, электричес­кой пишущей машинке, подключенной к компьютеру). Данный реферат посвящен активным средствам вывода визуальной информации — видеосистеме PC. Ак­тивность подразумевает возможность изменения изображения без смены носи­теля.

В первые годы существования PC его видеосистемой называли средства вы­вода текстовой или графической информации на какой-либо экран, В качестве оконечного устройства чаще всего использовали (и продолжают использовать) мониторы с электронно-лучевыми трубками. Адаптеры, позволяющие подклю­чать монитор к шине компьютера, называли видеоадаптерами и подразделяли на алфавитно-цифровые и графические. Последние, естественно, кроме графичес­кой, позволяли выводить и текстовую информацию. Вся выводимая информа­ция формировалась в результате действия и под управлением системных и при­кладных программ.

По мере «взросления», на PC стали взваливать и казавшуюся ранее неподъ­емной ношу воспроизведения и обработки движущихся телевизионных изобра­жений — так называемого «живого видео». Так назрела необходимость коррек­тировки терминологии. Видеосистема современного компьютера состоит из обя­зательной графической (формирующей изображение программно) и дополнитель­ной подсистемы обработки видеоизображений. Обе эти составляющие части обыч­но используют общий монитор, а соответствующие аппаратные средства систем­ного блока могут располагаться на раздельных картах различного функциональ­ного назначения или объединяться на одном комбинированном адаптере, кото­рый можно назвать адаптером дисплея (Display Adapter).

Графический адаптер служит для программного формирования графических и текстовых изображений и является промежуточным элементом между мони­тором и шиной компьютера. Изображение строится по программе, исполняемой центральным процессором, в чем ему могут помогать графические акселерато­ры и сопроцессоры. В BIOS имеется поддержка функций формирования тексто­вых и, графических изображений, по старинке называемая видеосервисом (BIOS Int lOh). Существует ряд классов адаптеров (MDA, CGA, EGA, VGA, SVGA...), которые будут рассмотрены ниже. В монитор адаптер посылает сигналы управ­ления яркостью лучей RGB (Red, Green, Blue — красный, зеленый и синий — базисные цвета) и синхросигналы строчной и кадровой разверток. Кроме этих сигналов, относящихся только к формированию изображения, интерфейс с мо­нитором может содержать и сигналы обмена конфигурационной информацией между монитором и компьютером. Так, например, PnP-мониторы при наличии соответствующей поддержки адаптером способны сообщать системе свои пара­метры (модель и параметры синхронизации).

Средства работы с видеоизображениями, передаваемыми в стандартах PAL, SECAM или NTSC, относятся уже к мультимедийному оборудованию. От про­граммно-управляемых графических средств они отличаются тем, что оперируют с «живым» изображением, поступающим в компьютер извне (с видеокамеры, TV-тюнера) или воспроизводимым с какого-либо носителя информации (например, CD-ROM или DVD).

Все компоненты дисплейного адаптера могут размещаться на одной карте рас­ширения, а зачастую они устанавливаются прямо на системной плате, используя преимущества локального подключения. Мультимедийные средства могут раз­мещаться на отдельных картах, связанных с графическим адаптером специаль­ным интерфейсом, а могут быть выполнены и в виде небольшого «дочернего» модуля, устанавливаемого на графическую карту.

Стандартизацией в области видеосистем занимается международная органи­зация VESA (Video Electronic Standard Association — ассоциация по стандартиза­ции в области видеоэлектроники, доступная по адресу http://www.vesa.org). Бла­годаря ее усилиям обеспечивается совместимость как на уровне аппаратных средств, так и на уровне программного обеспечения.

С самого начала появления персонального компьютера его видеосистему стре­мились строить для максимального приближения к идеалу WYSIWYG (What You See Is What You Get) — что видишь, то и имеешь, или наоборот. Поскольку под словом «имеешь» чаще всего подразумевается некоторая отпечатанная продук­ция, то имеется и идеал WYSIWYP (What You See Is What You Print) — что видишь на мониторе, то и будет напечатано. Стремление к этим идеалам, подкреп­ленное техническим прогрессом, приводит к неуклонному росту качественных показателей видеосистемы и проникновению компьютерных технологий в такие области, как, например, хранение точных (!) копий произведений искусства в электронном виде.

1. Принципы вывода изображений

Видеосистема PC ориентирована на растровый метод вывода изображения. Рас­тровый метод подразумевает, что некий рисующий инструмент, способный ос­тавлять видимый след, сканирует всю поверхность, на которую выводится изоб­ражение. Траектория движения инструмента постоянна и не зависит от выводи­мого изображения, но инструмент может рисовать, а может и не рисовать от­дельные точки траектории. Видимым изображением являются оставленные им точки. В случае видеомонитора инструментом является модулированный луч (или три луча базисных цветов), построчно сканирующий экран и вызывающий све­чение люминофора, нанесенного на внутреннюю поверхность экрана. Каждая строка растра разбивается на некоторое количество точек — пикселов (Pixel — сокращение от Picture Element — элемент изображения), засветкой каждой из которых по отдельности может управлять устройство, формирующее изображе­ние (например, графическая карта). Видеомонитор является растровым устрой­ством вывода динамически изменяемых изображений. Его луч сканирует экран с частотой, которая не должна позволять глазу видеть мерцание изображения. Матричные дисплеи, применяемые в блокнотных ПК, также относятся к растро­вым устройствам. Растровыми устройствами вывода статических изображений являются принтеры, в которых сканирование листа производится однократно (хотя возможны и многократные проходы).

Альтернатива растровым устройствам — векторные устройства вывода изоб­ражений. В этих устройствах инструмент прорисовывает только изображаемые фигуры и его траектория движения определяется выводимым изображением. Изоб­ражение состоит из графических примитивов, которыми могут быть отрезки пря­мых — векторы (откуда и название метода вывода), дуги, окружности. К вектор­ным устройствам вывода статических изображений относятся перьевые плоттеры. Существовали (а, может, где-то используются и сейчас) и векторные мониторы, однако ввиду сложности построения системы управления лучом, обеспечивающей быстрое и точное движение луча по сложной траектории, эта линия угасла. Рас­смотрим растровую систему вывода изображений, подразумевая в качестве око­нечного устройства монитор с электронно-лучевой трубкой — CRT (Catode Ray Terminal, дословно — монитор на катодно-лучевой трубке). Сканирование экрана модулированным лучом обеспечивается генераторами горизонтальной и вертикаль­ной разверток монитора. Луч может оставлять след только во время прямого хода по строке (слева направо). Строка разбивается на некоторое количество точек раз­ложения, каждая из которых может иметь состояние (яркость и цвет), не зависи­мое от других (для монитора это разбиение условно). На обратном ходе по строке луч принудительно гасится. Следующая строка прорисовывается параллельно предыдущей, но с некоторым вертикальным смещением (вниз), и так происходит ска­нирование до окончания кадра — достижения правого нижнего угла экрана. Во время обратного хода луча по вертикали, за время которого генератор горизон­тальной развертки успеет сделать несколько строчных циклов, луч также прину­дительно гасится. В следующем кадре сканирование может производиться по-раз­ному. В системах с прогрессивной (Progressive), или нечередующейся (N1 — Non­interlaced), разверткой луч идет по тем же самым строкам (рис. 1, а). В системах с чересстрочной разверткой (IL — Interlaced) луч пойдет по строкам, смещенным по вертикали на половину шага строки (рис. 1, б). Таким образом, всю поверх­ность экрана луч проходит за два цикла кадровой развертки, называемых полу­кадрами. Чересстрочная развертка позволяет почти вдвое снизить частоту гори­зонтальной (строчной) развертки, а следовательно, и темп вывода точек изобра­жения. Выгода от этого снижения будет понятна позже, а пока поясним, как опре­деляются частоты развертки.


Рисунок 1. Сканирование экрана: а – прогрессивная развертка; б – чересстрочная развертка

Как известно, глаз является инерционным органом зрения — он воспринима­ет изменение яркости или освещенности только до какой-то определенной час­тоты. Существует понятие критической частоты световых мельканий (КЧСМ), которую измеряют так: человек смотрит неподвижно на некоторый безынерционный источник света (например, светодиод), который вспыхивает и гаснет с плавно повышаемой частотой. Сначала человек воспринимает вспышки по от­дельности, с повышением частоты он видит уже только мерцание, а начиная с некоторой частоты, мерцания для него сливаются в ровный свет. Эта частота и называется критической, и у разных людей она может находиться в пределах примерно 40-60 Гц. Неподвижность взгляда и источника в нашем опыте огова­ривалась, поскольку при движении мелькающего объекта человек будет его вос­принимать как трассу прерывистых светящихся точек (стробоскопический эф­фект). Наблюдение мерцающих объектов раздражает и утомляет зрительную си­стему, поэтому частота кадров (прорисовки экрана) должна быть, по крайней мере, не ниже значения КЧСМ. Таким образом, мы получили ориентировочное значе­ние минимальной частоты кадров, равное 50 Гц (эта компромиссная частота при­меняется во многих телевизионных системах). Теперь посмотрим, что из этого следует. Вполне очевидно, что для качественного изображения экран должен иметь как можно больше точек матрицы разложения — то есть строк в кадре и точек на строке. Возьмем популярный режим 800x600 (600 строк по 800 точек). За один период прогрессивной кадровой развертки луч должен успеть прочер­тить 600 видимых строк, да еще некоторое количество невидимых строк (при­мерно 50) он прочертит на обратном ходе по кадру. Получается, что частота строк должна составить 50 Гц * (600 + 50) = 32,5 кГц (вроде и не так уж много). Этой частоте соответствует период около 30 мкс (1/32,5), из которого на прямой ход по строке остается около 25 мкс. За это время необходимо вывести 800 точек строки, так что на каждую точку отводится 25/800 = 0,03 мкс, что соответствует частоте вывода точек в 30 МГц, а это для электронных схем уже высокая часто­та. Поскольку соседние точки выводимого изображения в принципе друг с дру­гом не связаны, то полоса частот сигнала, модулирующего интенсивность луча, должна быть несколько выше этого значения (примерно на 25 %). Такую широ­кую полосу пропускания должен обеспечивать весь видеотракт: видеоусилители модуляторов лучей, сигнальные линии интерфейсного кабеля, и, наконец (вер­нее, сначала), такой широкополосный сигнал должен сформировать графичес­кий адаптер. На всех этих стадиях высокие частоты порождают технические про­блемы. Если реальная полоса пропускания в этом тракте будет уже, четкого изоб­ражения получить не удастся — переходы будут размыты. Если же частотная характеристика тракта в требуемом диапазоне будет неравномерной, появятся специфические искажения цветов или яркости около границ отображаемых объек­тов (справа от граничной линии). Понятно, что с технической точки зрения есть стимулы снижать требуемую верхнюю границу полосы частот видеотракта. При чересстрочной развертке за каждый полукадр сканируется только половина строк разложения (четные в одном полукадре и нечетные в другом), следовательно, строчная частота уменьшается, а длительность прохода видимой части строки увеличивается примерно вдвое. Таким образом, при заданных условиях (разре­шении экрана и ограничении минимальной кадровой частоты) чересстрочная развертка позволяет снизить требуемую полосу пропускания вдвое.