* Re-do Bloom based how Jimenez, SIGGRAPH 2014 did, remove gamma shit, biquadratic shit, add bloom tint
* Compile shaders
* Format
* Adjust bloom tests, these are no longer relevant
* Mark obsolete properties for Gamma and Filter in Bloom effect
* Blend with rgb only
* Depth of field rewrite with tile classification, indirect dispatches, remove focal range (bullshit)
* Clear Vertical/Diagonal DoF blurs across passes so we dont have artifacts from previous one across tile boundaries
* Dont waste more memory than we need for tiles
* Command list texture clears were being deferred to it's own context, do it on the same context immediately
* Do DoF after viewmodel & AfterViewmodel hook actually runs after viewmodel
* Since we precalculate the DoF max range per tile we dont really need this weird logic for optimization
* Fix shitty 1px line for dof when it intersects geometry
https://files.facepunch.com/sampavlovic/1b1411b1/sbox-dev_3p4zfSfTDx.mp4
* update shaders
* Readd focus range but make it almost as far as FarZ by default
* format
* Adjust tests for new behaviour for DoF, reset buffer data on command list
* gtao atrous optimisation - cache texture taps into groupshare tile buffer. before: https://files.facepunch.com/antopilo/1b0111b1/ngfx-ui_HB5GFcF66Z.png after: https://files.facepunch.com/antopilo/1b0111b1/ngfx-ui_AeqfjvzQSr.png
* make working edge texture A8 instead of R16F
* sample texture closer together to limit staling
* remove third pass of denoising
* depth chain is now R16F instead of R32
* add safety
* move early out
* make number of atrous pass configurable
* Remove temporal denoise from AO, our spatial denoiser already kicks ass
* Early out was fucking grouopread on Spatial Denoise & remove unused Working Edges
* Denoise Normal is invariant of coordinate system
* Denoise passes in quality profiles
Co-authored-by: Sam Pavlovic <sam@sampavlovic.com>
* Move all unit tests to Engine/Tests
* Fix Margin.EdgeSubtract
* Fix Capsule.Contains
* EnvironmentVariables.Remove if it's null
* Fixed ray trace never returning startedsolid
* Fix HistoryList.Navigate on empty list
* Fix GameObject.WorldPosition accepting NaNs
* Fix flex: initial expanding to the wrong grow/shrink
* Translation.TryConvert shouldn't throw on invalid enum strings
* Skip sound file tests on machines with no audio device