* Screen grid resolution is 1/8th of primary resolution, but with 4x temporal supersampling through jittering subsample positions. A longer history filter is required to hide the jittering which can increase ghosting.
* The main benefit of doing cone tracing on a screen grid instead of the previous surface cache is that it's performance is generally constant regardless of camera movement or noisy geometry (foliage)
* A global distance field is now used for cone traces after a certain distance, DFAO is 2-4x faster as a result.
* The global distance field is composed of 4 128^3 clipmaps that follow the camera around
* Clipmaps are scrolled so that only new or dirty regions are updated due to camera or object movement, with close to 0 average GPU cost. Worst case update cost (camera teleport) is 5ms on 7870.
* The global distance field currently breaks Distance Field GI
* Overall with these changes DFAO in a Fortnite level is 3.4ms on a 7870 (3.8ms on PS4), and 4.0ms in the Kite demo on 7870.
[CL 2546300 by Daniel Wright in Main branch]
good: larger radius, cache optimized using HZB, removed border weight code as Z=0 outside the texture works well, removed tweak parameter, defines to customize, single pass looks better
bad: look changes, can look noisier (with large radius), Using HZB is an approximation which can cause artifacs especially with a smaller radius
note: quality in PostProcessSettings can be adjusted, without TemporalAA there is more noise/dither pattern, if needed a more sample version can be made
[CL 2399868 by Martin Mittring in Main branch]
* Translucent shadows are now half res compared to opaque shadows, to keep memory usage under control
* New memory usage is 8mb for ShadowDepthZ, 8mb for PreshadowCache, 8*2mb for translucent shadow targets (unchanged), 12mb for largest cubemap shadowmap
[CL 2354996 by Daniel Wright in Main branch]
Bool property to enable/disable in spawn module. Defaults to enabled.
Existing data with constant spawn rates of <= 1.0 have this scaling disabled.
[CL 2317484 by Simon Tovey in Main branch]
* Removed extra pass-through pass
* Added scalability option r.SSS.SampleSet 0/1/2, later this can be used per pixel
* added to BaseScalability
* Renamed r.SSSSS to r.SSS.Scale
[CL 2286659 by Martin Mittring in Main branch]
MSAA levels are as follows: Low: 1, Medium: 1, High: 2, Epic: 4.
Shader enhancements to improve the quality of selection outline are still to come.
[CL 2119160 by Andrew Rodham in Main branch]