All Rust commits from Facepunch

add CommandBufferManager.OnPreCommandBuffer hook

supply lightdir/color for water again, adjust texture formats

fix double-rendering atmosphere

sync Rust.RenderPipeline changes: - fix missing shader parameter for legacy shadow caster shaders - render forward opaque objects (only SRPDefaultUnlit and RustLit light modes, allows atmospheric elements to render) - make camera context directly accessible by the camera component - add RustRenderPipeline pipeline shader tag

stopgap water sky reflection until we have the water refl probe in RRP

merge from main

RRP water rendering progress

sync with Rust.RenderPipeline: - enable global shader param + keyword when RRP is in use

sync with latest Rust.RenderPipeline changes: - camera components can return false in OnBeginRendering() to skip rendering the feature for the camera - reset GraphicsSettings.lightsUseLinearIntensity to false on RRP disposal (Fixes BiRP lighting becoming dark when switching, it was also possible for the true value to get saved in GraphicsSettings.asset which confusingly permanently broke BiRP lighting.)

merge from main

disable the begin/endContextRendering hooks on CommandBufferManager

update existing passes for pipeline changes

sync Rust.RenderPipeline changes

merge from main

port PostOpaqueDepth to RRP, prerequisite for water
Fixed various lighting issues within the lit and deferred lighting shaders within RRP
Fixed some indirect lighting issues with the lit shader in RRP
Fixed more issues with shadow biases in the RRP shaders
Added support for light cookies in RRP
Merge from main
RRP: Fixed shadow bias calculations for point and spot lights
Merge from main
Fixed shadow bias issues within the Rust Render Pipeline
Merge from main
Merge from main
Merge from main
Updated the Rust.RenderPipeline package to include lighting stencil value changes
Merge from main
Merge from main
Fixed server compile errors for new decal and environment volume render passes
Added new properties serialized on the DecalsRendererFeature
Added deferred mesh decal rendering support to RRP
Added support for Deferred Decal rendering in the new render pipeline
Merge from main
Updated Rust.RenderPipeline to include debug visualizations for the GBuffer outputs and the indirect lighting targets
Added pipeline textures that get set during the Setup pass. This makes Deferred Indirect Lighting work correctly in the new render pipeline
Fixed the lighting and shadow issues when using the Rust.RenderPipeline
Fixed an issue that was preventing spatial env volumes from rendering and prevented rendering to reflection probes in the new render pass wrapper
Merge from main
Added a check to avoid creating a zero length compute buffer when rendering the spatial environment volumes
Added a wrapper to the SpatialEnvironmentVolumePass to make it work with both BiRP and RRP
Updated the Rust.RenderPipeline package to add support for custom render passes
Merge from main
Merge from main
Updated Rust.RenderPipeline package to remove static references to pipeline resources as everything needs to be handled via the Render Graph
Merge from main
Added stencil buffers to the Standard and Standard-Terrain shaders to support deferred lighting when the Rust Render Pipeline is active
Updated the Rust Render Pipeline package to add support for camera-based command buffers
Changed the shader name of the render pipeline's deferred indirect lighting shader as it was the same as the shader in the main project which was causing issues when the new render pipeline wasn't in use
- Updated the Rust Render Pipeline asset to hook up the new pipeline shader assets. - Updated the plastic .ignore config to ignore the .git folder from the Rust.RenderPipeline package. - Updated the packages-lock.json to have the correct name for the Rust.RenderPipeline package.