Автор работы: Пользователь скрыл имя, 17 Октября 2013 в 15:40, курсовая работа
В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат - сервером. Таким образом, можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью.
Введение
1. Программирование с использованием библиотеки OpenGL 4
1.1 Назначение OpenGL 4
1.2 Архитектура OpenGL 5
1.3 Преимущества OpenGL 6
1.4 Базовые возможности библиотеки 7
1.5 Преобразование координат 8
1.6 Видовое преобразование 9
1.7 Проекции 10
1.8 Трехмерные объекты GLU 11
1.9 Использование таймера 12
2. Разработка приложения для построения динамического изображения трехмерной модели объекта «Компьютер» 15
2.1 Разработка процедуры визуализации трехмерной сцены 15
2.2 Разработка интерфейса пользователя 17
2.3 Разработка подсистемы управления событиями 18
3. Информационное и программное обеспечение 20
3.1 Общие сведения о программе 20
3.2 Функциональное назначение 20
3.3 Логическая структура и функциональная декомпозиция проекта 21
3.4 Требования к техническому обеспечению программы 23
3.5 Руководство пользователя 23
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
МЕЖДУНАРОДНЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Факультет информационных технологий
Кафедра вычислительной техники,
программного обеспечения и
КУРСОВАЯ РАБОТА
Тема
Студент: Группа: Принял(а) : |
Сейдильдаева Н.К CSSE 105 ассоц.проф. Хасенова Г.И. |
Алматы 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ |
3 |
1. АНАЛИЗ СОВРЕМЕННЫХ ПОДХОДОВ К ТЕМЕ КУРСОВОЙ РАБОТЫ |
|
1.1 Анализ отечественных и зарубежных работ, связанных с темой курсовой работы |
5 |
1.2 Классификация(и) и сравнительная характеристика программных комплексов представленных на рынке; |
7 |
1.3 Общая характеристика и особенности проблемной области, связанной с темой курсовой работиы; |
12 |
1.4 Особенности применяемых инструментальных средств и технологий. |
14 |
2. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ |
|
2.1 Выбор и описание моделей |
|
2.2 Описание структур данных и/или знаний |
|
2.3 Формализации методов и/или процедур и/или процессов и т.п.; |
|
2.4 Формализация интерфейсов (указать конкретно) |
|
2.5 Описания алгоритмов и/или методов |
|
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ |
|
3.1 архитектура,
состав и структура |
|
3.2 инструментальные средства поддержки разработки |
|
3.3 реализация функциональных возможностей |
|
3.4 реализация информационного обеспечения |
|
3.5 реализация интерфейсных возможностей |
|
3.6 тест-примеры,
технические характеристики |
|
ЗАКЛЮЧЕНИЕ |
|
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ |
|
ГЛОССАРИЙ |
СОДЕРЖАНИЕ
Введение
1. Программирование с использованием библиотеки OpenGL 4
1.1 Назначение OpenGL 4
1.2 Архитектура OpenGL 5
1.3 Преимущества OpenGL 6
1.4 Базовые возможности библиотеки 7
1.5 Преобразование координат 8
1.6 Видовое преобразование 9
1.7 Проекции 10
1.8 Трехмерные объекты GLU 11
1.9 Использование таймера 12
2. Разработка приложения для построения динамического изображения трехмерной модели объекта «Компьютер» 15
2.1 Разработка процедуры визуализации трехмерной сцены 15
2.2 Разработка интерфейса пользователя 17
2.3 Разработка подсистемы управления событиями 18
3. Информационное и программное обеспечение 20
3.1 Общие сведения о программе 20
3.2 Функциональное назначение 20
3.3 Логическая структура и функциональная декомпозиция проекта 21
3.4 Требования к техническому обеспечению программы 23
3.5 Руководство пользователя 23
ЗАКЛЮЧЕНИЕ |
|
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ |
|
ГЛОССАРИЙ |
ВВЕДЕНИЕ
Сейчас трёхмерные изображения
можно увидеть везде, начиная
от компьютерных игр и заканчивая
системами моделирования в
OpenGL - это графический
стандарт в области
OpenGL переводится как Открытая
Графическая Библиотека (Open Graphics Library),
это означает, что OpenGL - это открытый
и мобильный стандарт. Программы,
написанные с помощью OpenGL можно
переносить практически на
Что же представляет из себя OpenGL? С точки зрения программиста OpenGL - это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Говоря более простым языком, вы определяете объекты, задаёте их местоположение в трёхмерном пространстве, определяете другие параметры (поворот, масштаб, ...), задаёте свойства объектов (цвет, текстура, материал, ...), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering), и занимается только отображением 3D обьектов, она не работает с устройствами ввода (клавиатуры, мыши). Также она не поддерживает менеджер окон.
OpenGL имеет хорошо продуманную
внутреннюю структуру и
В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат - сервером. Таким образом, можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью.
1. ПРОГРАММИРОВАНИЕ
С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ OP
1.1 Назначение OpenGL
программирование opengl трехмерный компьютер пользователь
Основная идея OpenGL: графическая библиотека должна быть аппаратно независимой, но в то же время использовать аппаратные ускорители, если они доступны. Кроме того, этот язык с самого начала предусматривал механизм расширения и гибкости - по мере того как расширения становились "общепринятыми", они становились частью следующего релиза.
Для любого протокола, будь то сетевой протокол или язык описания сцен, важным является вопрос уровня абстракции - то есть того, на каком уровне работает данная система или протокол, что является входными данными и что выходными, какие компоненты будут взаимодействовать в качестве поставщиков и приемников данных. Говоря попросту, нужно определиться по вопросу "что мы делаем и чего не делаем".
Создатели OpenGL планировали
свой язык с явным намерением создать
"виртуальный графический
OpenGL оперирует графическими
примитивами "начального
1.2 Архитектура OpenGL
Точно так же, как процессор имеет два типа конвейеров - для целочисленных вычислений и чисел с плавающей точкой, OpenGL имеет два конвейера для пиксельных данных и вертексных операций, то есть для операций с векторными данными. Каждый из потоков обрабатывается отдельно, до тех пор пока это возможно - то есть до стадии мэппинга, когда пиксельные растры как фактуры "натягиваются" на плоскости и более сложные поверхности.
Первый этап - аппроксимация кривых и поверхностей вычислением полиномов от входных значений. Второй проход оперирует с примитивами типа точек, отрезков и полигонов - они преобразуются по правилам аффинных преобразований, совмещаются и сцена отсекается в подготовке к растрированию.
Растрирование в качестве результата создает список объектов (точек, отрезков и треугольников) в двумерной плоскости. Над отдельными объектами может быть выполнена операция раскрашивания, градиентной заливки или применения мэппинга, то есть наложения фактуры.
Готовые фрагменты окончательно обрабатываются перед тем, как они реально будут внесены в frame buffer. В частности, фрагменты сортируются зависимо от значений "глубины" - и эти значения сравниваются с известными на предмет рекомпозиции. Применение блендинга приводит к тому, что прозрачные фрагменты принимают цвет, состоящий из их собственного и цветов "ниже лежащих" фрагментов. Дополнительно может быть реализовано маскирование и другие эффекты.
Пиксельный процессор в ходе растрирования встраивает двумерные битовые фрагменты прямо в кадр. Часть готового кадра также может быть прочитана для повторного использования как массив пикселей - так что данные, отображаемые в буфере, могут стать частью других сцен.
1.3 Преимущества OpenGL
При реализации авторы ставили себе пять ориентиров, важных с точки зрения получаемых результатов.
Производительность. С самого
начала в OpenGL была заложена "крайне
желательная" возможность отрисовки
динамических сцен. Для получения
нужных результатов в систему
введено множество параметров, или,
как говорят, режимов рисования.
Если некоторый режим или комбинация
режимов на данном оборудовании не
в состоянии обеспечить интерактивного
взаимодействия и необходимой частоты
обновления сцены, то пользователь или
сама программа должны быть в состоянии
отключать так много
Ортогональность. По возможности все функции OpenGL являются ортогональными, то есть независимыми. Вы можете использовать их в произвольной комбинации, например использование мэппинга не ограничивает возможностей применения светотени.
Полнота. Насколько это представляется возможным, OpenGL соответствует набору функций, предоставляемому современными аппаратными средствами графической акселерации. OpenGL старается избегать всего, что должно быть реализовано программно. С другой стороны, по крайней мере, гарантируется получение рабочей картинки, даже если производительность и не позволяет получить ее со всеми подробностями. То есть, если что-то работает на одной платформе, то этот же код будет работать и на другой - хотя, возможно, и с другим результатом.
Интероперабельность. В сетевом окружении важно передавать данные между разными платформами. Поэтому OpenGL заранее ориентирован на работу в режиме клиент-сервер, даже если и клиент и сервер расположены на одном компьютере.
Расширяемость. Поскольку OpenGL
рассчитан на максимальное соответствие
возможностям аппаратуры (а аппаратура,
как известно, имеет тенденцию
развиваться), то в OpenGL также встроены
механизмы включения новых
1.4 Базовые возможности библиотеки
К базовым возможностям библиотеки можно отнести следующие:
1. Создание геометрических
и растровых примитивов. На их
основе строятся все объекты.
Из геометрических примитивов
библиотека предоставляет:
Информация о работе Построение 3D модели "Компьютер" (OpenGL)