Графика для Windows библиотека программиста средствами DirectDraw

       

Графика для Windows библиотека программиста средствами DirectDraw

Глава 1 Краткий курс DirectDraw
Что такое DirectDraw?

Термины и концепции
Видеорежимы
Аппаратное ускорение
Поверхности
Блиттинг

Палитры
Отсечение


Другие типы поверхностей
Спецификация COM фирмы Microsoft
Объекты и интерфейсы

GUID
DirectDraw API
Интерфейсы DirectDraw и DirectDraw2
Функции создания интерфейсов
Функция GetCaps()

Функция SetCooperativeLevel()
Функции для работы с видеорежимами
Функции для работы с поверхностями
Функции для работы с частотой смены кадров
Функция GetFourCCCodes()

Интерфейсы DirectDrawSurface
Функции описания поверхностей
Функции блиттинга
Функция Flip()
Функции определения состояния поверхностей

Функции для работы с цветовыми ключами
Функции Lock() и Unlock()
Функции GetDC() и ReleaseDC()
Функции PageLock() и PageUnlock()
Функции IsLost() и Restore()

Функция GetDDInterface()
Функции присоединения поверхностей
Оверлейные функции
Функции для работы с объектами отсечения
Функции палитры

Интерфейс DirectDrawPalette
Интерфейс DirectDrawClipper
Дополнительные интерфейсы DirectDraw
Структуры DirectDraw
Создание приложений DirectDraw

Оконные приложения
Полноэкранные приложения
Комбинированные приложения
Подготовка инструментов
Runtimeфайлы DirectX

DirectX SDK
Visual C++
Диалоговое окно Visual C++ с перечнем каталогов
Windows NT и Windows 95
Заключение

Глава 2 Проблемы быстродействия
Традиционная оптимизация
Действительно ли C++ медленнее C?
Не бойтесь плавающей точки
Аппаратная часть быстрее программной

Нехватка видеопамяти
FPS еще не все
Полезные хлопоты с палитрами
Долой аппаратную зависимость!
Перестановка кресел на «Титанике»

Будущее DirectX
Глава 3 За кулисами DirectDraw
DirectDraw AppWizard
Создание приложения Bounce

Диалоговое окно New Project Workspace
Диалоговое окно с заставкой DirectDraw AppWizard
Диалоговое окно Application Type
Диалоговое окно Initial Settings
Диалоговое окно Contents

Диалоговое окно Class Names
Диалоговое окно подтверждения> Структура приложения
Назначение классов
Иерархия классов в программе Bounce
Структура приложения

Специализированные классы
Инициализация
Инициализация DirectDraw
a href="index-poluchenie-spiska-drajverov-directdraw.htm" >Получение списка драйверов DirectDraw
Выбор драйвера

Обнаружение видеорежимов
Выбор видеорежима
Активизация видеорежима
Создание поверхностей

Подготовка поверхностей
Графический вывод
Функция DrawScene()
Функция BltSurface()

Восстановление поверхностей
Завершение

Глава 4 Видеорежимы и частота смены кадров
Переключение видеорежимов
Функция SetDisplayMode()

Обнаружение видеорежимов и частот смены кадров
Функция ActivateDisplayMode()
Программа Switch

Вывод текста
Вычисление FPS
Класс SwitchWin

Графика для Windows библиотека программиста средствами DirectDraw

Проблемы с диалоговыми окнами
Определение класса
Выбор и отображение BMPфайла

Глава 6 DirectInput
Что такое DirectInput?
Поддерживаемые устройства
Быстродействие
Схемы получения данных
Опросы и оповещения
Уровни кооперации
Данные об осевых смещениях
Захват устройств

DirectInput API
Интерфейс DirectInput
Интерфейс DirectInputDevice
Программа Qwerty
Класс QwertyWin
Инициализация DirectInput
Захват клавиатуры
Определение состояния клавиш
Завершение приложения

Управление версией DirectInput
Программа Smear
Класс SmearWin
Инициализация мыши
Инициализация клавиатуры
Глава 7 Проблема курсора

Частичное обновление экрана
Обновление курсора
Переключение страниц
Многопоточность
Потоки и процессы
Зачем нужна многопоточность?
Синхронизация потоков
Классы потоков в MFC
Решение проблемы курсора
Основной поток

Поток ввода
Что делать с кнопками мыши?
Программа Cursor
Класс CursorWin
Глава 8 Воспроизведение видеороликов

Начальные сведения
AVIфайлы
Представление данных в видеофайлах
Video For Windows
VFW API
Программа AviPlay
Класс AviPlayWin
Функция OnCreate()
Функция SelectInitialDisplayMode()
Функция ShowDialog()

Функция LoadAvi()
Функция CreateAviSurface()
Функция InstallPalette()
Функция UpdateAviSurface()
Функция RestoreSurfaces()
Функция OnDestroy()
Глава 9 Проверка столкновений

Общее решение
Наглядное пояснение
Функции проверки столкновений
Класс Sprite
Программа Bumper
Класс BumperWin
Функция OnKeyDown()
Восстановление потерянных поверхностей

Предисловие
Введение
Для чего написана эта книга
Требования к читателю
Программные требования
Аппаратные требования
Приложение А Информация для разработчиков
Отладка
Проблемы

Отладочные макросы
Удаленная отладка
Отладочные сообщения DirectX
Замечания о Visual C++
Прекомпилированные заголовки
Файлы DirectX SDK
Фокусы ClassView
Работа с Visual C++ 4 0
Варианты Visual C++

Советы и рекомендации
Ошибка переключения режимов DirectDraw
Символическая константа INITGUID (устаревшая)
Эмуляция версий
Где достать DirectX SDK
Аннотация

Инициализация приложения
- перейти