Commit Graph

123 Commits

Author SHA1 Message Date
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
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
Wojtek Figat
3b3be75d94 Fix DDGI probes debug when using very large amount of probes 2024-09-23 20:31:54 +02:00
Wojtek Figat
63bee0c78d Add IndirectLightingIntensity to Sky for GI intensity control 2024-08-12 15:34:08 +02:00
Wojtek Figat
bc313c8630 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 20:00:39 +02:00
Wojtek Figat
305bf653cf Add todo comments for future improvements to DDGI 2024-07-24 16:39:37 +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
d5dd8e7ecf Optimize GlobalSurfaceAtlasPass tiles by sorting by size before inserting them into atlas 2024-07-08 16:43:26 +02:00
Wojtek Figat
082a5819cd Optimize GlobalSurfaceAtlasPass by ignoring GBuffer2 properties (diffuse-only surfaces) 2024-07-08 16:40:59 +02:00
Wojtek Figat
00a9c48fec Optimize probes count multiplication in DDGI shader 2024-07-03 08:51:58 +02:00
Wojtek Figat
567d5f70ab Merge remote-tracking branch 'origin/1.9' into 1.9 2024-07-02 00:58:25 +02:00
Wojtek Figat
08ef7c93ea Refactor draw calls drawing to use single objects buffer and better materials batching 2024-07-02 00:52:22 +02:00
Wojtek Figat
f4d4969650 Merge branch '1.9' of https://gitlab.flaxengine.com/flax/flaxengine into 1.9 2024-06-28 09:52:06 +02:00
Wojtek Figat
dbbc2b70bf Disable GlobalSurfaceAtlas on Mac due to GPU crashes in larges scenes 2024-06-28 09:43:18 +02:00
Wojtek Figat
8eaa635385 Minor tweaks to GlobalSA 2024-06-26 18:19:48 +02:00
Wojtek Figat
a1c251c3b7 Add various optimizations to Global Surface Atlas 2024-06-24 19:01:35 +02:00
Wojtek Figat
8190d7f171 Optimize Global Surface Atlas setup and objects buffer writing to be async 2024-06-24 13:15:45 +02:00
Wojtek Figat
3b3cd5ade4 Optimize Global Surface Atlas defragmenting to just reset tiles, not whole objects list 2024-06-21 23:01:32 +02:00
Wojtek Figat
4d0d08f245 Optimize Global Surface Atlas drawing with async job system 2024-06-21 17:55:02 +02:00
Wojtek Figat
c119750896 Fix RectAtlas regression 2024-06-21 16:24:47 +02:00
Wojtek Figat
8e49a35e0e Refactor RectPack into new RectPackNode and RectPackAtlas that uses more optimized memory allocations 2024-06-20 15:26:58 +02:00
Wojtek Figat
9c161121b3 Add Graphics::SpreadWorkload to disable graphics workloads amortization over several frames when debugging graphics perf 2024-06-19 14:03:55 +02:00
ExMatics HydrogenC
9062c04ef0 Complete sdf reflections 2024-06-18 21:25:12 +08:00
Wojtek Figat
7f2464684a Fix single-frame DDGI black artifacts when Global Surface Atlas got defragmented 2024-06-18 14:17:50 +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
e3f0991805 Optimize Global Surface Atlas drawing when atlas is full 2024-06-13 23:02:20 +02:00
Wojtek Figat
b760dcdb58 Fix Global Surface Atlas flickering in scenes with lots of objects 2024-06-13 18:10:18 +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
0620310f4f Add improved Global Surface Atlas lighting at far cascades and cascade borders 2024-06-04 10:53:41 +02:00
Wojtek Figat
1e86eff2d3 Improve GPU constant buffers structures definitions to properly align on new Clang 2024-06-02 09:52:10 +02:00
Wojtek Figat
182d6d8602 Fix regression in missing shadows inside Global Surface Atals 2024-05-23 21:51:57 +02:00
Wojtek Figat
206ff89587 Add constant buffers alignment for data structures (16-byte boundaries) 2024-05-23 13:58:46 +02:00
Wojtek Figat
0cc6669cbd Reimplement cascaded shadow maps blending via dithering 2024-04-05 10:59:34 +02:00
Wojtek Figat
61323f8526 Refactor shadows rendering to use Shadow Map Atlas 2024-04-04 12:54:07 +02:00
Wojtek Figat
5c356ec22a Fix Global Surface Atlas defragmentation flicker when atlas it nearly full 2024-03-26 16:50:58 +01:00
Wojtek Figat
4ab572426d Various renamings 2024-03-26 14:27:10 +01:00
Wojtek Figat
cdbb2cc813 Refactor shader structures naming with a prefix 2024-03-25 17:52:48 +01:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
f0865c3989 Fix crash in Global Surface Atlas when dirty object is missing 2023-11-16 14:18:29 +01:00
Wojtek Figat
5e6f33ff1e Fix stability of Global Surface Atlas to smooth objects culling buffer capacity over time 2023-03-01 15:50:40 +01:00
Wojtek Figat
3b797ab1dc Prevent artifacts in Global Surface Atlas when close to its capacity 2023-02-19 17:36:44 +01:00
Wojtek Figat
679757942f Fix GPU Buffer Map/Unmap pair to prevent stall if map fails on DX11
#942
2023-02-17 16:28:48 +01:00
Wojtek Figat
3636cd6940 Fix render target memory leak in Global Surface Atlas debug 2023-02-09 13:30:27 +01:00
Wojtek Figat
c46ea56af2 Rename DepthTestEnable to DepthEnable in Graphics PSO to match actual logic 2023-01-31 14:04:00 +01:00
Wojtek Figat
f127bbebe1 Refactor enum flags with __underlying_type and new EnumHasAnyFlags/EnumHasAllFlags
Fixes #832
Closes #886
2023-01-15 12:44:39 +01:00