70 Commits

Author SHA1 Message Date
mafiesto4 ace84ae29f Add limit to max DDGI cascade updates per-frame to 2
#3963
2026-03-11 23:31:44 +01:00
mafiesto4 32e725392b Optimize inactive probes update in DDGI with faster Jump Flood instead of Flood Fill 2026-01-06 00:01:17 +01:00
mafiesto4 0975ac2a25 Fix odd typo in DDGI inactive probes flood fill 2026-01-05 18:02:05 +01:00
mafiesto4 cf3bcc4549 Fix DDGI flickering on floors aligned to world axes
Apply a small bias to sample location and dither it a bit to smooth out.
2026-01-05 17:19:16 +01:00
mafiesto4 11ea889fa9 Refactor DDGI fallback radiance to use alpha for blending between fixed color and color at snapped location of the last cascade
This means artists don't need to adjust the value anymore as it can cover vista geometry with GI at last cascade borders.
2026-01-05 16:22:00 +01:00
mafiesto4 c5a28a5734 Refactor DDGI irradiance sampling when nearby probe is missing to use precomputed fallback probes
Also, insert fallback/dummy probes when there is no SDF nearby to have lighting in all cases.
This both improves sampling performance and fixes issues when sampling in areas far away from valid GI.
2026-01-05 12:04:02 +01:00
mafiesto4 6c79a17c7a Fix DDGI cascade placement when using large probes spacing
Revert fa38f0ac91 after b24d98df9e fixed the source of the problem
2026-01-03 20:57:17 +01:00
mafiesto4 b24d98df9e Fix DDGI cascades blending to be smoother 2026-01-03 00:48:36 +01:00
mafiesto4 400e2f1b0e Fix DDGI flickering on floors aligned to axis on value 0 (eg. floor) 2026-01-02 21:30:14 +01:00
mafiesto4 fa38f0ac91 Fix DDGI cascade offset towards bottom that was too intense making probes flicker 2025-12-20 23:44:56 +01:00
mafiesto4 0e76585709 Fix DDGI iradiance to use debanding by applying quantization error to reduce yellowish artifacts due to R11G11B10 format 2025-12-16 23:56:45 +01:00
mafiesto4 c0c9df49dc Optimize DDGI probes update to overlap both irradiance and distance data at once 2025-09-03 23:21:45 +02:00
mafiesto4 8fcbef863e Add GPUResourceMapMode.NoWait flag to control buffer data reading
c68b75a298
2025-07-30 08:42:26 +02:00
mafiesto4 9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
mafiesto4 3b3be75d94 Fix DDGI probes debug when using very large amount of probes 2024-09-23 20:31:54 +02:00
mafiesto4 63bee0c78d Add IndirectLightingIntensity to Sky for GI intensity control 2024-08-12 15:34:08 +02:00
mafiesto4 305bf653cf Add todo comments for future improvements to DDGI 2024-07-24 16:39:37 +02:00
mafiesto4 3aa8e67551 Add option for smooth DDGI cascades blending 2024-07-18 23:51:03 +02:00
mafiesto4 03898a064a Optimize DDGI probes border pixels to be copied within probe update, rather than via separate dispatch 2024-07-18 19:51:01 +02:00
mafiesto4 aeff147b6d Optimize and refactor DDGI to use linear attention per-probe to dynamically control ray count and blend speed
Probes will use lower ray count when behind the camera or not correlated with the view direction or far from geometry.
Probes nearby camera or with high instability in irradiance will maintain higher ray count.
Probes that use less rays will have slower blending to reduce artifacts.
Added probe instability, attention and stats debugging for devs.
2024-07-18 08:38:23 +02:00
mafiesto4 352913ba14 Add random per-probe rotation for rays tracing in DDGI 2024-07-11 14:48:24 +02:00
mafiesto4 00a9c48fec Optimize probes count multiplication in DDGI shader 2024-07-03 08:51:58 +02:00
mafiesto4 9c161121b3 Add Graphics::SpreadWorkload to disable graphics workloads amortization over several frames when debugging graphics perf 2024-06-19 14:03:55 +02:00
mafiesto4 6e0dd2064a Add nearby probes search to fill cells with missing GI data
#1614
2024-06-17 18:25:11 +02:00
mafiesto4 2f688892ea Fix DDGI probes scrolling to properly handle bigger scroll deltas 2024-06-13 17:04:29 +02:00
mafiesto4 0620310f4f Add improved Global Surface Atlas lighting at far cascades and cascade borders 2024-06-04 10:53:41 +02:00
mafiesto4 1e86eff2d3 Improve GPU constant buffers structures definitions to properly align on new Clang 2024-06-02 09:52:10 +02:00
mafiesto4 206ff89587 Add constant buffers alignment for data structures (16-byte boundaries) 2024-05-23 13:58:46 +02:00
mafiesto4 0cc6669cbd Reimplement cascaded shadow maps blending via dithering 2024-04-05 10:59:34 +02:00
mafiesto4 cdbb2cc813 Refactor shader structures naming with a prefix 2024-03-25 17:52:48 +01:00
mafiesto4 859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
mafiesto4 a7e428a21c Merge branch 'master' into 1.5
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GI/GlobalSurfaceAtlas.flax
#	Content/Shaders/TAA.flax
#	Content/Shaders/VolumetricFog.flax
#	Source/Editor/CustomEditors/Editors/ActorTagEditor.cs
#	Source/Engine/Core/Config/GraphicsSettings.cpp
#	Source/Engine/Engine/PostProcessEffect.cs
#	Source/Engine/Graphics/GPUResourcesCollection.cpp
#	Source/Engine/Graphics/GPUResourcesCollection.h
#	Source/Engine/Graphics/PostProcessBase.h
#	Source/FlaxEngine.Gen.cs
2023-01-10 15:37:55 +01:00
mafiesto4 9626e9bbb6 Update copyright year 2023-01-10 15:29:37 +01:00
mafiesto4 1cf6c5233e Refactor DDGI probes to use variable ray count depending on the probe location relative to the view frustum 2022-12-15 17:33:44 +01:00
mafiesto4 188428a7a9 Add RenderSetup and allow customizing it by gameplay and postfx 2022-12-14 14:03:59 +01:00
mafiesto4 b33ce8d264 Add pooled render targets naming for easier GPU memory usage debugging 2022-12-09 11:26:35 +01:00
mafiesto4 98c29c4a4e Optimize compilation time 2022-12-03 10:42:58 +01:00
mafiesto4 8a98f466c5 Use named events for GPU passes for CPU profiling usability 2022-11-01 12:50:17 +01:00
mafiesto4 9b816a321c Reduce DDGI probes distance limit to improve performance 2022-08-12 09:53:57 +02:00
mafiesto4 a2677a25a9 Improve env probes rendering if DDGI is enabled 2022-07-15 16:13:36 +02:00
mafiesto4 27515585db Improve Global Surface Atlas objects surfaces sampling 2022-06-30 15:14:43 +02:00
mafiesto4 2cd244fbd3 Reduce DDGI irradiance blending artifacts due to texture format precision issues 2022-06-29 15:19:54 +02:00
mafiesto4 d8e79101e7 Refactor Global Surface Atlas to not rewrite objects data and use indirection for faster culling 2022-06-27 16:07:54 +02:00
mafiesto4 282b9066b8 Improve DDGI quality 2022-06-24 16:17:32 +02:00
mafiesto4 a7b31fbf9b Update DDGI 1st cascade every 2nd frame to limit for a single cascade update per-frame 2022-06-23 16:59:13 +02:00
mafiesto4 b69e42b79c Fix initializing activated and scrolled DDGI probes 2022-06-23 14:51:36 +02:00
mafiesto4 4afb74c7b3 Optimize DDGI probes updating with active-only probes 2022-06-22 14:09:31 +02:00
mafiesto4 4637017707 Optimize thread group size for DDGI trace rays compute shader 2022-06-21 10:32:25 +02:00
mafiesto4 9cbaeb21f5 Add GI probes spacing setting 2022-06-20 10:09:09 +02:00
mafiesto4 5239a2b410 Optimize DDGI probes state data from R16G16B16A16_Float to R8G8B8A8_SNorm 2022-06-20 09:49:40 +02:00