#[repr(C)]pub struct IPLAirAbsorptionModel {
pub type_: IPLAirAbsorptionModelType,
pub coefficients: [IPLfloat32; 3],
pub callback: IPLAirAbsorptionCallback,
pub userData: *mut c_void,
pub dirty: IPLbool,
}Expand description
An air absorption model that can be used for modeling frequency-dependent attenuation of sound over distance.
Fields§
§type_: IPLAirAbsorptionModelTypeThe type of air absorption model to use.
coefficients: [IPLfloat32; 3]The exponential falloff coefficients to use when \c type is \c IPL_AIRABSORPTIONTYPE_EXPONENTIAL.
callback: IPLAirAbsorptionCallbackWhen \c type is \c IPL_AIRABSORPTIONTYPE_CALLBACK, this function will be called whenever Steam Audio needs to evaluate air absorption.
userData: *mut c_voidPointer to arbitrary data that will be provided to the \c callback function whenever it is called. May be \c NULL.
dirty: IPLboolSet to \c IPL_TRUE to indicate that the air absorption model defined by the \c callback function has changed since the last time simulation was run. For example, the callback may be evaluating a set of curves defined in a GUI. If the user is editing the curves in real-time, set this to \c IPL_TRUE whenever the curves change, so Steam Audio can update simulation results to match.
Trait Implementations§
Source§impl Clone for IPLAirAbsorptionModel
impl Clone for IPLAirAbsorptionModel
Source§fn clone(&self) -> IPLAirAbsorptionModel
fn clone(&self) -> IPLAirAbsorptionModel
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more