Студопедия — Тема 6.2. Построение трехмерных изображений
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тема 6.2. Построение трехмерных изображений






Как следует из названия, 3D графика - графика, показывающая объем и перспективу. С другой стороны, разумеется, соответствующая картинка отображается на плоском мониторе, следовательно, графический чип, строящий трехмерные изображения в некотором виртуальном трехмерном мире, затем должен спроектировать трехмерное изображение на плоскость и вывести в кадровый буфер для отображения картинки на мониторе. Однако, просто нарисовать трехмерные объекты на мониторе не достаточно - для того, чтобы игра с использованием трехмерной графики была красивой, необходимо учесть еще много факторов: свет и тени, атмосферные эффекты (туман, например) и многое другое. Сформулировать такую задачу просто - решить ее: вот проблема не из легких!

Давайте сперва рассмотрим немного историю развития трехмерной графики на персональном компьютере от самых первых "трехмерных:)" игр и до наших дней. Затем мы поговорим с Вами о том, как строится трехмерное изображение на компьютере, а уже после поговорим собственно о современных видеоплатах и о том, какие возможности в этих платах реализованы.

Итак, сначала немного истории. Самые первые игры для персональных компьютеров условно можно было разделить на два типа - плоские и векторные. К первому относились незабвенные "Digger", "Arcanoid", "Тетрис". Все они предоставляли игроку поле для действия, размер которого обычно соответствовал размеру графического экрана, и все происходило в двух измерениях. Изображения движущихся объектов "перемещались" по экрану. Технология этого довольно проста. Запоминаем небольшой участок экрана, затем на этом участке рисуем объект. Как только требуется передвинуть объект - восстанавливаем старую картинку, запоминаем новый участок, рисуем наш объект на нем.

Другие же игры, например авиасимулятор "F-19" гордо назывались "трехмерными", и в них виртуальность представляла собой конструкцию из линий и многоугольников, координаты которой обсчитывались с изменением игровой ситуации, и затем вся она проецировалась на плоскость, совпадавшую с плоскостью экрана.

Два этих типа игр были просты в написании, а главное - были по силам тогдашним процессорам и видеокартам.

С появлением 386 процессоров программы начали использовать "защищенный" режим, обеспечивающий простой доступ к объемам памяти, большим чем пресловутый 640 килобайт. В связи с этим игры получили возможность создавать более сложные виртуальные миры.

Немного опередила развитие компьютеров фирма Id Software, которая выпустила сначала "Catacomb Abyss", а затем и "Wolfenstein 3D" - игры, которые считаются основоположниками жанра 3D-action. Игры эти шли еще на 286 процессорах, и являются ярким примером нового способа изображения виртуальности - ТЕКСТУРИРОВАНИЕ.

Во-первых, при этом способе, стены коридора, по которым бегает главный герой - это не просто одноцветные прямоугольники, а прямоугольные растровые картинки (то есть, состоящие из точек), например, рельеф кирпичной стены, или чей-нибудь портрет. Во-вторых, изображения врагов, которых игрок видел "глазами" персонажа, также были растровыми. Эффект присутствия в игре создавало масштабирование - при приближении к стене ее изображение увеличивалось, и соответствующим образом масштабировался рисунок ее текстуры. Но в этом же содержится и большой минус, который можно пояснить так: предположим, мы стоим лицом к стене на таком расстоянии от нее, на котором одна точка текстуры равняется одной точке экрана. Так как обычно для текстур использовались массивы 64х64 точки, в данном случае текстура на экране будет квадратом 64х64. Если уменьшать это расстояние, "подходить" к стене, точки текстуры должны "увеличиваться" - то есть, текстура должна занимать уже больший квадрат, прорисовывая одну и ту же точку несколько раз. Если уменьшить расстояние в два раза - каждая точка превратится в квадрат 2х2 пикселя, чтобы заполнить на экране квадрат 128х128. Ну а если подойти к стене вплотную, на экране мы увидим несколько больших разноцветных квадратов. Из-за этого и при удалении от стены или от любого монстра тот превращался в несколько маленьких квадратиков, что выглядело не очень красиво.

Впоследствии разные фирмы-разработчики, которые занимались написанием 3D-игр, пытались решить эту проблему по-разному - использованием текстур 128х128, например. Но это требовало больших объемов памяти, больших затрат процессорного времени, и не решало проблемы, возникавшие при сильном приближении или удалении объектов - проблема была в самой технологии обсчета текстур.

Со временем появлялись новые типы процессоров. 486 уже предъявляли повышенные требования к видеокартам, и те также начали развиваться в сторону увеличения быстродействия.

Появлялись новые типы игр - полутрехмерный "DOOM", полностью трехмерный "Descent", появилось понятие "z-buffer".

Это метод удаления невидимых поверхностей при изображении сложных трехмерных сцен. Работает примерно так: есть два массива, в одном из которых хранится изображение, выводимое на экран (буфер кадра), в другом - расстояние до объектов от плоскости экрана (буфер глубины). Каждый предмет в сцене разлагается в растр (представляется набором точек), и для каждой точки считается расстояние до нее от экрана. И в буфер кадра заносятся, естественно, те точки, расстояние от которых до экрана минимально. После этого буфер кадра выводится на экран, и цикл повторяется. Метод прост в реализации, и потому используется почти во всех трехмерных играх.

При всем при этом, компьютеры все же не успевали за растущими потребностями реальности трехмерных игр. Что самое обидное - игровые телеприставки типа SEGA намного обгоняли PC по быстродействию, поскольку изначально были ориентированы на производство игр.

В один прекрасный для любителей IBM PC день, фирма 3Dfx Interactive, которая успешно делала видеочипы для игровых автоматов, решила расширить свой рынок, и перейти на PC. Это у нее получилось - да так хорошо, что только через полгода после выхода первого 3D-ускорителя, на выставке E3 этого года, некоторые фирмы смогли показать проекты своих ускорителей, которые только приближались по быстродействию к карте от 3Dfx. Настал век аппаратной поддержки игр. В чем преимущество аппаратного акселератора, т.е. видеочипа, который сам способен обрабатывать трехмерные объекты? Если все операции по обработке трехмерного мира до выхода аппаратных акселераторов делал процессор, то теперь большинство этих функций можно переложить на специализированный процессор, который, безусловно, лучше и быстрее будет справляться с задачами обработки трехмерного видео. Но выигрыш в скорости - только одна сторона медали. Есть и другая - КАЧЕСТВО. Дело в том, что специализированный чип акселератора умеет применять множество новых технологий и эффектов, нацеленных не только на ускорение расчета трехмерной сцены, но и на повышение качества получающейся на экране картинки. Применяемые технологии, например, позволили снять основную описанную выше проблему текстурирования (превращение текстур в несколько цветных квадратов при приближении наблюдателя к ним) а также позволяли многое другое.

Теперь мы рассмотрим основные принципы построения трехмерной сцены так, как это делают современные видеоакселераторы.







Дата добавления: 2015-08-17; просмотров: 785. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия