IPLReflectionsBakeParams

Struct IPLReflectionsBakeParams 

Source
#[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: IPLScene

The scene in which the probes exist.

§probeBatch: IPLProbeBatch

A probe batch containing the probes at which reflections data should be baked.

§sceneType: IPLSceneType

The type of scene being used.

§identifier: IPLBakedDataIdentifier

An 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: IPLReflectionsBakeFlags

The types of data to save for each probe.

§numRays: IPLint32

The 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: IPLint32

The number of directions to consider when generating diffusely-reflected rays when baking. Increasing this number results in slightly improved accuracy of diffuse reflections.

§numBounces: IPLint32

The 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: IPLfloat32

The 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: IPLfloat32

The 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: IPLint32

Ambisonic order of the baked IRs.

§numThreads: IPLint32

Number of threads to use for baking.

§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.

§irradianceMinDistance: IPLfloat32

When 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: IPLint32

If 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: IPLOpenCLDevice

The OpenCL device, if using Radeon Rays.

§radeonRaysDevice: IPLRadeonRaysDevice

The Radeon Rays device, if using Radeon Rays.

Trait Implementations§

Source§

impl Clone for IPLReflectionsBakeParams

Source§

fn clone(&self) -> IPLReflectionsBakeParams

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 IPLReflectionsBakeParams

Source§

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

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

impl Copy for IPLReflectionsBakeParams

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.