Файл: Игровая и виртуальная графика (Виртуальность).pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 05.07.2023

Просмотров: 145

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных. Графический интерфейс пользователя сегодня является стандартом “де-факто” для программного обеспечения разных классов, начиная с операционных систем.

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

В зависимости от способа формирования изображений компьютерную графику принято подразделять на растровую, векторную и фрактальную.

Глава 1. Виртуальность

Глава 1.1. Понятие виртуальности

С экранов телевизоров, со страниц компьютерной и некомпьютерной прессы все чаще слышится словосочетание '' виртуальная реальность ''. Что же скрывается под этим модным сегодня словом?

В первую очередь имеется в виду трехмерное, объемное изображение (в отличие от псевдотрехмерной графики на плоскости) и трехмерный звук.

Однако в полной мере ощутить всю прелесть виртуальной реальности можно только при наличии таких элементов, как детекторы перемещения, позволяющие отслеживать изменения положения пользователя в увязке с изображением на экране монитора и датчики, фиксирующие действия пользователя. До недавнего времени такие системы можно было увидеть лишь в крупнейших в мире игровых центрах, а стоимость их превышала все мыслимые значения. Но все меняется в современном мире компьютерной техники, и в результате постоянного снижения цен на компьютерное оборудование такие системы становятся доступными и рядовым пользователям настольных компьютеров. Более того, все чаще производители и игрового программного обеспечения, и бизнес - приложений встраивают поддержку виртуальной реальности в свои системы. А с середины 1995 года появилось несколько фирм, специализирующихся на выпуске такого программного обеспечения.


Системы виртуальной реальности в сочетании с ПК широко используются сейчас для развлечений. Они представляют собой различные более или менее сложные устройства, реагирующие на движения пользователя. Если несколько работающих систем виртуальной реальности соединить, образуется так называемое общее киберпространство, где пользователи могут встретить друг друга. Система отслеживания движений головы позволяет вам бросить взгляд в любую сторону киберпространства. А что в этом пространстве можно делать и что с вами произойдет - зависит от используемой прикладной программы.

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

Предметный мир, окружающий нас - трехмерный. Наши глаза воспринимают объекты под разными углами: два независимых изображения анализируются мозгом, и в результате их сопоставления формируется образ предмета, его признаки и глубина изображения. Расстояние между глазами человека обычно составляет 6-7 см, и когда зрачки сосредотачиваются на предмете, левый и правый глаз фокусируются в этом направлении. В зависимости от расстояния до объекта угол обзора изменяется. Наши глаза и мозг анализируют расстояние, основываясь на различии между изображениями, получаемыми левым и правым глазом. Это различие называют параллаксом зрения. Именно с помощью этого эффекта и создаются трехмерные объемные изображения.

Глава 1.2. Игровая графика и примеры ее применения

Создание игровой графики, художественное оформление игры - один из важнейших моментов процесса разработки. На это уходит львиная доля бюджета игры, а сама графика в значительной степени определяет то, что называется «атмосферой игры». Кроме того, хорошая графика - это еще и одно из условий успешных продаж: вспомните броскую рекламу в журналах, построенную на реальной внутриигровой графике, скриншоты в Интернете и на коробках с играми.


Вообще говоря, понятие «игровая графика» включает в себя так называемый концепт-арт, то есть эскизы и наброски, во многом определяющие то, как игра будет выглядеть, и собственно компьютерную - внутриигровую - графику. Как правило, художники, занимающиеся эскизами, работают в тесном сотрудничестве с дизайнерами игры. Они помогают конкретизировать замысел, создавая наброски героев и декораций. Иногда при этом выполняется и трехмерное моделирование. Далее в дело вступают компьютерные художники, непосредственно занимающиеся созданием персонажей (точнее говоря, текстурами, как для двухмерных спрайтов, так и для полигонов, из которых состоят 3D-объекты) и прорисовку задних планов (так называемого окружения), и художники-аниматоры (о них речь пойдет в следующей главе). В некоторых компаниях на помощь к ним приходят еще и специалисты, отвечающие за встраивание графики в движок игры.

  1. Пространство
  2. Спрайты
  3. Воксели
  4. Полигоны

Пространство

Трехмерное пространство в играх имеет координаты и соответствующие оси. Все, что мы видим или не видим: объекты стены источники света, основные элементы (спрайты, воксели, полигоны) - обладает координатами разного рода.

Самая главная система координат (почти всегда одинаковая)- это система координат, берущая отчет от виртуальной камеры, то есть относительно экрана. Чаще всего используется левосторонняя система координат. В таком случае точка пересечения всех осей (в которой все координаты нулевые) будет в левом нижнем углу экрана. Ось Х будет уходить вправо по нижнему краю. Ось Y будет уходить вверх по правому краю. Ось Z будет уходить как бы вглубь. В случае правосторонней системой координат, точка пересечения осей, соответственно, будет справа.

Поскольку игровые объекты могут находиться в любой точке трехмерного пространства, вычислительная машина определяет, что, собственно, видно наблюдателю. Здесь определяется направление камеры и угол обзора.

Спрайты

Во времена спрайтовых "движков" фреймы практически не применялись. Хотя сейчас, при использовании спрайтов в полигонных "движках", фреймы у них могут быть.

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


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

Родоначальник жанра 3D Action (если не считать Wolfstein3D, который был не достаточно популярен для такого ярлыка), Doom был спрайтовым. Однако стены в его "движке" отображались обычным текстурным методом, о котором будет рассказано позже. Спрайтовыми были все 3D-игры выпущенные до Quake.

Воксели

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

На основе вокселей разработано много "движков". Самые запоминающиеся - серия Voxel Space, разработанная NovaLogic. Новейший из них поддерживает аппаратные ускорители при наложении полигонов, то есть имеет полигонно-воксельную основу. Ничто не мешает "движку" совмещать полигоны, воксели и спрайты. Более того в большинстве воксельных механизмов есть и текстуры(например, на стенах, на боевых машинах и т.д.). NovaLogic гордится этим, потому что воксели накладываются программно, а полигоны с отрисованными плоскими картинками воксельных участков кадра - аппаратно.

Полигоны

Спрайты и воксели - это неотъемлемая часть современной 3D-графики, но чаще всего она основывается на полигонах. Полигоны впервые появились в том виде, в котором мы привыкли их воспринимать, в "хитовейшей" игре, одном из лучших 3D-Action своего времени (а, возможно и всех времен), великом Quake. Его "движок" мог накладывать невероятное по тем временам количество текстур. Все "геймеры" были "в шоке". Какой рывок в графике! Раньше текстуры накладывались только на стены в упомянутых выше коридорных войнах времен Doom. А в Quake каждый монстр оказался покрыт множеством таких рисунков. "Монстрятник" стал трехмерным, и его участники больше не "дергались" при резкой смене заранее прорисованных фаз (с этого момента персонажи игр с хорошими движками обрели собственные поверхности). Противник в этом хите мог плавно поворачиваться перед нами, потому что в каждом новом кадре можно было пересчитать его текущую позицию, которая не была заранее отрисованным "мультипликационным" спрайтом, а была результатом динамического перемещения, не ограниченного тесными рамками фаз. Плавное движение из кадра в кадр радовало глаз. Но ведь индустрия электронных развлечений не стоит на месте. Каждый день придумывается что-то новое, реализуется в одном из грядущих "движков", после чего мы сможем наблюдать эту свежепридуманную технологическую особенность в реально воплощенных в жизнь играх.


Полигонная технология создания трехмерной графики на сегодняшний день является самой развитой и продолжает прогрессировать с невероятной скоростью. "Движки" сменяются один другим, и, каждый раз, мы можем созерцать богатые возможности нового графического механизма. По этой причине в терминологии, связанной с наложением полигонов появилось (и появляется постоянно) много новых слов. Большинство из них, кроме функций графических механизмов, обозначают аналогичные возможности аппаратуры для 3D-графики.

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

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

Полигон, как сказано выше, абстрактен. Он не имеет внешнего вида - это факт, но тогда сам собой напрашивается вопрос, а что же мы видим на экране? Просто, на каждый полигон "натягивается" текстура. Текстура - ни что иное, как обычный растровый (т.е. точечный) рисунок, покрывающий поверхность полигона и придающий ему определенный вид. Рисунок масштабируется, поворачивается и цвет его точек (текселей) переносится на экран. При удалении рисунка от экрана (то есть при увеличении значения по оси Z) происходит уменьшение значения растра. При приближении происходит увеличение растра, и он, так же, как и в случае со старыми спрайтовыми "движками", пугает нас огромными текселями, "закрывающими" по несколько пикселей (точек на плоской поверхности экрана).

Но Quake не остался в таком виде - появилась его особая версия GLQuake, основывающаяся на работе 3D-ускорителей "через" интерфейс прикладного программирования OpenGL. В ней были применены новейшие (в те времена) технологии: альфа смешение, билинейная фильтрация, мип-мэппинг, дымка и многое другое. Конечно, в великом Q (точнее сказать - GLQ) было реализовано много "красивостей", но еще больше их оказалось в Q2.