“Несерьёзная” тема
РЕЦЕНЗИИ
Гончаров Д., Салихов Т. DirectX 7.0 для программистов. Спб.: Питер, 2001. - 528 c.; компакт-диск.
При всем обилии и кажущемся разнообразии нынешнего компьютерного книжного рынка на нем широко представлены только два вида книг: про все подряд, но для “чайников”, и не для “чайников”, но только про базы данных. С первой категорией все понятно: всегда есть люди, недавно приступившие к освоению компьютера, желающие научиться программировать и т. п.; для них и предназначены эти книги. Значительно сложнее приходится тому, кто серьезно хочет углубить свои знания в той или иной области, особенно если сфера его интересов лежит далеко от “экономических” задач и тесно связанного с ними использования баз данных, - соответствующей литературы для такого читателя на прилавках явно маловато.
Библиотека DirectX широко используется при создании компьютерных игр, обеспечивая столь необходимую им высокую скорость графического вывода при минимальной зависимости от аппаратуры, а также предоставляя средства для работы со звуком и поддержки работы в сети. Конечно, мало кто занимается разработкой игр, а для создания традиционных приложений эта библиотека не нужна, однако по-настоящему грамотный специалист всегда стремится знать и уметь “все”, а не ограничивается какой-либо узкой областью. Поэтому книга Д. Гончарова и Т. Салихова “DirectX 7.0 для программистов”, несомненно, представляет значительный интерес для весьма широкого круга таких специалистов.
Основная часть книги состоит из 14 глав-уроков, объединенных в шесть частей. К ней прилагается CD-ROM, содержащий исходные тексты всех приведенных примеров, а также Microsoft DirectX 7.0 SDK.
Как обычно, примеры в книге даны на C++. Авторы, однако, не используют слишком сложных конструкций, поэтому для понимания примеров достаточно знать обычный Си.
Первая часть издания посвящена вопросам, прямо к использованию библиотеки DirectX не относящимся, но знание которых необходимо для работы с ней. Программист, умеющий использовать Win32 API для создания графического интерфейса и знакомый с технологией COM, может эту часть пропустить. Тем же, кто с этими темами знаком слабо, необходимо внимательно изучить ее.
Следующие четыре части посвящены основным компонентам библиотеки: DirectDraw, DirectSound и DirectMusic, DirectInput, DirectPlay. Авторы приводят не только способы использования этих компонентов, но касаются и смежных вопросов. Например, в уроке 7 сначала кратко рассматривается оцифровка звука и формат WAV-файлов, а уже затем разбирается воспроизведение звука с помощью DirectSound.
В шестой, заключительной, части приведен пример создания простой, но реально работающей игры, использующей ранее рассмотренные компоненты библиотеки DirectX.
Завершают книгу два приложения. В первом из них речь идет об основных возможностях Visual C++ 6.0, во втором - об особенностях версий библиотеки DirectX.
К сожалению, время от времени на страницах книги встречаются опечатки, в том числе в именах переменных, полей структур и т. д. Однако для внимательного читателя это лишь мелкое неудобство, поскольку правильное написание устанавливается очень легко.
Незадолго до выхода книги в свет компания Microsoft выпустила восьмую версию DirectX, в которой многие компоненты подверглись весьма существенным изменениям. Однако полная совместимость “снизу вверх” позволяет использовать ранее написанные приложения с новой версией библиотеки. Основные же принципы программирования игр под Windows остались прежними, поэтому рецензируемая нами книга может с успехом служить еще долгое время.