РуЛиб - онлайн библиотека > Ламот Андре > Программирование графики > Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации

Читаем онлайн «Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации»

TRICKS OF THE
3D GAME PROGRAMMING
GURUS
ADVANCED 3D GRAPHICS AND
RASTERIZATION
Andre LaMothe
SAMS
2O1 West 103rd Street,
Indianapolis, Indiana 462ЭО
ПРОГРАММИРОВАНИЕ
ТРЕХМЕРНЫХ ИГР
ДЛЯ WINDOWS
СОВЕТЫ ПРОФЕССИОНАЛА ПО
ТРЕХМЕРНОЙ ГРАФИКЕ И РАСТЕРИЗАЦИИ
ПРОГРАММИРОВАНИЕ
ТРЕХМЕРНЫХ ИГР
ДЛЯ WINDOWS
СОВЕТЫ ПРОФЕССИОНАЛА ПО ТРЕХМЕРНОЙ
ГРАФИКЕ И РАСТЕРИЗАЦИИ
Андре Ламот
Москва • Санкт-Петербург • Киев
2004
ББК 32.973.26-018.2.75
Л21
УДК 681.3.07
Издательский дом "Вильяме"
Зав, редакцией С.Н, Тригуб
Перевод с английского Р.Г. Имамутдиновой, канд. техн. наук И.В. Красикова,
А. Наумовца, Н.А. Ореховой, В.Н. Романова
Под редакцией канд. техн. наук Я. А Красикова
По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу:
info@williamspublishing.com, http://www.williamspublishing.com
Ламот, Андре.
Л21 Программирование трехмерных игр для Windows. Советы профессионала по
трехмерной графике и растеризации. : Пер. с англ. — М. : Издательский дом
"Вильяме", 2004. — 1424 с.: ил. — Парал. тит. англ.
ISBN 5-8459-0627-Х (рус,)
Данная книга представляет собой продолжение книги Андре Ламота Программирование игр
для Windows. Советы профессионала и посвящена созданию трехмерных игр. В книге освещены
различные аспекты разработки трехмерных игр, однако основное внимание уделяется вопросам программирования трехмерных игр — в частности, представления трехмерных объектов, их
визуализации с учетом свойств материала объектов, освещения, перспективы, а также таким
специфическим вопросам трехмерной визуализации, как создание различных визуальных спецэффектов и т.п. В книге также рассматриваются многие сопутствующие вопросы — создание
и применение звуковых эффектов и музыкального сопровождения, использование различных
форматов файлов и соответствующего инструментария.
Книга написана выдающимся специалистом в области программирования игр с многолетним стажем, и полезна как начинающим, так и профессиональным разработчикам игр для
Windows. Однако следует учесть, что она рассчитана в первую очередь на опытного специалиста, владеющего языком программирования C++, а также имеющего определенную математическую подготовку. Хотя данная книга может рассматриваться как отдельное издание, желательно приступать к ней после ознакомления с упомянутой ранее книгой.
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни
было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства
Sams Publishing.
Authorized translation from the English language edition published by Sams Publishing, Copyright © 2003
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without
permission from the Publisher.
Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright 2004
ISBN 5-8459-0627-Х (рус.)
ISBN 0-672-31835-0 (англ.)
© Издательский дом "Вильяме", 2004
© by Sams Publishing, 2003
Оглавление
Предисловие
Об авторе
О техническом редакторе
Благодарности
Введение
17
18
18
19
21
Часть I. Введение в программирование трехмерных игр
27
Глава 1, Основы программирования трехмерных игр
Глава 2. Краткий курс Windows и DirectX
Глава 3. Виртуальный компьютер для программирования трехмерных игр
29
79
119
Часть 11. Трехмерная математика и преобразования
219
Глава 4. Запутанный мир математики
Глава 5. Создание математической библиотеки
Глава 6. Введение в трехмерную графику
Глава 7. Визуализация трехмерных каркасных объектов
221
309
409
515
Часть 111. Основы трехмерной визуализации
627
Глава 8. Основы моделирования освещения и поверхностей тел
Глава 9. Интерполяционные методы затенения и аффинное отображение текстур
Глава 10. Отсечение в трехмерном пространстве
Глава 11. Организация буфера глубины и видимость
629
749
879
957
-.
Часть IV. Секреты трехмерной визуализации
1013
Глава 12. Методы сложного текстурирования
Глава 13. Алгоритмы разбиения пространства и определения видимости
Глава 14. Освещение и тени
1015
1143
1263
Часть V. Анимация, физическое моделирование и оптимизация 1309
Глава 15. Анимация, движение и обнаружение столкновений
Глава 16. Технологии оптимизации
Предметный указатель
1311
1359
1407
Содержание
Предисловие
Об авторе
О техническом редакторе
Благодарности
Введение
17
]8
18
J9
21
Часть I. Введение в программирование трехмерных игр
27
Глава 1. Основы программирования трехмерных игр
Краткое введение
Элементы двумерных и трехмерных игр
Общие советы по программированию игр
Использование инструментов
Редакторы трехмерных уровней
Использован ие ком п илятора
Пример трехмерной игры: Raiders 3D
Цикл событий
Внутренняя логика