![]() |
Книга посвящена основам программирования трехмерной графики в играх. В ней подробно рассматривается написание графического ядра для трехмерной игры, позволяющей в реальном времени перемещаться по заданной сцене. Достаточно подробно рассматриваются математические вопросы работы с координатными пространствами, преобразования и проектирование. Также приводится ряд геометрических алгоритмов для решения типовых задач и оптимизации. В качестве графической библиотеки, используемой для рендеринга сцены, применяется широко распространенная библиотека OpenGL; для организации ввода информации от пользователя применяется библиотека Direct-Input. В книге подробно рассматривается организация работы с ресурсами, включая загрузку как текстур в ряде форматов (bmp, jpg, png, gif, tga, wal, pcx), так и загрузку трехмерных моделей (ase, md2, md3). Большое внимание уделяется реализации ряда специальных эффектов, таких, как зеркала и порталы с преобразованиями, объемный туман, системы частиц и т. д. Рассмотрение материала сопровождается примерами на языке C++ (для среды MS Visual C++ 6) и UML-диаграммами. Весь исходный код для книги доступен в Интернете по адресу www.steps3d.narod.ru. Предисловие Глава 1. Координаты и их преобразования Глава 2. Удаление невидимых поверхностей Глава 3. Простейшие геометрические алгоритмы и структуры Глава 4. Основы библиотеки OPENGL Глава 5. Объектная модель. Основные классы Глава 6. Основные классы для рендерера. Работа с ресурсами Глава 7. Пишем портальный рендерер (часть I) Глава 8. Пишем портальный рендерер (часть II) Глава 9. Пишем портальный рендерер (часть III) Глава 10. Работа с картами освещенности Глава 11. Пишем рендерер уровней quake II Глава 12. Добавляем эффекты Глава 13. Добавляем модели Напутствие Приложение. Векторная и матричная алгебра Литература Источники в интернете |