Книга посвящена использованию новых возможностей графической библиотеки OpenGL версии выше 1.2 в приложениях, разрабатываемых на языке C++ в Microsoft Visual Studio .NET 2002. Описано применение средств NVIDIA OpenGL SDK для создания реалистичных трехмерных изображений. На примерах рассмотрены загрузка текстур из файлов форматов TGA и JPG, экспорт моделей из 3ds max, хранение данных в ZIP-архивах, отсечение невидимой геометрии, моделирование глянцевых объектов и др.
Прилагается компакт-диск с инструментальными средствами и демонстрационными версиями рассматриваемых примеров.
Название: OpenGL. Профессиональное программирование трехмерной графики на C++ (+CD)
Автор: Гайдуков С. А.
Издательство: БХВ-Петербург
Год: 2004
Страниц: 720
Формат: DJVU+ISO
Размер: 482 МБ
ISBN: 5-94157-363-4
Качество: Отличное
Серия или Выпуск: Профессиональное программирование
Содержание: Введение На кого рассчитана эта книга
Структура книги
Требования к программному и аппаратному обеспечению
Благодарности Часть I. Использование NVIDIA OpenGL SDK Глава 1. Библиотека GLUT 1.1. Подключение GLUT к проекту
1.2. Пример простейшей программы, использующей GLUT
1.3. Работа с мышью и клавиатурой
1.4. Работа с джойстиком
1.5. Пример трехмерного приложения
1.6. Создание анимации с использованием таймера библиотеки GLUT
1.7. Создание анимации с использованием команды
glutIdleFunc 1.8. Работа с растровыми шрифтами и использование полноэкранного режима
1.9. Работа с объемными шрифтами
1.10. Работа с контекстными меню
1.11. Использование режима GameMode
1.12. Корректное завершение работы программы при использовании GLUT
1.13. Пример пользовательского интерфейса для GLUT-программ с использованием Borland Delphi 6
1.13.1. Использование статических библиотек DLL, созданных в Delphi 6, в Visual C++
Заключение
Глава 2. Библиотека GLH 2.1. Математическая библиотека GLH_LINEAR
2.2. Библиотека GLH_GLUT - объектная надстройка над GLUT
2.3. Библиотека GLH_GLUT EXT- расширение GLH
2.4. Библиотека GLH_OBS - объектная надстройка над OpenGL
Заключение
Глава 3. Библиотека NV_MATH 3.1. Работа с векторами
3.2. Работа с матрицами
3.3. Выполнение аффинных преобразований
3.4. Использование кватернионов
3.5. Другие полезные функции
Заключение
Глава 4. Библиотека NV_UTIL 4.1. Использование файлов формата TGA
4.2. Использование файлов формата JPG
4.3. Использование ZIP-архивов в качестве хранилища файлов
4.4. Чтение моделей из файлов формата ASE
Заключение
Часть II. Расширения OpenGL Глава 5. Введение в расширения OpenGI 5.1. Как читать спецификацию расширения OpenGL (на примере расширения EXT_separate_specuIar_color)
5.2. Использование расширений OpenGL (на примере расширения EXT_separate_specular_color)
5.3. Инициализация расширений OpenGL, добавляющих в OpenGL новые команды (на примере расширения ARВ window pos)
5.4. Использование WGL-расширений (на примере расширения WGL_EXT_swap_control)
5.5. Инициализация расширений с использованием библиотеки NVIDIA OpenGL Helper Library
5.6. Инициализация расширений при помощи библиотеки ATI Extensions
5.7. Простые расширения OpenGL
Заключение
Глава 6. Расширения EXT_texture_rectangle и NV_tcxture_rectangle 6.1. Добавление в библиотеку ASE Reader поддержки NPOTD-текстур
Заключение
Глава 7. Проверка видимости объектов с использованием расширений HP_occlusion_test и NV_occlusion_query 7.1. Построение прямоугольной оболочки объекта
7.2. Использование расширения HP_occlusion_test для проверки видимости прямоугольной оболочки объекта на экране
7.3. Расширения NV_occlusion_query
7.4. Пример программной проверки попадания прямоугольной оболочки в пирамиду видимости
Заключение
Глава 8. Использование внеэкранных буферов 8.1. Расширение WGL_ARB_pixel_format
8.2. Расширение WGL_ARB_pbuffer
8.3. Использование расширения ARB_render_texture
8.4. Пример создания виртуального мира
Заключение
Глава 9. Сжатые текстуры 9.1. Расширение ARB_texture_compression
9.2. Расширение EXT_texture_compression_s3tc
9.3. Сохранение сжатых текстур на диске
9.4. Использование файлов формата DDS
Заключение
Глава 10. Кубические текстурные карты 10.1. Наложение окружающей среды с использованием сферических карт
10.2. Наложение окружающей среды с использованием кубических текстурных карт
10.3. Нетрадиционное использование кубических карт на примере закраски методом Фонга
10.4. Экспорт из 3D Studio MAX материалов, использующих текстурные карты отражения refleci/refract
Заключение
Заключение Часть III. Приложения Приложение 1. Таблица расширений, поддерживаемых видеокартами корпорации NVIDIA Приложение 2. Таблица расширений, поддерживаемых видеокартами корпорации ATI Приложение 3. Описание компакт-диска Список литературы и источников в Интернете Предметный указатель Компакт-диск, прилагаемый к книге, содержит восемь каталогов:
ATI SDK - заголовочные файлы для реализации OpenGL корпорации ATI;
BugLayerUtils - библиотека BuglsayerUtils из книги [8] (библиотека имеется на CD-ROM). Эта библиотека изменяет макрос assert стандартной библиотеки C++, после чего он начинает выводить множество дополнительной информации, а также исправляет ряд ошибок в Visual C++;
DOC - документация, на которую имеются ссылки в тексте книги;
Drivers - драйвера для видеокарт корпораций ATI и NVIDIA, используемые при подготовке примеров для этой книги;
Examples - проекты примеров книги, сгруппированные по главам;
NVIDIA SDK - NVIDIA SDK 5.21 с несколькими обновлениям, а также другой инструментарий NVIDIA:
DXT_TOOLS_v5.32 - набор утилит NVIDIA для работы с файлами формата DDS;
Extensions - библиотеки GLH_GLUT_EXT и NV_UTIL_EXT, расширяющие функциональность библиотеки OpenGL Helper Library и NV_UTIL соответственно;
NV_DDS - обновлённая версия библиотеки NV_DDS, позволяющая загружать текстуры из файлов формата DDS;
Textures - библиотека текстур высокого разрешения формата DDS;
Update - обновлённые файлы NVIDIA OpenGL SDK;
psCamera - вспомогательные классы проверки попадания прямоугольной оболочки объекты в видовой объём камеры, созданные Петром Поповым;
Setup - файлы инсталляции примеров.