Оглавление Предисловие 6
О чем эта книга 7
Что нужно знать 9
Что не вошло в книгу 9
Благодарности 9
Структура книги 10
Глава 1. Введение в программирование игр 12
1.1. Подготовка к созданию приложения 12
1.2. Скелет приложения 15
1.3. Инициализация Direct3D 20
1.4. Функция формирования сцены 23
1.5. Функция загрузки сетки 24
1.6. Пример загрузки сетки 26
1.7. Моделирование 29
1.8. Шейдеры 32
1.8.1. Простейший пример шейдеров 36
1.8.2. Использование вершинного шейдера 41
1.8.3. Пиксельный шейдер 46
Глава 2. Разработка движка 52
2.1. Структура движка 53
2.2. Двигатель объекта 54
2.3. Двигатель игры 62
2.4. Запуск движка 68
2.5. Тени 72
2.6. Множество источников освещения 83
Глава 3. Скелетная анимация 86
3.1. Что такое скелет 87
3.2. Формат хранения сетки 89
3.3. Основы программирования скелетов 95
3.4. Загрузка сетки и скелета из X-файла 98
3.5. Разбор объектов 103
3.6. Загрузка сетки 106
3.7. Загрузка дочерних элементов 109
3.8. Поиск фрейма 110
3.9. Обновление сетки 112
3.10. Обновление сетки 113
3.11. Анимация скелета 116
3.12. Анимация из X-файла 121
3.13. Загрузка анимации из X-файла 123
3.13.1. Необходимые классы 124
3.13.2. Анализ файла 125
3.13.3. Анализ блока анимации 126
3.13.4. Анализ ключа 127
3.14. Использование анимации 129
Глава 4. Войдите 132
4.1. Введение в DirectInput 132
4.2. Класс для входа 134
4.3. Реализация класса ввода 137
4.4. Перечисление устройств 141
4.5. Опрос состояния действий 145
4.6. Использование класса клавиатуры 149
Глава 5. "Фейсом об тейбл" 154
5.1. Алгоритмы обнаружения 154
5.1.1. Точка против плоскости 155
5.1.2. Точка против куба 155
5.1.3. Точка против сферы 156
5.1.4. Сфера против сферы 157
5.2. Столкновения в играх 157
5.3. Пример реализации коллизий 160
5.4. Ниже плинтуса 165
5.5. Напутствие 169
Глава 6. Вершинная анимация 170
6.1. Теория 170
6.2. Загрузка ключа 175
6.3. Отображение сетки 176
6.4. Использование шейдера 178
6.5. Множественность кадров 182
6.6. Практика использования 187
Глава 7. Программирование звука 189
7.1. Введение в звук 189
7.1.1. IDirectMusicLoader 191
7.1.2. IDirectMusicPerformance 193
7.1.3. IDirectMusicSegment8 194
7.2. Воспроизведение 194
7.3. Завершение воспроизведения 199
7.4. Погружение в 3D 199
7.5. Контроль над 3D 206
7.6. Мультизвук 207
7.7. Управление параметрами 208
7.8. Резюме 209
Глава 8. Игровые эффекты 210
8.1. Обман зрения 210
8.2. Видео 213
8.2.1. База для разработки фильтра 214
8.2.2. Разработка фильтра 216
8.2.3. Подтверждение типов медиаданных 219
8.2.4. Получение кадра 221
8.2.5. Загрузка видео и использование фильтра 223
8.2.6. Компиляция 227
8.3. Мелочи жизни 228
8.4. Не все золото, что блестит 230
8.5. Искусственный интеллект 235
8.6. Оптимизация графики 238
Заключение 251
Приложение. Описание компакт-диска 253
Список литературы 254
Предметный указатель 255
4 Оглавление 5 Оглавление