Реферат: Возможности графических карт. 3D графика

Реферат

Магнитогорск, 2004 г.

3D

Условно компьютерную графику можно разделить на две категории. Первая - это имитация естественных способов рисования, например “холст, масло”, самая известная программа — Fractal Design Painter. Вторая категория - это программы моделирования, в которых художник уже не контролирует каждый элемент изображения, лишь определяет композицию и общие законы построения рисунка. О последних и пойдет разговор. Как извес тно, существуют программы, которые по одному лишь числу могут выда ть завораживающую абстрактную картину, однако здесь от художника ничего не зависит. Совсем другое дело — генераторы ландшафтов (landscape generators). На основании сложных математических процедур они позволяют моделировать реальный мир. В отличие от большинства пакетов трехмерной графики, генераторы ландшафтов оперируют понятиями близкими к геодезии и метеорологии. Облака, положение солнца, поверхность суши или гладь моря — вот составляющие, благодаря которым строятся картины с помощью пакетов такого рода. Пользователь контролирует только время суток, рельеф местности или направление ветра, а программа сама воспроизводит обстановку, которая бы сложилась в реальном мире при данных погодных условиях. Базисом для таких пакетов являются фракталы, описанные ученым из исследовательского центра IBM Бенуа Мандельбротом.

Фракталы - это фигура или часть фигуры, которая может быть разбита на элементы, каждая из которых — уменьшенная копия целого… “Облака - это не сферы, а береговая линия - не прямая”. Это цитата из книги “Фрактальная геометрия природы” Мандельброта, Осталось только применить фрактальную геометрию к построению реалистических пейзажей.

Один из простейших алгоритмов был разработан довольно давно подразделением Lucas Films — Industrial Light & Magic, фирма делала спецэффекты во многих современных фильмах. Но это современные разработки, фрактальные же технологии стали использоваться на заре компьютерной графики. Почему именно фракталы “пришлись ко двору” при генерации ландшафтов, демонстрирует удивительно простой пример построения горы при помощи разбиения базового треугольника на элементы и их случайного смещения.

Любому человеку, хоть раз пытавшемуся изобра зить на листе бу ма ги нечто в трех измерениях, известно, что искомый эффект получ ается путем соответствующих проекций хара ктерных линий объекта на плоскость и использованием плавных цветопереходов (тени). В данном отн ошении черный экран монитора ничем не отличается от белого листа бума ги. Единственная сложность сост оит в том, что нереаль ный герой должен иметь несколько более сложные очертания, чем ку б, и быстро перемеща ться по экрану, желател ьно интенсивно размахива я несколькими конечностями. Причем большинству монстров при сущ инстинкт коллективизма , — стадами любят ходить. С этой, кок оказ алось, достаточно нетрив иальной з адачей справл яются следующим образом . Собственно 3D (D от Dimension — “измерение”) объекта непростой формы получают путем создания его полигональной модели. В ней поверхность подопытного разбивается на многоугольники (Poligons), путем сопряжения которых и вырисовыва ется каркас объекта, от тираннозавра до хлопка взрыва. Вообще говоря, “многоугольник ” — это слишком громко сказано. В подавляющем большинстве случаев за основу берут всего лишь треугольники (достигается максимально возможная стандартизация обработки разнообра зных каркасов).

За создание каркаса отвечает центральный процессор: он вычисляет вершины треу гольников, а затем соединяет их прямыми отрезками. Расчет производится от точки зрения наблюдателя, которая не всегда совпадает с центром экрана . От размера стороны треу гольника за висит и точность, реал истичность прорисовки элемента сцены. Перемещение любого объекта осуществляется пу тем переопределения координат вершин. Эта операция требу ет огромных вычислительных ресурсов процессора: чем более реальное пытаемся получить изображение, тем больше точек приходится рассчитывать. Все та кие ра счеты выполняются над действительными числами с плавающей точкой в специальном блоке процессора — F PU ( Floa ting Point Unit). Именно от производительности этого блока в основном зависит скорость прорисовки объекта.

Фирмы-разработчики процессоров именно в этой области особо рекламируют достоинств а своих детищ. Сегодня реально существуе т лишь одна технология, разработанная с предельным вниманием к проблеме вычислений дл я 3D— 30 now! от AMD. Intel пока только у силенно анонсирует процессор с подобной технологией — Katmai. Однако процессоры Pentium изначально превосходил и своих конкурентов в области “плавающих” вычислений, что позволяет им прекрасно справляться со всеми расчетами.

Текстуры

Однако “проволочные” герои в “проволочной” обстановке создают некоторые неудобства. Дл я достижения спецэффектов первоначальный ка ркас покрывается особыми рисунка ми — текстурами. Сама процеду ра нанесения называется Texture Mopping. Вообще говоря, с этой операцией справился бы и процессор, но ему пришлось бы ра ботать весьма долго. Во-первых, хорошие тексту ры за нимают достаточно много места в памяти, а во-вторых, собственно их нанесение связано с большими объемами специфических вычислений. Дл я ускорения этой процедуры созда ны специал ьные ЗD-ускорители (а кселераторы), которые могут хранить текстуры в своей собственной памяти, а все вычисления реализу ются особой микросхемой.

Собственно на уровне тексту р и начинается самое интересное в трехмерной графике: к текстурам применяются различные эффекты для у величения степени реалистичности изображения.

Эффекты

Наверное, одним из самых важных эффектов является возможность реакции объекта на ист очники света (с учетом точ ки расположения наблюдателя). За освещенность отвечают сразу несколько эффектов, имеющих собственные названия.

Расчет тени — Shading — возможен как применительно к площади, так и для каждой вершины отдельно. Последний вариант, естественно, при больших затратах ресурсов дает лучшие результаты. Собственно “тень” получается путем изменения яркости цвета. При повершинном ее расчете цветопереходы будут более плавными.

Однако поверхности в реальной жизни не только поглощают свет, создавая тени, но и отражают его, блестят. В 3D аналогичного результата достигают при помощи э ффекта Environment Mapping. Перемещение затененных и блестящих участков по поверхности объекта позволяет создать более реалистичное изображение движения. Поскольку определенный “блеск” может соответствовать каждой текстуре, то комбинирование таких текстур создаст еще более впечатляющие эффекты.

Для придания изображению поверхности объекта рельефности, используют эффект Bump Mapping. Его сущность заключается в вычислении для точек поверхности значений их углубления (выпуклости) относительно общего уровня. При расчете освещенности после этого эффекта выступающие точки получаются более ярким цветом, а во впадинах, соответственно, более темными. Добавление каждой точке дополнительного признака при вычислениях достаточно сильно их замедляет.

За влияние источников света отвечают эффекты Lens Flaring и Lens Reflection. Последний позволяет реалистично показать ветровое стекло автомобиля или иллюминаторы Вашего транспортного средства. А обозначение таких стекол жизненно важно для того, чтобы как можно явственнее ощутить попадание в стекло камня или пули, ослепление солнечным светом на крутом вираже.

Следующими по важности после Световых следует поставить эффекты коррекции цвета.

Эффект Antialising производит сглаживание “лестницы” при попиксельном представлении линий за счет вычисления среднего значения цвета между цветами линии и фона. Это, скорей всего, самый “энергоемкий” эффект.

Билинейная фильтрация (Bilinear filtering) решает аналогичную проблему “лестницы” для текстур. Для подопытного элемента текстуры выбираются соседи, усреднением цвета которых и получают искомый результат. Билинейной же она называется потому, что складываются цвета четырех соседей. Однако возможно обобщение и для восьми элементов (трилинейная), фильтрация может, как увеличить качество изображения, так и сделать его размытым. Трилинейная фильтрация часто используется при коррекции изображения перспективы (коррекция как таковая тоже может выступать самостоятельным эффектом).

В следующую группу можно выделить атмосферные эффекты и эффекты прозрачности.

Fogging (depth cueing) — “туман (дымка)” моделирует, как видно из названия, туман, дымку, сумерки. Очень важен для реалистичного отображения сцен, происходящих на открытых пространствах, на “свежем” воздухе, также часто используется для уменьшения объемов вычислений путем ограничения видимости: удаленные в дымку объекты можно прорисовывать с меньшей тщательностью.

За прозрачность отвечают два эффекта - Alpha Blending и Color Keying. Последний определяе т частичную прозрачность текс туры. Обычно применяется для изображения разнообразных з еленыхнас аждении . За редкими ку стами враг не с прячется от прицельного огня, а бить по площадям через непрозрачные пальмы — бессмысленная трата боеприпасов. При использовании Alpha Blendi ng каждой точке текстуры ставится в соответствие дополнительное значение, определяющее прозрачность пикселя. Чаще всего это 8 бит. В основном этот эффект применяется для изображения ст екла, огня, воды — как текучей (рек а) , так и “летучей” (дождь). В последнее время больше з начения придается именно прозрачности тех элементов сцены, которые прозрачны по своей природе.

Большая группа эффектов призвана значительн о снизить затраты, привнесенные предыдущими.

С палитра ми работают эффекты Dithe ring (сжатие палитры) и Palle tized texture support. Первый позволяет уменьшить глу бину цвета для удаленных объектов. При приближении данной текстуры все параметры цветности восстанавл иваются. Второй эффект заключа ется в индексировании цветов палитры, используемых в текстуре. Как правило, коли чество необходимых цветов относи тельно невелико. Индекса ция позвол яет хранить больше текстур в памяти видеоакселеротор а.

Для обеспечения плавной смены изображений следующий кадр рассчитывается во время отображения текущего, и помещается в буфер — Buff ering. Количество бу феров за в исит от ряда пара метров — разрешения, глубины цвета, досту пной памяти видеокарты.

На ра зличном удале нии от наблюдателя можно использовать разные степени ра зрешения текстур — все равно никт о не заметит. Такой эффект называется MIP Mappi ng, при котором одна и та же те кстура рассчи тыв ается дл я разных разрешений. Как его недост аток можно отмети ть изредка возникающие проблемы при переходе от одного разрешения к другому.

Z-Buffering (Z- буферизация) — каждому пикселю соответствует рас стояние от плоскост и экрана, координа та Z, котора я запоминается в специальном буфере. Для всех точек с одинаковыми Х и Y прорисовыва етс я только ближа йшая, определенная по координате Z.

После просчета всех эффектов на до бы все это как-то нарисовать. Подобная опера ция на зыва ется рендерингом — Rendering — перенос всех расчетов на плоскость и вывод на экра н. Эту, достаточно дл ительную операцию. Вам поможет сделать видеокарта (именно карта , а не акселератор),

Виды программ.

Для программирования трехмерной графики с егодня создан ряд специализирова нных API (Application Progra mmi ng Interface), в состав которых и входят вышеописанные эффекты и методы. Если аппаратура поддерживает данные эффекты — прекрасно, нет — будет мучиться процессор. Вс е интерфейсы можно раздели ть на две группы: созданные фирмами под аппара туру собственной ра зработки и под аппа ратуру “общего пользования”, не учитывающие различий гра фических адаптеров, таких как OpenGL (ра зработка Silicon Gra phic” ) и Dlrect3D (DirectX, Microsoft). Недавно появилась шестая версия посл еднего стандарта, котора я имеет все ос нования стать ста нда ртом в индустрии. Обычно поддерживается один или два интерфейса. Причем в з ависимости от интерфейса можем получить не только разницу в цвете, но даже разные сценарии.

Новая жизнь видеоплат ATI

Платы ATI традиционно пользовались репутацией недорогих универсальных изделий, которые ориентированы скорее на удовлетворение потребностей среднестатистического пользователя, чем на запросы любителей трехмерных компьютерных игр и немногочисленной группы профессионалов, которые предъявляют чрезвычайно высокие требования к графической подсистеме ПК. Иными словами, обладая хорошим соотношением: цена и качества, платы ATI оставались изделиями массового спроса со средними, по современным меркам, показателями производительности при операциях трехмерной графики — весьма существенный недостаток, учитывая популярность трехмерных игр. Кроме того, пользователи плат ATI сталкивались еще с одной проблемой — отсутствием драйверов OpenGL, требующихся для игр.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 176
Бесплатно скачать Реферат: Возможности графических карт. 3D графика