A long-standing issue in 0 A.D. is that actors suddenly "pop" out of FoW, even though the terrain FoW itself is very gradual. This is fairly ugly.
There are two issues with this:
- On the graphical side, the SoD/FoW texture is blurred to look nice, but that makes it wrong: parts of the map that aren't visible are marked as "slightly visible". This increases the popping significantly.
- On the gameplay side, we ought to mark visible any actor that has some of it visible, not just the center.
This diff is a Proof of Concept fix for the graphical issue, by making the game not blur incorrectly. However, this makes the Los texture noticeably "blockier". I've included a dumb glsl-blur on top of it, which makes things look slightly better, but I think we need a more permanent solution. The trouble is that straight blurring isn't good, we ought to "bleed" darkness onto light, but never the opposite. This is likely slow, and the los-texture generation is already kinda slow (I measure 200µs per turn on my computer, which isn't negligible).
Another possibility would be upscaling the LOS texture compared to the LOS "grid", which would allow blurring over smaller "real" distances. This would take more GPU power, however.