Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Засоби технології Microsoft XNA як основа розробки тривимірних ігрових додатків

Тип: дипломная работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Сучасні API для програмування тривимірної графіки, математичні основи. Віртуальна камера, конвеєр візуалізації. Вершинні та піксельні шейдери. Розробка та реалізація ігрового додатку. Система постобробки зображення. Реалізація механіки ігрового процесу.
Краткое сожержание материала:

Размещено на

ВСТУП

Актуальність теми. На сьогоднішній день існує безліч програмних додатків, одним з видів таких додатків є комп'ютерні ігри (відеоігри). Відеоігри стали найбільш швидкозростаючим сегментом світової індустрії розваг. Ймовірно жодна галузь економіки за такий короткий термін не пережила настільки багато потрясінь і технічних революцій. Нині відеоігри не просто довели своє право на існування - вони почали експансію в інші сфери життя і стали найважливішою частиною масової культури.

Сучасні комп'ютерні ігри є досить складними програмними додатками, які включають в себе високоякісну тривимірну графіку яка генерується в реальному часі, програмні компоненти які реалізують фізичні властивості віртуальних об'єктів, роботу з різноманітними ресурсами (звук, відео, двовимірні зображення та ін.), та безліч інших компонентів, що складають структуру практично будь-якого ігрового додатку. В результаті чого розробка сучасного тривимірного ігрового додатку є досить складним та довготривалим процесом.

В свою чергу технологія Microsoft XNA надає доступ програмісту до великого набору спеціальних системних бібліотек та інструментів, спрямованих на поліпшення та спрощення процесу створення високоякісних ігрових додатків для всіх продуктів сімейства Microsoft [1].

Зважаючи на все вищесказане можна зробити висновок, що проектування та розробка ігрових додатків на базі технології Microsoft XNA, а також наборів класів і програмних компонентів які прискорять і полегшать розробку ігрових додатків в наш час має значну актуальність.

Об'єкт дослідження. Розробка тривимірних ігрових додатків.

Предмет дослідження. Засоби технології Microsoft XNA як основа розробки тривимірних ігрових додатків.

Мета дослідження. Розробка та реалізація тривимірного ігрового додатку з використанням засобів технології Microsoft XNA.

У відповідності з метою дослідження ставляться наступні завдання:

Дослідити та описати поняття тривимірної графіки та математичні основи її побудови.

Проаналізувати процес візуалізації тривимірних сцен.

Дослідити принцип роботи та можливості використання вершинних та піксельних шейдерів.

Розробити концепцію механіки ігрового процесу, та ігрового додатку в цілому.

Створити набір програмних компонентів для роботи з тривимірними сценами, та двовимірними об'єктами, логікою ігрових об'єктів, та їх взаємодією.

Розробити набір шейдерних ефектів засобами мови HLSL.

Методи дослідження. В дипломній роботі були використані такі методи дослідження як аналіз літературних джерел, порівняння при дослідженні сучасних АРІ для програмування тривимірної графіки, абстрагування при розробці логіки ігрового додатку, та аналіз і синтез при створенні класів ігрових об'єктів.

Практичне значення. В роботі було реалізовано тривимірний ігровий додаток який складається з набору взаємодіючих між собою класів та програмних компонентів які можуть бути використані в подальшій розробці та удосконаленні ігрових технологій на базі Microsoft XNA.

Апробація роботи. Результати досліджень розробки графічної частини ігрового додатку доповідались на VIII Всеукраїнській студентській науковій конференції «Сучасні проблеми фізико-математичних наук та методики їх викладання» (Ніжин, НДУ ім. М. Гоголя, 17-18 квітня 2013 р.).

Структура дипломної роботи. Дипломна робота складається зі вступу, 2 розділів, висновків, списку використаних джерел із 16 найменувань, 24 додатків. Загальний обсяг роботи 74 сторінки.

РОЗДІЛ 1. ПРОГРАМУВАННЯ ТРИВИМІРНОЇ ГРАФІКИ

1.1 Тривимірна графіка

Тривимірна графіка - розділ комп'ютерної графіки, сукупність прийомів та інструментів (як програмних, так і апаратних), призначених для зображення об'ємних об'єктів. Найбільше застосовується для створення зображень на площині екрану або аркуша друкованої продукції в архітектурній візуалізації, кінематографі, телебаченні, комп'ютерних іграх, друкованій продукції, а також в науці та промисловості.

Тривимірне зображення на площині відрізняється від двовимірного тим, що включає побудову геометричної проекції тривимірної моделі(сцени) на площину (наприклад, екран комп'ютера) за допомогою спеціалізованих програм. При цьому модель може, як відповідати об'єктам з реального світу (автомобілі, людина, планета, астероїд), так і бути повністю абстрактною (проекція чотиривимірного фрактала).

Для одержання тривимірного зображення на площині потрібні наступні кроки:

Моделювання - створення тривимірної математичної моделі сцени і об'єктів в ній.

Сцена (віртуальний простір моделювання) включає в себе кілька категорій об'єктів:

геометрія (побудована за допомогою різних технік модель)

матеріали (інформація про візуальні властивості моделі, наприклад колір і відбиваюча або заломлююча здатність поверхонь)

джерела світла (налаштування, напрямки, потужності спектра освітлення)

віртуальні камери (вибір точки та кута побудови проекції)

сили та дії (налаштування динамічних спотворень об'єктів, застосовується як правило в анімації)

додаткові ефекти (об'єкти, що імітують атмосферні явища: світло у тумані, хмари, полум'я і т.д.)

Завдання тривимірного моделювання - описати тривимірні об'єкти і розмістити їх у сцені за допомогою геометричних перетворень відповідно вимогам до майбутнього зображення.

Візуалізація - побудова проекції відповідно до обраної фізичної моделі. На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Як структура даних, зображення на екрані представлено матрицею точок, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином візуалізація перетворює тривимірну векторну структуру даних у плоску матрицю пікселів. Цей крок часто вимагає дуже складних обчислень, особливо коли потрібно створити ілюзію реальності.

Виведення отриманого зображення на пристрій виведення - дисплей або принтер.

1.2 Сучасні API для програмування тривимірної графіки

На сьогоднішній день існує два основних API для програмування тривимірної графіки в ігрових додатках : Direct3D, OpenGL.

DirectX - це набір API функцій, розроблених для простого і ефективного вирішення завдань, пов'язаних з ігровим і відео-програмуванням під Microsoft Windows [2].

Практично всі частини DirectX API є набором COM-сумісних об'єктів.

В цілому, DirectX підрозділяється на:

DirectX Graphics, набір інтерфейсів, що раніше (до версії 8.0) ділилися на:

DirectDraw - інтерфейс виведення растрової графіки;

Direct3D (D3D) - інтерфейс виведення тривимірних примітивів;

DirectInput: інтерфейс для обробки даних, що надходять з клавіатури, миші, джойстика тощо ігрових контролерів;

DirectPlay: інтерфейс мережевої комунікації ігор;

DirectSound: інтерфейс низькорівневої роботи із звуком (формату Wave);

DirectMusic: інтерфейс відтворення музики у форматах Microsoft;

DirectShow: інтерфейс для вводу/виводу аудіо- і/або відео- даних;

DirectSetup: частина, відповідальна за установку DirectX;

DirectX Media Objects: реалізує функціональну підтримку потокових об'єктів.

Для роботи з тривимірною графікою призначений інтерфейс Direct3D.

Direct3D - це низькорівневий графічний API (програмний інтерфейс для додатків), що дозволяє відображати тривимірні світи, використовуючи апаратні прискорювачі тривимірної графіки. Direct3D можна представити як посередника між додатком і графічним пристроєм [3].

Взаємозв'язок між додатком, Direct3D і апаратурою комп'ютера показані на (рис. 1.1).

Рис. 1.1 - Взаємозв'язок між додатком, Direct3D та апаратурою

На рис. 1.1 блок з назвою Direct3D представляє набір документованих інтерфейсів і функцій, які Direct3D надає додаткам і програмістам. Ці інтерфейси і функції охоплюють повний набір функціональних можливостей, пропонованих даною версією Direct3D.

На рис. 1.1 також зображена проміжна стадія між Direct3D і графічним пристроєм - рівень абстрагування від апаратури (Hardware Abstraction Layer, HAL). Direct3D не може безпосередньо взаємодіяти з апаратурою, оскільки продаються сотні різних відеокарт і кожна відеокарта відрізняється набором підтримуваних функцій і способом реалізації тих функцій, які підтримуються.

Наприклад, дві різні відеокарти можуть зовсім по-різному виконувати очищення екрану. Тому Direct3D вимагає, щоб виробники обладнання реалізували рівень абстрагування від устаткування (HAL), який являє собою залежний від апаратури код, що вказує пристрою як виконувати ті чи інші операції. Завдяки цьому Direct3D не потрібно знати специфіку конкретних пристроїв, і його специфікації не залежать від використовуваного обладнання[4].

OpenGL - специфікація, що визначає незалежний від мови програмування крос-платформовий програмний інтерфейс (API) для написання додатків, що використовують 2D та 3D ком...

Другие файлы:

Дослідження технологій створення тривимірних графічних додатків на базі платформи dotNET
DirectX як набір API функцій, розроблених для вирішення завдань, пов'язаних з ігровим і відеопрограмуванням в операційній системі Microsoft Windows. Е...

Дослідження технології параметричного моделювання тривимірних об’єктів (Autodesk Inventor)
Характеристика програмного забезпеченнягалузь його використання, вимоги до розробки та її джерела, мета та призначення. Структура й основні принципи п...

Розробка гнучкої локальної системи для прискореного пошуку файлів
Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Т...

Процеси управління проектами з розробки програмного забезпечення
Програмний засіб моніторингу реалізації проектів з побудовою графіків та завданням відхилень. Вибір моделі життєвого циклу розробки додатків Rapid App...

Технічне створення Web-додатків
Швидкий розвиток інформаційного Web - середовища призвів до того, що вимоги до Web-додатків суттєво змінилися. Зокрема спостерігається тенденція до ст...