1#define_import_path bevy_pbr::atmosphere::types3struct Atmosphere {4 ground_albedo: vec3<f32>,5 // Radius of the planet6 inner_radius: f32, // units: m7 // Radius at which we consider the atmosphere to 'end' for out calculations (from center of planet)8 outer_radius: f32, // units: m9 // Transform from world space to atmosphere space, inverse of the atmosphere entity's transform10 world_to_atmosphere: mat4x4<f32>,11}13struct AtmosphereSettings {14 transmittance_lut_size: vec2<u32>,15 multiscattering_lut_size: vec2<u32>,16 sky_view_lut_size: vec2<u32>,17 aerial_view_lut_size: vec3<u32>,18 transmittance_lut_samples: u32,19 multiscattering_lut_dirs: u32,20 multiscattering_lut_samples: u32,21 sky_view_lut_samples: u32,22 aerial_view_lut_samples: u32,23 aerial_view_lut_max_distance: f32,24 sky_max_samples: u32,25 rendering_method: u32,26}28// "Atmosphere space" uses local up for the zenith so the horizon-detail29// parameterization concentrates texels at the viewer's horizon. Azimuth uses a30// world-fixed reference so the terminator stays stable when tilting the camera.31struct AtmosphereTransforms {32 world_from_atmosphere: mat4x4<f32>,33 atmosphere_from_world: mat4x4<f32>,34}