ReflectionsSimulationParameters

Enum ReflectionsSimulationParameters 

Source
pub enum ReflectionsSimulationParameters {
    Convolution {
        baked_data_identifier: Option<BakedDataIdentifier>,
    },
    Parametric {
        reverb_scale: [f32; 3],
        baked_data_identifier: Option<BakedDataIdentifier>,
    },
    Hybrid {
        reverb_scale: [f32; 3],
        hybrid_reverb_transition_time: f32,
        hybrid_reverb_overlap_percent: f32,
        baked_data_identifier: Option<BakedDataIdentifier>,
    },
    TrueAudioNext {
        baked_data_identifier: Option<BakedDataIdentifier>,
    },
}
Expand description

Reflections simulation parameters for a source.

Variants§

§

Convolution

Multi-channel convolution reverb.

Fields

§baked_data_identifier: Option<BakedDataIdentifier>

The optional identifier used to specify which layer of baked data to use for simulating reflections for this source.

§

Parametric

Parametric (or artificial) reverb, using feedback delay networks.

Fields

§reverb_scale: [f32; 3]

The reverb decay times for each frequency band are scaled by these values. Set to [1.0, 1.0, 1.0] to use the simulated values without modification.

§baked_data_identifier: Option<BakedDataIdentifier>

The optional identifier used to specify which layer of baked data to use for simulating reflections for this source.

§

Hybrid

A hybrid of convolution and parametric reverb.

Fields

§reverb_scale: [f32; 3]

The reverb decay times for each frequency band are scaled by these values. Set to [1.0, 1.0, 1.0] to use the simulated values without modification.

§hybrid_reverb_transition_time: f32

This is the length (in seconds) of impulse response to use for convolution reverb. The rest of the impulse response will be used for parametric reverb estimation only. Increasing this value results in more accurate reflections, at the cost of increased CPU usage.

§hybrid_reverb_overlap_percent: f32

This is the amount of overlap between the convolution and parametric parts. To ensure smooth transitions from the early convolution part to the late parametric part, the two are cross-faded towards the end of the convolution part. For example, if hybrid_reverb_transition_time is 1.0, and hybrid_reverb_overlap_percent is 0.25, then the first 0.75 seconds are pure convolution, the next 0.25 seconds are a blend between convolution and parametric, and the portion of the tail beyond 1.0 second is pure parametric.

§baked_data_identifier: Option<BakedDataIdentifier>

The optional identifier used to specify which layer of baked data to use for simulating reflections for this source.

§

TrueAudioNext

Multi-channel convolution reverb, using AMD TrueAudio Next for GPU acceleration.

Fields

§baked_data_identifier: Option<BakedDataIdentifier>

The optional identifier used to specify which layer of baked data to use for simulating reflections for this source.

Trait Implementations§

Source§

impl Clone for ReflectionsSimulationParameters

Source§

fn clone(&self) -> ReflectionsSimulationParameters

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ReflectionsSimulationParameters

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for ReflectionsSimulationParameters

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.