#[repr(C)]pub struct IPLReflectionsBakeParams {Show 17 fields
pub scene: IPLScene,
pub probeBatch: IPLProbeBatch,
pub sceneType: IPLSceneType,
pub identifier: IPLBakedDataIdentifier,
pub bakeFlags: IPLReflectionsBakeFlags,
pub numRays: IPLint32,
pub numDiffuseSamples: IPLint32,
pub numBounces: IPLint32,
pub simulatedDuration: IPLfloat32,
pub savedDuration: IPLfloat32,
pub order: IPLint32,
pub numThreads: IPLint32,
pub rayBatchSize: IPLint32,
pub irradianceMinDistance: IPLfloat32,
pub bakeBatchSize: IPLint32,
pub openCLDevice: IPLOpenCLDevice,
pub radeonRaysDevice: IPLRadeonRaysDevice,
}Expand description
Parameters used to control how reflections data is baked.
Fields§
§scene: IPLSceneThe scene in which the probes exist.
probeBatch: IPLProbeBatchA probe batch containing the probes at which reflections data should be baked.
sceneType: IPLSceneTypeThe type of scene being used.
identifier: IPLBakedDataIdentifierAn identifier for the data layer that should be baked. The identifier determines what data is simulated and stored at each probe. If the probe batch already contains data with this identifier, it will be overwritten.
bakeFlags: IPLReflectionsBakeFlagsThe types of data to save for each probe.
numRays: IPLint32The number of rays to trace from each listener position when baking. Increasing this number results in improved accuracy, at the cost of increased bake times.
numDiffuseSamples: IPLint32The number of directions to consider when generating diffusely-reflected rays when baking. Increasing this number results in slightly improved accuracy of diffuse reflections.
numBounces: IPLint32The number of times each ray is reflected off of solid geometry. Increasing this number results in longer reverb tails and improved accuracy, at the cost of increased bake times.
simulatedDuration: IPLfloat32The length (in seconds) of the impulse responses to simulate. Increasing this number allows the baked data to represent longer reverb tails (and hence larger spaces), at the cost of increased memory usage while baking.
savedDuration: IPLfloat32The length (in seconds) of the impulse responses to save at each probe. Increasing this number allows the baked data to represent longer reverb tails (and hence larger spaces), at the cost of increased disk space usage and memory usage at run-time.
It may be useful to set \c savedDuration to be less than \c simulatedDuration, especially if you plan to use hybrid reverb for rendering baked reflections. This way, the parametric reverb data is estimated using a longer IR, resulting in more accurate estimation, but only the early part of the IR can be saved for subsequent rendering.
order: IPLint32Ambisonic order of the baked IRs.
numThreads: IPLint32Number of threads to use for baking.
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.
irradianceMinDistance: IPLfloat32When calculating how much sound energy reaches a surface directly from a source, any source that is closer than \c irradianceMinDistance to the surface is assumed to be at a distance of \c irradianceMinDistance, for the purposes of energy calculations.
bakeBatchSize: IPLint32If using Radeon Rays or if \c identifier.variation is \c IPL_BAKEDDATAVARIATION_STATICLISTENER, this is the number of probes for which data is baked simultaneously.
openCLDevice: IPLOpenCLDeviceThe OpenCL device, if using Radeon Rays.
radeonRaysDevice: IPLRadeonRaysDeviceThe Radeon Rays device, if using Radeon Rays.
Trait Implementations§
Source§impl Clone for IPLReflectionsBakeParams
impl Clone for IPLReflectionsBakeParams
Source§fn clone(&self) -> IPLReflectionsBakeParams
fn clone(&self) -> IPLReflectionsBakeParams
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more