Название: DirectX и Delphi Разработка графических и мультимедийных приложений (+CD) Издательство: БХВ Петербург Автор: Есенин С. Год: 2006 Количество страниц: 512 Язык:русский Формат: pdf+CD Размер: 76 Mb
Рассмотрена разработка приложений с использованием технологии DirectX в среде программирования Borland Delphi. Подробно описаны все основные компоненты, входящие в состав DirectX: DirectX Graphics, DirectShow, DirectInput, DirectSound и DirectMusic. Показано создание собственных наборов классов, облегчающих работу с различными компонентами DirectX. На практических примерах рассмотрена работа с двумерной и трехмерной графикой, шейдеры и язык HLSL, различные цветовые эффекты, работа с текстурой, освещением и т. д. Уделено внимание выводу изображения в оверлейном режиме, механизмам захвата изображения (на примере работы с webкамерой) и захвата звука.
Благодарности 1 Введение 2 На кого рассчитана книга 2 Как построена книга 3 Требования к компьютеру и программному обеспечению 5 ЧАСТЬ I. ОБЩИЕ СВЕДЕНИЯ 7 Глава 1. DirectX 9 Состав DirectX 9 DirectX или OpenGL? 10 Глава 2. Среда разработки Borland Delphi 11 Структура среды разработки 11 Первое приложение 12 Глава 3. Библиотека COM 14 COM или DLL? 14 Объекты и интерфейсы 15 Интерфейс IUnknown 15 Уникальные идентификаторы 16 Результат HResult 17 Инициализация библиотеки COM и завершение работы с ней 19 Глава 4. Пишем COM-сервер 20 Создание COM-сервера 20 Регистрация COM-сервера 28 Клиентская часть 29 ИТОГИ 33 ЧАСТЬ II. DIRECTX GRAPHICS 35 Глава 5. Direct3D 37 Инициализация 37 Очистка устройства 41 Прорисовка сцены 42 Первый пример 43 Полноэкранный режим 49 Потеря устройства 52 Примитивы 54 Буфер вершин 54 Точка 56 Цвет 61 Пример анимации 62 Линии и последовательность линий 65 Треугольник и последовательности треугольников 68 От треугольника к прямоугольнику 74 Построения в пространстве 74 Матрицы 75 Сложение матриц и умножение на число 75 Перемножение матриц 76 Единичная матрица 76 Матрицы переноса (сдвига) 76 Матрицы вращения 77 Матрица масштабирования 78 Матрицы отражения 78 Типы матриц Direct3D 79 Функции Direct3D для работы с матрицами 81 Нормали 84 От теории к практике 85 Куб 89 Буфер глубины 96 Правила построения объектов 97 Источники света 103 Материал 107 Работа с материалом и источниками света 107 Туман 113 Работа с текстурой 118 Фильтрация текстур 122 Mesh-объекты 126 Несколько объектов одновременно 127 Работа с текстом на плоскости и в пространстве 135 Подсчет числа кадров в секунду 142 Несколько текстур на одном объекте 145 Сферические текстурные координаты 147 Создаем туннель 150 Прозрачность 151 Мультитекстурирование 155 Motion Blur 157 Шейдеры 162 Основные сведения 162 Введение в HLSL 164 Вершинные шейдеры 170 Пиксельные шейдеры 179 Работа с текстурой 181 Глава 6. DirectDraw 184 Обзор библиотеки 184 Инициализация 185 Первый пример 185 Уровни взаимодействия 189 Полноэкранный режим работы 191 Поверхности 192 Рисуем на поверхности 194 Блиттинг 196 Переключение страниц 197 Потеря доступа к поверхности 198 Цветовые ключи 203 Палитра 205 Прямой доступ к поверхности 205 Огонь 206 Оконный режим работы 213 Оверлеи DirectX 218 ИТОГИ 235 ЧАСТЬ III. DIRECTSOUND 237 Глава 7. Общие сведения 239 Область применения 239 Достоинства 239 Недостатки 239 Принцип работы 240 Уровни взаимодействия 240 Глава 8. Вывод звука 242 Интерфейсы 242 Создание буферов 253 Потеря буферов 253 Звуковые эффекты 254 Классы TdxSound и TdxSoundManager 256 Пример использования классов TdxSound и TdxSoundManager 282 Глава 9. Захват звука 310 Интерфейсы 310 Буфер захвата 311 Захват аудио 313 Класс TdxSoundCapture 315 Пример использования класса TdxSoundCapture 321 ИТОГИ 326 ЧАСТЬ IV. DIRECTMUSIC 327 Глава 10. Работа с MIDI и WAV-файлами 329 Интерфейсы 329 Порядок работы 334 Классы TdxMusicSegment и TdxMusicManager 336 Пример использования классов 346 ИТОГИ 351 ЧАСТЬ V. DIRECTINPUT 353 Глава 11. Общие сведения 355 Режимы работы 355 Уровни взаимодействия 356 Глава 12. Работа с устройствами ввода 357 Интерфейсы 357 Общий алгоритм работы 361 Клавиатура 362 Мышь 364 Джойстик 366 Класс TdxInputManager 368 Пример использования класса TdxInputManager 377 ИТОГИ 385 ЧАСТЬ VI. DIRECTSHOW 387 Глава 13. Основные сведения 389 Область применения 389 Поддерживаемые форматы 389 Фильтры и граф фильтров 390 Типы фильтров 392 Менеджер графа фильтров 393 Глава 14. Работа с MP3, AVI, MPEG и другими мультимедиаформатами 394 Интерфейсы 394 Интерфейс управления фильтром 395 Интерфейс управления контактом 395 Интерфейс построения графа фильтров 396 Интерфейс управления графом фильтров 397 Интерфейс управления позиционированием в потоке 397 Интерфейс управления выводом звука 400 Интерфейс управления механизмом событий 401 Интерфейс управления выводом видеоданных 403 Интерфейс перехвата кадра из потока видео 405 Алгоритм работы 408 Класс TdxMediaPlayer 410 Пример работы с классом TdxMediaPlayer 428 Глава 15. Захват аудио и видео 437 Захват видео 437 Захват звука 437 Интерфейсы 438 Перечисление устройств определенного класса 443 Режимы захвата и предварительного просмотра 445 Запись видео со звуком 447 Сжатие потоков аудио и видео 449 Страницы свойств 451 Алгоритм работы 455 Класс TdxCaptureManager 457 Пример использования класса TdxCaptureManager 477 ИТОГИ 486 Заключение 487 ПРИЛОЖЕНИЯ 489 Приложение 1. Интернет-ресурсы 491 Приложение 2. Описание содержимого компакт-диска 493 Список литературы 494 Предметный указатель 495