pub struct VXGIPassDesc {Show 13 fields
pub voxel_grid_size: u32,
pub voxel_world_size: f32,
pub output_radiance_grid: ResourceId,
pub output_normal_grid: ResourceId,
pub output_opacity_grid: ResourceId,
pub inject_light: bool,
pub num_cones: u32,
pub cone_aperture_deg: f32,
pub max_cone_distance: f32,
pub indirect_diffuse_enabled: bool,
pub indirect_specular_enabled: bool,
pub mip_generation: bool,
pub temporal_accumulation: f32,
}Fields§
§voxel_grid_size: u32§voxel_world_size: f32§output_radiance_grid: ResourceId§output_normal_grid: ResourceId§output_opacity_grid: ResourceId§inject_light: bool§num_cones: u32§cone_aperture_deg: f32§max_cone_distance: f32§indirect_diffuse_enabled: bool§indirect_specular_enabled: bool§mip_generation: bool§temporal_accumulation: f32Implementations§
Source§impl VXGIPassDesc
impl VXGIPassDesc
pub fn default() -> Self
pub fn voxel_size(&self) -> f32
pub fn grid_memory_bytes(&self) -> u64
pub fn mip_levels(&self) -> u32
Sourcepub fn cone_trace(
&self,
start: Vec3,
direction: Vec3,
aperture: f32,
max_distance: f32,
step_multiplier: f32,
) -> (Vec3, f32)
pub fn cone_trace( &self, start: Vec3, direction: Vec3, aperture: f32, max_distance: f32, step_multiplier: f32, ) -> (Vec3, f32)
Sample radiance using a cone trace through the voxel grid Returns (irradiance, occlusion)
Sourcepub fn diffuse_cone_directions(num_cones: u32) -> Vec<Vec3>
pub fn diffuse_cone_directions(num_cones: u32) -> Vec<Vec3>
Generate cone directions for indirect diffuse sampling (cosine-weighted hemisphere)
Trait Implementations§
Source§impl Clone for VXGIPassDesc
impl Clone for VXGIPassDesc
Auto Trait Implementations§
impl Freeze for VXGIPassDesc
impl RefUnwindSafe for VXGIPassDesc
impl Send for VXGIPassDesc
impl Sync for VXGIPassDesc
impl Unpin for VXGIPassDesc
impl UnsafeUnpin for VXGIPassDesc
impl UnwindSafe for VXGIPassDesc
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.