Xreferat.com » Рефераты по информатике и программированию » Возможности графических карт. 3D графика

Возможности графических карт. 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, требующихся для игр.

Выпуском новый версий системного ПО для своих графических плат компания ATI попыталась решить обе проблемы. В комплект входит так называемый Turbo-драйвер, предназначенный для ускорения программ, ориентированных на стандарт Direct3D и драйвер OpenGL. Модуль OpenGL, который предлагается пользователям, — это не полнофункциональная реализация этого стандарта, а всего лишь мини-драйвер, рассчитанный на применение только в играх.

Модернизация системы оказалась достаточно простой процедурой. Новые драйверы были испытаны на двух системах на базе Pentium II с тактовой частотой 233 МГц и обычного 166-МГц Pentium. Сравнивая РСI- и AGP-версии платы ATI XPERT@Play, причем для минимизации влияния емкости ОЗУ на тесты оба компьютера были оснащены 64-Мбайт ОЗУ (SDRAM и EDO). Использовались тест 3D Winbench 98 и ряд прикладных программ как для Direct3D, так и для OpenGL. В обеих системах применялись платы с 4-Мбайт ОЗУ — на сегодня стандартное значение емкости видео ОЗУ для графических ускорителей среднего класса.

Показатели системы на базе обычного Pentium после модернизации существенно не изменились, — оценка по тесту 3D Win-Bench составила 187 баллов, что всего на 8,5% больше, чем до модернизации. Скоростные характеристики при подключении различных спецэффектов также увеличились весьма незначительно — от 7 до 10%. Похожие результаты были получены и на тестах с ПК на базе процессора Pentium II, причем, несмотря на возрастание абсолютной величины оценок, их соотношение не изменилось.

Тем не менее, в целом результаты плат ATI по тесту 3D WinBench оказались весьма достойными — для сравнения, оценки плат на базе наборов микросхем Voodoo и Riva составили 382 и 545 баллов для Pentium II и 179 и 152 для системы на базе Pentium/166.

В реальных программах мы не заметили существенного увеличения производительности. Так, например, на тесте Х скорость увеличилась от 57,8 до 59,8, а в Turok: Dinosaur Hunter —от 27 до 32 кадр/с. При этом качество изображения было вполне удовлетворительным во всех играх, кроме последней, что связано с особенностями взаимодействия игры и драйверов.

Скорость работы платы в играх OpenGL также оставляет желать лучшего — всего 7,2 кадр/с в игре Quake II (при “прогоне” встроенного демо-ролика demo2) и 9,7 кадр/с — в игре Hexen II. Качество изображения в Quake II оказалось достаточно хорошим, все спецэффекты были реализованы без ошибок, в отличие от Hexen II, где отмечено отсутствие фильтрации текстур, что привело к пикселизации объектов.

Тесты качества показали, что главное отличие новых драйверов — оптимизация процедур mip-отображения (они используются для того, чтобы улучшить качество трехмерных сцен за счет нескольких наборов текстур, которые используются для рисования объекта в зависимости от степени удаленности наблюдателя). Переходы между уровнями (величина расстояния, при которой не изменяется текстура, выбранная для, отображения объекта) стали менее заметными, и в целом процедура реализована корректнее.

Обновленное программное обеспечение плат ATI не изменяет расстановку сил на рынке графических ускорителей, — графические адаптеры ATI по-прежнему остаются изделиями среднего уровня, которые, однако, обладают хорошим соотношением “цена/качество”. Мы считаем, что установка новых драйверов вполне оправданна, хотя быстродействие видеоподсистемы возрастает, не настолько значительно, как того можно было ожидать. Обновление системного ПО может продлить срок “жизни” имеющейся видеоплаты с набором микросхем Rage Pro, однако если вам нужна мощная игровая система, то учтите, что “запас прочности” плат ATI невелик и их производительность может оказаться недостаточной для тех игр, которые должны появиться совсем скоро.

Что выбрать?

Так какую же плату приобрести? Испытания, проведенные в лаборатории ”PC Magazine”, показали, что 2D-6ыстродействие плат всех изготовителей было очень хорошим. Однако ситуация на рынке ЗD-устройств в последние два года стремительно менялась, так как каждый поставщик пытался опередить остальных, выпуская новые, все более быстродействующие ЗD-процессоры. Набор микросхем 3Dfx bodoo Rush был лучшим на игровом рынке, но превосходными были и результаты nVidia RIVA. 128, Rendition V2100 и ATI 3D Rage Pro. Представители фирмы Matrox (плата G200) и S3 (Savage 3D) утверждают, что их изделия обладают непревзойденными характеристиками.

Однако в настоящее время различия в ЗD-пpoизвoдительности имеют существенное значение лишь для любителей игр. Им необходимо выяснить, какая именно микросхема или микросхемы рекомендуются для их любимых игр. Пользователям из деловой сферы прекрасно подойдет почти любая из ныне существующих ИС, при условии, что в их ПК установлена память достаточной емкости.

Емкость ОЗУ для буфера кадров — важная характеристика, поскольку она определяет разрешение и глубину представления цвета, допустимые при формировании данного 2D-кадра. Любителям игр потребуется, кроме того, дополнительная память для операций 3D-peндеринга. Если вы покупаете плату сегодня, то мы рекомендуем обзавестись памятью не менее 4 Мбайт, чтобы работать на 17-дюйм дисплее с разрешением 1024х768 и с правильной цветопередачей (16,7 млн. цветов), оставив при этом свободное пространство для ЗD-функций.

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: