Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

DirectX и Delphi. Искусство программирования

Рассмотрено использование популярной библиотеки DirectX при программировании графических эффектов в Delphi. Подробно описано приме-нение основных методов и интерфейсов DirectX. Большое внимание уделено технологии использования вершинных и пиксельных шейдеров для создания реалистичных изображений. Показано, как эффективно программировать огонь, электрические разряды, зеркала и другие визуальные эффекты, используемые при разработке демонстрационных роликов (Demoscene). Компакт диск, прилагаемый к книге, содержит листинги примеров из книги и дополнительную информацию по DirectX


Оглавление Предисловие 6
О чем эта книга 6
Благодарности 8

Глава 1. Введение в Demo и DirectX

9
1.1. История демо-сцены 9
1.2. Введение в DirectX 15
1.3. Установка и настройка DirectX 17
1.4. Введение в оптимизацию 19
ЗАКОН № 1 20
ЗАКОН № 2 20
ЗАКОН № 3 21
ЗАКОН № 4 23
ЗАКОН № 5 23
ЗАКОН № 6 24
ЗАКОН № 7 25
ЗАКОН № 8 25
ЗАКОН № 9 26
1.5. Инициализация Direct3D 28
1.6. Инициализация DirectDraw 44
1.7. Освобождение ресурсов 53

Глава 2. Основные функции DirectX

55
2.1. Загрузка картинки в DirectDraw 55
2.2. Отображение картинок в DirectDraw 59
2.2.1. Метод Blt 60
2.2.2. Метод BltFast 60
2.2.3. Переключение поверхностей 61
2.2.4. Примеры копирования поверхностей 62
2.2.5. Использование метода Blt для очистки поверхности 63
2.2.6. Прозрачное копирование 65
2.3. Оконные приложения 68
2.4. Контроль области отображения 71
2.5. Прямой доступ к видеопамяти 73
2.6. Формат пиксела 79
2.7. Потеря поверхностей 85
2.8. Определение поддерживаемых режимов 88
2.9. Отображение в Direct3D 94
2.10. Примитивы Direct3D 97
2.10.1. Описание фигуры 101
2.10.2. Буфер вершин 102
2.10.3. Работа с буфером вершин 103
2.10.4. Буфер индексов вершин 104
2.10.5. Точка просмотра 107
2.10.6. Отображение 110
2.10.7. Вывод буфера вершин 111
2.11. Mesh 115
2.11.1. Загрузка X-файла 117
2.11.2. Материалы и текстуры 120
2.11.3. Точка осмотра сцены 121
2.11.4. Освещение 121
2.11.5. Отображение сетки 122
2.12. Синхронизация 125
2.12.1. Синхронизация задержками 125
2.12.2. Синхронизация временем 126
2.12.3. Пример синхронизации временем 2D-графики 128
2.12.4. Пример синхронизации временем 3D-графики 131

Глава 3. Оптимизация в DirectX

135
3.1. Оптимизация графики 135
3.2. Быстрая закраска поверхности 139
3.3. Рисование линий 143
3.4. Быстрая загрузка картинок 151
3.5. Ручной контроль области вывода 156
3.6. Оптимизация прямого доступа 164
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. Кислота 188
4.4. Эффекты с изображениями 190
4.4.1. Прозрачность 192
4.4.2. Линза 195
4.5. Фракталы 201

Глава 5. 3D-эффекты

202
5.1. Альфа-смешивание 202
5.2. Управление прозрачностью 209
5.3. Экранные координаты 210
5.4. Эффекты размытия 213
5.5. Взрыв на макаронной фабрике 218
5.6. Текстуры 223
5.6.1. Простой пример работы с текстурами 224
5.6.2. Взрыв на текстильной фабрике 229
5.6.3. Прозрачность текстур 233
5.6.4. Анимация прозрачности 241
5.6.5. Анимация текстуры 243
5.7. Добро пожаловать в истинное 3D-измерение 249
5.8. Материалы и освещение 252
5.8.1. Big sound 252
5.8.2. Свечка 255
5.9. Свечение 261
5.9.1. Инициализация 262
5.9.2. Отображение 268
5.9.3. Настройки текстуры 271
5.9.4. Завершающая стадия 273
5.9.5. Точечные текстуры 273
5.10. Отображение на текстуре 276
5.10.1. Подготовка 276
5.10.2. Инициализация 278
5.10.3. Отображение текстуры с анимацией 283
5.11. Не все золото, что блестит 288
5.12. Эффекты 297
5.13. Обман зрения 300
5.14. Зеркало 308
5.15. Продвинутое зеркало 316
5.16. Введение в вершинный шейдер 317
5.17. Простейший пример шейдеров 321
5.17.1. Пишем шейдер 321
5.17.2. Использование вершинного шейдера 325
5.18. Управление освещением в шейдере 333
5.18.1. Нормали 334
5.18.2. Шейдер 335
5.19. Невесомая капля 338
5.20. Пиксельный шейдер 343
5.21. Блики 351
5.22. Сердечный приступ 354
5.23. Огненный дракон 358
5.23.1. Костер 358
5.23.2. Ядро 363
5.23.3. Огненная лава 364
5.24. Морфинг 365
5.25. Молния 368
5.26. Кубические текстуры в шейдере 369
5.27. Каждому объекту свой шейдер 373

Заключение

379
Приложение. Описание компакт-диска 380
Список литературы 381
Предметный указатель 382
4 Оглавление 5 Оглавление

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне