Search across packages, versions, files, declarations, and comments. Use multiple terms to narrow results (AND), and add @vertex, @fragment, or @compute to filter by shader stage.
1#define_import_path bevy_pbr::atmosphere::types
3struct Atmosphere {
4 ground_albedo: vec3<f32>,
5 // Radius of the planet
6 inner_radius: f32, // units: m
7 // Radius at which we consider the atmosphere to 'end' for out calculations (from center of planet)
8 outer_radius: f32, // units: m
9 // Transform from world space to atmosphere space, inverse of the atmosphere entity's transform
10 world_to_atmosphere: mat4x4<f32>,
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,
28// "Atmosphere space" uses local up for the zenith so the horizon-detail
29// parameterization concentrates texels at the viewer's horizon. Azimuth uses a
30// 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>,
Contents