Commit Graph

79 Commits

Author SHA1 Message Date
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
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
0595f38fe4 Fix threading issues with GPU buffers mapping 2023-01-09 22:41:06 +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
Wojciech Figat
188428a7a9 Add RenderSetup and allow customizing it by gameplay and postfx 2022-12-14 14:03:59 +01:00
Wojciech Figat
ee019510ca Remove old RT1_FloatRGB and RT2_FloatRGB in favor pooled render targets 2022-12-13 11:52:51 +01:00
Wojciech Figat
b33ce8d264 Add pooled render targets naming for easier GPU memory usage debugging 2022-12-09 11:26:35 +01:00
Wojtek Figat
98c29c4a4e Optimize compilation time 2022-12-03 10:42:58 +01:00
Wojtek Figat
9c7da16c1a Add multi-threaded scene rendering with Job System 2022-11-06 20:44:43 +01:00
Wojtek Figat
f37ed16270 Optimize GPUBuffer on D3D11 to not stall CPU on reading staging readback buffer 2022-11-01 21:31:42 +01:00
Wojtek Figat
a0a3457733 Add more profiling data for Tracy 2022-11-01 15:46:21 +01:00
Wojtek Figat
8a98f466c5 Use named events for GPU passes for CPU profiling usability 2022-11-01 12:50:17 +01:00
Wojtek Figat
eb52d333ae Refactor scene rendering to use batched culling for main view and shadow projections 2022-10-28 17:53:21 +02:00
Wojtek Figat
e217d5e79b Refactor scene rendering to separate drawable actors 2022-10-28 17:53:21 +02:00
Wojciech Figat
9b816a321c Reduce DDGI probes distance limit to improve performance 2022-08-12 09:53:57 +02:00
Wojciech Figat
d8c224112b Add Global Surface Atlas rendering for Foliage 2022-08-11 11:33:41 +02:00
Wojciech Figat
6a1378ebdb Fix Global Surface Atlas drawing of objects that are hidden in GBuffer pass but should be visible for GI 2022-08-09 14:37:29 +02:00
Wojtek Figat
a6e9abfceb Add UseAlpha to RenderBuffers for pass-though renderer with alpha channel 2022-08-01 22:58:22 +02:00
Wojciech Figat
a2677a25a9 Improve env probes rendering if DDGI is enabled 2022-07-15 16:13:36 +02:00
Wojciech Figat
0ba1c124f7 Add Global Surface Atlas missing surface data debug visualization 2022-07-08 16:43:25 +02:00
Wojciech Figat
4007c5e29c Add BounceIntensity to Global Illumination settings 2022-06-30 15:27:31 +02:00
Wojciech Figat
27515585db Improve Global Surface Atlas objects surfaces sampling 2022-06-30 15:14:43 +02:00
Wojciech Figat
2cd244fbd3 Reduce DDGI irradiance blending artifacts due to texture format precision issues 2022-06-29 15:19:54 +02:00
Wojciech Figat
9fa2a5ff93 Fix compilation 2022-06-29 09:14:16 +02:00
Wojtek Figat
27d266546e Various fixes and improvements for large worlds rendering 2022-06-28 20:26:01 +02:00
Wojtek Figat
b1640515c4 Merge remote-tracking branch 'origin/gi'
# Conflicts:
#	Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp
2022-06-28 18:16:28 +02:00
Wojciech Figat
fe6226b276 Minor tweaks 2022-06-28 16:07:34 +02:00
Wojciech Figat
df691e62f8 Various improvements to Global Surface Atlas sampling 2022-06-28 14:10:01 +02:00
Wojciech Figat
443ce106e2 Optimize Global Surface Atlas objects lighting to be less frequent with caching for static lights and objects 2022-06-28 10:38:51 +02:00
Wojciech Figat
d5a529e00a Optimize Global Surface Atlas objects culling to cache up to 32 objects locally per-thread 2022-06-27 16:31:39 +02:00
Wojciech Figat
d8e79101e7 Refactor Global Surface Atlas to not rewrite objects data and use indirection for faster culling 2022-06-27 16:07:54 +02:00
Wojciech Figat
282b9066b8 Improve DDGI quality 2022-06-24 16:17:32 +02:00
Wojciech Figat
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
Wojciech Figat
b69e42b79c Fix initializing activated and scrolled DDGI probes 2022-06-23 14:51:36 +02:00
Wojciech Figat
4afb74c7b3 Optimize DDGI probes updating with active-only probes 2022-06-22 14:09:31 +02:00
Wojciech Figat
4637017707 Optimize thread group size for DDGI trace rays compute shader 2022-06-21 10:32:25 +02:00
Wojtek Figat
f3bd0e469c Fixes 2022-06-20 18:14:38 +02:00
Wojciech Figat
9cbaeb21f5 Add GI probes spacing setting 2022-06-20 10:09:09 +02:00
Wojciech Figat
5239a2b410 Optimize DDGI probes state data from R16G16B16A16_Float to R8G8B8A8_SNorm 2022-06-20 09:49:40 +02:00
Wojciech Figat
41a58f3f2c Merge remote-tracking branch 'origin/master' into gi 2022-06-20 08:26:06 +02:00
Wojciech Figat
1db65ac882 Add GlobalIllumination to debug GI probes 2022-06-17 15:07:58 +02:00
Wojciech Figat
9f99d74e53 Adjust DDGI quality and optimize 2022-06-17 14:32:07 +02:00
Wojciech Figat
2e06d1ce2a Refactor Global SDF to use a single texture for all cascades 2022-06-17 10:41:04 +02:00
Wojtek Figat
9ba117cde3 Refactor OrientedBoundingBox to use Transform for transformation instead of Matrix (for large worlds) 2022-06-16 10:51:59 +02:00