494 Commits over 546 Days - 0.04cph!
fix water SSR flickering when TAA was enabled, was especially pronounced at grazing angles
fix sky and clouds seam in water reflection probe
fix vclouds shader error on macos preventing them from showing up in water reflections
LightGroupAtTime: keep track of renderers under RendererLODs to properly update instancing when emission changes
reduce biome fogging when looking through a camera
exclude renderers with negative scale from instancing and warn about them
fix EmissionToggle with indirect instancing
fix EmissionScaledByLight with indirect instancing
merge from wire_shader_pixel_scaling
restore pixel radius based alpha feathering to hide wire aliasing
fix hair raycasting shadows in deferred
fix missing z-buffer when rendering forward opaques
- emulate BiRP implicit stencil write in g-buffer pass
- provide global_DeferredIndirectLightingActive flag
post subsurface pass beginnings
bring over WaterCamera changes into RRP
hoarded a bunch of changes:
- refactored vclouds and vfog for multi camera support
- vclouds and vfog ported to RRP with built-in wrappers
- match sky dome pos to camera in RRP, including in scene view
- scale sky dome to camera far plane in RRP
- use CommandBufferManager.OnPreCommandBuffer hook to call OnBeginRendering() in built-in wrappers, fixes update happening after commands buffers were already filled
- share TextureDescs between render graph and built-in wrapper render texture creation. Ensures consistent formats, etc
- fix skybox rendering twice in scene view
- fix water render graph issues on lower quality levels
- fix destruction of water dynamics RTHandle
add CommandBufferManager.OnPreCommandBuffer hook
add tint from vcolor mode to FXVille Blood World Lighting
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
maybe fix error spam in build about WaterSurfaceTex vs PostOpaqueDepth dimensions (separate from editor issue I think)
stopgap water sky reflection until we have the water refl probe in RRP
fix occasional single-pixel ocean line in canyons
add "Affect Occlusion" toggle to detail blend layer, makes blend layer interact with base layer occlusion (lerps it white with the blend weight)
fix error spam in edit mode on island scenes
add screenshot mode for water SSR, works around cut off reflections in high res screenshots
add underwater fog blending for tropical shores in deep sea
fix merging of island heights with TerrainMeta.HeightMap.deepSeaHeights
fix ocean stuttering in demo playback (forces water.scaled_time behavior when playing demo)
fix cloud weirdness when overriding weather state when playing back a demo
vclouds:
- cap full res image to 4k in either dimension (prevents GPU murder when taking high res screenshot, aspect ratio is maintained when scaling down)
- don't reproject when taking a screenshot, render the full cloud image from scratch
- respect time.timescale
add deep sea version for environment volume properties ocean overrides
underwater fog lerping respects reflection.forceupdate
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.)
disable the begin/endContextRendering hooks on CommandBufferManager
update existing passes for pipeline changes