SSAO
Greatly reduced the VRAM usage
Architectural changes:
Unit stencil texture
  - 
All features and units model bounding boxes are rendered onto a downsized texture, that may be requested and reused by any subsequent pass.  
 
Gbuffer Fusion pass
  - 
Removed merging of misc tex buffers, saving a fullscreen buffers worth of vram and some gpu load  
 
  - 
Removed merging of map and model normals, saving another fullscreen buffer, since these were also queried only once per fragment in ssao shader  
 
  - 
In the gbuffer fusion shader, map model occlusion is indicated by a positive z in viewpos tex  
 
  - 
The entire gbuffer fusion shader can be turned off, directly sampling the map and model depth buffers, this is most useful when rendering ssao to a downsampled target  
 
SSAO
The ssao shader samples multiple neighbouring texels when downsampling, to reduce shimmer in the downsampled target.
Random hemispherical samples are now generated across a fibonacci sphere for even surface distribution
Outputs are now:
  - 
RG channel is viewpos xy normals, which is output as zero vector for ground fragments  
 
  - 
B channel is relative depth of fragment  
 
  - 
A is occlusion  
 
Blur
  - 
Blur shader is now designed to work in a single pair of horizontal and vertical passes, and the dir uniform controls wether it - - should perform its final mixdown  
 
  - 
Blur shader has correct offsets and weights  
 
  - 
Compares the neighbouring normals and depths when blurring  
 
  - 
Identifies samples that are outliers with no similar neighbours   
 
  - 
Blur shader reuses the SSAO texture in its second pass, saving more vram  
 
  - 
During final mixdown, occlusion is packed into alpha, and brightening (inverse occlusion) is passed into rgb  
 
Compositing
  - 
A different gl blending operation is used, where the ssao alpha darkens the original image, and the ssao color brightens the original.  
 
Bloom
  - 
Less VRAM usage  
 
  - 
Fixed shimmering on low qualities  
 
  - 
Uses Pixel Quad Message passing to massively reduce the number of passes and texture samples required  
 
  - 
Wider kernels, smoother looks  
 
  - 
Better performance  
 
CAS
  - 
Uses Pixel Quad Message passing to massively reduce the number of texture samples  
 
Unit Stencil API
  - 
For early bailing a lot of near-unit shading stuff. Useable on demand.   
 
Thaks to @rlcevg for every bit of help. Thanks to @icexuick for tuning SSAO.