Главная » Книги » OpenGL. Профессиональное программирование трехмерной графики на C++ (+CD)
15:15
OpenGL. Профессиональное программирование трехмерной графики на C++ (+CD)
Книга посвящена использованию новых возможностей графической библиотеки 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 - файлы инсталляции примеров.