Make sky updates only occur if the input atmospherics values have actually changed (perf optimization).
Make water rendering use specular color for coloring spec.
Use rotated lightnorm directly in water shader instead of forcing all shaders marked as water (including lighting) to get that norm
(where it would only affect Mid as only that graphics mode has atmospherics on but isn't using deferred rendering).
Fix blend between reflected/refracted water maps (make less transparent)
and fix setting of water fog color alpha on low end to better match
prev behavior of setting the internal control value in that case.
Use (Restore)TexSetup for tex binding (should be equivalent now).
Simplify uniform management in alpha drawpool loop.
Fix wrong modelview mat being used for distortion map gen.
Mods to improve alpha obj render performance.
Removes hacky fix for HUD elements getting atmospherics.
Re-orders rendering of glow to remove ~10ms/frame of shader re-re-rebinding.
Fix up default classes and basic shader loading (remove unused shared modules).
Fix water rendering causing distortion map update very frame.
Reduce binds in alpha draw pool for HUD atmo suppression (may regress HUD lighting weirdness).
Add ability to retrieve current user clip plane so it can be saved/restored around water map gen.
Leave render type masks as is after reflection map render to get detail filtering applied to distortion map again.
Re-enable occlusion in distortion map rendering.
Fix distortion map rendering in deferred mode not including underwater fog effects.
Fix distortion map rendering not including post-deferred content at all.
Fix distortion map rendering not including anything but sky when camera is underwater.
Update sun_up_factor/sunmoon_glow_factor uniforms even when sun disc isn't in use.
Fix bug with setting texture matrix for rigged mesh.
Fix z-fighting between sea and sky in ALM by cheating sky, stars, and moon using gl_FragDepth.
Fix handling of atmospheric haze glow w.r.t independent sun/moon positioning
(we can no longer depend on them being mutex to each other).
Use a new edge water shader to allow forcing frag depth to avoid z-fighting at back edge of water edge pieces.
This will not work for ALM because forcing the depth breaks the use of the depth to backproject gbuffer position which breaks lighting calcs.
Prepare for using ifdef to conditionally engage using gl_FragDepth in water shaders
(because GL requires that writing to gl_FragDepth on any path means you need to
write a depth value on every path).
Make water horizon consistent between ALM and non-ALM rendering again.
Fix using deferred sky rendering in reflections.
Make matrix mode explicit around push/pop for safety.
Make perspective projection consistent between ALM and non-ALM when drawing water (horizon matches).
Make perspective projection consistent between ALM and non-ALM when drawing heavenly bodies (sun disc position matches).
Make gamma correction of sun disc tex consistent between ALM and non-ALM rendering.