Commit Graph

96 Commits

Author SHA1 Message Date
Wojtek Figat
32e725392b Optimize inactive probes update in DDGI with faster Jump Flood instead of Flood Fill 2026-01-06 00:01:17 +01:00
Wojtek Figat
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
Wojtek Figat
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
Wojtek Figat
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
Wojtek Figat
b24d98df9e Fix DDGI cascades blending to be smoother 2026-01-03 00:48:36 +01:00
Wojtek Figat
37df16a3e4 Refactor DDGI irradiance filtering for smoother and more accurate lighting 2025-12-31 00:19:51 +01:00
Wojtek Figat
c2c92eba82 Adjust 0e76585709 to not affect depth 2025-12-19 00:08:24 +01:00
Wojtek Figat
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
Wojtek Figat
f280412ef4 Remove NeedsHitNormal/HitNormal feature from GlobalSDFTrace to simplify code 2025-12-16 16:04:56 +01:00
Wojtek Figat
69173803bf Fix shader warning on Vulkan 2025-11-13 22:09:11 +01:00
Wojtek Figat
59643b2fb9 Add improved local-light shadow raytracing by starting ray from light, not surface 2025-11-06 21:01:02 +01:00
Wojtek Figat
9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
Wojtek Figat
b3f37ca041 Refactor Vertex Shader input vertex layout to use GPUVertexLayout defined on Vertex Buffer rather than Vertex Shader
#3044 #2667
2024-12-15 22:10:45 +01:00
Wojtek Figat
f025f923ae Increase limit on Global Surface Atlas objects culling to prevent artifacts in dense scenes 2024-08-12 15:35:29 +02:00
Wojtek Figat
63bee0c78d Add IndirectLightingIntensity to Sky for GI intensity control 2024-08-12 15:34:08 +02:00
Wojtek Figat
e9144ff834 Fix blending between DDGI cascades on the end of the range 2024-07-24 12:21:50 +02:00
Wojtek Figat
6f3d1cdd0a Optimize Global Surface Atlas objects culling with shared thread group pre-cull 2024-07-24 11:46:20 +02:00
Wojtek Figat
3aa8e67551 Add option for smooth DDGI cascades blending 2024-07-18 23:51:03 +02:00
Wojtek Figat
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
Wojtek Figat
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
Wojtek Figat
352913ba14 Add random per-probe rotation for rays tracing in DDGI 2024-07-11 14:48:24 +02:00
Wojtek Figat
6b06f1dbcf Optimize Global SDF to use 8-bit storage (50% less memory usage) 2024-07-10 13:22:25 +02:00
Wojtek Figat
082a5819cd Optimize GlobalSurfaceAtlasPass by ignoring GBuffer2 properties (diffuse-only surfaces) 2024-07-08 16:40:59 +02:00
Wojtek Figat
ae2b3d361e Fix shader warning 2024-07-08 12:56:31 +02:00
Wojtek Figat
00a9c48fec Optimize probes count multiplication in DDGI shader 2024-07-03 08:51:58 +02:00
Wojtek Figat
0d48ac8fc2 Add smoother DDGi probe relocation when old position is visible from new position 2024-06-18 15:05:21 +02:00
Wojtek Figat
2c4de9878e Improve DDGI cascade transitions to be smoother 2024-06-18 13:22:10 +02:00
Wojtek Figat
611961cefe Improve DDGI cascade selection by using biased world position 2024-06-18 10:52:28 +02:00
Wojtek Figat
6e0dd2064a Add nearby probes search to fill cells with missing GI data
#1614
2024-06-17 18:25:11 +02:00
Wojtek Figat
2f688892ea Fix DDGI probes scrolling to properly handle bigger scroll deltas 2024-06-13 17:04:29 +02:00
Wojtek Figat
5c5fad6bb4 Refactor DDGI probe relocation algorithm to result in smoother and more precise placement
#754 #1614
2024-06-13 17:03:23 +02:00
Wojtek Figat
0620310f4f Add improved Global Surface Atlas lighting at far cascades and cascade borders 2024-06-04 10:53:41 +02:00
Wojtek Figat
3c5d2f8b47 Skip ddgi probes data preload to reduce memory wait time 2024-06-03 22:29:00 +02:00
Wojtek Figat
aad428210d Improve DDGI quality by not using lower-res cascade fallback 2024-06-02 23:02:20 +02:00
Wojtek Figat
f326fa611f Minor sdf imporvements 2024-05-24 12:41:39 +02:00
Wojtek Figat
182d6d8602 Fix regression in missing shadows inside Global Surface Atals 2024-05-23 21:51:57 +02:00
Wojtek Figat
61323f8526 Refactor shadows rendering to use Shadow Map Atlas 2024-04-04 12:54:07 +02:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
fe97429df8 Minor fix 2023-02-18 22:23:59 +01:00
Wojtek Figat
c878c613c7 Update consoles building 2023-02-05 23:48:11 +01:00
Wojtek Figat
ab51ecddb4 Add RenderBuffers::LinkedCustomBuffers to reuse main game viewport rendered state (eg. GI) in sub-rendered view 2023-02-01 11:05:29 +01:00
Wojciech Figat
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
Wojciech Figat
9626e9bbb6 Update copyright year 2023-01-10 15:29:37 +01:00
Wojciech Figat
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
Wojtek Figat
8885412350 Fix SSR shader on D3D10 2022-08-31 23:16:29 +02:00
Wojciech Figat
9b816a321c Reduce DDGI probes distance limit to improve performance 2022-08-12 09:53:57 +02:00
Wojciech Figat
22209108c9 Fix Global Surface Atlas on Vulkan 2022-07-29 16:14:07 +02:00
Wojciech Figat
cfb98a39b0 Reduce DDGI flickering in certain lighting scenarios 2022-07-26 13:18:09 +02:00
Wojciech Figat
a2677a25a9 Improve env probes rendering if DDGI is enabled 2022-07-15 16:13:36 +02:00
Wojciech Figat
85f351663b Add Transparent Lighting Modes for material with option to use non-directional shading 2022-07-14 09:22:32 +02:00