Книга посвящена основам программирования трехмерной графики в играх. В ней подробно рассматривается написание графического ядра для трехмерной игры, позволяющей в реальном времени перемещаться по заданной сцене. Достаточно подробно рассматриваются математические вопросы работы с координатными пространствами, преобразования и проектирование. Также приводится ряд геометрических алгоритмов для решения типовых задач и оптимизации.В книге подробно рассматривается организация работы с ресурсами, включая загрузку как текстур в ряде форматов (bmp, jpg, png, gif, tga, wal, pcx), так и загрузку трехмерных моделей (ase, md2, md3).Рассмотрение материала сопровождается примерами на языке C++ (для среды MS Visual C++6) и UML-диаграммами.
Author(s): А.В.Боресков
Publisher: ДИАЛОГ-МИФИ
Year: 2004
Language: Russian
Commentary: +OCR
Pages: 385
City: М
ПРЕДИСЛОВИЕ......Page 3
Глава 1. КООРДИНАТЫ И ИХ ПРЕОБРАЗОВАНИЯ......Page 5
Растяжение-сжатие (масштабирование)......Page 6
Отражение......Page 7
Перенос......Page 8
Поворот......Page 16
Масштабирование......Page 17
Однородные координаты......Page 18
Системы координат......Page 20
Задание ориентации......Page 21
Кватернионы......Page 23
Проектирование......Page 30
Параллельное проектирование......Page 31
Перспективное проектирование......Page 32
Глава 2. УДАЛЕНИЕ НЕВИДИМЫХ ПОВЕРХНОСТЕЙ......Page 34
Отсечение нелицевых граней......Page 38
Ограничивающие тела (Bounding Volumes)......Page 40
Разбиение пространства(плоскости) (Spatial Subdivision)......Page 41
Иерархические структуры (Hierarchies)......Page 42
Метод z-буфера......Page 43
Алгоритмы упорядочения......Page 45
Метод сортировки по глубине. Алгоритм художника......Page 46
Метод двоичного разбиения пространства......Page 50
Метод порталов......Page 55
Множества потенциально видимых граней (PVS)......Page 58
Быстрая оценка длины вектора......Page 64
Нахождение расстояния от точки до прямой......Page 65
Ограничивающие тела......Page 66
Проверка пересечения луча с многоугольником......Page 89
Проверка пересечения двух многоугольников......Page 90
Иерархические структуры......Page 92
Область видимости......Page 94
Глава 4. ОСНОВЫ БИБЛИОТЕКИ OpenGL......Page 98
Использование библиотеки glut......Page 101
Рисование геометрических объектов......Page 106
Рисование точек, линий и многоугольников......Page 110
Преобразование объектов в пространстве. Камера......Page 113
Дисплейные списки......Page 122
Работа с z-буфером......Page 123
Задание моделей закрашивания......Page 124
Освещение......Page 125
Полупрозрачность. Использование а-канала......Page 130
Вывод битовых изображений......Page 131
Ввод-вывод цветных изображений......Page 132
Наложение текстуры......Page 133
Управление наложением текстуры......Page 147
Работа с буфером трафарета......Page 148
Сохранение параметров......Page 150
Глава 5. ОБЪЕКТНАЯ МОДЕЛЬ. ОСНОВНЫЕ КЛАССЫ......Page 151
Класс Polygon3D......Page 180
Класс Texture......Page 189
Класс ResourceManager......Page 194
Схема "Модель - контроллер - вид"......Page 205
Класс Timer......Page 221
Класс Camera......Page 222
Метод порталов......Page 226
Работа с полупрозрачными гранями......Page 242
Консоль......Page 253
Обработка столкновений......Page 257
Глава 9. ПИШЕМ ПОРТАЛЬНЫЙ РЕНДЕРЕР (часть III)......Page 262
Глава 10. РАБОТА С КАРТАМИ ОСВЕЩЕННОСТИ......Page 275
Глава 11. ПИШЕМ РЕНДЕРЕР УРОВНЕЙ QUAKE II......Page 290
Небо......Page 309
Объемный туман......Page 314
Микрофактурные текстуры......Page 323
Панели (billboard)......Page 326
Системы частиц......Page 338
Хало, блики на линзах......Page 346
Модели......Page 350
Шейдеры......Page 364
НАПУТСТВИЕ......Page 369
Приложение. ВЕКТОРНАЯ И МАТРИЧНАЯ АЛГЕБРА......Page 370
ЛИТЕРАТУРА......Page 378
ИСТОЧНИКИ В ИНТЕРНЕТЕ......Page 379