All Rust commits from Facepunch
Added shadow caching back to the experimental options tab in the MenuUI2_Settings prefab
Merge from main
Fixed some issues with spot lights not rendering correctly with shadow caching enabled
Added a gaussian blur to the EVSM shadows as part of the shadow caching process to improve the filtering
Optimized the way the timer works for limiting the shadow caching framerate
Removed interleaved shadow rendering implementation as this is now handled via the framerate limiting. Also, added defaults for distance-based framerate limiting to be enabled by default when shadow caching is enabled.
Fixed an issue where the lights wouldn't refresh correctly after changing the max shadow lights
Rebuilding the shadow map cache render texture pools when the max shadow lights convar changes
Fixed an issue with flickering point lights caused by them having different shadow biases
- Fixed an issue where shadow lights would be enabled initially and not toggled off by the shadow caching system, so there would be more shadow map rendering that necessary - Fixed the clamping on the min and max framerate distance convars
- Updated the max and min framerate distances to be ConVars rather than specified per light - Moved the distance based refresh to another method so it can be checked separately from the framerate limiting checks
Merge from main
Removed editor code that's no longer needed
Fixed a shadow caching OOB exception when there are no lights in the scene
Resetting lights to their original shadow strength when shadow caching is disabled
Fixed issue with some shadows remaining enabled for lights that shouldn't have them when shadow caching is enabled
Partially fixed the issue with shadows not swapping to closer lights when shadow caching is enabled
Merge from main
Merge from main
Changed to using the shadow strength directly as the shadow caching flag
CodeGen for adding back Shadow Caching ConVars
Merge from main
Merge from main
An attempt at encoding the shadow caching flag into the light's shadow strength while maintaining the shadow strength value
Fixed an issue with toggling shadow caching that would cause lights to attempt to use shadow caching when they weren't in the active lights list
Fixed the issue with the near plane being incorrect for the spot light again, and fixed some issues with trying to get an instance from the render texture pool when there are none available
Fixed the interleaved shadow map caching when variable framerate refreshing is enabled and fixed an issue with setting the correct shadow near plane values for lights
Fixed the issue with not being able to get the near plane for cached spot light shadows
Fixed the variance shadow map filtering for cached shadows
Converted the min and max framerate settings for cached shadows to convars as they shouldn't be set per light
Merge from main
Merge from main
Added render texture pooling for active light shadow map caching and added an option to the experimental menu section for toggling shadow caching
Handled disabling the shadow caching convar when exiting play mode and changed default light cookie textures to be loaded via resources instead of being serialized on LightLOD components
Added support for interleaved cached shadow rendering and added a new set of convars for controlling shadow caching settings
Added support for variable frame rate shadows based on distance from the light to the camera
Shadow caching now works with spot lights
Added the default light cookie for spot lights and a white cubemap for point lights that don't have a light cookie assigned
Added support for custom light cookies when shadow caching is enabled
Merge from main
Started adding support for cached spot light shadows
Added a ConVar and a multi-compile for toggling cached shadow maps
Initial shadow map caching setup