СОЗДАНИЕ РЕАЛИСТИЧЕСКИХ ОБРАЗОВ
Ю. ТИХОМИРОВ
ПРОГРАММИРОВАНИЕ
ТРЕХМЕРНОЙ
ГРАФИКИ
ПЯЛ
1_ -к i _ v--,r«-s>"-
УДК 681. 3. 06
Книга посвящена программированию визуализации трехмерных реалистических
образов с использованием системы графических библиотек OpenGL (для Windows 95 и
Windows NT) В книге приведена необходимая теоретическая информация (системы
координат, геометрические преобразования, проекции), рассмафиваются основные
принципы создания и обработки графических объектов в OpenGL. работа с цветом
наложение текстуры, а также структура консольною приложения \Vindov\s для работы
с OpenGL и многое друюе
В книге содержится много практических примеров, которые пошосмью включены в
состав прилагаемой дискеты
Для программистов на С и С --г
Группа подготовки издания:
Главный редактор Вадим Сергеев
Зав редакцией Агексей Жданов
Ответственный редактор Татьяна Темкина
Компьютерная верстка Ольга Сергиенко,
Наталья Богова
Корректор Зинаида Дмитриева
Дизайн обложки Е\ена К. \ыкова
Производство Николай Тверских
Тихомиров Ю. Программирование трехмерной графики — СПб
BHV - Санкт-Петербург, 1998. - 256 с , ил
ISBN 5-7791-0074-8
© Ю. Тихомиров, 1998
© Оформление, издательство «BHV — Санкт-Петербург», 1G
Лицензия ЛР № 090141 от 12 02 96 Подписано в печать 19 02 98
Формат 70x100 16 Печать офсетная Уел печ л 20. 6
Тираж 7000 экз Заказ № 1314
BHV — Санкт-Петербург, 198052 С -Петербург. Измайловский пр 29
Отпечатано с диапозитивов в ГПП «Печатный Двор»
Государственного комитета РФ по печати
197110, Санкт-Петербург. Чкаловский пр , 15
Оглавление
ВВЕДЕНИЕ 3
ГЛАВА 1. ОСОБЕННОСТИ РЕАЛИЗАЦИИ OPENGL В WINDOWS NT
И WINDOWS 95 6
Установка стиля окна OpenGL 7
Установка формата пикселей . 7
Установка текущего контекста воспроизведения . . . 16
Завершение работы с OpenGL 17
ГЛАВА 2. СТРУКТУРА КОНСОЛЬНОГО ПРИЛОЖЕНИЯ WINDOWS
ДЛЯ РАБОТЫ С OPENGL 20
ГЛАВА 3. ВЕРШИНЫ, ПРИМИТИВЫ 29
Архитектура OpenGL ... . 29
Синтаксис команд OpenGL. . 31
Вершины и система координат 32
Примитивы OpenGL 34
Точки ... 37
Линии ... ... ...
. . 45
Треугольники 49
Четырехугольники ... . 53
Многоугольники ... ... 59
Растровые примитивы 65
Первая трехмерная картинка ... 69
ГЛАВА 4. ГЛУБИНА, ТРАФАРЕТЫ, ТУМАН И МНОГОЕ ДРУГОЕ 72
Принадлежность пикселей контексту воспроизведения. 74
Отсечение ... . . 74
Прозрачность 77
Смешение цветов 78
Трафарет 84
Глубина 89
Списки изображений 92
Интерполяция цветов 96
Логические операции 97
Один из способов передачи глубины . . ... . . 99
ГЛАВА 5. КООРДИНАТЫ, ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ
И ПРОЕКЦИИ 105
Оглавление
Системы координат в трехмерном пространстве 105
Однородные координаты и матрицы 107
Преобразование координат 111
Матрицы . Ill
Видовое преобразование 113
Проекции 116
О п редел с н 11 е об. i асп i вы вода 117
Орюфафическая проекция 119
Перспективная проекция 125
Другие виды проекций 129
Ориентация 131
ГЛАВА 6. ЦВЕТ В КОМПЬЮТЕРНОЙ ГРАФИКЕ 134
Обработка цветов в OpenGL 137
Палитра Windows в режиме RGBA 139
Заполнение стр>кгур PALETTEENTRY. 141
Системные цвета . 142
Гамма-коррекция 143
Обработчики сообщений 143
ГЛАВА 7.