Оглавление Предисловие 7
О чем эта книга 7
Благодарности 9
Глава 1. Введение в Demo и DirectX 11
1.1. История демо-сцены 11
1.2. Введение в DirectX 17
1.3. Установка и настройка DirectX 19
1.4. Введение в оптимизацию 22
ЗАКОН № 1 23
ЗАКОН № 2 24
ЗАКОН № 3 25
ЗАКОН № 4 26
ЗАКОН № 5 26
ЗАКОН № 6 28
ЗАКОН № 7 28
ЗАКОН № 8 29
ЗАКОН № 9 29
1.5. Инициализация Direct3D 31
1.6. Инициализация DirectDraw 47
1.7. Освобождение ресурсов 56
Глава 2. Основные функции DirectX 57
2.1. Загрузка картинки в DirectDraw 57
2.2. Отображение картинок в DirectDraw 61
2.2.1. Метод Blt 62
2.2.2. Метод BltFast 62
2.2.3. Переключение поверхностей 63
2.2.4. Примеры копирования поверхностей 64
2.2.5. Использование метода Blt для очистки поверхности 65
2.2.6. Прозрачное копирование 67
2.3. Оконные приложения 70
2.4. Контроль области отображения 73
2.5. Прямой доступ к видеопамяти 75
2.6. Формат пиксела 81
2.7. Потеря поверхностей 86
2.8. Определение поддерживаемых режимов 90
2.9. Отображение в Direct3D 97
2.10. Примитивы Direct3D 100
2.10.1. Описание фигуры 102
2.10.2. Буфер вершин 104
2.10.3. Работа с буфером вершин 105
2.10.4. Буфер индексов вершин 106
2.10.5. Точка просмотра 109
2.10.6. Отображение 112
2.10.7. Вывод буфера вершин 112
2.11. Mesh 117
2.11.1. Загрузка X-файла 118
2.11.2. Материалы и текстуры 121
2.11.3. Точка осмотра сцены 122
2.11.4. Освещение 123
2.11.5. Отображение сетки 124
2.12. Синхронизация 126
2.12.1. Синхронизация задержками 126
2.12.2. Синхронизация временем 127
2.12.3. Пример синхронизации временем 2D-графики 129
2.12.4. Пример синхронизации временем 3D-графики 132
Глава 3. Оптимизация в DirectX 137
3.1. Оптимизация графики 137
3.2. Быстрая закраска поверхности 141
3.3. Рисование линий 144
3.4. Быстрая загрузка картинок 152
3.5. Ручной контроль области вывода 157
3.6. Оптимизация прямого доступа 165
3.7. Оптимизация 3D-графики 167
3.8. Функции оптимизации 3D 171
Глава 4. 2D-эффекты 173
4.1. Обман зрения 174
4.1.1. Градиент 174
4.1.2. Мультипликация 175
4.2. Линейные эффекты 175
4.2.1. Сетка 176
4.2.2. Спираль квадратов 177
4.2.3. Прямоугольный туннель 180
4.3. Нелинейная графика 184
4.3.1. Фейерверк 184
4.3.2. Кислота 187
4.4. Эффекты с изображениями 189
4.4.1. Прозрачность 192
4.4.2. Линза 194
Квадратная линза 195
Круглая линза 196
Выпуклая линза 198
4.5. Фракталы 201
Глава 5. 3D-эффекты 203
5.1. Альфа-смешивание 203
5.2. Управление прозрачностью 210
5.3. Экранные координаты 211
5.4. Эффекты размытия 214
5.5. Взрыв на макаронной фабрике 219
5.6. Текстуры 224
5.6.1. Простой пример работы с текстурами 224
5.6.2. Взрыв на текстильной фабрике 229
5.6.3. Прозрачность текстур 233
5.6.4. Анимация прозрачности 241
5.6.5. Анимация текстуры 243
5.7. Добро пожаловать в истинное 3D-измерение 247
5.8. Материалы и освещение 250
5.8.1. Big sound 251
5.8.2. Свечка 254
5.9. Свечение 259
5.9.1. Инициализация 260
5.9.2. Отображение 266
5.9.3. Настройки текстуры 268
5.9.4. Завершающая стадия 270
5.9.5. Точечные текстуры 271
5.10. Отображение на текстуре 274
5.10.1. Подготовка 275
5.10.2. Инициализация 276
5.10.3. Отображение текстуры с анимацией 280
5.11. Не все золото, что блестит 285
5.12. Эффекты 293
5.13. Обман зрения 296
5.14. Зеркало 304
5.15. Продвинутое зеркало 311
5.16. Введение в вершинный шейдер 313
5.17. Простейший пример шейдеров 316
5.17.1. Пишем шейдер 317
5.17.2. Использование вершинного шейдера 321
5.18. Управление освещением в шейдере 328
5.18.1. Нормали 328
5.18.2. Шейдер 330
5.19. Невесомая капля 332
5.20. Пиксельный шейдер 337
5.21. Блики 345
5.22. Сердечный приступ 348
5.23. Огненный дракон 352
5.23.1. Костер 352
5.23.2. Ядро 357
5.23.3. Огненная лава 358
5.24. Морфинг 359
5.25. Молния 362
5.26. Кубические текстуры в шейдере 363
5.27. Каждому объекту свой шейдер 367
Заключение 375
Приложение. Описание компакт-диска 377
Список литературы 379
Предметный указатель 381
6 Оглавление 5 Оглавление