В четвертой главе даются основы библиотеки OpenGL и приводятся примеры ее практического использования. В ней также Содержится руководство по использованию библиотеки glut для организации взаимодействия с оконной системой.

В пятой главе вводится используемая в дальнейшем объектная модель и определяются основные классы, служащие для работы со строками и контейнерами, системным логом и файлами конфигурации.

Шестая глава полностью посвящена работе с ресурсами игры. В качестве таких ресурсов могут выступать: описание сцен, текстуры, модели и т. п. В этой главе вводятся основные классы, позволяющие легко работать с большим количеством различных типов ресурсов (jpg, Ьтр, tga, gif, wal, png и др.).

В последующих трех главах (седьмая, восьмая и девятая) строится простейший рендерер трехмерных сцен, основанный на портальной модели. По ходу изложения в него добавляются поддержка полупрозрачных граней и зеркал, порталов с преобразованиями, обработка столкновений наблюдателя с объектами сцены. Добавляется консоль, аналогичная используемой в игре Quake.

Десятая глава посвящена созданию и использованию карт освещенности. Здесь в построенный ранее рендерер вводятся необходимые изменения, позволяющие автоматически строить и использовать карты освещения для получения более реалистично выглядящих сцен.

В одиннадцатой главе показывается, как на основе введенных ранее классов можно построить рендерер уровней из игры Quake II. Построенный рендерер поддерживает загрузку уровней прямо из раЛ-файлов игры.

В последних двух главах (двенадцатая и тринадцатая) вводятся различные специальные эффекты (небо, объемный туман, системы частиц, блики на линзах), а также рассматривается работа с моделями на примере файлов в форматах ase, md2 и md3. Вводятся многопроходные шейдеры, близкие к используемым в игре Quake III Arena.

Напутствие содержит заключительное слово о данной книге и краткий список тем, которые планируется включить в следующую книгу.

КООРДИНАТЫ И ИХ ПРЕОБРАЗОВАНИЯ

Одним из самых фундаментальных понятий, которые понадобятся при написании любой трехмерной игры, являются координаты и работа с ними.


⇐ Предыдущая| |Следующая ⇒