Математики и кибернетики



бет1/20
Дата29.05.2016
өлшемі0.67 Mb.
#100720
түріКонтрольные вопросы
  1   2   3   4   5   6   7   8   9   ...   20


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ М.В. ЛОМОНОСОВА
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ
МАТЕМАТИКИ И КИБЕРНЕТИКИ

Баяковский Ю.М., Игнатенко А.В., Фролов А.И.

Графическая библиотека OpenGL


методическое пособие

Москва
2002

УДК 681.3


Предисловие


Содержание


Введение 7

Глава 1. Основы OpenGL 9

1.1. Основные возможности 9

1.2. Интерфейс OpenGL 9

1.3. Архитектура OpenGL 11

1.4. Синтаксис команд 13

1.5. Пример приложения 14

Контрольные вопросы: 18

Глава 2. Рисование геометрических объектов 19

2.1. Процесс обновления изображения 19

2.2. Вершины и примитивы 20

2.3. Операторные скобки glBegin / glEnd 22

2.4. Дисплейные списки 26

2.5. Массивы вершин 28

Контрольные вопросы 29

Глава 3. Преобразования объектов 31

3.1. Работа с матрицами 31

3.2. Модельно-Видовые преобразования 33

3.3. Проекции 35

3.4. Область вывода 37

Контрольные вопросы 38



Глава 4. Материалы и освещение 39

4.1. Модель освещения 39

4.2. Спецификация материалов 40

4.3. Описание источников света 42

4.4. Создание эффекта тумана 45

Контрольные вопросы 46



Глава 5. Текстурирование 47

5.1. Подготовка текстуры 47

5.2. Наложение текстуры на объекты 50

5.3. Текстурные координаты 52

Контрольные вопросы 55

Глава 6. Операции с пикселями 56

6.1. Смешивание изображений. Прозрачность 57

6.2. Буфер-накопитель 58

6.3. Буфер маски 60

6.4. Управление растеризацией 62

Глава 7. Приемы работы с OpenGL 63

7.1. Устранение ступенчатости 63

7.2. Построение теней 64

7.3. Зеркальные отражения 69



Глава 8. Оптимизация программ 73

8.1. Организация приложения 73

8.2. Оптимизация вызовов OpenGL 77

Приложение A. Структура GLUT-приложения 86

Приложение A. Примитивы библиотек GLU и GLUT 90

Приложение A. Настройка приложений OpenGL 93

A.1. Создание приложения в среде Borland C++ 5.02 93

A.2. Создание приложения в среде MS Visual C++ 6.0 94

Приложение B. Демонстрационные программы 95

B.1. Пример 1: Простое GLUT-приложение 95

B.2. Пример 2: Модель освещения OpenGL 97

B.3. Пример 3: Текстурирование 101



Приложение C. Примеры практических заданий 108

C.1. Cornell Box 108

C.2. Виртуальные часы 109

C.3. Интерактивный ландшафт 111

Литература 117

Предметный указатель 118


Введение


OpenGL является одним из самых популярных прикладных программных интерфейсов (API – Application Programming Interface) для разработки приложений в области двумерной и трехмерной графики.

Стандарт OpenGL (Open Graphics Library – открытая графическая библиотека) был разработан и утвержден в 1992 году ведущими фирмами в области разработки программного обеспечения как эффективный аппаратно-независимый интерфейс, пригодный для реализации на различных платформах. Основой стандарта стала библиотека IRIS GL, разработанная фирмой Silicon Graphics Inc.

Библиотека насчитывает около 120 различных команд, которые программист использует для задания объектов и операций, необходимых для написания интерактивных графических приложений.

На сегодняшний день графическая система OpenGL поддерживается большинством производителей аппаратных и программных платформ. Эта система доступна тем, кто работает в среде Windows, пользователям компьютеров Apple. Свободно распространяемые коды системы Mesa (пакет API на базе OpenGL) можно компилировать в большинстве операционных систем, в том числе в Linux.

Характерными особенностями OpenGL, которые обеспечили распространение и развитие этого графического стандарта, являются:


  • Стабильность. Дополнения и изменения в стандарте реализуются таким образом, чтобы сохранить совместимость с разработанным ранее программным обеспечением.

  • Надежность и переносимость. Приложения, использующие OpenGL, гарантируют одинаковый визуальный результат вне зависимости от типа используемой операционной системы и организации отображения информации. Кроме того, эти приложения могут выполняться как на персональных компьютерах, так и на рабочих станциях и суперкомпьютерах.

  • Легкость применения. Стандарт OpenGL имеет продуманную структуру и интуитивно понятный интерфейс, что позволяет с меньшими затратами создавать эффективные приложения, содержащие меньше строк кода, чем с использованием других графических библиотек. Необходимые функции для обеспечения совместимости с различным оборудованием реализованы на уровне библиотеки и значительно упрощают разработку приложений.

Наличие хорошего базового пакета для работы с трехмерными приложениями упрощает понимание студентами ключевых тем курса компьютерной графики – моделирование трехмерных объектов, закрашивание, текстурирование, анимацию и т.д. Широкие функциональные возможности OpenGL служат хорошим фундаментом для изложения теоретических и практических аспектов предмета.

Глава 1.Основы OpenGL

1.1.Основные возможности

Описывать возможности OpenGL мы будем через функции его библиотеки. Все функции можно разделить на пять категорий:



  • Функции описания примитивов определяют объекты нижнего уровня иерархии (примитивы), которые способна отображать графическая подсистема. В OpenGL в качестве примитивов выступают точки, линии, многоугольники и т.д.

  • Функции описания источников света служат для описания положения и параметров источников света, расположенных в трехмерной сцене.

  • Функции задания атрибутов. С помощью задания атрибутов программист определяет, как будут выглядеть на экране отображаемые объекты. Другими словами, если с помощью примитивов определяется, что появится на экране, то атрибуты определяют способ вывода на экран. В качестве атрибутов OpenGL позволяет задавать цвет, характеристики материала, текстуры, параметры освещения.

  • Функции визуализации позволяет задать положение наблюдателя в виртуальном пространстве, параметры объектива камеры. Зная эти параметры, система сможет не только правильно построить изображение, но и отсечь объекты, оказавшиеся вне поля зрения.

  • Набор функций геометрических преобразований позволяют программисту выполнять различные преобразования объектов – поворот, перенос, масштабирование.

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


Достарыңызбен бөлісу:
  1   2   3   4   5   6   7   8   9   ...   20




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет