Цифровой звук


Интерфейсы и API


Теперь затронем тему выбора API для программирования звукового движка. Выбор на самом деле небольшой: Windows Multimedia, Direct Sound, OpenAL, Aureal A3D.

Начнём с последнего. К сожалению, Aureal A3D не успели доделать (довести до ума драйвера), поэтому на современных Windows 2000 и XP он работает плохо.

Далее, Windows Multimedia system ? базовая система вывода звука, унаследованная еще с ранних Windows 3.1. Для игр ее редко используют, так как у нее большая latency, обусловленная большим буфером. Cейчас роль WinMM для игр постепенно отмирает. Однако WinMM используется в некоторых полу-профессиональных карточках, где есть специально оптимизированные WDM-драйвера.

OpenAL, разработка Loki Entertaiment как кросс платформенный АПИ, аналог OpenGL. Активно продвигался Creative Labs в качестве альтернативы Direct Sound. Идея хорошая, но реализация оставляет желать лучшего. К тому же, Loki Entertaiment недавно обанкротились. Мы очень надеемся на появление в скором времени нового альтернативного АПИ для звука, потому что OpenAL ? это просто кошмар для программиста. Хотя, как не странно, совершенно недавно, NVIDIA выпустила аппаратный драйвер для OpenAL на своих чипсетах nForce.

Direct Sound и Direct Sound 3D на данный момент самый оптимальный АПИ. И реально альтернатив ему нет. Конечно, есть очень много претензий, но они настолько специфические, что в большинстве случаев просто незаметны, в конце концов, звук он выводит и этого достаточно.

Кроме этих аппаратных АПИ (то есть АПИ, в которых присутствуют аппаратные драйвера, а не эмуляция вывода через DirectSound или WinMM), существуют так называемы врапперы (программные интерфейсы, использующие уже готовый аппаратно-программный интерфейс для создания собственного интерфейса). Как правило, всегда для любой игры пишется wrapper-интерфейс.

Существует много таких API-wrappers (будем называть их так, но реально аппаратной поддержки у них нет): Miles Sound System, RenderWare Audio, GameCoda, FMOD, Galaxy, BASS, SEAL.

МilesSS наверно самый именитый ? 2700 игр используют именно этот враппер.


Начало  Назад  Вперед