Тип работы:
Предмет:
Язык работы:


ПОСТРОЕНИЕ РЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ GLSL ШЕЙДЕРОВ ДЛЯ OPENGL

Работа №186925

Тип работы

Бакалаврская работа

Предмет

математика и информатика

Объем работы42
Год сдачи2018
Стоимость4420 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
5
Не подходит работа?

Узнай цену на написание


РЕФЕРАТ 3
ведение 5
1 Библиотека OpenGL 6
1.1 Основные возможности OpenGL 6
1.2 Архитектура OpenGL 7
1.3 Синтаксис команд 8
1.4 Матричные преобразования 9
2 Шейдеры 13
2.1 Типы шейдер


Компьютерная графика - это достаточно сложная, основательно проработанная дисциплина, предметом изучения которой является создание, хранение и обработка моделей и их изображений с помощью ЭВМ.
3D графика применяется во множестве различных областей: в науке, для наглядного изображения каких-то не до конца изученных процессов, в видеоиграх, которые давно не ограничиваются компьютерной платформой, в кинематографе для создания сложнейших спецэффектов, в медицине, строительстве, рекламе, и т.д. Имея качественную модель, можно увидеть объект, который не существует, посмотреть его со всех сторон, окунуться в виртуальный мир компьютерных игр, сидя дома перед экраном компьютера.
Следуя правилам создания качественной 3D модели, можно добиться эффекта присутствия, эффекта реальности. То есть, такие объекты отличаются от других правдоподобностью. В наше время реалистичные 3D изображения являются пиком совершенства в игровой, рекламной, строительной индустрии.
Моделирование 3D изображений это достаточно ресурсоемкая задача, ставящаяся перед современными вычислительными системами. И, несмотря на постоянное совершенствование техники, стремительное развитие технологий, требования к задачам остаются неизменно высокими, т.к. с ростом возможностей растут и требования. То есть, помимо оптимизации технической базы требуется оптимизация на уровне прикладного программирования.
Одним из таких методов оптимизации является грамотное использование графической библиотеки OpenGL, а именно, программирование на шейдерах. Оно дает возможность переложить часть сложных вычислений, связанных с отрисовкой сцены, с центрального процессора на, специально предназначенный для этого, графический процессор, являющийся аппаратной частью видеокарты.
Целью данной дипломной работы является построение реалистичного изображения трехмерных объектов с использованием библиотеки OpenGL и шейдеров.
1 Библиотека OpenGL
1.1 Основные возможности OpenGL
OpenGL является одним из самых распространенных прикладных программных интерфейсов (API - Application Programming Interface) к графической аппаратуре для разработки приложений в области двумерной и трехмерной графики.
Библиотека содержит в себе около 120 команд, которые может использовать программист для задания объектов и операций, необходимых для написания интерактивного графического приложения.
Основными особенностями этой графической библиотеки являются:
Стабильность - все нововведения создаются таким образом, чтобы сохранялась совместимость с предыдущим обеспечением.
Кроссплатформенность - независимо от используемой операционной системы, OpenGL гарантирует одинаковый визуальный результат. Кроме того, эти приложения работают и на рабочих станциях, и на суперкомпьютерах.
Интуитивно понятный интерфейс и продуманная структура, что обеспечивает легкость применения.
Библиотека OpenGL была разработана как единый независимый программный интерфейс для работы с графикой, который может быть реализован на любой платформе. По этой причине в ней нет функций создания окна, захвата пользовательского ввода, для этого нужно использовать средства операционной системы, на которой вы работаете. Также в ней нет высокоуровневых функций для создания трехмерных объектов, они строятся разбиением необходимых моделей на ряд геометрических примитивов - точек, линий, полигонов.
Основные функции, которые выполняет OpenGL можно разделить на несколько групп:
1. Функции описания примитивов - определяют объекты нижнего уровня, то есть конструируют фигуры из геометрических примитивов, создавая математическое описание объекта.
2. Функции описания источников света - позволяют описать параметры источника света и его положение в пространстве.
3. Функции задания атрибутов - атрибуты определяют способ вывода на экран. Другими словами. С помощью атрибутов задается цвет, характеристики материала, текстуры, параметры освещения.
4. Функции визуализации - позиционируют объекты в трехмерном пространстве и задают положение наблюдателя.
5. Функции геометрических преобразований - преобразуют математическое описание модели с ее атрибутами в пиксели на экране. Этот процесс называется растеризацией.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Перед нами была поставлена задача, спроектировать реалистичную сцену, освещаемую методом Фонга, и затененную по алгоритму карты теней. Для этого требовалось изучить некоторые методы стандарта OpenGL. Благодаря OpenGL и его шейдерной программе процесс построения этой модели был сведен к прикладному математическому решению и использованию небольшого количества ресурсов, что сводит математические расчеты к минимуму.
Выпускная квалификационная работа была выполнена под руководством консультанта старшего преподавателя кафедры программирования Н.Б. Буториной. Была разработана и реализована архитектура классов, способных отрисовывать трехмерные сцены с использованием основных методов OpenGL.
Создано демонстрационное приложение с использованием этой библиотеки. Реализованы алгоритмы 3D графики: освещение методом Фонга с текстурированием объекта и отрисовка теней алгоритмом карты теней с использованием техники сглаживания Percentage Closer Filtering (PCF).
А также, были проведены эксперименты, связывающие сложность сцены и время выполнения программы. В ходе эксперимента было выявлено, что сложность сцены несущественно влияет на скорость отрисовки кадра.
ЦП: AMD E-350 Proceccor 1.60 GHz .
GPU: Radeon HD 6330M Эффективная тактовая частота памяти 1800 МГц,
Память 1024 МБ.
Таблица 1 - Соотношение количества объектов сцены и времени отрисовки 1 кадра
Количество объектов Время, сек
1 0.00145484
3 0.00274012
6 0.00380818
12 0.00420133
100 0.00551013
1000 0.00631255



1. Графическая библиотека OpenGL. Учебно - методическое пособие [Электронный ресурс] / Ю.М. Баяковский, А.В. Игнатенко, А.И. Фролов - Факультет вычислительной математики и кибернетики МГУ им. Ломоносова 2003 -
URL: https://rsdn.org/article/opengl/ogltut2.xml (дата обращения: 24.10.17)
2. Шейдер [Электронный ресурс] - URL: https://ru.wikipedia.org/wiki?curid=107896 (дата обращения: 25.11.17)
3. learnopengl. Урок 1.5 — Shaders [Электронный ресурс] - URL: https://habrahabr.ru/post/313380/ (дата обращения: 25.11.17)
4. Введение в OpenGL [Электронный ресурс] - URL: http://www.codenet.ru/progr/opengl/3d.php (дата обращения: 17.01.18)
5. Создание графических моделей с помощью Open Graphics Library / Лекция 6:
Координатные преобразования в OpenGL [Электронный ресурс] - URL: https://www.intuit.ru/studies/courses/2313/613/lecture/13303 (дата обращения:
21.01.18)
6. Компьютерная графика / теория, алгоритмы, примеры на С++ и OpenGL/
Источники света [Электронный ресурс] - URL:
http://compgraphics.info/OpenGL/lighting/light sources.php (дата обращения:
19.02.18)
7. Learn OpenGL. Урок 2.5 — Источники света [Электронный ресурс] - URL: https://habrahabr.ru/post/337642/ (дата обращения: 26.02.18)
8. Компьютерная графика / теория, алгоритмы, примеры на С++ и OpenGL/ Закон
Ламберта. Модель отражения Фонга. Модель отражения Блинна - Фонга [Электронный ресурс] - URL:
http://compgraphics.info/3D/lighting/phong reflection model.php (дата обращения:
17.03.18)
9. Реализация теней с помощью библиотеки OpenGL / Журавлев С.В., Михайлюк
М.В., Торгашев М.А. [Электронный ресурс] - URL:
http://swsys.ru/print/article print.php?id=863 (дата обращения: 17.03.18)
10. Свойства материала [Электронный ресурс] - URL:
http://metodpro.ru/index.php?type page&katalog&id=999&met6 (дата обращения:
21.03.18)
11. Программные продукты и системы / С.В. Журавлев, М.В. Михайлюк, М.А. Торгашев [Электронный ресурс] - URL: https://cyberleninka.ru/article/n/realizatsiya- teney-s-pomoschyu-biblioteki-opengl (дата обращения: 5.04.18)
12. Обзор алгоритмов построения теней в реальном времени [Электронный ресурс] - URL: https://www.ixbt.com/video/realtimeshadows.shtml (дата обращения:10.04.18)



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ