Интерфейс приложений DirectX и графическая библиотека OpenGL

Автор работы: Пользователь скрыл имя, 28 Марта 2011 в 22:39, курсовая работа

Описание работы

Умопомрачительные по динамизму и драйву шутеры наполнены не только наилучшими и современнейшими графическими движками, но и огромным количеством адреналина. Такие всемирно известные игровые шедевры как линейка игр «Call of Duty» совсем недавно порадовала своих фанатов очередным эпизодом под названием «Call of Duty 4: Modern Warfare». Эта игра собрала в себе не только ультрасовременнейшую графику, но и уникальную систему поведения персонажа со своими, ранее не применявшимися особенностями и нюансами.

Содержание работы

Введение ------------------------------------------------------------------------- 2

1 История развития компьютерных игр ----------------------------------- 4

2 Классификация компьютерных игр -------------------------------------- 6

2.1 Классификация игр по жанру ----------------------------------- 6

2.2 Классификация игр по количеству игроков ----------------- 9

3 Направления и тенденции развития игровой индустрии ------------ 11

3.1 Направления развития индустрии видеоигр----------------- 11

3.2 Тенденции развития компьютерных игр --------------------- 11

4 Интерфейс приложений DirectX и графическая

библиотека OpenGL -------------------------------------------------------- 15


4.1 Что такое – DirectX? -------------------------------------------- 15

4.2 DirectX 9 --------------------------------------------------------- 16

4.3 DirectX 10 -------------------------------------------------------- 17

4.4 Графическая библиотека OpenGl --------------------------- 18

4.5 DirectX, OpenGL и видеокарта ------------------------------- 19

5 Игровой движок ----------------------------------------------------------- 21

5.1 Что такое игровой движок? ----------------------------------- 21

5.2 OpenSceneGraph ------------------------------------------------- 23

5.3 GLScene ----------------------------------------------------------- 24

5.4 The Nebula Device 2 --------------------------------------------- 25

5.5 Unreal Engine 3 -------------------------------------------------- 26

5.6 Quest3D ---------------------------------------------------------- 28

Заключение ------------------------------------------------------------------ 29

Литература -------------------------------------------------------------------- 30

Файлы: 1 файл

Направления развития индустрии видеоигр.doc

— 191.00 Кб (Скачать файл)

      Создатели GLScene максимально упростили процесс  программирования: например, поворот и перемещение созданных объектов осуществляются с помощью специальных коротких движковых функций, а не посредством длинных команд OpenGL. Создание простых объектов вроде кубов, сфер и простеньких спрайтов также проводится с помощью простейших команд, так что игру уровня первого DOOM можно собрать из базовых форм (самому ничего рисовать не придется). Но для разработки тайтла современного уровня этого, конечно, недостаточно, поэтому GLScene поддерживает импорт 3D-моделей. Основной упор разработчики сделали на универсальный 3DS-формат. Впрочем, не «Максом» единым: OpenGL поддерживает файлы типов .obj/objf, .smd, .md2, .stl, .tin и .ply. «Оживить» объект можно как во внешнем графическом пакете, так и непосредственно из движка — набор для скелетной анимации прилагается.

          Но на одних лишь примитивах и трехмерных модельках далеко не уедешь, для создания красивой картинки нужно нечто большее. И оно у OpenGL есть. На данный момент движок поддерживает практически все версии шейдеров, системы частиц (дождь, снег, туман), ряд универсальных программных модулей для создания спецэффектов. GLScene версии 1.0 научился работать с динамическими тенями, эффектами блеска и отражения. В движок были добавлены модули для работы со звуками и музыкой, а также для захвата данных с разных манипуляторов типа джойстиков и клавиатур. Отдельным пунктом идет возможность интеграции с одним из свободно распространяемых физических модулей – ODE. 

          5.4 The Nebula Device 2 

          После того как свет увидела игра Project Nomads, Nebula Device набрал популярность и не сбавляет темп по сей день. Многие разработчики выбирают именно его, особенно если собираются делать недорогой экшен или трехмерную аркаду.

          Описанные выше игровые движки GLScene и OpenSceneGraph для вывода изображения на экран используют только графическую библиотеку OpenGL, а Nebula Device 2 поддерживает как OpenGL, так и Direct3D (движок по полной использует возможности DirectX 9.0). При этом Nebula Device 2 – кросс-платформенный движок, на нем можно делать игры под PC (Windows и Linux), Mac и даже Xbox.

          Совсем уж здорово, что Nebula поддерживает сразу несколько широко распространенных скриптовых языков – TCL, Python и Lua. Но Nebula мало похож на конструктор для начинающих: девелоперы честно предупреждают, что их разработка – это не набор редакторов карт, трехмерных моделей и прочих удобных утилит. Чтобы сделать нормальную игру, вам сначала придется разработать инструментарий, и тут уж не обойтись без команды опытных программистов.

      Игровой движок содержит модули для работы с particle-эффектами: огнем, дымом, туманом, дождем... Что касается форматов трехмерных моделей, поддерживаемых движком, то тут-то разработчики преподнесли весьма неприятный сюрприз – движок способен переваривать модели лишь трех форматов – .n3d и .nvx, которые известны только самому движку, и .obj (для импорта моделей такого формата используется специальный плагин).

          Зато с 2D-изображениями проблем нет никаких. Nebula Device 2 поддерживает все известные типы графических файлов, начиная с классических .bmp и .jpg и заканчивая .png и .tga-форматами. Если говорить о современных технологиях, то тут стоит отметить, что Nebula Device 2 позволяет работать с динамическими тенями и HDR-освещением. 

          5.5 Unreal Engine 3 

        Предел мечтаний любой игрострой-компании, вот только слишком уж дорого стоит лицензия: движок по карману только самым крупным разработчикам. Давайте посмотрим для сравнения, что же предлагает Epic Games за почти миллион долларов.

      UnrealEd – 3D-редактор уровней, созданный на базе Unreal Engine, один из лучших в своем роде.

           В UE 3 реализована многопоточная система рендеринга Gemini, что позволяет максимально быстро и четко отрисовывать сцены и выводить на экране картинку в очень высоком разрешении, при этом в реальном времени просчитываются тени и освещение, на изображение накладываются HDR-эффекты, ну а motion blur (размытие) и depth of field (глубина резкости) вообще просчитываются за миллисекунды. 

          Впрочем, о том, что в плане графики движку Unreal Engine 3 нет равных, и без того знает каждый. Вот только это не единственная причина его популярности. Главное преимущество UE 3 – необычайно гибкая и удобная инструментальная база. Большинство программных элементов, которые для других движков нужно либо докупать отдельно, либо программировать самостоятельно, в UE 3 встроены по умолчанию. Смотрите сами: автоматическая генерация карт нормалей, редакторы файлов локализаций, звуков, скриптов, просмотрщики моделей и анимации, а также известный всем модотворцам редактор UnrealEd... Плюс множество конвертеров, плагинов и мини-редакторов всех сортов и калибров. По сути, приобретая лицензию на UE 3, разработчики избавляют себя от необходимости пользоваться какими-либо другими программными продуктами, кроме 3DS Max. Так что, несмотря на высокую цену движка, вложения вполне могут окупиться.

          Отдельно стоит упомянуть модуль обработки физики – в Unreal Engine 3 в его роли выступает физический движок AGEIA PhysX, благодаря которому, собственно, и обеспечивается красивое падение тел персонажей, реалистичное передвижение транспортных средств, скольжение и другие геймплейные прелести.

          Написание новых скриптов в UE 3 осуществляется двумя различными способами – путем визуального и обычного программирования. И если со вторым методом все более-менее ясно, то первый нуждается в некоторых пояснениях. Авторы внедрили в движок специальный модуль UnrealKismet для визуального программирования, освоить который сможет практически любой пользователь. Запускаете приложение, создаете новый файл и начинаете выстраивать цепочку из данных вам логических блоков. Например: NPC A – двигаться к отметке X, попытаться убить игрока, сесть в автомобиль и скрыться с места преступления. Замечаете? Программисты полностью избавлены от необходимости программировать скрипты с нуля, это дает колоссальный выигрыш времени.

          5.6 Quest3D 

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

      Движок Quest3D превосходно справляется с  рендерингом сцен. Водные поверхности, тени, отражения здесь ничуть не хуже, чем в других, куда более дорогих движках.

          Quest3D поддерживает графическую библиотеку OpenGL, лихо справляется с обработкой теней и освещения в реальном времени, поддерживает HDRI-эффекты, DirectX-шейдеры, бампы, карты нормалей и другие графические технологии, реализованные в DirectX 9 (с DirectX 10 движок пока не дружит).

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

        
 
 
 

Заключение 

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

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

Литература 

 1 Гродек П. Как все начиналось. – [Электронный ресурс]

 http://www.computer-museum.ru/games/genesis.htm.

2 Компьютерные игры. Как это делается. – Серия «Библиотека game.xe». – Логрус.РУ, 2000.

3 Все о DirectX. – Журнал Computerbild     № 19 / 2007. 

4 Что такое компьютерная игра и куда мы движемся? – Журнал “Игромания” №12/51 2001.

5 Игровая индустрия на рубеже. – Журнал “Игромания” №1/100 2006. 

6 Игровой движок. – [Электронный ресурс] Материал из Википедии – свободной энциклопедии.

7 Индустрия компьютерных игр "сегодня" и "завтра".

[Электронный ресурс]http://www.x-sky.ru/2008/03/29/industrija-kompjuternykh-igr-egodnja.html#

8 Антон Звягинцев. – [Электронный ресурс] Обзор DirectX9. http://www.gamedev.ru/articles/read.shtml?id=10102

9 Обзор OpenGL. –   [Электронный ресурс]

http://www.csportal.ru/print.php?article=Obzor-OpenGL&place=gd

10 Библиотека OpenGL. –   [Электронный ресурс]

 http://www.csportal.ru/print.php?article=Osnovi-1-biblioteki-OpenGL&place=gd

11 Пламенные моторы, часть 2. – Журнал “Игромания” №3/126 2008 

12 Пламенные моторы. – Журнал “Игромания” №11/122 2007  
 
 
 
 
 

        

Информация о работе Интерфейс приложений DirectX и графическая библиотека OpenGL