summaryrefslogtreecommitdiff
path: root/src/sound_openal.cpp
diff options
context:
space:
mode:
authorparamat <mat.gregory@virginmedia.com>2017-01-24 10:16:56 +0000
committerparamat <mat.gregory@virginmedia.com>2017-02-09 00:10:35 +0000
commita5ee7139a591eeffce5171e0df7a76f3c7a1d57e (patch)
tree7af5e17003aa379efe45582cdc63c3c6e1e9e826 /src/sound_openal.cpp
parente2ad76f91087215309012300eb9f1ebdd7fa40ee (diff)
downloadminetest-a5ee7139a591eeffce5171e0df7a76f3c7a1d57e.tar.gz
minetest-a5ee7139a591eeffce5171e0df7a76f3c7a1d57e.tar.bz2
minetest-a5ee7139a591eeffce5171e0df7a76f3c7a1d57e.zip
OpenAL sound: Use a simpler distance model
In createPlayingSoundAt(), AL_ROLLOFF_FACTOR is not set, so it has the default value of 1.0, this makes the equation of the currently used AL_EXPONENT_DISTANCE distance model identical to the equation of the simpler AL_INVERSE_DISTANCE distance model. Using AL_INVERSE_DISTANCE means an exponent is not processed, exponents are quite intensive to process. There is no change in sound attenuation behaviour. The commented-out AL_ROLLOFF_FACTOR value is removed as it would now have a different effect if used.
Diffstat (limited to 'src/sound_openal.cpp')
-rw-r--r--src/sound_openal.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/sound_openal.cpp b/src/sound_openal.cpp
index 317667f52..b9af9e3a9 100644
--- a/src/sound_openal.cpp
+++ b/src/sound_openal.cpp
@@ -317,7 +317,7 @@ public:
return;
}
- alDistanceModel(AL_EXPONENT_DISTANCE);
+ alDistanceModel(AL_INVERSE_DISTANCE);
infostream<<"Audio: Initialized: OpenAL "<<alGetString(AL_VERSION)
<<", using "<<alcGetString(m_device, ALC_DEVICE_SPECIFIER)
@@ -409,7 +409,6 @@ public:
alSourcei(sound->source_id, AL_SOURCE_RELATIVE, false);
alSource3f(sound->source_id, AL_POSITION, pos.X, pos.Y, pos.Z);
alSource3f(sound->source_id, AL_VELOCITY, 0, 0, 0);
- //alSourcef(sound->source_id, AL_ROLLOFF_FACTOR, 0.7);
alSourcef(sound->source_id, AL_REFERENCE_DISTANCE, 30.0);
alSourcei(sound->source_id, AL_LOOPING, loop ? AL_TRUE : AL_FALSE);
volume = MYMAX(0.0, volume);