The lighting position is no longer offset when detecting intersecting surface frontfaces within a texel. This was causing fully shadowed artifacts in cracks, as one side of the crack would move the shading position into the other.
[CL 2639528 by Daniel Wright in Main branch]
Volume lighting sample computation is now multithreaded in Lightmass so it can't bottleneck the lighting build
[CL 2615814 by Daniel Wright in Main branch]
Since landscape materials have to be exported to lightmass as masked, we compute visibility for landscape meshes regardless of material blend mode
#codereview Jack.Porter
[CL 2612081 by Dmitriy Dyomin in Main branch]
* bGenerateAmbientOcclusionMaterialMask must be enabled in WorldSettings for the mask to be produced by a lighting build. The mask is stored in a BC4 texure which adds half a byte per lightmap texel.
[CL 2608090 by Daniel Wright in Main branch]
* New light Lightmass setting 'bUseAreaShadowsForStationaryLight'
* Removed 'DistanceFieldPenumbraSize' project setting, uniform penumbra size comes from each light's LightSourceAngle or SourceRadius using a heuristic now
[CL 2590302 by Daniel Wright in Main branch]
Fixed landscape sometimes reflecting the wrong light colour
- both were due to lightmass assuming only one UV channel and 0-1 UVs (Landscape uses UV#3 for weightmap coords and it isn't 0-1) and incorrectly handling the expanded components (the landscape light mesh is expanded to fix seams in the light/shadow maps of adjacent components)
- the fix for holes doesn't use the material because of the expanded components, so would require rendering 9 materials to one output texture, which was too horrible to make work. Ideally we wouldn't expand the components at all :(
[CL 2545362 by Gareth Martin in Main branch]