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.
1struct Atmosphere {
2 ground_albedo: vec3<f32>,
3 /// Radius of the planet
4 /// Units: m
5 inner_radius: f32,
6 /// Radius at which we consider the atmosphere to 'end' for out calculations (from center of planet)
7 /// Units: m
8 outer_radius: f32,
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