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

КНИГОДРОМ



Трухильо С.

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

СПб.: Питер Ком, 1998. - 320 с.; ил.; CD-ROM.

Книга, предназначенная для опытных программистов, раскрывает секреты создания сложных графических приложений в среде Windows 95 и Windows NT. В качестве средства разработки описана последняя версия библиотеки DirectDraw, которая образует идеальную основу для программирования приложений с быстрой графикой, в первую очередь - компьютерных игр. Воспроизведение AVI-файлов, эффективная проверка спрайтовых столкновений, отображение курсора в приложениях - многочисленные примеры наглядно демонстрируют эти и другие нетривиальные возможности DirectDraw.

В книге описана также работа с DirectInput - другой, менее известной библиотекой семейства DirectX, предназначенной для получения данных от внешних устройств в обход традиционных механизмов Windows.

Прилагаемый к изданию компакт-диск содержит множество готовых графических приложений, исходный код всех примеров из книги, свободно распространяемое программное обеспечение DirectDraw и другие полезные программные инструменты.

Книга начинается с "Краткого курса DirectDraw". Полностью рассмотреть в одной главе всю библиотеку DirectDraw было бы нереально, и все же автор решил попробовать. Он рассказывает о практическом применении DirectDraw с точки зрения программиста. Прежде всего пытается разобраться с тем, что же такое DirectDraw (термины и концепции, спецификация СОМ фирмы Microsoft), затем переходит к обсуждению DirectDraw API. После этого изучаются некоторые практические вопросы: создание приложений (оконные, полноэкранные и комбинированные приложения) и подготовка инструментов.

В следующих главах разговор идет о проектировании и оптимизации приложений, а также о том, что ждет DirectDraw в ближайшем будущем. Создается несложное приложение DirectDraw и обсуждается практически каждая строка его кода. Изучается структура классов и подробности реализации этой программы.

В оставшейся части книги речь в основном пойдет о том, какие изменения следует внести в базовый код, чтобы добиться конкретного результата. В четвертой главе предлагается написать программу, которая в полной мере использует возможности DirectDraw по переключению видеорежимов. В пятой главе читатель научится работать с поверхностями на уровне отдельных битов, что позволит установить максимальный контроль над содержимым палитровых и беспалитровых поверхностей. Затем полученные знания будут использованы для написания программы просмотра ВМР-файлов. В шестой главе он узнает, как наделить приложение поддержкой DirectInput. Обходя традиционные механизмы ввода Windows, DirectInput позволяет с максимальной эффективностью получать данные от таких устройств, как клавиатура или мышь.

Седьмая глава предлагает заняться одной неприятной проблемой, связанной с курсором мыши. DirectInput станет неотъемлемой частью ее решения. В этой части обсуждается частичное обновление экрана (прямой блиттинг на первичную поверхность) и то, как многопоточность обеспечивает обновление курсора, не зависящее от частоты вывода. Теория воплощается на практике в виде программы Cursor.

В главе, посвященной воспроизведению видеороликов, говорится о том, как считать AVI-файл и вывести его на поверхности DirectDraw. Изложенный материал воплощен в программе AviPlay, предназначенной для воспроизведения AVI-файлов.

Завершающая глава посвящена проверке столкновений. В ней кратко рассмотрены основные проблемы и концепции, а также представлено общее решение, которое осуществляет проверку столкновений с точностью до пикселя при минимальных накладных расходах. Глава завершается программой Bumper.

Некоторые интересные темы, не обсуждавшиеся в книге, представлены в приложении А. Это отладка, замечания о Visual C++, полезные советы и рекомендации, а также ответы на вопросы.

Вероника ПоляковабикюКниги для обзора предоставлены магазином "Сельхозкнига" - титульная страница



Компьютерная газета. Статья была опубликована в номере 40 за 1998 год в рубрике литература :: программирование

©1997-2024 Компьютерная газета