3 Months Ago
Fog Fix (#1661) * Some lightbinner cleanup, allow it to be used directly without the complex system that scenesystem wants * VolumetricFogRenderer has it's own lightbinner outside of lightbinner pool, does lightbinning to fetch fog lights for the fog context only, fixes fog light settings not doing anything, deprecate LAYERFLAGS_NEEDS_FOG_CONTRIBUTING_LIGHTS since we don't need special code for that anymore * Share dynamic shadow atlas if we have more than one lightbinner per view ( for example, fog ), fix volume fog no shadows option, cleanup unused shit * Put fog mode in it's own category and add nice icons to them https://files.facepunch.com/sam/1b0611b1/zwd8qAJFu7.png * These convars don't do anything or are redundant, some notes for tiled rendering in the future * Remove deprecated VR stuff for volumetric fog on rendering pipeline, note for Alex that we can just reproject the frame for eye 2 for cheap volumetric fog rendering, any crumbs will be stripped more when I remove clipmaps * One lightbinner per volumetric fog rather than creating it every frame * Start removing fog clipmap rendering, there are better ways to do this and it's massive * Disable clipmaps on managed code, clean up shader code * Remove VR-specific frustum stuff from volumetric fog * Get rid of redundant data * Separate two passes cleanly, remove accumulation TAA, we'll do a proper big pants one * TAA stub * Fancy volumetric fog taa, move what was on integration step to previous pass, so this has pretty much the same cost and memory footprint as previously but much higher quality * Proper fog TAA with ping-ponging accumulation textures * Iterate fog denoising * Do soft TAA jitter and encode non-final texture to a softer color space so that TAA bbox is also softer * Final cleanup, fix fog density, fix obsolete error