Читать онлайн «Программирование трехмерной графики»

Автор Юрий Тихомиров

СОЗДАНИЕ РЕАЛИСТИЧЕСКИХ ОБРАЗОВ Ю. ТИХОМИРОВ ПРОГРАММИРОВАНИЕ ТРЕХМЕРНОЙ ГРАФИКИ ПЯЛ 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.