#[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: IPLSimulationFlagsThe types of simulation that this simulator will be used for.
sceneType: IPLSceneTypeThe 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: IPLReflectionEffectTypeThe 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: IPLint32The 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: IPLint32The 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: IPLint32The number of directions to sample when generating diffusely reflected rays. Increasing this value may increase the accuracy of diffuse reflections.
maxDuration: IPLfloat32The 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: IPLint32The 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: IPLint32The maximum number of sources for which reflection simulations will be run at any given time.
numThreads: IPLint32The number of threads used for real-time reflection simulations.
rayBatchSize: IPLint32If 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: IPLint32The 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: IPLint32The sampling rate (in Hz) used for audio processing.
frameSize: IPLint32The size (in samples) of the audio buffers used for audio processing.
openCLDevice: IPLOpenCLDeviceThe OpenCL device being used. Only necessary if \sceneType is \c IPL_SCENETYPE_RADEONRAYS, or \c reflectionType is \c IPL_REFLECTIONEFFECTTYPE_TAN.
radeonRaysDevice: IPLRadeonRaysDeviceThe Radeon Rays device being used. Only necessary if \sceneType is \c IPL_SCENETYPE_RADEONRAYS.
tanDevice: IPLTrueAudioNextDeviceThe TrueAudio Next device being used. Only necessary if \c reflectionType is \c IPL_REFLECTIONEFFECTTYPE_TAN.
Trait Implementations§
Source§impl Clone for IPLSimulationSettings
impl Clone for IPLSimulationSettings
Source§fn clone(&self) -> IPLSimulationSettings
fn clone(&self) -> IPLSimulationSettings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more