153 Commits

Author SHA1 Message Date
mafiesto4 92a0a40d16 Add Global SDF Overdraw debug mode for content optimizations 2026-05-20 16:20:45 +02:00
mafiesto4 03126e1840 Fix missing objects when performing Global Surface Atlas defragmentation after failed insert 2026-05-19 14:02:35 +02:00
mafiesto4 b039e3779d Fix Global Surface Atlas tiles padding and position precision to have proper stability 2026-05-12 17:10:02 +02:00
mafiesto4 c17a9f653e Add minor improvements and adjust 3rd DDGI cascade for better world coverage 2026-05-07 16:38:15 +02:00
mafiesto4 b14c2cfc74 Optimize Global Surface Atlas full direct lighting redraw to copy whole emissive atlas at once 2026-05-04 18:11:01 +02:00
mafiesto4 0aecb35ab1 Fix Global Surface Atlas rasterization of objects with negative scale 2026-04-29 18:34:14 +02:00
mafiesto4 c4bb39aeac Improve Global Surface Atlas objects dirtying limit to pick the largers objects first 2026-04-29 17:52:51 +02:00
mafiesto4 61431a6400 Optimize Global Surface Atlas defragmentation with copying old atlas to avoid redrawing all objects 2026-04-29 17:19:40 +02:00
mafiesto4 d4da1d80d0 Optimize Global Surface Atlas with object draws limit per frame 2026-04-29 17:05:17 +02:00
mafiesto4 3bede1d6bc Optimize Global Surface Atlas updates distribution for subobjects (eg. foliage instances) 2026-04-28 22:21:38 +02:00
mafiesto4 578af12f2b Optimize Global Surface Atlas objects to cache shader data 2026-04-28 20:18:18 +02:00
mafiesto4 45a8d82a83 Merge remote-tracking branch 'origin/master' into 1.12
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GUI.flax
#	Flax.flaxproj
#	Source/Editor/Windows/AboutDialog.cs
#	Source/Engine/Serialization/Stream.cpp
#	Source/Shaders/GUICommon.hlsl
2026-03-13 08:09:16 +01:00
mafiesto4 ace84ae29f Add limit to max DDGI cascade updates per-frame to 2
#3963
2026-03-11 23:31:44 +01:00
mafiesto4 61b6aeb252 Fix missing DDGI on D3D11 when object counter readback buffer doesn't have data on time
(eg. during very fast rendering)
2026-01-28 14:04:43 +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 ce45fa3d54 Fix crash on Global Surface Atlas objects buffer building 2025-12-30 23:41:49 +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 fb07071e24 Restore Global Surface Atlas and DDGI on Apple platforms
#3797
2025-11-20 13:47:18 +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 f1c4fd464a Optimize GPU textures and buffers uploads with a batched memory barrier 2025-09-03 22:11:26 +02:00
mafiesto4 5c5341e346 Optimize Color Grading LUT to be cached if unchanged from the previous frame 2025-08-01 23:16:57 +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 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
mafiesto4 5f19538455 Add UpdateFlags to ISceneRenderingListener::UpdateActor for more contextual control overdirtying actors state in renderer data
Fixes issue of static shadow maps not refreshing when changing static flags of the model.
2024-09-29 22:03:46 +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 bc313c8630 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 20:00:39 +02:00
mafiesto4 305bf653cf Add todo comments for future improvements to DDGI 2024-07-24 16:39:37 +02:00
mafiesto4 6f3d1cdd0a Optimize Global Surface Atlas objects culling with shared thread group pre-cull 2024-07-24 11:46:20 +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 d5dd8e7ecf Optimize GlobalSurfaceAtlasPass tiles by sorting by size before inserting them into atlas 2024-07-08 16:43:26 +02:00
mafiesto4 082a5819cd Optimize GlobalSurfaceAtlasPass by ignoring GBuffer2 properties (diffuse-only surfaces) 2024-07-08 16:40:59 +02:00
mafiesto4 00a9c48fec Optimize probes count multiplication in DDGI shader 2024-07-03 08:51:58 +02:00
mafiesto4 567d5f70ab Merge remote-tracking branch 'origin/1.9' into 1.9 2024-07-02 00:58:25 +02:00
mafiesto4 08ef7c93ea Refactor draw calls drawing to use single objects buffer and better materials batching 2024-07-02 00:52:22 +02:00
mafiesto4 f4d4969650 Merge branch '1.9' of https://gitlab.flaxengine.com/flax/flaxengine into 1.9 2024-06-28 09:52:06 +02:00
mafiesto4 dbbc2b70bf Disable GlobalSurfaceAtlas on Mac due to GPU crashes in larges scenes 2024-06-28 09:43:18 +02:00
mafiesto4 8eaa635385 Minor tweaks to GlobalSA 2024-06-26 18:19:48 +02:00