6 fullscreen_vertex_shader::FullscreenVertexOutput, 7 tonemapping::{tone_mapping, screen_space_dither}, 10@group(0) @binding(0) var<uniform> view: View; 12@group(0) @binding(1) var hdr_texture: texture_2d<f32>; 13@group(0) @binding(2) var hdr_sampler: sampler; 14@group(0) @binding(3) var dt_lut_texture: texture_3d<f32>; 15@group(0) @binding(4) var dt_lut_sampler: sampler; 18fn fragment(in: FullscreenVertexOutput) -> @location(0) vec4<f32> { 19 let hdr_color = textureSample(hdr_texture, hdr_sampler, in.uv); 21 var output_rgb = tone_mapping(hdr_color, view.color_grading).rgb; 24 output_rgb = powsafe(output_rgb.rgb, 1.0 / 2.2); 25 output_rgb = output_rgb + screen_space_dither(in.position.xy); 28 output_rgb = powsafe(output_rgb.rgb, 2.2); 31 return vec4<f32>(output_rgb, hdr_color.a);