Графика трехмерной компьютерной игры на основе OpenGL
Книга посвящена основам программирования трехмерной графики в играх. В ней подробно рассматривается написание графического ядра для трехмерной игры, позволяющей в реальном времени перемещаться по заданной сцене. Достаточно подробно рассматриваются математические вопросы работы с координатными пространствами, преобразования и проектирование. Также приводится ряд геометрических алгоритмов для решения типовых задач и оптимизации.В книге подробно рассматривается организация работы с ресурсами, включая загрузку как текстур в ряде форматов (bmp, jpg, png, gif, tga, wal, pcx), так и загрузку трехмерных моделей (ase, md2, md3).Рассмотрение материала сопровождается примерами на языке C++ (для среды MS Visual C++ 6) и UML-диаграммами. Весь исходный код для книги доступен в Интернете по адресу www.steps3d.narod.ru.
Содержание
Содержание книги "Графика трехмерной компьютерной игры на основе OpenGL "
Отрывок из книги
Глава 1. Координаты и их преобразования 23 else { roll = atan2 ( ro2, r00 ); yaw = 0; } Однако при использовании углов Эйлера может произойти неприятное явление, называемое gimbal lock. При этом происходит потеря одной из имеющихся степеней свободы. Рассмотрим, например, случай, когда 2pπ=. В этом случае матрица поворота (1.38) примет следующий вид: ()()()()()cos0sin,,sin0cos2010y ry rR yry ry r++⎛⎞⎜⎟π=+−+⎜⎟⎜⎟⎝⎠. (1.40) Таким образом, матрица поворота (1.40) зависит только от суммы двух углов и одна степень свободы была утеряна, т. е. поворот вокруг оси Oy приведет к кому же, к чему приводит и поворот вокруг оси –Oz на тот же угол. Эйлером также было показано, что из одной ориентации в трехмерном пространстве можно всегда прийти к любой другой путем одного поворота вокруг определенной оси (зависящей от обеих этих ориентаций). Таким об-разом, произвольная ориентация может быть представлена как угол и ось поворота, т. е. при помощи четырех чисел. Однако непосредственное использование такого представления (как и применение углов Эйлера) для работы с ориентациями в трехмерном про-странстве (что постоянно возникает в задаче анимации) весьма затрудни-тельно. Для этого обычно используют весьма простой и элегантный подход, основанный на использовании так называемых кватернионов. Кватернионы Одним из очень удобных средств для представления ориентации являются так называемые кватернионы. Кватернионы впервые были введены еще в 1843 г. Гамильтоном как расширение комплексных чисел, но впервые были использованы в компью-терной графике только в 1985 г.
Внимание!
При обнаружении неточностей или ошибок в описании книги "Графика трехмерной компьютерной игры на основе OpenGL (автор Алексей Боресков)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку