Стэн Трухильо «Графика для Windows средствами DirectDraw» Предисловие Введение Для чего написана эта книга Требования к читателю Глава 1. Краткий курс DirectDraw Что такое DirectDraw? Термины и концепции Аппаратное ускорение Блиттинг Палитры Другие типы поверхностей Спецификация COM фирмы Microsoft GUID Интерфейсы DirectDraw и DirectDraw2 Функции создания интерфейсов Функция GetCaps() Функции для работы с видеорежимами Функции для работы с поверхностями Функции для работы с частотой смены кадров Функция GetFourCCCodes() Функции описания поверхностей Функции блиттинга Функция Flip() Функции для работы с цветовыми ключами Функции GetDC() и ReleaseDC() Функции IsLost() и Restore() Функция GetDDInterface() Оверлейные функции Функции палитры Интерфейс DirectDrawClipper Дополнительные интерфейсы DirectDraw Создание приложений DirectDraw Полноэкранные приложения Комбинированные приложения Runtime-файлы DirectX DirectX SDK Windows NT и Windows 95 Заключение Традиционная оптимизация Не бойтесь плавающей точки FPS - еще не все Долой аппаратную зависимость! Будущее DirectX Заключение Создание приложения Bounce Структура приложения Структура приложения Специализированные классы Инициализация Инициализация DirectDraw Получение списка драйверов DirectDraw Выбор драйвера Инициализация DirectDraw Обнаружение видеорежимов Выбор видеорежима Активизация видеорежима Создание поверхностей Подготовка поверхностей Функции для работы с поверхностями Графический вывод Функция DrawScene() Функция BltSurface() Восстановление поверхностей Завершение Оконные приложения Графический вывод Заключение Переключение видеорежимов Обнаружение видеорежимов и частот смены кадров Программа Switch Вывод текста Класс SwitchWin DECLARE_MESSAGE_MAP() Инициализация приложения Графический вывод СОВЕТ Обработка пользовательского ввода Восстановление поверхностей Частота смены кадров Программа SuperSwitch DECLARE_MESSAGE_MAP() Инициализация приложения Графический вывод Обработка пользовательского ввода Заключение СОВЕТ Глубина пикселей Форматы пикселей Получение данных о формате пикселей 16 Переменные формата пикселей в классе DirectDrawWin Блокировка поверхностей BMP-файлы Структура заголовка СОВЕТ Графические данные Функция CreateSurface() Функция CreatePalette() Передача графических данных 8-битные поверхности 16-битные поверхности 24-битные поверхности 32-битные поверхности Программа BmpView Прокрутка больших поверхностей Определение класса DECLARE_MESSAGE_MAP() Инициализация приложения Выбор и отображение BMP-файла СОВЕТ Графический вывод Заключение Глава 6. DirectInput Быстродействие Опросы и оповещения Данные об осевых смещениях Интерфейс DirectInput Интерфейс DirectInputDevice Программа Qwerty Класс QwertyWin DECLARE_MESSAGE_MAP() Инициализация DirectInput Захват клавиатуры Завершение приложения Программа Smear Класс SmearWin DECLARE_MESSAGE_MAP() Инициализация DirectInput Инициализация мыши Инициализация клавиатуры Захват мыши и клавиатуры Получение данных от мыши Завершение приложения Глава 7. Проблема курсора Частичное обновление экрана Обновление курсора Переключение страниц Потоки и процессы Синхронизация потоков Классы потоков в MFC Решение проблемы курсора Поток ввода Программа Cursor Класс CursorWin DECLARE_MESSAGE_MAP() Инициализация приложения Функция DrawScene() Поток ввода Завершение приложения Заключение AVI-файлы Video For Windows СОВЕТ Программа AviPlay Класс AviPlayWin DECLARE_MESSAGE_MAP() Функция OnCreate() Функция ShowDialog() Функция LoadAvi() Функция CreateAviSurface() Функция InstallPalette() Функция DrawScene() Функция UpdateAviSurface() Функция RestoreSurfaces() Функция OnDestroy() Заключение Общее решение Функции проверки столкновений СОВЕТ СОВЕТ Класс Sprite Программа Bumper AFX_MSG DECLARE_MESSAGE_MAP() Инициализация приложения Функция DrawScene() Функция OnKeyDown() Заключение Отладка Проблемы Отладочные макросы Удаленная отладка Отладочные сообщения DirectX Замечания о Visual C++ Прекомпилированные заголовки Файлы DirectX SDK Фокусы ClassView Варианты Visual C++ Символическая константа INITGUID (устаревшая) Где достать DirectX SDK
Стэн Трухильо «Графика для Windows средствами DirectDraw» Посвящается Стэнли и Велме Коппок (моим дедушке и бабушке по материнской линии), а также Дж. Д. и Марии Трухильо (дедушке и бабушке по отцовской линии). Их общество и поддержка радовали меня в детстве и продолжают радовать сейчас.