Е. А. СНИЖКО, Н. А. ФЛЕРОВА, А. В. ВОРОНЦОВ
Предисловие.. 3 Лабораторная работа № 1. Подключение библиотек; контекст устройства, контекст воспроизведения; общий вид программы. 4 Цель работы. 4 Необходимые теоретические сведения. 4 Основные понятия, используемые в данной лабораторной работе: контекст устройства, контекст воспроизведения, формат пиксела. 5 Порядок выполнения работы. 5 Контрольные вопросы. 18 Лабораторная работа № 2. Примитивы OpenGL, основные приемы построения двумерных объектов. 18 Цель работы. 18 Необходимые теоретические сведения. 18 Командные скобки. Использование функций glBegin и glEnd. 19 Аргументы функции glBegin. 20 Включение и отключение режима сглаживания (антиэлайзинг). 20 Вывод точек в OpenGL. 21 Линии: одиночные, ломаные, замкнутые ломаные. 22 Вывод треугольников: одиночные треугольники, ленты треугольников, веера треугольников. 23 Вывод четырехугольников. 25 Рисование полигонов, передние и задние грани полигонов. 25 Построение невыпуклых полигонов. 26 Особенности режимов закрашивания для многоугольников. 27 Задания к лабораторной работе. 27 Варианты к заданию. 29 Дополнительные задания. 30 Контрольные вопросы. 30 Лабораторная работа № 3. Использование массивов вершин. Преобразования координат. 31 Цель работы: 31 Порядок выполнения лабораторной работы. 31 Необходимые теоретические сведения. 31 Массивы вершин. 31 Включение/выключение режима. 31 Заполнение массива вершин. 32 Команды рисования. 33 Геометрические преобразования. 33 Матрица моделирования. 34 Преобразование переноса: 34 Преобразование поворота: 34 Преобразование масштабирования: 35 Задания к лабораторной работе. 36 Варианты к заданиям. 37 Дополнительные задания. 37 Контрольные вопросы. 38 Лабораторная работа № 4. Трехмерные построения. Буфер глубины. Видовые параметры. Параллельная и перспективная проекции. 38 Цель работы. 38 Порядок выполнения работы. 38 Необходимые теоретические сведения. 39 Трехмерные координаты. 39 Буфер глубины. 39 Проекции. 40 Видовые параметры. 40 Место команд в программе. 41 Матрица проецирования. 42 Задания к лабораторной работе. 43 Варианты заданий. 44 Дополнительные задания. 45 Контрольные вопросы. 45 Лабораторная работа № 5. Квадрик-объекты. Камера. 46 Цель работы. 46 Порядок выполнения работы. 46 Необходимые теоретические сведения. 46 Квадрик-объекты. 47 Перспектива. 50 Моделирование камеры. 50 Задания к лабораторной работе. 51 Варианты к заданиям лабораторной работы. 52 Дополнительные задания. 53 Контрольные вопросы. 53 Лабораторная работа № 6. Освещение. 54 Цель работы. 54 Порядок выполнения работы. 54 Необходимые теоретические сведения. 54 Модель освещения. 55 Фоновый, диффузный, зеркальный и исходящий свет. 56 Цвет материала и света. 57 Включение фонового освещения. 59 Задание параметров материала. 59 Создание, позиционирование и включение одного или более источников света. 60 Параметры источника света. 62 Цвет. 63 Позиция и ослабление. 63 Задания лабораторной работе. 64 Варианты к заданию лабораторной работы. 65 Дополнительные задания. 65 Контрольные вопросы. 66 Лабораторная работа № 7. Текстуры: режимы фильтрации, режимы взаимодействия текстуры с накладываемым объектом, автоматическая генерация текстурных координат. 66 Цель работы. 66 Необходимые теоретические сведения. 66 Подготовка изображения для использования в текстуре. 67 Создание текстуры.. 68 Использование текстуры. 74 Пример наложения текстуры с растяжением на прямоугольный объект. 76 Пример наложения текстуры на треугольник. 76 Пример мозаичного(тайлового) покрытия текстурой. 77 Пример создания с помощь текстур эффекта отражения. 78 Задания к лабораторной работе и порядок выполнения. 78 Контрольные вопросы. 79 ПРИЛОЖЕНИЯ. 81 Приложение 1. Минимальный код программы OpenGL на C++. 81 Приложение 2. Минимальный код программы для использования OpenGL в программе на Delphi. 84 1) Оконное приложение. 84 2) Консольное приложение. 85 3) Пример рисования на поверхности визуального компонента. 88 Приложение 3. Ссылки на Интернет-ресурсы по использованию библиотек OpenGL в программировании графики. 89 Библиографический список. 90
[1] Лабораторные работы практикума могут выполняться в среде визуального программирования Delphi. В Приложении 2 содержатся варианты минимальной программы OpenGL на Delphi.
[2] В программе на C++ указатель записан в виде &pfd, в программе на Delphi следует записать @pfd. [3] В Delphi вместо символа «|» используется «or». [4] В Delphi шаблон запишется в виде, например $F0F0. [5] В Delphi переменную-указатель на квадрик-объект объявляют так quadricObj: GLUquadricObj; Е. А. СНИЖКО, Н. А. ФЛЕРОВА, А. В. ВОРОНЦОВ
|