
Fixed dynamic shadow rendering performance dropping significantly on certain devices due to the new streaming setup.Added some minor refinements that help reduce the visual oddities caused by shadows being projected by erroneous models.Removed the “experimental optimized shadow rendering” toggle.The game now adjusts shadow alpha based on the vertical distance between the shadow plane used for drawing projections and the projection source.This fixes shadows not being applied to geometry below the z position of the tile. The game now uses tiledata bounding box to determine lower clip of shadow volumes.This (beyond improving performance) alleviates issues with shadows sometimes being cut off in odd places (and similar). Fixed a number of other shadow rendering issues by doing view frustrum clipping in the vertex shaders.Shadow and beam volumes now use their own unique shaders.The old approach can be restored with using "shadowfliporder 1" in the console. It does not fix every issue, however, and in rare cases, some issues may become more apparent - but all in all, the benefits should outweigh the drawbacks. Fixed some common shadow rendering issues related to "behind" stencil tests.Reduced buffer transfers related to rendering shadows (perf+).Greatly reduced the amount of CPU time spent on rendering shadows (50-90% less) by moving more work to the shaders and just doing things more intelligently.Many improvements have been made to the rendering and shadows engine:
