OpenAL: как использовать линейное затухание? - PullRequest
7 голосов
/ 25 апреля 2011

Я хочу контролировать то, как громкость источника звука уменьшается на расстоянии, как я могу это сделать?

Редактировать: Я также хотел бы знать, как соответствующим образом масштабировать звуковую систему координат: я не хочу слышать какой-то звук ОЧЕНЬ далеко от источника: теперь мне придется изменить код рендеринга на масштабируйте координаты, чтобы все работало так, как я хочу.

Edit2: Хотя, одним из решений может быть умножение моих координат перед их отправкой ... но есть ли более элегантные способы?

1 Ответ

4 голосов
/ 25 апреля 2011

Это будет alDistanceModel(AL_LINEAR_DISTANCE) или лучше alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED), что полностью отключит удаленные источники.

Прочитайте главы 3.4.3 и 3.4.4 здесь .Вы также должны установить параметры в формулах, перечисленных там (AL_MAX_DISTANCE и AL_REFERENCE_DISTANCE) для каждого источника (alSourcef).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...