Create the composed HDR render target. Scene HDR + SSR + SSGI albedo + bloom + fog + sun shafts all merged into one texture by the `scene_compose` pass. Both the TAA-on path (TAA consumes this as its "current frame" input) and the TAA-off path (composite reads it directly) read from the same buffer, so fog / shafts / post-effects stay visible regardless of TAA state.
(device: &wgpu::Device, width: u32, height: u32)
| 167 | /// reads it directly) read from the same buffer, so fog / shafts / |
| 168 | /// post-effects stay visible regardless of TAA state. |
| 169 | pub(super) fn create_composed_rt(device: &wgpu::Device, width: u32, height: u32) -> (wgpu::Texture, wgpu::TextureView) { |
| 170 | let texture = device.create_texture(&wgpu::TextureDescriptor { |
| 171 | label: Some("composed_rt"), |
| 172 | size: wgpu::Extent3d { width, height, depth_or_array_layers: 1 }, |
| 173 | mip_level_count: 1, |
| 174 | sample_count: 1, |
| 175 | dimension: wgpu::TextureDimension::D2, |
| 176 | format: HDR_FORMAT, |
| 177 | usage: wgpu::TextureUsages::RENDER_ATTACHMENT |
| 178 | | wgpu::TextureUsages::TEXTURE_BINDING, |
| 179 | view_formats: &[], |
| 180 | }); |
| 181 | let view = texture.create_view(&wgpu::TextureViewDescriptor::default()); |
| 182 | (texture, view) |
| 183 | } |
| 184 | |
| 185 | /// Create the velocity render target (Rg16Float, surface size). |
| 186 | /// Per-pixel screen-space velocity for motion blur and TAA. |