OpenAL что это за программа?

Данная статья посвящена тем, кто хочет понять, что такое OpenAL. Мы постараемся доступно описать программу Опен Ал, а также примеры применения данного приложения.

Интерфейс программирования приложений OpenAL – является межплатформенной (есть версии и для Win, и для Unix) программой, позволяющей при разработке игр воссоздавать для слушателя (игрока) трёхмерную атмосферу звучания, присваивая определённым объектам звучание и рассчитывая, к примеру, расстояние до них, местоположение и прочее.

Примерный принцип работы OpenAL выглядит в виде отождествления какого-либо звука с предметом в 3D-мире игры. Т.е. передвигаясь, игрок постепенно меняет своё положение в координатной плоскости X.Y.Z., что приводит к изменению звучания (затуханию, нарастанию, смещению), сравнимого с передвижением человека в реальном мире мимо нескольких источников звука. Рендеринг звука, осуществляемый OpenAL, позволяет, например, определять расстояния до предметов, а также использовать эффект Доплера как основу для быстрой смены звукового окружения.

Авторы программы – Loki Software – сначала создали OpenAL (или Open Audio Library) для возможности портирования (переноса) игр с системы Win в OS Linux. Позже, когда оказалось, что проект следует закрыть, OpenAL был передан в руки любителей, добавивших в него, к примеру, поддержку для чипсета nForce от NVIDIA. В настоящее же время проектом активно занимается не только Creative Technology (активно включившаяся в разработку), но и Apple, BRS, Realtek и прочие.

Выйдя из среды открытого программного обеспечения, OpenAL сохранил в себе возможность расширения, т.е. при выходе нового ПО для звуковой карты (или новой карты) разработчики игр создают расширения, тестируют их и, в случае удачного программирования, отправляют в Creative Technology, которые в свою очередь присваивают дополнениям статус ARB и включают в новые версии. К текущей версии 2.1 было выпущено уже около двух десятков дополнений, что показывает популярность этого интерфейса у программистов. C версии 1.1 программа стала использовать закрытый исходный код, чтобы не допустить проникновения в игры вирусов под видом музыкального сопровождения, однако остальные версии с открытым кодом и по сей день используются для написания дополнений.

К примеру, Unity – среда разработки преимущественно игр для OS Android – очень плотно использует OpenAL для продвижения в создании 3D-игр. Полная реализация OpenAL в Unity позволяет игрока полностью погружаться в игру, разумеется, с использованием наушников. Игры же на Win (в большинстве случаев) используют OpenAL для создания динамического 3D-звучания – в гонках Colin McRae: DiRT или шутерах типа Battlefield или Hitman OpenAL встроен в качестве дополнения к устанавливаемым DirectX и OpenGL.

Надеюсь вы разобрались с тем, что такое Openal и как работает данный интерфейс программирования. Если у вас есть что добавить к этому, пишите в комментариях.

Оцените статью
Хитрости и советы по настройке, управлению приложений и гаджетов