IPLSimulationSettings

Struct IPLSimulationSettings 

Source
#[repr(C)]
pub struct IPLSimulationSettings {
Show 17 fields pub flags: IPLSimulationFlags, pub sceneType: IPLSceneType, pub reflectionType: IPLReflectionEffectType, pub maxNumOcclusionSamples: IPLint32, pub maxNumRays: IPLint32, pub numDiffuseSamples: IPLint32, pub maxDuration: IPLfloat32, pub maxOrder: IPLint32, pub maxNumSources: IPLint32, pub numThreads: IPLint32, pub rayBatchSize: IPLint32, pub numVisSamples: IPLint32, pub samplingRate: IPLint32, pub frameSize: IPLint32, pub openCLDevice: IPLOpenCLDevice, pub radeonRaysDevice: IPLRadeonRaysDevice, pub tanDevice: IPLTrueAudioNextDevice,
}
Expand description

Settings used to create a simulator.

Fields§

§flags: IPLSimulationFlags

The types of simulation that this simulator will be used for.

§sceneType: IPLSceneType

The type of scene that will be used for simulations via \c iplSimulatorSetScene. The scene type cannot change during the lifetime of a simulator object.

§reflectionType: IPLReflectionEffectType

The type of reflections effect that will be used to render the results of reflections simulation. The reflections effect type cannot change during the lifetime of a simulator object.

§maxNumOcclusionSamples: IPLint32

The maximum number of point samples to consider when calculating occlusion using the volumetric occlusion algorithm. Different sources can use different numbers of samples, and the number of samples can change between simulation runs, but this is the maximum value. Increasing this value results in smoother occlusion transitions, at the cost of increased CPU usage.

§maxNumRays: IPLint32

The maximum number of rays to trace from the listener when simulating reflections. You can use different numbers of rays between simulation runs, but this is the maximum value. Increasing this value results in more accurate reflections, at the cost of increased CPU usage.

§numDiffuseSamples: IPLint32

The number of directions to sample when generating diffusely reflected rays. Increasing this value may increase the accuracy of diffuse reflections.

§maxDuration: IPLfloat32

The maximum length (in seconds) of impulse responses generated by reflection simulations. You can change this value betweeen simulation runs, but this is the maximum value. Increasing this value results in longer, more accurate reverb tails, at the cost of increased CPU and memory usage.

§maxOrder: IPLint32

The maximum Ambisonic order of impulse responses generated by reflection simulations. You can change this value between simulation runs, but this is the maximum value. Increasing this value results in more accurate directional variations in the impulse responses, at the cost of increased CPU and memory usage.

§maxNumSources: IPLint32

The maximum number of sources for which reflection simulations will be run at any given time.

§numThreads: IPLint32

The number of threads used for real-time reflection simulations.

§rayBatchSize: IPLint32

If using custom ray tracer callbacks, this the number of rays that will be passed to the callbacks every time rays need to be traced.

§numVisSamples: IPLint32

The number of point samples to consider when calculating probe-to-probe visibility for pathing simulations. Baked paths may end up being occluded by dynamic objects, in which case you can configure the simulator to look for alternate paths in real time. This process will involve checking visibility between probes.

§samplingRate: IPLint32

The sampling rate (in Hz) used for audio processing.

§frameSize: IPLint32

The size (in samples) of the audio buffers used for audio processing.

§openCLDevice: IPLOpenCLDevice

The OpenCL device being used. Only necessary if \sceneType is \c IPL_SCENETYPE_RADEONRAYS, or \c reflectionType is \c IPL_REFLECTIONEFFECTTYPE_TAN.

§radeonRaysDevice: IPLRadeonRaysDevice

The Radeon Rays device being used. Only necessary if \sceneType is \c IPL_SCENETYPE_RADEONRAYS.

§tanDevice: IPLTrueAudioNextDevice

The TrueAudio Next device being used. Only necessary if \c reflectionType is \c IPL_REFLECTIONEFFECTTYPE_TAN.

Trait Implementations§

Source§

impl Clone for IPLSimulationSettings

Source§

fn clone(&self) -> IPLSimulationSettings

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 IPLSimulationSettings

Source§

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

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

impl Copy for IPLSimulationSettings

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.