* Provides mid-range stable AO for dynamic rigid meshes
* Movable sky lights are now supported, and distance field AO is used for shadowing Movable sky lighting from dynamic scenes
* Static meshes are preprocessed into signed distance field volumes at mesh build time when the r.AllowMeshDistanceFieldRepresentations project setting is enabled
* Non-uniform scaling does not work with this method (mirroring is fine), animating through world position offset also causes artifacts as the two representations diverge
* Occlusion is computed along cones to reduce over-shadowing, object distance fields are operated on directly (no hierarchy) to obtain enough resolution to prevent leaking, visibility traces are done with cone stepping to allow better parallelization, and shading is done adaptively in space and time using the surface cache.
[CL 2093556 by Daniel Wright in Main branch]
#branch UE4
#proj Runtime.Engine
#summary Implemented a struct customization for FRange and changed these two properties to an FRange, which can be accordingly clamped.
#add Implemented FRangeStructCustomization<> for FFloatRange and FInt32Range.
#add Implemented FFloatRange and FInt32Range mirrors in Object.h, for use by UHT.
#change Changed the Type member of TRangeBound to be an explicitly sized TEnumAsByte instead of a plain enum (so that the mirrored structs for UHT are guaranteed to match).
#change Changed Min and MaxSmoothedFrameRate members in UEngine to use a FFloatRange and added appropriate metadata.
#reviewedby Chris.Wood, Max.Preussner
[CL 2039474 by Richard TalbotWatkin in Main branch]