From: paramat Date: Tue, 24 Jan 2017 10:16:56 +0000 (+0000) Subject: OpenAL sound: Use a simpler distance model X-Git-Tag: 0.4.16~450 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a5ee7139a591eeffce5171e0df7a76f3c7a1d57e;p=oweals%2Fminetest.git 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. --- 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 "<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);