УДК 004.4:004.7 РАЗРАБОТКА 3d ГРАФИКИ В ОБЛАСТИ ИГР

advertisement
УДК 004.4:004.7
РАЗРАБОТКА 3d ГРАФИКИ В ОБЛАСТИ ИГР
Сыздыкбаев А.К.
Евразийский национальный университет им. Л.Н.Гумилева, Астана
Научный руководитель – ст.преподаватель Кинтонова А.Ж.
Трѐхмерная графика (3D Graphics, Три измерения изображения, 3 Dimensions, на
русский 3 измерения) — раздел компьютерной графики, совокупность приемов и
инструментов (как программных, так и аппаратных), предназначенных для изображения
объѐмных объектов. Больше всего применяется для создания изображений на плоскости
экрана или листа печатной продукции в архитектурной визуализации, кинематографе,
телевидении, компьютерных играх, печатной продукции, а также в науке и
промышленности[3].
В наше время 3D технологии применяются практически во всех видах визуальной
рекламы и не только:
 Архитектурная визуализация; 
 Реклама на телевидении; 

 Презентационные видеоролики; 
 Полиграфия; 
 Интернет; 
 Интерактивные презентации; 
 Компьютерные игры; 
 Мультипликация и анимация; 

 Кинематограф; 
 Медицина[4]; 
Трѐхмерное изображение на плоскости отличается от двумерного тем, что включает
построение геометрической проекции трѐхмерной модели сцены на плоскость (например,
экран компьютера) с помощью специализированных программ. При этом модель может как
соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и
быть полностью абстрактной (проекция четырѐхмерного фрактала).
Для получения трѐхмерного изображения на плоскости требуются следующие шаги:
 моделирование — создание трѐхмерной математической модели сцены и
объектов
в ней. 

 рендеринг (визуализация) — построение проекции в соответствии с
выбранной
физической моделью. 

 вывод полученного изображения на устройство вывода — дисплей или 
принтер.


Однако, в связи с попытками создания 3D-дисплеев и 3D-принтеров, трѐхмерная
графика не обязательно включает в себя проецирование на плоскость. 
228
Моделирование
Сцена (виртуальное пространство моделирования) включает в себя несколько
категорий объектов:
 Геометрия (построенная с помощью различных техник модель, например 
здание)


 Материалы (информация о визуальных свойствах модели, например цвет
стен и отражающая/преломляющая способность окон) 
 Источники света (настройки направления, мощности, спектра освещения) 
 Виртуальные камеры (выбор точки и угла построения проекции) 

 Силы и воздействия (настройки динамических искажений объектов,
применяется
в основном в анимации) 

 Дополнительные эффекты (объекты, имитирующие атмосферные явления:
свет
в
тумане, облака, пламя и пр.) 

Задача трѐхмерного моделирования — описать эти объекты и разместить их в сцене с
помощью геометрических преобразований в соответствии с требованиями к будущему
изображению (рис. 1). 
Рис. 1 схема проекции в трѐхмерной графике
Рендеринг
На этом этапе математическая (векторная) пространственная модель превращается в
плоскую (растровую) картинку. Если требуется создать фильм, то рендерится
последовательность таких картинок — кадров. Как структура данных, изображение на
экране представлено матрицей точек, где каждая точка определена, по крайней мере тремя
числами: интенсивностью красного, синего и зелѐного цвета. Таким образом, рендеринг
преобразует трѐхмерную векторную структуру данных в плоскую матрицу пикселов. Этот
шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию
реальности. Самый простой вид рендеринга — это построить контуры моделей на экране
компьютера с помощью проекции, как показано выше. Обычно этого недостаточно и нужно
создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать
искажения этих объектов за счѐт прозрачных сред (например, жидкости в стакане).
Существует несколько технологий рендеринга, часто комбинируемых вместе.
Например:
 Z-буфер (используется в OpenGL и DirectX 10); 

 Сканлайн (scanline) — он же Ray casting («бросание луча», упрощенный алгоритм
обратной трассировки лучей) — расчѐт цвета каждой точки картинки построением луча из
точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в
сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой
поверхности (иногда с учѐтом освещения и т. д.); 
229
 Трассировка лучей (рейтрейсинг, англ. raytracing) — то же, что и сканлайн, но
цвет пиксела уточняется за счѐт построения дополнительных лучей (отражѐнных,
преломлѐнных и т. д.) от точки пересечения луча взгляда. Несмотря на название,
применяется только обратная трассировка лучей (то есть как раз от наблюдателя к источнику
света), прямая крайне неэффективна и потребляет слишком много ресурсов для получения
качественной картинки; 
 Глобальное освещение (англ. global illumination, radiosity) — расчѐт
взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных
уравнений. 
 Грань между алгоритмами трассировки лучей в настоящее время практически
стѐрлась. Так, в 3D Studio Max стандартный визуализатор называется Default scanline
renderer, но он считает не только вклад диффузного, отражѐнного и собственного (цвета
самосвечения) света, но и сглаженные тени. По этой причине, чаще понятие Raycasting
относится к обратной трассировке лучей, а Raytracing — к прямой. 
Наиболее популярными системами рендеринга являются: 

 PhotoRealistic RenderMan (PRMan) 
 Mental ray 
 V-Ray 
 FinalRender 
 Brazil R/S 
 BusyRay 
 Turtle 
 Maxwell Render 
 Fryrender 
 Indigo Renderer 
 LuxRender 
 YafaRay 
 POV-Ray 
Вследствие большого объема однотипных вычислений рендеринг можно разбивать на
потоки (распараллеливать). Поэтому для рендеринга весьма актуально использование
многопроцессорных систем. В последнее время активно ведѐтся разработка систем
рендеринга использующих GPU (графическое процессорное устройство) вместо CPU
(центральное процессорное устройство), и уже сегодня их эффективность для таких
вычислений намного выше. К таким системам относятся:
 Refractive Software Octane Render 
 AAA studio FurryBall 
 RandomControl ARION (гибридная) 
Многие производители систем рендеринга для CPU также планируют ввести
поддержку GPU (LuxRender, YafaRay, mental images iray).
Самые передовые достижения и идеи трѐхмерной графики (и компьютерной графики
вообще) докладываются и обсуждаются на ежегодном симпозиуме SIGGRAPH, традиционно
проводимом в США.
Программные пакеты, позволяющие создавать трѐхмерную графику, то есть
моделировать объекты виртуальной реальности и создавать на основе этих моделей
изображения, очень разнообразны. Последние годы устойчивыми лидерами в этой области
являются коммерческие продукты: такие как 3D Studio Max, Maya, Lightwave 3D, Softimage,
Sidefx Houdini, Maxon Cinema 4D и сравнительно новые Rhinoceros 3D, Nevercenter Silo или
ZBrush. Кроме того, существуют и открытые продукты, распространяемые свободно,
например, пакет Blender (позволяет создавать 3D модели, c последующим рендерингом
(компьютерной визуализацией)), K-3D и Wings3D[3].
230
Инструментарий, называемый игровыми движками, создан для упрощения и
ускорения разработки игр, чтобы не писать всѐ «с нуля». В данном контексте будет
фигурировать несколько понятий движков, но чаще всего это игровые и графические. Важно
понимать разницу между графическим движком, игровым движком и вспомогательной
библиотекой игрового движка. Игровой движок — это тот модуль игры, который включает в
себя игровую логику. В нижеприведѐнном списке «игровых» движков — некоторые из них
всѐ-таки игровые, но в своѐм большинстве — это графические движки. И объясняется это,
по-большому счѐту, тем, что главной основой для игры — считается не звук, не логика, не
физика, а именно графика[3].
3D графика постепенно захватывают мир. Мультипликационные и художественные
3D фильмы в кинотеатрах, 3D игры для компьютера и сотовых телефонов, 3D ролики на
телевизионных панелях в кафе, 3D выставки и арт-инсталляции, 3D-реклама на городских
улицах, 3D фото и видеокамеры, 3D телевизоры, которые позволяют просматривать 3Dконтент и многое-многое другое… Ставшие за 2010 год повсеместно популярными, 3Dтехнологии и дальше будут активно развиваться, и совершенствоваться, предлагая всем
желающим новые ощущения и потрясающий эффект присутствия[1]. В особенности каждым
годом выходят разные модели сотовых телефонов, поэтому нет ничего удивительного в том,
что все больше и больше программного обеспечение требуется именно для таких устройств.
В последнее время многие люди хотят видеть полноценный персональный компьютер у себя
в КПК. И мировые производители стремятся воплотить это желание в жизнь. К
полноценному функционалу можно отнести такие задачи как сетевые программы, 3D - игры,
GIS и т.д.. Но все, же на данный момент производительность карманных устройств сильно
уступает персональным компьютерам, поэтому необходимо применять особые алгоритмы
для разработки приложений, а также методы программирования.
Одним из самых распространенных карманных устройств являются устройства
фирмы Apple: iPod и iPhone. Они служат для прослушивания музыки, телефонных звонков,
отправки смс и электронной почты, а также многого другого. Многие люди играют в игры на
них, поэтому данный рынок ПО развивается очень быстро. Конкуренция порождает более
изощренные и красочные игры. Новым этапом в разработке игр для карманных устройств
стали полноценные 3D - игры, в которых используются шейдеры (это программа для одной
из ступеней графического конвейера, используемая в трѐхмерной графике для определения
окончательных параметров объекта или изображения. Она может включать в себя
произвольной сложности описание поглощения и рассеяния света, наложения текстуры,
отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки)
материалов, тени и большое количество 3D объектов. Но так как быстродействие,
оперативная память, скорость чтения с диска у iPod и Iphone не очень велики, существуют
ограничения на создание 3D – игр[2].
Я думаю, что в современном мире 3D компьютерные технологии заняли особое место
практически в каждой профессиональной области. Возможности, которые открывают
компьютерные разработки, довольно привлекательны, а порой безграничны. Опытные
специалисты при помощи специализированного программного обеспечения, способны
создать то, что раньше казалось невозможным. Это действительно ценный ресурс, который
поможет повысить производительность труда, разработать эксклюзивные проекты любого
направления. Широко востребованной в последнее время стала компьютерная графика,
которая находит свое применение во многих отраслях. Столь высокая потребность в
дизайнерских проектах способствовала появлению перспективного направления - 3D
визуализация проектов.
Литература
1. http://shkolazhizni.ru/archive/0/n-9349/
2. http://www.supersova.ru/dinf4/
3. http://ru.wikipedia.org
4. http://www.r-evo.ru/art-3d1.html
231
Download