Openal официальный сайт: OpenAL: Cross Platform 3D Audio

Содержание

Обзор технологий OpenGL и OpenAL.

OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.

OpenAL (англ. Open Audio Library) — свободно распространяемый аппаратно-программный интерфейс (API) для работы с аудиоданными. Ключевой особенностью является работа со звуком в 3D пространстве и использование эффектов EAX.

Далее обо всех этих технологиях будет рассказано несколько подробнее.

OpenGL

OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.

Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D.

На базовом уровне, OpenGL — это просто спецификация, то есть документ, описывающий набор функций и их точное поведение. Производители оборудования на основе этой спецификации создают реализации — библиотеки функций, соответствующих набору функций спецификации. Реализация использует возможности оборудования там, где это возможно. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители должны пройти специфические тесты (conformance tests — тесты на соответствие) прежде чем реализация будет классифицирована как OpenGL реализация. Таким образом, разработчикам программного обеспечения достаточно научиться использовать функции, описанные в спецификации, оставив эффективную реализацию последних разработчикам аппаратного обеспечения.

Эффективные реализации OpenGL существуют для Windows, Unix-платформ, PlayStation 3 и Mac OS. Эти реализации обычно предоставляются изготовителями видеоадаптеров и активно используют возможности последних. Существуют также чисто программные реализации спецификации OpenGL, одной из которых является библиотека Mesa. Из лицензионных соображений Mesa является «неофициальной» реализацией OpenGL, хотя полностью с ней совместима на уровне кода.

Спецификация OpenGL пересматривается Консорциумом ARB (Architecture Review Board), который был сформирован в 1992 году. Консорциум состоит из компаний, заинтересованных в создании широко распространённого и доступного API. Согласно официальному сайту OpenGL, членами ARB с решающим голосом на ноябрь 2004 года являются производители профессиональных графических аппаратных средств SGI, 3Dlabs, Matrox и Evans & Sutherland (военные приложения), производители потребительских графических аппаратных средств ATI и NVIDIA, производитель процессоров Intel, и изготовители компьютеров и компьютерного оборудования IBM, Apple, Dell, Hewlett-Packard и Sun Microsystems, а также один из лидеров компьютерной игровой индустрии id Software. Microsoft, один из основоположников Консорциума, покинула его в марте 2003 года. Помимо постоянных членов, каждый год приглашается большое количество других компаний, становящихся частью OpenGL ARB в течение одного года. Такое большое число компаний, вовлеченных в разнообразный круг интересов, позволило OpenGL стать прикладным интерфейсом широкого назначения с большим количеством возможностей.

Курт Экли (Kurt Akeley) и Марк Сигал (Mark Segal) являются авторами оригинальной спецификации OpenGL. Крис Фрэзиер (Chris Frazier) редактировал версию 1.1. Йон Лич (Jon Leech) редактировал версии с 1.2 по версию 2.0.

OpenGL ориентируется на следующие две задачи:

Скрыть сложности адаптации различных 3D-ускорителей, предоставляя разработчику единый API.

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

Основным принципом работы OpenGL является получение наборов векторных графических примитивов в виде точек, линий и многоугольников с последующей математической обработкой полученных данных и построением растровой картинки на экране и/или в памяти. Векторные трансформации и растеризация выполняются графическим конвейером (graphics pipeline), который по сути представляет из себя дискретный автомат. Абсолютное большинство команд OpenGL попадают в одну из двух групп: либо они добавляют графические примитивы на вход в конвейер, либо конфигурируют конвейер на различное исполнение трансформаций.

OpenGL является низкоуровневым процедурным API, что вынуждает программиста диктовать точную последовательность шагов, чтобы построить результирующую растровую графику (императивный подход). Это является основным отличием от дескрипторных подходов, когда вся сцена передается в виде структуры данных (чаще всего дерева), которое обрабатывается и строится на экране. С одной стороны, императивный подход требует от программиста глубокого знания законов трёхмерной графики и математических моделей, с другой стороны — даёт свободу внедрения различных инноваций.

Стандарт OpenGL, с появлением новых технологий, позволяет отдельным производителям добавлять в библиотеку функциональность через механизм расширений. Расширения распространяются с помощью двух составляющих: заголовочный файл, в котором находятся прототипы новых функций и констант, а также драйвер устройства, поставляемого разработчиком. Каждый производитель имеет аббревиатуру, которая используется при именовании его новых функций и констант. Например, компания NVIDIA имеет аббревиатуру NV, которая используется при именовании ее новых функций, как, например, glCombinerParameterfvNV(), а также констант, GL_NORMAL_MAP_NV. Может случиться так, что определённое расширение могут реализовать несколько производителей. В этом случае используется аббревиатура EXT, например, glDeleteRenderbuffersEXT. В случае же, когда расширение одобряется Консорциумом ARB, оно приобретает аббревиатуру ARB и становится стандартным расширением. Обычно, расширения, одобренные Консорциумом ARB, включаются в одну из последующих спецификаций OpenGL.

Список зарегистрированных расширений можно найти в официальной базе расширений.

Существует ряд библиотек, созданных поверх или в дополнение к OpenGL. Например, библиотека GLU, являющаяся практически стандартным дополнением OpenGL и всегда её сопровождающая, построена поверх последней, то есть использует её функции для реализации своих возможностей. Другие библиотеки, как, например, GLUT и SDL, созданы для реализации возможностей, недоступных в OpenGL. К таким возможностям относятся создание интерфейса пользователя (окна, кнопки, меню и др.), настройка контекста рисования (область рисования, использующаяся OpenGL), обработка сообщений от устройств ввода/вывода (клавиатура, мышь и др.), а также работа с файлами. Обычно, каждый оконный менеджер имеет собственную библиотеку-расширение для реализации вышеописанных возможностей, например, WGL в Windows или GLX в X Window System, однако библиотеки GLUT и SDL являются кросс-платформенными, что облегчает перенос написанных приложений на другие платформы.

Библиотеки, как GLEW («The OpenGL Extension Wrangler Library») и GLEE («The OpenGL Easy Extension library») созданы для облегчения работы с расширениями и различными версиями OpenGL. Это особенно актуально для программистов в Windows, так как, заголовочные и библиотечные файлы, поставляемые с Visual Studio, находятся на уровне версии OpenGL 1.1.

OpenGL имеет только набор геометрических примитивов (точки, линии, многоугольники) из которых создаются все трёхмерные объекты. Порой подобный уровень детализации не всегда удобен при создании сцен. Поэтому поверх OpenGL были созданы более высокоуровневые библиотеки, такие как Open Inventor и VTK. Данные библиотеки позволяют оперировать более сложными трёхмерными объектами, что облегчает и ускоряет создание трёхмерной сцены.

GLM (OpenGL Mathematics) — вспомогательная OpenGL библиотека, предоставляющая C++ программистам классы и функции для выполнения математических операций. Библиотека может использоваться при создании 3D-программ с использованием OpenGL[2]. Одной из характеристик GLM является то, что реализация основана на спецификации GLSL (OpenGL Shading Language). Исходный код GLM использует лицензию MIT.

Для подтверждения независимости от языка программирования были разработаны различные варианты привязки (binding) функций OpenGL или полностью перенесены на другие языки. Одним из примеров может служить библиотека Java 3D, которая может использовать аппаратное ускорение OpenGL. Прямая привязка функций реализована в Lightweight Java Game Library, которая имеет прямую привязку OpenGL для Java. Sun также выпустила версию Java OpenGL (JOGL), которая предоставляет прямую привязку к Си-функциям OpenGL, в отличие от Java 3D, которая не имеет столь низкоуровневой поддержки. Официальный сайт OpenGL имеет ссылки на привязки для языков Java, Фортран 90, Perl, Pike, Python, Ada, Visual Basic и Pascal. Имеются также варианты привязки OpenGL для языков C++ и C#

OpenAL

Библиотека OpenAL (Open Audio Library), разработанная и поддерживаемая компаниями Creative Labs и Loki Entertainment, представляет собой бесплатную, кроссплатформенную библиотеку для работы с 3D-звуком с открытым кодом. Существуют версии OpenAL для платформ Mac OS 8/9, Mac OS X, Linux, BSD, Solaris, IRIX и M$ Windows.

Эта библиотека была использована в ряде игр, таких как Unreal II, Unreal Tournament 2003/2004, версии Doom III для Linux.

Большими плюсами этой библиотеки (кроме поддержки такой компании как Creative Labs) является как ее простота, так и то, что по стилю она очень сильно напоминает библиотеку OpenGL. Поэтому для программистов, уже знакомых с OpenGL, освоение OpenAL становится очень простым и быстрым.

Для начала работы с OpenAL скачайте OpenAL SDK для используемой Вами платформы. Все примеры к данной статье компилировались как для Windows, так и для Linux.

Основными понятиями OpenAL являются аудиоустройство (audio device), аудиоконтекст (audio context), слушатель (listener), источники звука (sources) и буфера (buffers).

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

Для простейших примеров всю работу с аудио устройствами и контекстами можно переложить на входящую в состав OpenAL SDK библиотеку alut.

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

Библиотека OpenAL на основе этой информации осуществляет обработку звука (учитывая при этом как взаимное расположение слушателя и источников звука, так и их скорости). После обработки происходит смешение звука от различных источников для получения выходного сигнала для каждого из выходных каналов.

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

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

Как включить 3D-звук в играх в Windows 7/8/10 / Хабр

Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вследствие чего в старых играх стали недоступны звуковые спецэффекты ЕАХ(звуковые эффекты окружающей среды). В этой статье я расскажу, как вернуть тот самый DirectSound3D/EAX во все старые игры, которые поддерживают данные технологии играя на Windows 7/8/10. Конечно, опытные геймеры всё это знают, но возможно кому-то статья будет полезна.

Старые игры не ушли на свалку истории, наоборот они пользуются огромным спросом, как у пользователей старшего поколения, так и у младшего. Старые игры лучше смотрятся на современных мониторах с высоким разрешением, для многих игр выходят моды улучшающие текстуры и шейдеры, но вот со звуком поначалу не повезло. С выходом следующего поколения Windows Vista, вслед за Windows ХР, разработчики Microsoft сочли, что DirectSound3D морально устарел — он имел ограничение в 6-канальный звук, не поддерживал сжатие звука, был процессорно зависимым и поэтому ему пришел на смену XAudio2/X3DAudio. А так как технология ЕАХ компании Creative была не самостоятельным API, как был в своё время A3D от компании Aureal, а всего лишь расширением DirectSound3D — звуковые карты компании Creative оказались за бортом. Если не использовать специальные программные врапперы, то играя на Windows 7/8/10 в старых играх пункты меню включающие EAX будут не активны. А без EAX звук в играх будет не таким сочным, объемным, позиционируемым.


Для решения этой проблемы компания Creative разработала программу-враппер ALchemy, которая перенаправляет вызовы DirectSound3D и EAX в кроссплатформенный API OpenAL. Но эта программа работает официально со звуковыми картами компании Creative и то не совсеми моделями. Например, современная карта Audigy Rx имеющая аппаратный DSP-процессор СА10300 официально не работает. Для владельцев других звуковых карт, например встроенной Realtek, нужно использовать ещё программный-драйвер Creative Sound Blaster X-Fi MB, который стоит денег. Можно ещё попробовать родную программу 3DSoundBack, но она не была закончена компанией Realtek — остановилась на стадии beta версии, работает не качественно и не со всеми чипами. Но есть способ лучше, он проще в использовании и бесплатен.

Первый способ

Начну со звуковых карт компании ASUS. Звуковые карты компании ASUS DGX/DSX/DX/D1/Phoebus базируются на чипах C-Media и даже чипы ASUS AV66/AV100/AV200 — это всё те же перемаркированные чипы C-Media. В характеристиках этих звуковых карт написано, что они поддерживают ЕАХ 1/2/5. Все эти чипы получили в наследство от своего предшественника CMI8738 DSP-блок программно-аппаратный EAX 1/2, EAX 5 уже программный.

Владельцам карт серии Xonar очень повезло, все видели кнопку GX на панели драйвера, но возможно не все знают, что она делает. Покажу на скриншотах из программы AIDA64, вот так выглядит закладка DirectX-звук при не активной кнопке и у владельцев встроенных звуковых карт Realtek в Windows 7/8/10:

Все звуковые буферы равны нулю, все API не активны. А вот сразу после включения кнопки GX мы видим

Т.е. очень удобно — не нужно запускать дополнительные программы, как Creative ALchemy и копировать в каждую папку с игрой файл dsound.dll. Вот возникает большой вопрос, почему так не сделала компания Creative в своих драйверах? Более того, она во всех новых моделях Sound Blaster Z/Zx/AE не использует аппаратный DSP-процессор для обработки ЕАХ, а делает это программно через драйвер по упрощенным алгоритмам. Некоторые люди считают, что программной обработки звука достаточно, потому что современные ЦП намного мощней процессоров звуковых карт 10-летней давности, которые аппаратно обрабатывали звук. Это совсем не так. ЦП оптимизирован обрабатывать х86-команды, а DSP гораздо быстрей обрабатывает звук центрального процессора, как и видеокарта быстрей производит растеризацию, чем ЦП. Центрального процессора хватит для не сложных алгоритмов, а вот качественная реверберация с множеством источников звука будет отнимать слишком много ресурсов даже мощного ЦП, что скажется на падении ФПС в играх. Это уже признала компания Microsoft и уже вернула поддержку обработки звука DSP-процессорами в Windows 8, а также компания Sony, которая добавила в свою приставку PS5 отдельный чип для обработки 3D-звука.

Второй способ

Этот вариант подойдет для пользователей встроенной звуковой карты в материнскую плату, которых большинство. Есть такой проект

DSOAL

— это программная эмуляция DirectSound3D и ЕАХ с помощью OpenAL(OpenAL должен быть обязательно установлен в системе) не требующая аппаратного ускорения. Если ваш звуковой чип имеет какие-то аппаратные функции для обработки звука то они будут использоваться автоматически. Программа настолько хорошо работает, что через неё ЕАХ заработал у меня на всех старых играх, где есть галочка ЕАХ в настройках. Вот так выглядит окно AIDA64, если скопировать файлы DSOAL в папку программы:

Если же этого не произошло и у вас картинка, как на самом первом скриншоте, значит родной Windows dsound.dll не даёт перехватить API, как это было и в моём случае. Тогда поможет такой метод — нужно будет загрузиться с какого-нибудь Windows Live-CD образа и удалить файл dsound.dll не без помощи утилиты Unlocker (предварительно сделав копию на случай отката) из каталога С:\Windows\SysWOW64 и записать вместо него те самые dsoal-aldrv.dll и dsound.dll. Я так сделал и у меня, как сама Windows, так и все игры работали без сбоев и так даже удобней — не нужно каждый раз копировать эти файлы в папки с играми, в крайнем случае, можно будет вернуть обратно родной

dsound.dll на место. Правда такой способ подойдет, если вы не будете пользоваться другими звуковыми картами ASUS или Creative, потому что в этом случае у вас всегда DirectSound3D будет работать только через DSOAL, а не через родной драйвер или ALchemy.

Послушать DSOAL можно в этом видео:

→ Скачать готовую библиотеку последней версии можно отсюда

Сравнивая как звучит ЕАХ на разных звуковых картах я с удивлением обнаружил, что на встроенном Realtek ЕАХ звучит лучше, чем на Асусах или на моей Audigy Rx. Если почитать даташиты, то практически все чипы Realtek поддерживают DirectSound3D/ЕАХ 1&2. Запустив AIDA64 из под Windows XP можно увидеть:

Оказывается, Реалтеки в отличии от ASUS и Creative звуковых карт поддерживают ещё какой-то I3DL2 (не в каждом Реалтековском даташите об этом написано). I3DL2(Interactive 3D Audio Level 2) — это открытый промышленный стандарт для работы с 3D интерактивным звуком, это расширение для DirectSound3D для работы с реверберацией и окклюзией. В принципе аналог ЕАХ, но звучит приятней — более приятная реверберация в играх шагов, когда персонаж бежит по пещере или замку, более реалистичное звучание объемного звука в помещениях. Поэтому если старая игра работает на Windows XP то я играю только на ХР, вдруг звуковой движок сможет задействовать I3DL2. DSOAL хоть и открытый проект и его любой может усовершенствовать, но он никогда не сможет задействовать I3DL2, т.к. OpenAL не работает с I3DL2, а только с ЕАХ 1-5. Но есть и хорошая новость — начиная с Windows 8 I3DL2 включен в

библиотеку XAudio 2.7

. Так что звук в новых играх под Windows 10 будет лучше, чем под Windows 7.

Ну и напоследок хочу напомнить, что все эти технологии 3D-звука разрабатывались для наушников, на 2х колонках вы практически 3D-звука не услышите. Чтобы насладиться детальным звуком наушники уровня SVEN AP860 не подойдут, из недорогих наушников нужно начинать с Axelvox HD 241 — уже будет разница со SVEN AP860

, как небо и земля. Вот как-то так ориентируйтесь.

О проекте « KaM Remake

Описание

KaM Ремейк мод является попыткой оживить оригинальные «Рыцари и продавцов: Shattered Королевство» стратегия игры.
Исполняемые файлы KaM Remake являются бесплатными и построены энтузиастами. Использованные приложения: Delphi 6, Delphi 7, FastMM4, Лазарь, OpenGL, OpenAL, Zlib, PNGImage, MadExcept, libZPlay.

Системные требования

Для Кам Remake необходимо:
— Microsoft Windows 98, XP, Vista, 7, 8, 10;
— 500 МГц или более быстрый процессор;
— 256 Мб или больше оперативной памяти;
— 3D-графический ускоритель совместимый с OpenGL 1.4
— Звуковая карта.

Установка

1. Запустите программу установки и следуйте инструкциям.
2. Программа установки также установит драйвера аудио OpenAL (oalinst.exe), если они не будут обнаружены. Последнюю версию можно найти на официальном сайте OpenAL: https://connect.creativelabs.com/openal/default.aspx
3. KaM Remake использует движок OpenGL, поэтому у вас ещё должны быть установлены драйве OpenGL. Посетите сайт производителя вашей видеокарты, чтобы получить последние версии драйверов.
4. Запуск мода — KaM_Remake.exe или с рабочего стола / Меню «Пуск», если при вы решили создать ярлыки.

Геймплей

В игре доступны следующие сочетания клавиш:
Esc закрывает открытое сообщение или активную вкладку в меню игры
F1-F4 открывает соответствующую вкладку в меню игры
F5-F8 ускоряет темп игры на x1 — x10
F11 покажет панель отладки и меню
1-9 выберет юниты или здания, назначенные посредством Ctrl 1-9
B разместит маяк на карте, который ваши союзники смогут видеть
P ставит игру на паузу
Т при нажатии покажет названия команд над юнитами в мультиплеере
Del удаляет открытое сообщение в игре
Пробел перемещает на место в игре, о котором идёт речь в открытом сообщении
←↑→↓ клавиши управления курсором перемещают вас по карте
Прокрутка колеса мыши увеличивает и уменьшает масштаб
клавиша «возврата» (backspace) задаёт масштаб 100%

Установка дополнительных карт:
1. Создайте вложенную папку в «Maps» KaM Remake и назовите её, например, «My New Map».
2. Положите внутрь папки файлы .dat и .map и переименуйте их соответственно на карту и переименовать их, соответственно, «My New Map.dat» и «My New Map.map». Названия файлов должны соответствовать имени папки в точности.
3. Вы можете также создать дополнительный файл с названием «My New Map.txt», который будет содержать описание миссии и другую информацию. Используйте тот же формат, что и у миссий, идущих с Remake. Официальный формат этой информации не будет выпущен, поскольку этот файл будет изменён в последствии.

Добавление своей музыки:
Вы можете разместить MP3/Ogg файлы в папке Music KaM Remake, и они будут включены в плейлист автоматически.

F.A.Q.

Игра падает без сообщений:
Если KaM Remake падает в ходе запуска и не показывает сообщений, пришлите пожалуйста файл лога по адресу [email protected] вместе с любой другой информацией, которая может пригодиться.

Низкая частота кадров:
Если у вас очень низкая частота кадров в игре, возможно у вас устаревшие драйверы OpenGL. Посмотрите информацию о версии OpenGL в левом верхнем углу главного меню, она должна быть по крайней мере 1.4.x. Если версия более старая, то вам нужно обновить драйвера видеокарты (посетите сайт производителя видеокарты).

Ошибки в игре:
Иногда, когда что-то неожиданное произойдет, вы получите сообщение «An error has occurred in the application (Возникла ошибка в приложении)«. Пожалуйста, нажмите на кнопку Send Bug Report (Отправить отчет об ошибке) , чтобы отправить отчёт об ошибке нам. Введите свое имя и адрес электронной почты в форму, если вы хотите, чтобы мы могли связаться с Вами по поводу ошибки. Этот отчёт поможет нам исправить ошибку.

Известные ошибки и ограничения

Создание юнитов в ратуше и в мастерской осадных орудий не работает.
Поведение ИИ по-прежнему ограничено.

Выделенный сервер

Исполняемые файлы для выделенного сервера мультиплеера включены, доступны для Windows и Linux x86 и x86_64. Сервер слушает соединения на TCP-порту (56789 по умолчанию) и выступает в качестве узла связи для передачи данных между клиентами. Выделенный сервер не просчитывает игру, он просто передаёт пакеты. Первый клиент, который присоединится к игре, получит права хоста, что позволит ему настроить параметры игры. Если он отключится, то следующий по списку получит эти права.
Настройка сервера происходит в файле KaM_Remake_Settings.ini. (созданный при запуске первой игры или сервера) Настройки выделенного сервера находятся в секции [Server].
To use in a LAN game, first make sure the server will not be published to the master server by setting “AnnounceDedicatedServer=0” in the INI file. Для того, чтобы использовать в игре LAN, сначала убедитесь, что сервер не будет опубликован на главный сервер, установив «AnnounceDedicatedServer = 0» в файле INI. (see above) Then start the dedicated server and ensure it is running properly (it should say “Listening on port 56789”) Please ensure your firewall is allowing clients to connect to the server, by allowing TCP port 56789. (or whichever you chose) You may then connect to it from the same computer and/or other computers. (Смотри выше) Затем запустите выделенный сервер и убедиться, что он работает правильно (он должен сказать: «прослушивает порт 56789») Убедитесь, что ваш брандмауэр позволяет клиентам подключаться к серверу, позволяя TCP-порт 56789. (в зависимости от того или вы выбрали ) затем вы можете подключиться к нему с того же компьютера и / или других компьютерах. (For the same computer, connect to the address 127.0.0.1 or localhost) (Для того же компьютера, подключения к адресу 127.0.0.1 или локальном хосте)
Для использования сервера в Интернете, вы должны перенаправить порт 56789 (или иной, который вы выбрали) от маршрутизатора к компьютеру на котором запущен выделенный сервер. (для получения более подробной информации о перенаправлении портов смотрите на https://portforward.com/) Скажите своим друзьям подключиться к вашему серверу из списка, если вы решили сделать сервер публичным, или ваш внешний IP адрес, если решили его не делать публичным, который отображается на главной странице https://portforward.com/. Если вы играете с того же компьютера, на котором запущен сервер, или по той же локальной сети, то присоединяйтесь к тому IP-адресу, как будто вы играете по локальной сети изначально.

Примечание: выделенный сервер не требуется, чтобы играть в мультиплеер. Нажав кнопку «Start Local Server» (Запустить локальный сервер) или «Start Internet Server» (Запустить Интернет сервер) из меню сетевой игры будет иметь тот же эффект, только вам придётся участвовать в игре, и сервер не сможет быть оставлен без присмотра сам по себе. Выделенный сервер необходим, только если вы хотите запустить сервер, не играя. Основная цель выделенного сервера состоит в том, чтобы сервера работали 24/7, и игроки могли присоединиться и участвовать в игре в любой удобный им момент. Если вы сможете обеспечить такую работу сервера, мы будем очень рады.

Linux сборки были проверены на Fedora и Ubuntu. Любые вопросы или замечания по версии Linux должны быть направлены на Lewin’у. ([email protected])

Исходный код

Код КАМ Remake доступен на нашей странице проекта:
https://github.com/Kromster80/kam_remake
Мы рекомендуем вам сообщать об ошибках с помощью встроенного интерфейса:
https://github.com/Kromster80/kam_remake/issues

Авторы

Ведущий программист — Кром ([email protected])
Программист — Левин ([email protected])
Спасибо Alexу, который создал движок в 2008 году
Спасибо StarGazerу, который ввел новые курсоры и значки для пользовательского интерфейса
Огромное спасибо сообществу КАМ и ее активных членов (Бен, Free_sms_kam, Гарольд, JBSnorro, Рыцарь, Litude (Real дог), Merchator, Ник, Thunderwolf, Humbelum, Vas и многие другие), которые помогли нам с расшифровкой, советы, идеи и поощрение.

Официальное уведомление

Использование в коммерческих целях запрещено.
Любые используемые имена, символы или другие авторские материалы являются собственностью соответствующих владельцев.
Мы не несем ответственности, если этот мод повредит ваше программное или аппаратное обеспечение.
По понятным причинам публикации и / или обмен этого мода в любой форме не допускается без этого файла Readme.
Вы можете загрузить этот мод на свой сайт / сервер / страницу, но, пожалуйста, сообщите нам об этом.
Мы предполагаем, что вы (конечный пользователь / игрок) владеете лицензионной копией игры КАМ, в противном случае Вы должны купить игру, прежде чем использовать этот мод. Нарушение этого условия будет нарушением лицензионного соглашения.

Как исправить отсутствие сообщения об ошибке OpenAL32.dll в Windows 10

Многие пользователи Windows сообщили о OpenAL32.dll не найден в Windows 10 сообщение об ошибке при попытке открыть программу. Очень неприятно сталкиваться с ошибкой всякий раз, когда вы пытаетесь открыть приложение. Это снижает эффективность работы и создает нежелательную головную боль. 

Прежде чем решать любую проблему, вы должны иметь общее представление об ошибке. Читайте дальше, чтобы узнать, как исправить отсутствует OpenAL32.dll ошибка в вашей Windows 10. 


Что такое ошибка Openal32.dll в Windows 10?

OpenAL является аббревиатурой от Open Audio Library и представляет собой кроссплатформенный программный интерфейс (API) аудиоприложений, который используется во многих программах, таких как аудиоприложения и игры, для улучшения взаимодействия с пользователем. Файл OpenAL32.dll работает как компонент API.

В случае, если файл OpenAL32.dll или программа, для которой требуется OpenAL32.dll, повреждены или отсутствуют, вы получите сообщение OpenAL32.dll, не найденное в Windows 10. Существует много сообщений об ошибках, которые могут появиться после повреждения OpenAL32.dll. Ниже приведены некоторые распространенные ошибки, о которых вам следует знать.

  • Программа не может запуститься, потому что OpenAL32.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы решить эту проблему.       
  • Не удалось запустить приложение, потому что не найден OpenAL32.dll.
  • Ошибка загрузки OpenAL32.dll.
  • OpenAL32.dll либо не предназначен для работы в Windows, либо содержит ошибку.
  • Проблема запуска OpenAL32.dll.

Кроме того, ошибка отсутствия OpenAL32.dll может быть вызвана множеством причин. Эта проблема также может быть вызвана вирусной атакой, проблемой реестра, неисправным приложением и многими другими. 

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


Метод 1: переустановка проблемной программы для устранения проблемы OpenAL32.dll Not Found

Когда вы получаете сообщение об отсутствующей ошибке OpenAL32.dll not found в Windows 10, вы всегда получаете предложение по устранению неполадок от системы:Попробуйте установить программу, чтобы исправить его проблему. ‘ Итак, первый способ довольно прост и доступен; вам просто нужно снова переустановить эту проблемную программу в вашей системе. Сначала удалите программу, а затем снова установите ее.

Однако, если этот метод не работает, и вы по-прежнему не можете запустить программу, перейдите к следующему методу.

PS: если вы столкнулись с Mfc100.dll Отсутствует ошибка или d3d9.dll Проблема не найдена. Вот лучшие решения для вас.


Метод 2: Регистрация файла вручную

После установки программы, которой для запуска необходим файл OpenAL32.dll, этот файл автоматически регистрируется в вашей компьютерной системе. В случае, если файл не был зарегистрирован в вашей системе, приложение показывает, что OpenAL32.dll отсутствует всплывающее сообщение об ошибке. 

Поэтому, если файл не зарегистрирован должным образом, вам необходимо вручную зарегистрировать его на своем ПК.

Следуйте пошаговым инструкциям, приведенным ниже, чтобы выполнить этот процесс. 

1: Нажмите Windows и R вместе на клавиатуре, чтобы открыть ‘Run‘ окно.

2: введите cmd в диалоговом окне и нажмите Ctrl, Shift и Enter вместе, чтобы запустить командную строку от имени администратора.

3: Введите команду ниже и нажмите ‘Enter‘, чтобы зарегистрировать файл OpenAL32.dll.

4: Теперь введите другую команду (упомянутую ниже) и нажмите ‘Enter‘ зарегистрироваться OpenAL32.dll .

После правильной регистрации файла в компьютерной системе перезагрузите компьютер, чтобы проверить, сохраняется ли отсутствующая ошибка.

Кроме того, давайте выясним, как исправить libcef.dll отсутствует ошибка и x3daudio1_7.dll отсутствует выпускать без особых усилий.


Метод 3: сканирование на наличие вредоносных программ или вирусов для исправления ошибки OpenAL32.dll Not Found

Как упоминалось выше, кроме отсутствующих или поврежденных OpenAL32.dll файл, многие другие причины могут вызвать ошибки отсутствия OpenAL32.dll. Одним из них может быть вредоносное ПО и вирусная атака. Нежелательные программы или вирусы в вашей компьютерной системе препятствуют правильной работе вашей программы, что приводит к ошибке OpenAL32.dll missing. Чтобы удалить вирус, вам необходимо просканировать всю систему и обнаружить проблему.

Поэтому вы можете использовать стороннее антивирусное программное обеспечение или Защитник Windows. Следующие ниже шаги помогут вам продолжить процесс.

1: Вы можете просканировать ошибку с помощью встроенных инструментов Windows. Для этого перейдите по ссылке ‘Параметры Windowsи нажмитеБезопасность Windows».

2: Затем выберите «Защита от вирусов и угроз‘вариант и нажмите на’Запустите новое предварительное сканирование».

3: Наконец, выберите «Полное сканирование‘для обнаружения и удаления вирусов из вашей системы.

После успешного сканирования и удаления вируса перезагрузите компьютер, чтобы изменения вступили в силу. Теперь снова запустите вашу программу и проверьте, сохраняется ли ошибка.

Кроме того, если вы испытываете Ошибка gdiplus.dll в Windows 10нажмите, чтобы исправить это легко сейчас.


Метод 4: используйте программу проверки системных файлов

Пользователи Windows могут использовать одно из самых эффективных программ для проверки файлов, System File Checker, для сканирования и устранения проблем, связанных с системными файлами. Это поможет вам сканировать все системные файлы и заменять поврежденные и отсутствующие на кэшированную копию.

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

1: Нажмите Windows и R ключи вместе, чтобы открыть ‘Run‘ окно. 

2: Введите CMD и нажмите Ctrlи Shiftи Enter вместе, чтобы открыть командную строку от имени администратора. 

3: Теперь введите команду ПФС / SCANNOW и ударилEnter».

4: процесс сканирования занимает некоторое время. Так что терпеливо подождите, пока система завершит процесс сканирования. 

Если процесс исправления ошибки прошел успешно, перезагрузите компьютер, чтобы изменения вступили в силу. Снова запустите проблемную программу, чтобы проверить, сохраняется ли отсутствующий OpenAL32.dll.


Метод 5: обновите драйверы устройства, чтобы исправить ошибку OpenAL32.dll «Не найден»

Устаревший или поврежденный драйвер устройства также может привести к ошибке отсутствия OpenAL32.dll. Поэтому вам необходимо обновить драйвер устройства, особенно драйвер звуковой карты и видеокарты. Проблемные драйверы отмечены желтым восклицательным знаком в разделе «Управление драйверами». Желтый восклицательный знак означает, что с устройством возникли проблемы.

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

1: Нажмите Windows и R ключи вместе, чтобы вызвать ‘Run‘ чат. Тип devmgmt.msc и нажмите «OK‘кнопка, чтобы открыть’Управление устройством‘ окно. 

2: Теперь найдите драйвер желтого восклицательного знака или целевой драйвер. Щелкните драйвер правой кнопкой мыши и выберите значокОбновить драйвер‘в раскрывающемся меню. 

3: в новом окне выберите «Автоматический поиск программного обеспечения драйвера‘и щелкните по нему. Windows автоматически начнет поиск новой версии драйвера на вашем ПК и в Интернете.

После обновления драйвера устройства перезагрузите компьютер, чтобы изменения вступили в силу. Теперь снова запустите проблемную программу и проверьте, сохраняется ли отсутствующий OpenAL32.dll. 


Метод 6: выполнить восстановление системы

Неправильные изменения в настройках или файлах также приводят к ошибке OpenAL32.dll не найден в Windows. Если вы не можете найти точный файл или проблему с конфигурацией, вы можете запустить ‘Восстановить‘в вашей компьютерной системе. Эта программа поможет вам вернуть исходную конфигурацию или настройки файла. Выполните следующие шаги, которые помогут вам изучить процесс.

1: Нажмите Windows и S ключи вместе, чтобы открыть Поиск окно.

2: Тип ‘восстановление«в поле поиска и выберите»Создать точку восстановления‘вариант из результатов поиска. 

3: Теперь перейдите к ‘Свойства системы‘раздел и выполните поиск’Восстановить«вариант, расположенный под»Защита системы‘и щелкните по нему. Затем нажмите «Далее» на странице приветствия, чтобы продолжить процесс. 

4: Откроется новое окно со списками созданных точек восстановления. Если вы хотите проверить предыдущие точки восстановления, нажмите ‘Показать больше точек восстановления. ‘ Теперь выделите целевую точку восстановления и нажмите ‘Сканировать на наличие уязвимой программы. ‘ Это обнаружит все удаленные программы. Вам необходимо установить все неустановленные программы.

5: После этого нажмите на значокДалее‘, чтобы восстановить выбранную программу.

6: Появится подтверждающее сообщение. Помните, что после подтверждения системы восстановления вы не сможете отменить ее. Поэтому убедитесь, что вы выполнили все шаги должным образом, а затем нажмите кнопку ‘Да‘, чтобы подтвердить процесс.

После восстановления системы процесс завершится успешно, перезагрузите компьютер и запустите программу.    


Метод 7: Поверхностное тестирование жесткого диска вашего компьютера

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

Используйте MiniTool Partition Wizard для проверки поверхности жесткого диска вашего компьютера. Это безопасное и надежное программное обеспечение, которое позволяет просто и быстро протестировать жесткий диск.

1: перейдите на официальный сайт Мастер разделов MiniTool и загрузите и запустите программное обеспечение. Теперь вы можете получить доступ к основному интерфейсу программы.

2: Щелкните правой кнопкой мыши значокЦелевой жесткий диск‘вариант и выберите’Тест поверхности‘из контекстного меню. Это активирует функцию.

3: в новом окне просто нажмите на значок «контакткнопка, чтобы начать процесс.

Это позволит программному обеспечению считывать данные из сектора и сканировать состояние каждого сектора. Процесс сканирования занимает некоторое время. Терпеливо дождитесь завершения процесса. Если на диске есть сбойный сектор, появится сообщение красного цвета. В противном случае появится сообщение зеленого цвета.


Метод 8: Выполните чистую загрузку, чтобы исправить ошибку OpenAL32.dll «Не найден»

Если все вышеперечисленные решения не работают для вас, последний оставшийся вариант — это переустановка системы Windows. Это действительно рискованная операция; однако, если вы выполните эти шаги правильно, вы можете выполнить чистую установку Windows 10, чтобы исправить OpenAL32.dll, не найденный в Windows 10. Ниже приведены шаги, которые помогут вам продолжить этот процесс. 

Важная заметка: Перед переустановкой Windows необходимо создать резервную копию всех данных вашей компьютерной системы на другом жестком диске. Процесс переустановки Windows приведет к удалению всех ваших предварительно сохраненных данных с вашего ПК. Вы можете сохранить данные на другом жестком диске, а затем продолжить процесс.

После восстановления данных выполните следующие действия, чтобы переустановить Windows.

1: Нажмите Windows и I ключи вместе, чтобы открыть Windows ‘Настройки». 

2: Найдите «Обновление и восстановление‘и щелкните по нему. Затем нажмите «Восстановлениевариант.

3: Найдите «Приступить«кнопка, расположенная под»Сбросить этот ПК‘на правой панели.

4: Вы увидите два варианта, нужно ли вам сохранить файлы или удалить их. Выберите желаемый вариант. 

Это приведет к переустановке Windows, и ошибка отсутствия OpenAL32.dll также будет удалена. 


Заключение

Вот восемь методов, которые помогут вам исправить отсутствует OpenAL32.dll ошибка. Если вы знаете другой способ устранения ошибки, оставьте комментарий ниже и сообщите нам.  

Фан-сайт игр «Война и Мир» и «Вторая Корона» (K and M).


KaM Remake (мы еще не придумали красивое название) — это попытка оживить оригинальную стратегическую игру «Knights and Merchants: The Shattered Kingdom» (далее просто «КаМ»). Наши цели — сделать игру работоспособной на современных компьютерах, а также исправить множество ошибок в движке игры. Для того, чтобы это сделать, мы начали «с нуля» писать свой движок, полагаясь на оригинальные файлы ресурсов игры. Это наша публичная технологическая демо-версия, показывающая экономическую и военную стороны игры, далее называемая «игра» или «KaM Remake». Наша цель — продемонстрировать потенциал и получить отклик по функциональности игры. Все использованные ресурсы взяты из КаМ (графика, музыка, звуки, и т.п.) и используются только для разработки и отладки. Финальная версия не будет включать в себя никаких защищенных авторских ресурсов.
Мы полагаем, что у Вы обладаете лицензионной версией КаМ, иначе вам следует ее приобрести — ее можно купить в ряде он-лайн магазинов.
Исполняемый файл KaM Remake доступен для свободного распространения и сделан энтузиастами. Использованные приложения: Delphi 6, Delphi 7, FastMM4, Lazarus, LNet, OpenGL, OpenAL, Overbyte ICS, PNGImage, zLib, MadExcept, libZPlay.
 

KaM Remake требуется:
    — Операционная система: Microsoft Windows 98/XP/Vista/Seven;
    — Процессор Pentium II 500MHz или лучше;
    — 256 MB оперативной памяти;
    — 3D ускоритель с поддержкой OpenGL версии 1.4 или выше;
    — Звуковая карта.
 

1. Запустите мастер установки игры и следуйте его инструкциям.
2. Мастер установки также включает в себя аудио драйвера OpenAL (oalinst.exe), которые вам также следует установить, для игры в KaM Remake. Свежую версию драйверов Вы можете скачать с официального сайта OpenAL: http://connect.creativelabs.com/openal/default.aspx 
3. KaM Remake использует OpenGL для вывода графики, так что Вам также может потребоваться установить последние графический драйвера, от производителя вашей видеокарты.
4. Запустите мод — KaM_Remake.exe.
 

В игре доступны следующие клавиатурные сокращения:
Esc — закрыть открытое сообщение, или открытый раздел игрового меню
F1-F4 — открыть соответствующий раздел игрового меню
F5-F8 — увеличить скорость игры в 10 раз
F11 — показать меню и отладочную панель
1-9 — выбрать здание или воина, назначенного с помощью соответствующей комбинации Ctrl + 1-9
B — установить метку на карте. Метку видите только Вы и Ваши союзники
P — пауза
T — показать ники игроков над юнитами в мультиплеере
Del — удалить открытое сообщение
Пробел — перейти к месту события открытого сообщения
←↑→↓ — курсорные кнопки используются для перемещения по карте
Колесико мыши увеличивает и уменьшает масштаб
 Backspace установит масштаб обратно на 100%

Установка дополнительных карт:
1. Cоздайте новую папку в папке «KaM Remake\Maps» и назовите по имени Вашей карты (например «Моя Карта»).
2. Поместите в созданную папку файлы карты (назвав их соответственно «Моя Карта.dat» и «Моя Карта.map»). Имена файлов должны совпадать с именем папки!
3. Вы также можете создать дополнительный файл «Моя Карта.txt», содержащий описание миссии и другую информацию. Для шаблона используйте подобные файлы из миссий KaM Remake. Официальная информация о формате пока недоступна, так как в будущем формат может быть изменен.

Добавление собственной музыки:
Вы можете скопировать ваши MP3/OGG файлы в папку «KaM Remake\Music», и они будут автоматически добавлены в список воспроизведения.
 

Падение игры без сообщения:
KaM Remake вылетает без каких-либо сообщений загрузки или при смене саундтрека, если есть проблема со звуковой подсистемой Windows. Удаление папки «Music» из KaM Remake исправляет эту ошибку.

Низкая частота смены кадров:
Если у Вас в игре низкая частота смены кадров, это может быть вызвано старыми или отсутствующими драйверами OpenGL. Проверьте Вашу версию OpenGL драйверов, посмотрев в главном меню в верхний левый угол, версия должна быть как минимум 1.4.x. Если она ниже то необходимо обновить драйвера вашей видеокарты (драйвера можно скачать на сайте производителя).

Ошибки:
Иногда, когда происходит нечто непредвиденное, Вы получаете сообщение «Произошла ошибка в приложении«. Пожалуйста, нажмите кнопку Отправить отчет об ошибке, чтобы отправить отчет об ошибке нам. Введите свое имя и адрес электронной почты в форме, если Вы хотите, чтобы мы могли связаться с Вами по поводу ошибки. Отчеты помогут нам исправить ошибки.

Тренировка юнитов в Ратуше и Осадной мастерской не работает.
Поведение ИИ сильно ограничено.
 

Включает исполняемые программы для мультиплеера выделенного сервера, которые работают на Windows и Linux x86 и x86_64. Для соединения сервер использует TCP порт 56789 и работает как концентратор, обеспечивая передачу данных между клиентами. Выделенный сервер не «понимает» геймплей, он просто передает пакеты данных между клиентами. Первому игроку, который соединится с сервером будут даны права хоста и он сможет менять настройки игры. Если первый игрок отключается, то права хоста автоматически передаются следующему игроку по порядку в списке.
Чтобы использовать игру в LAN, запустите выделенный сервер и убедитесь, что он запущен правильно (должно быть написано «Listening on port 56789»). Убедитесь, что ваш firewall не блокирует работу программы, открыть TCP порт 56789. Тогда вы можете присоединиться с того же самого компьютера и/или других компьютеров. (Для того же самого компьютера соединитесь с адресом 127.0.0.1 или localhost)
Чтобы использовать в интернете, вы должны перенаправить порт 56789 от Вашего маршрутизатора до Вашего PC, на котором запущен выделенный сервер. (для получения дополнительной информации о перенаправлении портов, посетите http://portforward.com/) Скажите свой внешний IP адрес друзьям, которые к вам присоединятся. IP адрес отображается на страницеhttp://portforward.com/. Если вы играете на том же самом компьютере, на котором запущен выделенный сервер, или в той же самой LAN, то подключайтесь к этому IP-адресу, как вы бы сделали для игры по LAN.

Примечание: Выделенный сервер не является обязательным для игры в мультиплеер. Нажатие кнопки «Создать сервер» в меню сетевой игры имеет такой же эффект, за исключением того, что вы и сами должны будете принять участие в игре. Выделенный сервер нужен в том случае, если вы хотите создать сервер, но не принимать участие в игре. Основное назначение выделенного сервера является возможность его круглосуточной работы, семь дней в неделю, во время которой игроки могут присоединиться и участвовать в игре в любой момент, когда им хочется. Если вы в состоянии поддерживать работу выделенного сервера, то расскажите об этом фанатам игры, указав свой IP адрес. Будущие версии будут включать «мастер сервер», который будет отображать список всех запущенных публичных серверов и позволит вам присоединиться к ним без необходимости вводить IP-адреса.

Linux версия была проверена на Fedora и Ubuntu. Любые вопросы или комментарии относительно версии под Linux следует направлять по адресу Левина. ( [email protected])=»mailto:[email protected]»>

 
 
Пожалуйста используйте форум или электронную почту (см. ниже), чтобы сообщить нам об найденных ошибках. Большинство ошибок нам мы уже вероятно знакомы, но мы бы хотели видеть Ваши комментарии, предложения, комплименты и т.п.
Если Вы можете помочь чем-нибудь в написании кода в Delphi, дизайне меню, идеями для улучшения — пожалуйста, напишите нам на почту или оставьте свое сообщение на форуме. 
 

Исходные коды KaM Remake доступны по адресу:
http://code.google.com/p/castlesand
Мы призываем Вас сообщать нам о найденных ошибках используя встроенный интерфейс:
http://code.google.com/p/castlesand/issues/entry

 

Ведущий программист — Krom ([email protected])
Программист — Lewin ([email protected])
Особая благодарность Александру, который написал ядро структуры кода в 2008 г
Спасибо StarGazer, который нарисовал Рынок, новые курсоры и иконки для интерфейса, а также Malin за нарисованные товары для рынка.
Огромное спасибо сообществу КаМ и его активным членам (Free_sms_kam, Harold, Humbelum, JBSnorro, The Knight, Litude (Real Hotdog), Merchator, Nick, Thunderwolf, Vas и многим другим), кто помогал нам с декодированием, советами, идеями и поддержкой.
В игре использованы иконки от famfamfam и FatCow.
 
1. Коммерческое использование продукта запрещено.
2. Все использованные имена, символы или другие защищенные авторскими правами материалы, являются собственностью их владельцев.
3. Мы не несем ответственности, если данный мод (KaM Remake) нанесет ущерб программному или аппаратному обеспечению Вашего компьютера.
4. По очевидным причинам, издание и/или распространение KaM Remake, в любой форме, недопустимо без данного Readme файла.
5. Вы можете загрузить данный мод на ваш сайт/сервер/домашнюю страницу, но, пожалуйста, предварительно сообщите нам об этом.
6. Мы предполагаем, что Вы (пользователь/игрок) располагайте собственной лицензионной копией игры «Knights and Merchants: The Peasants Rebellion», в противном случае Вам следует купить игру, прежде чем Вы начнете играть в KaM Remake. Невыполнение этого требования будет нарушением лицензионного соглашения.
Партнеры сайта

FMOD — DEVice KIngdoms

FMOD
Тип библиотека для работы с аудио
Разработчик Firelight Technologies
Операционная система Cross-platform
Первый выпуск 6 марта 1995
Аппаратная платформа Wii U, Nintendo 3DS, Xbox 360, Xbox One, PlayStation 3, PlayStation 4, PlayStation Vita, HTML5, Android, iOS, macOS, Linux и Microsoft Windows
Тестовая версия (июль 2008)
Лицензия Проприетарная — коммерческая и некоммерческая[1]
Сайт fmod.com

FMOD — проприетарная программная аудио библиотека, которая позволяет полностью проигрывать музыкальные файлы разных форматов на разных платформах.

Поставляется в двух версиях — 3.75 и 4.x, называемой «FMOD Ex» и поддерживающей больше форматов и платформ.

Библиотека бесплатна для некоммерческого использования и инди-проектов, но коммерческие разработчики должны платить от 750 до 6000 долл. за первую лицензию для одного продукта.

Содержание

  • 1 Поддерживаемые платформы
  • 2 Взаимодействие с OpenAL
  • 3 Поддерживаемые форматы
  • 4 См. также
  • 5 Примечания
  • 6 Ссылки

Поддерживаемые платформы

FMOD Ex поддерживает следующие платформы:

  • Win32, Win64
  • Linux 32-bit, 64-bit
  • Mac OS 8/Mac OS 9/Mac OS X
  • iOS[2]
  • Android
  • Windows Phone 8
  • Xbox
  • Xbox 360
  • Xbox One
  • Nintendo GameCube
  • PlayStation 2
  • PlayStation 3
  • PlayStation 4
  • PlayStation Portable
  • PlayStation Vita
  • Wii
  • Wii U

Взаимодействие с OpenAL

Из-за отсутствия в Windows Vista ускорения DirectSound3D на аппаратном уровне, Creative Labs изменила FMOD для поддержки OpenAL.[3]

Однако в дальнейшем, 1 июля 2010 года, поддержка аппаратного ускорения, расширения EAX и OpenAL была полностью удалена из библиотеки[4].

Поддерживаемые форматы

FMOD Ex поддерживает следующие звуковые форматы: AIFF, ASF, ASX, DLS, FLAC, FSB, IT, M3U, MID, MOD, MP2, MP3, OGG, PLS (формат файла), RAW, S3M, VAG, WAV, WAX, WMA, XM, XMA/XWMA (только для Xbox 360), AudioQueue (только для устройств Apple iOS, поддержка AAC, ALAC и MP3).

См. также

Примечания

  1. ↑ FMOD Licenses (англ.) (недоступная ссылка). Firelight Technologies Pty, Ltd.. Дата обращения: 14 ноября 2007. Архивировано 26 февраля 2012 года.
  2. ↑ fmod — interactive audio middleware
  3. ↑ Creative Labs: Connect Архивировано 4 мая 2010 года.
  4. ↑ Список изменений, 01/07/10 4.33.00 pre 4 — Development internal update (неопр.) (недоступная ссылка). Архивировано 1 ноября 2014 года.

Ссылки

  • Официальный сайт

Ссылки — Шкимба Андрей Александрович

Материалы магистров ДонНТУ

  • Илькун В.П. Инструментальные средства для разработки компьютерных игр жанра экшн от первого и третьего лица

    Описание: персональный сайт магистров ДонНТУ, 2013 г.

    Руководитель: доцент, к.т.н. Карабчевский Виталий Владиславович

  • Пивненко А.В. Методы и средства разработки трёхмерных игровых приложений

    Описание: персональный сайт магистров ДонНТУ, 2007 г.

    Руководитель: Карабчевский Виталий Владиславович

  • Грищенко А. В. Техническая и программная поддержка реалистичной трехмерной графики

    Описание: персональный сайт магистров ДонНТУ, 2007 г.

    Руководитель: Аноприенко Александр Яковлевич

  • Коваль С.Г. Система моделирования визуальных эффектов

    Описание: персональный сайт магистров ДонНТУ, 2010 г.

    Руководитель: Мальчева Раиса Викторовна

  • Радченко В.И. Исследование методов анимации воксельных моделей

    Описание: персональный сайт на портале магистров ДонНТУ, 2012 г.

    Руководитель: доцент, к.т.н. Карабчевский В.В.

  • Частикин С.С. Исследование средств создания объёмных моделей геометрических фигур и их связь с комплексным чертежом

    Описание: Персональный сайт на портале магистров ДонНТУ, 2012 г.

    Руководитель: доцент, к.т.н. Карабчевский В.В.

  • Бубенщиков И.Д. Исследование методов расширения функциональных возможностей графических систем

    Описание: персональный сайт на портале магистров ДонНТУ, 2011 год

    Руководитель: доцент, к.т.н. Карабчевский В.В.

  • Научные работы и статьи

  • Анатомия игровых движков

    Авторы: Дмитрий Чеканов

    Описание: Описание типичной структуры среднестатистического игрового движка

  • История стратегий в реальном времени

    Авторы: Анатолий Малин, Ричард Псмит

    Описание: история развития жанра «стратегия» в компьютерных играх

  • Wikipedia — Game Engine

    Описание: Википедия. Игровой движок. На английском.

  • Пишем игровой движок, часть 1

    Авторы: пользователь Habrahabr с ником Robotex

    Описание: описание процесса создания игрового движка

  • 30 Tips For Newbie Game Programmers

    Авторы: Emrah Ozer

    Описание: 30 советов начинающим разработчикам игр

  • Инструкции начинающего разработчика игр

    Авторы: пользователь Habrahabr с ником VitaZheltyakov

    Описание: инструкция для людей, собирающихся заняться разработкой игр в роли лидера

  • Составляющие Игрового Графического Движка

    Авторы: Поздняков К.А.

    Описание: обзор возможностей игрового движка современного уровня

  • Классификация компьютерных игр

    Описание: классификация компьютерных игр по жанровой направленности

  • Архитектура игрового движка

    Авторы: Эндрюс Дж.

    Описание: разбор архитектуры игрового движка

  • Обзор DirectX 12

    Авторы: пользователь Habrahabr с ником «dmandreev»

    Описание: «чем DirectX 12 лучше DirectX 11 ?»

  • Куда приводят мечты: замороженные отечественные игры

    Авторы: редакция Gmbox.ru 11 апреля 2013

    Описание: немного грусти-печали

  • Техническая и справочная литература

  • Национальная библиотека Украины имени В.И. Вернадского

    Крупнейшая библиотека Украины, главный научно-информационный центр государства. Входит в число десяти крупнейших национальных библиотек мира.

  • Game tutorials

    Техническая литература по использованию Direct3d и OpenGL на с++, с#

  • OpenGL wiki

    Вики-справочник по графической библиотеке OpenGL

  • LazyFoo OpenGL tutoruals

    Набор уроков по OpenGL

  • Работа с OpenGL

    Уроки по использованию OpenGL

  • GameDev.net

    Статьи, материалы, форум по разработке компьютерных игр

  • Введение в OpenAL

    Элементарный пример использования OpenAL для воспроизведения звука в приложениях

  • MSDN — Справочник по языку С++

    Nuff said

  • MSDN — Разработка игр DirectX

    Разработка игр с использованием DirectX и пошаговые руководства

  • DirectXtutorial.com

    Наборы уроков по DirectX 9/11 для разных платформ

  • GameDev.ru форум

    Форум разработчиков игр

  • Make-Games.ru форум

    Форум разработчиков игр

  • Game Programming Wiki

    A collection of 1,000+ game programming tutorials and source code examples for a variety of languages and platforms

  • Game Career Guide форум

    Англоязычный форум, посвящённый разработке игр и их реализации

  • Специализированные сайты и порталы

  • Unreal Engine

    Официальный сайт игрового движка компании Epic Games

  • Cry Engine 3

    Официальный сайт игрового движка компании Crytek

  • Unity 3D

    Официальный сайт игрового движка компании Unity Technologies

  • Source Engine

    Официальный сайт игрового движка компании Valve

  • GcUp.ru

    GameCreating — Портал о создании игр

  • OpenAL

    Специализированный вебсайт OpenAL

  • 3D Game Engine Programming

    «Helping you build your dream game engine.»

  • 3D Warehouse

    Онлайн-склад бесплатных 3D моделей сделанных в 3Ds Max

  • Simple DirectMedia Library

    Официальный вебсайт SDL

  • Habrahabr

    Сообщество людей, занятых в индустрии высоких технологий

  • Лучшие Компьютерные Игры

    Сайт журнала «Лучшие Компьютерные Игры»

  • NVidia Graphics

    Сайт производителя видеокарт NVidia

  • AMD Graphics

    Сайт производителя видеокарт AMD

  • Книги

  • Вильямс. Как стать создателем компьютерных игр. Краткое руководство.

    Краткое руководство по созданию компьютeрных игр. ISBN 5-8459-1030-7

  • Петросян Л. А. Зенкевич Н.А., Семина Е.А. Теория игр: Учебное пособие для университетов.

    ISBN 5-06-001005-8, 5-8013-0007-4

  • Вспомогательное ПО

  • MSDN – Visual Studio 2013

    Страница средлы разработки Visual Studio 2013 на сайте MSDN

  • Free Audio Editor 2014

    Бесплатный аудиоредактор для Windows

  • GimpShop

    Бесплатный профессиональный графический редактор

  • OpenAL: Cross Platform 3D Audio

    9000in , Windows Холодная война 900 04 Windows Elite 0004 Gish , Windows 000 000 Krab Penumbra Shell Spring , Windows 0008, Super Windows , Mac 90 003 Windows Wing , Macintosh, Windows OS
    Alien Flux Linux, Macintosh, Windows
    America’s Army: Operations Linux, Macintosh, Windows
    A Tale in the Desert II
    AeroFly Professional Deluxe Windows
    Battlefield 2 Windows
    Battlefield 2142 Windows
    Ministar Battle Just Started , Linux 8 Windows
    Bioshock Windows
    Bridge Construction Set Linux, Macintosh, Windows
    Call Of Juarez Windows
    Windows
    Колин МакРэй: DiRT
    Dark Horizons: Lore Linux, Macintosh, Windows
    Doom 3 Macintosh, Windows
    Dungeons & Dragons Online Windows
    Побег с острова обезьян Macintosh
    Вечные земли FreeBSD, Linux, Mac OS X, Windows
    E.В.Е. Paradox Linux, Windows
    FlightGear FreeBSD, Linux, Macintosh, sgi, Solaris, Windows
    Ghost Recon: Advanced Warfighter Windows
    Glest Порт Linux
    Heavy Metal: FAKK 2 Linux
    Герои Мальгримии II: Вторжение Некроса Windows
    Hot Potato Online Linux, Windows
    ioquake3
    Mac, Windows Рыцарь-джедай: Академия джедаев Macintosh, Windows
    Jedi Knight 2 Macintosh, Windows
    Just Cause Windows
    Kohan
    Legends FreeBSD, Linux, Macintosh, Windows, XFree86
    Lineage 2 Windows
    Властелин колец онлайн: Тени Ангмара Windows
    Windows
    Marble Blast Linux, Mac intosh, Windows
    MegaCorps Online Linux, Macintosh, Windows
    Minigolf Mania Windows
    Minions of Mirth Macintosh, Windows Live
    Open Arena {engine: ioquake3} Linux, OS X, Windows
    Orbz Linux, Macintosh, Windows
    PDC World Championship Darts 2008 Windows
    Linux, Windows
    PlaneShift Linux, Macintosh, Windows
    Prey Windows
    Psychonauts Windows
    Quake , Окна
    Rock etBowl Windows
    Rune Linux
    Saints and Sinners Bowling Windows
    Scorched 3D FreeBSD, Linux, Mac OS0003 N0005, , Windows
    Windows
    Заставка Skyrocket Linux, Windows
    Slune FreeBSD, Linux
    Soldier of Fortune Linux
    Fortune 2 Linux, Windows
    S.T.A.L.K.E.R. Windows
    Star Trek Voyager: Elite Force {движок: ioquake3} Linux, OS X, Windows
    Star Wars Republic Commando Windows
    StarWarp
    Stubbs the Zombie Macintosh, Windows
    Sudden Strike 3: Arms For Victory Windows
    SuperTux Linux, Macintosh, Linux
    Linux, Macintosh, Super Windows , Windows
    SWAT 4 Windows
    «Аналитические центры» Linux, Macintosh, Windows
    Thunder & Lightning Linux, Windows
    TORCS, Windows
    Tremulous {engine: ioquake3} Linux, Windows
    Tribal Trouble Linux, Macintosh, Windows
    Trigger Linux, Macintosh, Windows
    Tribes 2 Linux
    Tribes: Afterlight4 Windows: Afterlight4 Windows
    Ultimate Stunts Linux, Windows
    Ultratron Linux, Macintosh, Windows
    Unreal 2 Windows
    Unreal
    Unreal Tournament
    Unreal Tournament 2004 Linux, Macintosh, Windows
    Unreal Tournament 3 ? Windows?
    Vanguard: Saga of Heroes Windows
    VDrift FreeBSD, Linux, Mac OS X, Windows
    VegaStrike Linux, Macintosh
    Warsow Linux, Windows
    Wing Commander Saga Macintosh, Windows
    World of Padman {движок: ioquake3} Linux, OS X, Windows
    X 2 : Угроза Linux
    X 3 : Reunion Linux
    X-Rebirth Linux Linux, Macintosh, Windows
    Zap! Linux, Macintosh, Windows

    OpenAL: кроссплатформенное 3D-аудио

    Многоплатформенные расширения

    Это зарегистрированные расширения, которые используются для нескольких реализаций на нескольких платформах.
    ALC_ENUMERATION_EXT — перечисление доступных устройств (пример кода в altest)
    ALC_EXT_CAPTURE — функция захвата; документация находится в спецификации OpenAL 1.1
    AL_EXT_MP3 — Поддержка аудиоформатов MP3

    Linux / стандартные расширения реализации

    ALC_LOKI_audio_channel — получить / установить параметры громкости для текущего контекста
    LOKI_buffer_data_callback — механизм обратного вызова буфера
    LOKI_IMA_ADPCM_format 90_format 90_LOKI_IMA_ADPCM_format 90_Format 90_605 — формат воспроизведения ADPCM — формат воспроизведения LOWE60 запрос
    LOKI_quadriphonic — рендеринг с 4 динамиками
    EXT_vorbis — формат буфера Ogg Vorbis

    Расширения MacOS

    ALC_EXT_MAC_OSX : набор расширений для Mac OSX.
    ALC_EXT_STATIC_BUFFER : Поддержка буферов в области статической памяти («без буферов копирования»).
    ALC_EXT_ASA : расширение Apple Spatial Audio.
    ALC_EXT_ASA_ROGER_BEEP : Расширяет Apple Spatial Audio Extension (ALC_EXT_ASA) с помощью эффекта Roger Beep, когда RogerBeep AudioUnit присутствует в системе присутствует в системе

    Расширения Windows

    EAX2.0 — Вызовы EAX 2.0
    EAX3.0 — Вызовы EAX 3.0
    EAX4.0 — Вызовы EAX 4.0
    EAX5.0 — Вызовы EAX 5.0
    ALC_EXT_EFX — Расширение эффектов (документация в OpenAL SDK)
    EAX_RAM — поддержка XRAM (документация в OpenAL SDK)
    AL_EXT_ALAW — поддержка аудиоформата ALAW
    AL_EXT_DOUBLE — поддержка двойного аудиоформата
    AL_EXT_FLOAT32 аудиоформат — float32

    AL_EXT_IMA4 — Поддержка аудиоформатов IMA4
    AL_EXT_MULAW — Поддержка аудиоформатов MULAW
    AL_EXT_MCFORMATS — Поддержка многоканальных аудиоформатов

    База данных API расширения OpenAL

    Запросы документации могут быть сделаны для имен расширений, токенов или функций в OpenAL Extension Registry.

    OpenAL

    Введение

    Интернет-ресурсы OpenAL Xtra

    Установка

    Инициализация и выключение

    OpenAL версия Недвижимость

    Свойства слушателя

    Создание и выпуск звуков

    Играет Звуки

    Звук Недвижимость

    Ошибка Игра руками

    Функция Индекс

    Кредиты

    OpenAL Xtra — это бесплатный, открытый исходный сценарий Xtra для Macromedia Director, который расширяет Lingo основными функциями OpenAL, кроссплатформенный API 3D аудио.С OpenAL Xtra, директор-разработчик может расположить звуки вокруг виртуального слушателя в смоделированном трехмерном космос.

    Этот документ направлен на описать настройку и синтаксическое использование OpenAL Xtra. Для объяснения концепций OpenAL и другой полезной информации, которая Надеюсь, поможет вам эффективно использовать Xtra, пожалуйста обратитесь к документации OpenAL, доступной на веб-сайте OpenAL по адресу http: // www.openal.org.

    The OpenAL Хостинг проекта Xtra принадлежит SourceForge. Для последней версии, поддержка, документации или пообщаться с другими пользователями OpenAL Xtra, пожалуйста, посетите OpenAL Страница проекта Xtra по адресу http://sourceforge.net/projects/openalxtra/

    Для получения дополнительной информации об OpenAL API, на котором основан OpenAL Xtra, посетите OpenAL веб-сайт по адресу http: // www.openal.org.

    OpenAL Время выполнения

    OpenAL Xtra требует установки среды выполнения OpenAL. Некоторые функции требуют, чтобы реализация среды выполнения OpenAL соответствовала спецификации OpenAL 1.1. Чтобы узнать о средах выполнения OpenAL, посетите веб-сайт OpenAL http://www.openal.org.

    Окна

    Распаковать двоичный файл дистрибутив и скопируйте OpenAL.x32 на ваш Xtras папку и перезапустите Директор. Это Это. Если у вас более ранняя версия файл OpenAL.x32, обязательно удалите или замените его.

    Это значения по умолчанию расположение папки Xtra в Director 8.5 и Директор MX:

    Директор 8.5: C: \ Program Файлы \ Macromedia \ Director 8.5 \ Xtras

    Директор MX: C: \ Program Файлы \ Macromedia \ Director MX \ Xtras

    Добавить OpenAL Xtra для вашего режиссерского фильма.

    Инициализирует подсистема OpenAL. Этот вызов должен быть сделан перед любыми другими вызовами функции.

    Шутов вниз по подсистеме OpenAL. Этот вызов должен появиться после того, как вы закончите использовать OpenAL_XTRA (обычно в конце фильма). Он освобождает всю память, используемую подсистемой OpenAL. Важно позвонить по этому поводу в конец вашего фильма, пока вы находитесь внутри Director. Помимо разгрузки подсистемы OpenAL, она также эффективно вызывает alxReleaseSound () для каждого актерский состав.

    Расстояние Модель

    The затухание за счет расстояния источников звука зависит от модели расстояния в использовать. Модель расстояния имеет глобальную влияние на все источники звука. Для подробное объяснение дистанционных моделей см. в OpenAL документация на http://www.openal.org/.

    OpenAL Xtra в настоящее время поддерживает три определенные модели расстояния. пользователя OpenAL 1.0. Дополнительные модели расстояний, добавленные OpenAL 1.1 будет поддерживаться в следующем выпуске. Следующие символы обозначают поддерживаемые модели:

    #alxNone

    Байпасы затухание на расстоянии для всех источников звука.

    #alxInverseDistance

    Затухание на обратном расстоянии, описываемое следующая формула:

    Усиление = опорное расстояние / (ReferenceDistance + RolloffFactor * (Расстояние отсчета )

    #alxInverseDistanceЗажим

    По существу расширенная модель #alxInverseDistance чтобы гарантировать, что для расстояний ниже ReferenceDistance, усиление ограничено.

    alxSetDistanceModel Модель , ID

    Наборы модель глобального расстояния.

    Параметры:

    Модель

    , ID

    The символ, представляющий устанавливаемую модель.

    модель ID alxGetDistanceModel ()

    Получает символ, представляющий активную глобальную модель расстояния.

    Результатов:

    Символ представляющий активную модель расстояния.

    majorVersion alxGetOpenALMajorVersion ()

    Получает основной номер версии лежащего в основе OpenAL время выполнения. Пример: если OpenAL время выполнения — версия 1.0, возвращаемое значение будет 1.

    Результатов:

    Майор номер версии базовой среды выполнения OpenAL.

    minorVersion alxGetOpenALMinorVersion ()

    Получает младший номер версии базового OpenAL время выполнения. Пример: если OpenAL время выполнения — версия 1.0, возвращаемое значение будет 0.

    Результатов:

    Несовершеннолетний номер версии базовой среды выполнения OpenAL.

    supportsOffset alxHasExtensionOffset ()

    Указывает если базовая среда выполнения OpenAL поддерживает получение и установка положения смещения звука. Поддержка присутствует в OpenAL 1.1, но также может поддерживаться расширениями OpenAL 1.0.

    Результатов:

    Истинно (1), если поддерживаются функции смещения; в противном случае — ложь (0).

    Слушатель Прибыль

    Наборы общее усиление применяется ко всем звукам. А усиление 0 эффективно отключает звук. А усиление 1 не применяет затухание. А значение от 0 до 1 линейно масштабирует громкость. Некоторые OpenAL реализации допускают значения больше единицы, эффективно усиливая оригинальные звуки.

    Параметры:

    усиление

    The множитель усиления звука [0..1].

    усиление alxGetListenerGain ()

    Получает общее усиление применяется ко всем звукам. А усиление 0 эффективно отключает звук. А усиление 1 не применяет затухание. А значение от 0 до 1 линейно масштабирует громкость.Некоторые OpenAL реализации допускают значения больше единицы, эффективно усиливая оригинальные звуки.

    Результатов:

    Прирост множитель звука [0..1].

    Слушатель Позиция

    alxSetListenerPosition вектор

    Наборы положение слушателя в трехмерном пространстве.

    Параметры:

    вектор

    Список из 3 чисел, представляющих пространственное положение слушателя.

    вектор alxGetListenerPosition ()

    Получает положение слушателя в трехмерном пространстве.

    Результатов:

    Список из 3 числа, представляющие пространственное положение слушателей.

    Слушатель Направление

    alxSetListenerDirection вектор

    Наборы вектор направления слушателей в трехмерном пространстве.Вектор направления, вдоль вектором вверх укажите ориентацию слушателей.

    Параметры:

    вектор

    Список из 3 чисел, представляющих вектор направления слушателя.

    вектор alxGetListenerDirection ()

    Получает вектор направления слушателей в трехмерном пространстве.Вектор направления, вдоль вектором вверх укажите ориентацию слушателей.

    Результатов:

    Список из 3 числа, представляющие вектор направления слушателей.

    Слушатель Вверх

    Наборы вектор слушателей вверх в трехмерном пространстве. Вектор вверх вместе с вектором директора укажите ориентация слушателей.

    Параметры:

    вектор

    Список из 3 чисел, представляющих вектор слушателей вверх.

    вектор alxGetListenerUp ()

    Получает вектор слушателей вверх в трехмерном пространстве.Вектор вверх вместе с вектором директора укажите ориентация слушателей.

    Результатов:

    Список из 3 числа, представляющие вектор слушателей вверх.

    Слушатель Скорость

    Наборы скорость звука. Скорость используется для расчета эффектов Доплера — позиция слушателей не меняется со временем.

    Параметры:

    вектор

    Список из 3 чисел, представляющих скорость слушателя.

    вектор alxGetListenerVelocity

    Получает скорость звука.Скорость используется для расчета эффектов Доплера — позиция слушателей не меняется со временем.

    Результатов:

    Список из 3 числа, представляющие скорость слушателя.

    Потому что все звуковые данные хранятся в режиссерском составе участников, вы должны сначала загрузить звуковые данные в OpenAL Xtra, прежде чем в нее можно будет играть.Звуки загружены передавая явную ссылку на элемент приведения в alxCreateSound (), который возвращает идентификатор звука, который передается другому OpenAL функции.

    Аудио Участники группы должны быть в моно формате WAV.

    Все созданные звуки высвобождаются при вызове alxShutdown ().

    sound_id alxCreateSound ( литой элемент )

    Нагрузки звуковые данные в литом элементе, идентифицированные как cast_member .Этот звонок должен быть сделан для каждого актера, содержащего звуковые данные.

    Параметры:

    литой элемент

    An явная ссылка на члена звукового актерского состава.

    Результатов:

    Ручка для создал звук.

    Релизы звук, созданный alxCreateSound. Все звуки также выпускаются с помощью alxShutdown, поэтому, если вы позвоните alxShutdown, когда ваш фильм заканчивается, и вам не нужно освобождать память во время выполнения фильма, вы не нужно вызывать alxReleaseSound для каждого создал звук.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    запускается воспроизведение звукового буфера.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    остановок воспроизведение звукового буфера. Позиция сбрасывается на начало аудио.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Паузы воспроизведение звукового буфера.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Сброс позиция воспроизведения до начала звукового буфера.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    alxSetSoundLoop sound_id , will_loop

    Наборы будет ли звук зацикливаться при воспроизведении страдающего завершено. Если will_loop оценивается как истина (не 0), звук будет зацикливаться, иначе он не будет зацикливаться.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    will_loop

    Boolean интерпретируемое значение, указывающее, должен ли звук зацикливаться.

    will_loop alxGetSoundLoop ( sound_id )

    Получает будет ли звук зацикливаться после завершения воспроизведения буфера. Если возвращаемое значение истинно (1), звук будет зацикливаться, если false (0), звук не будет зацикливаться.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Истинно (1), если звук установлен в цикл, в противном случае — false (0).

    alxSetSoundOffset sound_id , секунды

    Наборы текущая позиция воспроизведения звукового буфера.

    Это функция требует OpenAL 1.1 или расширение OpenAL 1.0.

    Параметры:

    sound_id

    Ручка к звуку, созданному предыдущим вызовом alxCreateSound.

    секунды

    Смещение в звуковой буфер для новой позиции воспроизведения.

    секунды alxGetSoundOffset ( sound_id )

    Получает текущая позиция воспроизведения звукового буфера.

    Это функция требует OpenAL 1.1 или расширение OpenAL 1.0.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Смещение в звуковой буфер текущей позиции воспроизведения.

    Звук Источник Том

    alxSetSoundGain sound_id , усиление

    Наборы усиление (громкость) источника звука. Коэффициент усиления 0 эффективно отключает звук. При усилении 1 звук воспроизводится на полной записанной громкости.Значение от 0 до 1 масштабирует громкость в линейная мода. Некоторые реализации OpenAL допускают значения больше единицы, эффективно усиливая исходный звук.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    усиление

    The множитель усиления звука [0..1].

    усиление alxGetSoundGain ( идентификатор звука )

    Получает усиление (громкость) источника звука.Коэффициент усиления 0 эффективно отключает звук. При усилении 1 звук воспроизводится на полной записанной громкости. Значение от 0 до 1 масштабирует громкость в линейная мода. Некоторые реализации OpenAL допускают значения больше единицы, эффективно усиливая исходный звук.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Прирост множитель звука [0..1].

    Звук Исходная позиция

    alxSetSoundPosition sound_id , вектор

    Наборы расположение источников звука в трехмерном пространстве.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    вектор

    Список из 3 чисел, представляющих пространственное положение источников звука.

    вектор alxGetSoundPosition ( sound_id )

    Получает расположение источников звука в трехмерном пространстве.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Список из 3 числа, обозначающие пространственное положение источников звука.

    Звук Относительное положение источника

    alxSetSoundSourceRelative sound_id , is_relative

    Наборы следует ли устанавливать положение источников звука относительно слушателя.Если возвращаемое значение истинно (1), звук источник будет перемещаться вместе со слушателем, если false (0), позиция источника звука будет абсолютный.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    относительно

    Верно (1) если расположение источников звука относительно слушателей.

    is_relative alxGetSoundSourceRelative ( sound_id )

    Получает следует ли устанавливать положение источников звука относительно слушателя. Если возвращаемое значение истинно (1), звук источник будет перемещаться вместе со слушателем, если false (0), позиция источника звука будет абсолютный.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Истинно (1), если расположение источников звука относительно слушателей.

    Звук Скорость источника

    alxSetSoundVelocity sound_id , вектор

    Наборы скорость звука. Скорость используется для расчета эффектов Доплера — позиция звука не меняется со временем.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    вектор

    Список из 3 чисел, представляющих вектор скорости источников звука.

    вектор alxGetSoundVelocity ( sound_id )

    Получает скорость звука.Скорость используется для расчета эффектов Доплера — позиция звука не меняется со временем.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Список из 3 числа, представляющие вектор скорости источников звука.

    Границы на громкости источника звука

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

    alxSetSoundMinGain sound_id , усиление

    Наборы минимальное усиление (громкость) источника звука.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    усиление

    The минимальное усиление звука.

    усиление alxGetSoundMinGain ( sound_id )

    Получает минимальное усиление (громкость) источника звука.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Минимальный прирост для звука.

    alxSetSoundMaxGain sound_id , усиление

    Наборы максимальное усиление (громкость) источника звука.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    усиление

    The максимальное усиление звука.

    усиление alxGetSoundMaxGain ( sound_id )

    Получает максимальное усиление (громкость) источника звука.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Максимальный прирост для звук.

    Звук Направление источника и конус

    Каждый источник может быть направленным, в зависимости от настроек, установленных alxSetSoundInnerConeAngle и alxSetSoundOuterConeAngle.Есть определены три зоны: внутренний конус, внешняя зона и переходная зона между ними. Зависимое от угла усиление для направленного источника является постоянным. внутри внутреннего конуса, а в переходной зоне переходит на значение указан за пределами внешнего конуса. Применяется уровень усиления источника, установленный alxSetSoundGain для внутреннего конуса, с выбираемым приложением внешним коэффициентом усиления, который может устанавливается alxSetSoundOuterConeGain. В переходной зоне OpenAL-зависимая от реализации интерполяция между источниками прибыль и источник коэффициент усиления, умноженный на коэффициент усиления внешнего конуса.

    alxSetSoundDirection sound_id , вектор

    Наборы направление звука в трехмерном пространстве.

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

    Звуковое излучение считается симметричным относительно вектора направления (цилиндрическая симметрия). Источники не ориентированы в полной мере 3 степени свобода, эффективно нужны только два угла.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    вектор

    Список из 3 чисел, представляющих вектор направления источников звука.

    вектор alxGetSoundDirection ( sound_id )

    Получает направление звука в трехмерном пространстве.

    Ноль означает что источник ненаправленный.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Список из 3 числа, представляющие вектор направления источников звука.

    alxSetSoundInnerConeAngle sound_id , угол

    Наборы угол внутреннего конуса звука. Значение по умолчанию 360 градусов означает, что звук является всенаправленным.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    угол

    The угол для конуса.

    ангел alxGetSoundInnerConeAngle ( sound_id )

    Получает угол внутреннего конуса звука.Значение по умолчанию 360 градусов означает, что звук является всенаправленным.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Уголок для конус.

    alxSetSoundOuterConeAngle sound_id , угол

    Наборы угол внешнего конуса звука. По умолчанию 360 градусов означает, что звук всенаправленный. направленный. Если угол внутреннего конуса равен также 360, тогда зона для зависящего от угла затухания равна нулю.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    угол

    The угол для конуса.

    угол alxGetSoundOuterConeAngle ( sound_id )

    Получает угол внешнего конуса звука. По умолчанию 360 градусов означает, что звук всенаправленный. направленный. Если угол внутреннего конуса равен также 360, тогда зона для зависящего от угла затухания равна нулю.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Уголок для конус.

    alxSetSoundOuterConeGain sound_id , коэффициент усиления

    Наборы коэффициент усиления внешнего конуса звука. Это коэффициент, на который умножается усиление источника звука, установленное alxSetSoundGain. для определения эффективного усиления за пределами конуса, определяемого внешним углом.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    коэффициент усиления

    The коэффициент усиления применяется за пределами внешнего конуса.

    коэффициент усиления alxGetSoundOuterConeGain ( sound_id )

    Получает коэффициент усиления внешнего конуса звука. Это коэффициент, на который умножается усиление источника звука, установленное alxSetSoundGain. для определения эффективного усиления за пределами конуса, определяемого внешним углом.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Коэффициент усиления применяется вне внешнего конуса.

    Звук Свойства исходной модели расстояния

    Эти атрибуты влияют на звук по-разному в зависимости от используемой модели расстояния. Модель расстояния устанавливается с помощью alxSetDistanceModel.

    alxSetSoundReferenceDistance sound_id , расстояние

    Наборы эталонное расстояние звука.Эталонное расстояние используется для затухания на расстоянии на основе обратного расстояние со скатыванием. В зависимости от в модели расстояния он также будет действовать как пороговое значение расстояния, ниже которого коэффициент усиления зажимается.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    расстояние

    The эталонное расстояние.

    расстояние alxGetSoundReferenceDistance ( sound_id )

    Получает эталонное расстояние звука.Эталонное расстояние используется для затухания на расстоянии на основе обратного расстояние со скатыванием. В зависимости от в модели расстояния он также будет действовать как пороговое значение расстояния, ниже которого коэффициент усиления зажимается.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Ссылка расстояние.

    alxSetSoundRolloffFactor sound_id , коэффициент

    Наборы коэффициент спада звука.Коэффициент спада используется для затухания на расстоянии на основе обратного расстояние со скатыванием. На расстояния меньше максимального расстояния (задается с помощью alxSetSoundMaxDistance), и в зависимости от модели расстояния, расстояния больше эталонного расстояния (устанавливается с помощью alxSetSoundReferenceDistance) это будет масштабируйте затухание на расстоянии в соответствующем диапазоне.

    Спад коэффициент может быть установлен на 0 для звуков, которые не должны подвергаться затуханию на расстоянии.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    коэффициент

    Рулон вне фактора.

    фактор alxGetSoundRolloffFactor ( sound_id )

    Получает коэффициент спада звука.Коэффициент спада используется для затухания на расстоянии на основе обратного расстояние со скатыванием. На расстояния меньше максимального расстояния (задается с помощью alxSetSoundMaxDistance), и в зависимости от модели расстояния, расстояния больше эталонного расстояния (устанавливается с помощью alxSetSoundReferenceDistance) это будет масштабируйте затухание на расстоянии в соответствующем диапазоне.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Откат фактор.

    alxSetSoundMaxDistance sound_id , расстояние

    Наборы максимальное расстояние звука. Максимальное расстояние используется для затухания расстояния на основе обратного расстояние со скатыванием, если используется модель обратного фиксированного расстояния. Расстояния, превышающие максимальное расстояние, будут зажат на максимальное расстояние.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    расстояние

    Максимум расстояние.

    расстояние alxGetSoundMaxDistance ( sound_id )

    Получает максимальное расстояние звука. Максимальное расстояние используется для затухания расстояния на основе обратного расстояние со скатыванием, если используется модель обратного фиксированного расстояния.Расстояния, превышающие максимальное расстояние, будут зажат на максимальное расстояние.

    Пожалуйста, прочтите раздел о Дистанционные модели в документации OpenAL для Детали.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Макс. расстояние.

    Звук Исходный текст

    alxSetSoundPitch sound_id , freqMultiplier

    Наборы сдвиг высоты звука, применяемый к звуку.А установка 1.0 не повлияла. Каждый уменьшение на 50 процентов соответствует уменьшению высоты тона на одну октаву. Каждое удвоение шага равняется единице. октавное увеличение высоты тона.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    freqMultipliert

    The Pitch множитель.

    freqMultilier alxGetSoundPitch ( идентификатор звука )

    Получает сдвиг высоты звука, применяемый к звуку.А установка 1.0 не повлияла. Каждый уменьшение на 50 процентов соответствует уменьшению высоты тона на одну октаву. Каждое удвоение шага равняется единице. октавное увеличение высоты тона.

    Параметры:

    sound_id

    The дескриптор звука, созданного предыдущим вызовом alxCreateSound.

    Результатов:

    Множитель высоты тона.

    Все Функции OpenAL Xtra вернуть символ #alxError в событии ошибки. Строка, описывающая последний ошибку можно получить, вызвав alxGetLastError ().

    Получает строка, описывающая последнее состояние ошибки.

    Результатов:

    Строка описание последнего состояния ошибки.

    alxCreateSound

    Модель

    alxGetDistanceModel

    alxGetLastError

    alxGetListenerDirection

    alxGetListenerGain

    alxGetListenerPosition

    alxGetListenerUp

    alxGetListenerVelocity

    alxGetOpenALMajorVersion

    alxGetOpenALMinorVersion

    alxGetSoundDirection

    alxGetSoundPitch

    alxGetSoundGain

    alxGetSoundInnerConeAngle

    alxGetSoundLoop

    alxGetSoundMaxDistance

    alxGetSoundMaxGain

    alxGetSoundMinGain

    alxGetSoundOffset

    alxGetSoundOuterConeAngle

    alxGetSoundOuterConeGain

    alxGetSoundPosition

    alxGetSoundReferenceDistance

    alxGetSoundRolloffFactor

    alxGetSoundSourceRelative

    alxGetSoundVelocity

    alxHasExtensionOffset

    alxPauseSound

    alxPlaySound

    alxReleaseSound

    alxRewindSound

    Модель

    alxSetDistanceModel

    alxSetListenerDirection

    alxSetListenerGain

    alxSetListenerPosition

    alxSetListenerUp

    alxSetListenerVelocity

    alxSetSoundDirection

    alxSetSoundPitch

    alxSetSoundGain

    alxSetSoundInnerConeAngle

    alxSetSoundLoop

    alxSetSoundMaxDistance

    alxSetSoundMaxGain

    alxSetSoundMinGain

    alxSetSoundOffset

    alxSetSoundOuterConeAngle

    alxSetSoundOuterConeGain

    alxSetSoundPosition

    alxSetSoundReferenceDistance

    alxSetSoundRolloffFactor

    alxSetSoundSourceRelative

    alxSetSoundVelocity

    alxStopSound

    OpenAL Xtra выходит из Грузии Технический колледж вычислительной техники Environments Lab, где он является компонентом DART , Designers Augmented Reality Toolkit .DART — впечатляющее свидетельство мощи и гибкость Macromedia Director убедитесь сами!

    Текущий версия OpenAL Xtra была написано Джереми Джонсоном из Джорджии Технологии интерактивных медиа Techs Center, основанный на оригинальном кодексе Расса Морриса.

    Части этого документация основана на OpenAL 1.1 спецификацию, доступную на http://www.openal.org/.

    OpenAL является товарным знаком Creative Labs, Inc.

    Игровое аудио — какой API использовать? А что случилось с OpenAL? : gamedev

    Очевидно openal.org некоторое время был «официальным» сайтом (согласно википедии). За исключением того, что срок действия домена истек несколько недель назад, и он не был продлен. Если у Creative все еще есть материалы OpenAL, Google не может их найти — и все ссылки из статьи в Википедии кажутся мертвыми. Есть еще несколько реализаций, но отсутствие ответственного лица, похоже, скоро застопорится.

    Есть ли альтернативный межплатформенный аудио API с хотя бы набором функций OpenAL?

    В целом SDL мне нравится, но аудиосистема всегда казалась мне достаточно простой. Что, вероятно, устраивает многих. Я нашел несколько других библиотек стилей «отправить байты в динамик», но они, похоже, не имеют даже базового эффекта «реверберации», ожидая, что приложение предоставит его.

    Вернемся ли мы к старому подходу к использованию API платформы на каждой отдельной платформе? Или я просто плохо разбираюсь в гугле?


    Изменить:

    Ответы на данный момент (в произвольном порядке):

    FMOD Бесплатно для некоммерческого использования, разумные цены
    Wwise Некоммерческое использование разрешено, но более ограниченно
    OpenAL-Soft Ура, открытый код! Все еще жив, даже если открыт.org ушел
    GSound Коммерческое лицензирование осуществляется на индивидуальной основе. Что, как я понимаю, означает «если вам нужно спросить, вы не можете себе этого позволить»
    irrKlang Бесплатно для некоммерческого использования, разумные цены

    На данный момент FMOD и WWise, кажется, имеют самую широкую переносимость и лучший набор функций. Не с открытым исходным кодом, поэтому явно не для всех. FMOD немного дешевле и менее раздражает «бесплатно для некоммерческого использования». Не знаю, что лучше.

    Кажется, все работает с Linux / MacOS / Windows, FMOD и Wwise также работают с Android, iOS и всеми основными консолями.

    Похоже, никто не знает, почему исчез openal.org. Но, видимо, это не самый уважаемый API. Предположительно, некоторые из проприетарных опций могут быть лучше, но кто знает?

    Итак, OpenAL-Soft с открытым исходным кодом или крайне низким бюджетом, вероятно, разумен — если не использовать подход «сделай сам». В остальном FMOD или Wwise кажутся мне лучшим выбором, по крайней мере, для меня.

    Каковы лучшие альтернативы OpenAL в 2021 году?

    Каковы лучшие альтернативы OpenAL?

    Если у вас есть вопрос о лучших альтернативах OpenAL, то, вероятно, вы находитесь на правильной странице, потому что здесь мы обсуждали лучшие альтернативы OpenAL.

    Итак, вопрос в альтернативах OpenAL, но перед этим нужно знать некоторые основные детали о платной и бесплатной игре.

    Игра может быть дорогой, но бесплатные программы десятилетиями служили основой для настольных ПК, а сегодняшние предложения весьма эффективны. Разработчики игр могут принять модель, основанную на рекламе, пожертвованиях на поддержание работы или бесплатную / условно-бесплатную модель, которая взимает плату за дополнительные функции. Итак, прежде чем мы перейдем к этому списку, давайте сначала кратко рассмотрим описание обзора OpenAL.

    Мы также рассмотрим особенности, цену, преимущества, плюсы и минусы OpenAL. Если вам нравится наш список альтернатив OpenAL в 2021 году и соревновательная игра, пожалуйста, оцените нас ниже.

    Обзор и описание OpenAL

    OpenAL — это кроссплатформенный API для 3D-аудио, подходящий для использования с игровыми приложениями и многими другими типами аудио-приложений.

    Это реализация Creative Labs в комплекте с драйверами Creative.

    OpenAL — это кроссплатформенный API для 3D-аудио, подходящий для использования с игровыми приложениями и многими другими…

    Разработано Creative Laboratories

    Ссылка на официальный сайт OpenAL

    Официальный сайт

    Лучший список альтернатив OpenAL


    OpenAL Soft


    OpenAL Soft — это кроссплатформенная программная реализация OpenAL 3D Audio API под лицензией LGPL.Он отличается от доступной версии Windows с открытым исходным кодом…

    Хотите увидеть больше альтернатив для OpenAL?


    OpenAL: плюсы и минусы

    Вы также можете добавить плюсы и минусы OpenAL в разделе обзора.

    ЗА:

    • Игра OpenAL безопасна.
    • Добавьте дополнительные плюсы/преимущества OpenAL в раздел обзора.

    МИНУСЫ:

    • Минусов пока не обнаружено.
    • Добавьте больше минусов / недостатков OpenAL в разделе обзора.

    Преимущества


    Часто задаваемые вопросы

    Почему вам нужно перейти с OpenAL


    Честно говоря, иногда всем нам нужны альтернативы или замена игр или предметов. Чтобы мы знали, что лучше. В этой статье мы уже обсуждаем 10 лучших альтернатив OpenAL, чтобы их было легко сравнить.


    Сколько стоит OpenAL?


    Цена OpenAL является условно бесплатной или бесплатной. Пожалуйста, проверьте на официальном сайте, который мы упоминали выше в этой статье.


    OpenAL для кроссплатформенной разработки

    OpenAL для кроссплатформенной разработки

    OpenAL — один из тех проектов, которые сбивают с толку, чтобы получить нужную информацию. Официальный OpenAL уже есть? Как creativelabs контролирует проект?

    Я ищу кроссплатформенную аудиотеку для поддержки IOS (iPhone, iPad), Android, Windows и Linux.

    Заполняет ли OpenAL эту потребность? Что такое лицензия OpenAL? Хотя мы намерены выпустить часть нашего исходного кода, мы не заинтересованы в том, чтобы нас заставляли делать это из-за конфликта лицензий.

    У меня достаточно доказательств, чтобы предположить, что он работает с релевантными ссылками для Android (Android OpenAL?), Плюс поиск в Google дает положительные результаты.

    Я понимаю, что Android официально поддерживает OpenSL. Однако Android, похоже, является единственной платформой, которая в настоящее время поддерживает OpenSL, поэтому это не вариант.

    Ответ №1:

    Я использовал OpenAL-soft и OpenAL для окон. У них один и тот же интерфейс, так что кодовая база по-прежнему одна.

    Android был прост.https://github.com/AerialX/openal-soft-android

    IOS было еще проще. Вы можете добавить OpenAL.Framework в свой проект XCode. Расположение заголовка просто другое (OpenAL / al.h против AL / al.h).

    Linux — это очень просто. Установите пакет openal dev для вашего дистрибутива.

    Windows была самой большой проблемой для OpenAL. В конце просто установите исходный OpenAL SDK из файла creative. Однако OpenAL действительно кажется очень нестабильным в Windows. Время от времени я слышу треск и треск, хотя на любой другой платформе это идеально.Я мог бы переключиться на OpenAL-soft для дистрибутива Windows перед выпуском.

    Ответ № 2:

    Начиная с версии 1.1 Open AL больше не является свободным программным обеспечением. Предыдущие версии Open AL (1.0 и предыдущие, я думаю) имели лицензию BSD, теперь авторские права на нее принадлежат Creative. Несмотря на префикс «открытый», он больше не бесплатный. Вот первый раздел лицензии на 1.1, взятый из «установщика SDK» по этой ссылке:

      ЛИЦЕНЗИЯ
        1. Предоставление лицензии
            Программное обеспечение предоставляется вам по лицензии, а не продается для использования только на условиях
         условия настоящего Соглашения.Настоящее Лицензионное соглашение является вашим доказательством
        лицензия на осуществление прав, предоставленных в настоящем документе, и должна быть сохранена
        ты. В отношениях между вами и Creative (и, в соответствующих случаях,
        лицензиары), Creative сохраняет за собой все титулы и права собственности на Программное обеспечение.
        и оставляет за собой все права, не предоставленные вам явным образом. Лицензия под
        этот Раздел 1 обусловлен соблюдением вами всех ваших
        обязательства по настоящему Соглашению. Творческие гранты вам право на
        использовать все или часть этого Программного обеспечения при условии, что:
    
            (а) Программное обеспечение не распространяется с целью получения прибыли;
            (б) Программное обеспечение НЕ может быть изменено;
            (c) в Программном обеспечении сохраняются все уведомления об авторских правах;
            (d) лицензиат/конечный пользователь соглашается соблюдать условия настоящего
        соглашение;
            (e) BBS / FTP / веб-сайт Creative - единственные онлайн-сайты, на которых
        Лицензиат может загружать электронные файлы, содержащие Программное обеспечение; и
            (f) Лицензиат должен использовать Программное обеспечение исключительно в целях
        разработка приложений Лицензиата, совместимых с продуктами Creative,
        если иное не согласовано дополнительным письменным соглашением от Creative. 

    Итак, если вы хотите использовать бесплатную версию с открытым исходным кодом, вы можете использовать ее только для предыдущих версий Open AL. Что я могу найти только в исходном коде движка Quake 3.

    Возможно, вы захотите изучить другие альтернативы.

    OpenAL

    OpenAL ( Open A udio L ibrary) — это кроссплатформенный аудио API. Он предназначен для эффективного рендеринга многоканального трехмерного позиционного звука. Его стиль и соглашения API намеренно напоминают OpenGL.

    История

    OpenAL был первоначально разработан в 2000 году компанией Loki Software, чтобы помочь им в их бизнесе по портированию игр для Windows на Linux. После кончины Loki проект некоторое время поддерживался сообществом свободного программного обеспечения / открытого исходного кода и реализовывался на звуковых картах и ​​материнских платах NVIDIA nForce. Сейчас он размещен (и в основном разработан) компанией Creative Technology при постоянной поддержке со стороны Apple, Blue Ripple Sound и бесплатного программного обеспечения, энтузиастов открытого исходного кода. [1]

    Хотя в уставе OpenAL сказано, что будет создан «Совет по анализу архитектуры» (ARB), смоделированный на основе OpenGL ARB, такая организация никогда не создавалась, и спецификация OpenAL обычно обрабатывается и обсуждается по электронной почте в ее общедоступном списке рассылки.

    Начиная с версии 1.1, реализация Creative стала проприетарной, а последние выпуски с бесплатными лицензиями по-прежнему доступны через подрывную деятельность проекта. Однако OpenAL Soft — широко распространенная альтернатива с открытым исходным кодом.

    Структура и функциональность API

    Общая функциональность OpenAL закодирована в исходных объектах , аудиобуферах и одном слушателе . Исходный объект содержит указатель на буфер, скорость, положение и направление звука, а также интенсивность звука.Объект слушателя содержит скорость, положение и направление слушателя, а также общее усиление, применяемое ко всему звуку. Буферы содержат аудиоданные в формате PCM, 8- или 16-битном, в монофоническом или стереофоническом формате. Механизм рендеринга выполняет все необходимые вычисления, включая затухание на расстоянии, эффект Доплера и т. Д.

    Конечный результат всего этого для конечного пользователя состоит в том, что в правильно написанном приложении OpenAL звуки ведут себя вполне естественно, когда пользователь перемещается в трехмерном пространстве виртуального мира.С точки зрения программиста, требуется совсем немного дополнительной работы, чтобы это произошло в существующем графическом 3D-приложении на основе OpenGL.

    В отличие от спецификации OpenGL, спецификация OpenAL включает два подраздела API: ядро, состоящее из фактических вызовов функций OpenAL, и API ALC (контекст аудиобиблиотеки), который используется для управления контекстами рендеринга, использованием ресурсов и блокировкой в ​​перекрестном режиме. платформенная манера. Также существует библиотека ALUT, которая обеспечивает более высокий уровень «удобных» функций — в точности аналогично OpenGL GLUT.

    Для обеспечения дополнительных функций в будущем OpenAL использует механизм расширения. Таким образом, отдельные поставщики могут включать свои собственные расширения в дистрибутивы OpenAL, обычно с целью предоставления дополнительных функций на своем проприетарном оборудовании. Расширения могут быть переведены в статус ARB (Architecture Review Board), что указывает на стандартное расширение, которое будет поддерживаться для обратной совместимости. Расширения ARB могут быть добавлены в основной API через некоторое время.

    Для расширенной цифровой обработки сигналов и звуковых эффектов с аппаратным ускорением можно использовать EFX (Effects Extension) или расширения звука окружения (EAX).

    Недостатки

    Модель одного слушателя в OpenAL адаптирована для человека-пользователя и не подходит для искусственного интеллекта или моделирования роботов. В этом случае объекты, отличные от пользователя, должны слышать звуки, и требуется модель с несколькими слушателями. OpenAL также не учитывает задержки распространения звука (Скорость звука используется только для эффекта Доплера).Расстояние до источника звука влияет только на амплитудный эффект (затухание), а не на задержку. Следовательно, OpenAL нельзя использовать для расчета разницы во времени прибытия.

    Переносимость

    API доступен на следующих платформах:

    Операционные системы [2] :

    игровых приставок:

    портативных игровых консолей:

    Приложения

    Игры

    • Вооруженное нападение, Bohemia Interactive Studio
    • Regnum Online от NGD Studios
    • Некоторые сторонние игры на движке id Tech 3, такие как Jedi Knight 2 и Jedi Knight 3 ; Кроме того, игры на основе ioquake3 могут опционально использовать OpenAL, если он доступен, например Tremulous и OpenArena
    • игры на движке id Tech 4, такие как Doom 3 , Enemy Territory: Quake Wars , Wolfenstein , Quake 4 , Prey
    • Игры на основе Unreal Engine 2 и Unreal Engine 3, такие как Unreal II: The Awakening , Unreal Tournament 2003 , Unreal Tournament 2004 , Unreal Tournament 3 , Postal² , Bioshock и America’s Армия
    • Battlefield 2 , Battlefield 2142 , Freedom Fighters , Hitman , Psychonauts , Colin McRae: DiRT , Penumbra: Black Dague , Race Driver: GRID62 McRae, Race Driver: GRID62 2 , Wurm Online , Кейн и Линч: Мертвецы , Кейн и Линч 2: Собачьи дни , S.T.A.L.K.E.R. и Osmos .
    • Многие бесплатные программы с открытым исходным кодом также используют OpenAL. Некоторые примеры включают FlightGear , War§ow и Warzone 2100
    • .

    Другие применения

    • Blender — инструмент для трехмерного моделирования и рендеринга, использующий OpenAL в качестве встроенного игрового движка.
    • 3DMark06 — Инструмент для тестирования производительности геймеров.
    • Dolphin (эмулятор) — Gamecube и эмулятор Wii

    Более полный список можно найти на сайте OpenAL.

    Реализации

    OpenAL SI

    Образец реализации OpenAL является исходной реализацией от Loki и в настоящее время не поддерживается.

    OpenAL Soft

    OpenAL Soft — это кроссплатформенная программная реализация под лицензией LGPL. Библиотека задумана как совместимое обновление / замена устаревшего образца реализации OpenAL, а также как бесплатная альтернатива уже проприетарному OpenAL. OpenAL Soft поддерживает моно, стерео, 4 канала, 5 каналов.1, 6.1 и 7.1 выход.

    Драйвер Rapture3D OpenAL

    Драйвер Rapture3D OpenAL — это платная коммерческая реализация только для Windows, созданная Blue Ripple Sound. Библиотека предназначена как высокопроизводительная замена для других реализаций. Особенности: [4]

    • 32-битный аудиоканал с плавающей запятой.
    • Высококачественное преобразование частоты дискретизации (используется для различных целей, включая доплеровский сдвиг).
    • Высококачественные эффекты и фильтры.
    • Направленные источники звука.
    • Поддержка многоканальных источников звука (включая ресурсы, закодированные с использованием Ambisonics).
    • Единственное ограничение на количество источников или эффектов — мощность процессора, возможность рендеринга сотен источников звука и множества эффектов на относительно старом оборудовании.
    • Шина Ambisonics более высокого порядка (HOA) работает на частоте до четвертого порядка.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *