Attenuation¶
class Attenuation : public Asset<AmAttenuationID>
Amplitude Attenuation Asset.
An Attenuation materializes how the sound volume and other distance-based parameters are calculated following the distance of the sound source to the listener.
The Attenuation is a shared object between sound sources. They are used only when the sound need to adjust its volume due to the distance of from the listener, and many other parameters.
Functions¶
| Name | Description |
|---|---|
| GetGain | Returns the gain of the sound from the given distance to the listener. |
| GetGain | Returns the gain of the sound from the given distance to the listener. |
| GetShape | Returns the shape object of this Attenuation. |
| GetGainCurve | Returns the gain curve attached to this Attenuation. |
| GetMaxDistance | Returns the maximum distance for a fully attenuated sound |
| IsAirAbsorptionEnabled | Returns whether air absorption is enabled for this Attenuation. |
| EvaluateAirAbsorption | Evaluates the air absorption effect for a specific frequency band. |
Function Details¶
EvaluateAirAbsorption¶
[[nodiscard]] virtual AmReal32 EvaluateAirAbsorption( const AmVec3& soundLocation, const AmVec3& listenerLocation, AmUInt32 band) const = 0
Evaluates the air absorption effect for a specific frequency band.
This method calculates the attenuation factor due to air absorption at a given frequency band for a sound source located at a specific position and a listener located at another specific position.
- Parameter
soundLocation - The location of the sound source.
- Parameter
listenerLocation - The location of the listener which is hearing the sound.
- Parameter
band - The frequency band for which the air absorption effect is evaluated.
- Return
- The air absorption attenuation factor in decibels (dB) for the given frequency band.
GetGain¶
[[nodiscard]] virtual AmReal32 GetGain(const AmVec3& soundLocation, const Listener& listener) const = 0
Returns the gain of the sound from the given distance to the listener.
- Parameter
soundLocation - The location of the sound source.
- Parameter
listener - The listener which is hearing the sound.
- Return
- The computed gain value fom the curve.
[[nodiscard]] virtual AmReal32 GetGain(const Entity& entity, const Listener& listener) const = 0
Returns the gain of the sound from the given distance to the listener.
- Parameter
entity - The entity which emits the sound.
- Parameter
listener - The listener which is hearing the sound.
- Return
- The computed gain value fom the curve.
GetGainCurve¶
[[nodiscard]] virtual const Curve& GetGainCurve() const = 0
Returns the gain curve attached to this Attenuation.
- Return
- The attenuation's gain curve.
GetMaxDistance¶
[[nodiscard]] virtual AmReal64 GetMaxDistance() const = 0
Returns the maximum distance for a fully attenuated sound
- Return
- The maximum sound attenuation distance.
GetShape¶
* GetShape() const
Returns the shape object of this Attenuation.
- Return
- The Attenuation shape.
IsAirAbsorptionEnabled¶
[[nodiscard]] virtual bool IsAirAbsorptionEnabled() const = 0
Returns whether air absorption is enabled for this Attenuation.
- Return
trueif air absorption is enabled,falseotherwise.