pub struct DDGIPassDesc {Show 14 fields
pub probe_grid_x: u32,
pub probe_grid_y: u32,
pub probe_grid_z: u32,
pub probe_spacing: f32,
pub probe_origin: Vec3,
pub rays_per_probe: u32,
pub irradiance_oct_size: u32,
pub visibility_oct_size: u32,
pub output_irradiance: ResourceId,
pub output_visibility: ResourceId,
pub hysteresis: f32,
pub brightness_threshold: f32,
pub view_bias: f32,
pub normal_bias: f32,
}Fields§
§probe_grid_x: u32§probe_grid_y: u32§probe_grid_z: u32§probe_spacing: f32§probe_origin: Vec3§rays_per_probe: u32§irradiance_oct_size: u32§visibility_oct_size: u32§output_irradiance: ResourceId§output_visibility: ResourceId§hysteresis: f32§brightness_threshold: f32§view_bias: f32§normal_bias: f32Implementations§
Source§impl DDGIPassDesc
impl DDGIPassDesc
pub fn default() -> Self
pub fn total_probes(&self) -> u32
pub fn irradiance_atlas_size(&self) -> (u32, u32)
pub fn visibility_atlas_size(&self) -> (u32, u32)
pub fn probe_world_pos(&self, ix: u32, iy: u32, iz: u32) -> Vec3
pub fn probe_index_from_world(&self, world: Vec3) -> Option<(u32, u32, u32)>
Sourcepub fn trilinear_weights(local_blend: Vec3) -> [f32; 8]
pub fn trilinear_weights(local_blend: Vec3) -> [f32; 8]
Trilinear blend weights for sampling irradiance between 8 nearest probes
Sourcepub fn atlas_memory_bytes(&self) -> u64
pub fn atlas_memory_bytes(&self) -> u64
Memory required for DDGI atlas textures
Trait Implementations§
Source§impl Clone for DDGIPassDesc
impl Clone for DDGIPassDesc
Auto Trait Implementations§
impl Freeze for DDGIPassDesc
impl RefUnwindSafe for DDGIPassDesc
impl Send for DDGIPassDesc
impl Sync for DDGIPassDesc
impl Unpin for DDGIPassDesc
impl UnsafeUnpin for DDGIPassDesc
impl UnwindSafe for DDGIPassDesc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.