Commit Graph

94 Commits

Author SHA1 Message Date
Wojtek Figat
5c81c71116 Move constant buffer init for instanced draws only, others do it in all paths 2025-12-09 09:51:53 +01:00
Wojtek Figat
56066a3212 Porting to a famous blue platform 2025-12-08 14:41:55 -08:00
Wojtek Figat
361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
Wojtek Figat
1f56c75821 Minor fixes 2025-09-09 15:26:03 +02:00
Wojtek Figat
44e70692a2 Fix render memory alignment issues to prevent crashes on Android 2025-09-06 23:36:54 +02:00
Wojtek Figat
212b0de29b Add RenderListAlloc to simplify rendering memory allocations 2025-09-03 13:00:28 +02:00
Wojtek Figat
5a2555f845 Improve cdb09847ec and 499ef51875 to swap key bits during sorting
#2271
2025-09-02 22:30:50 +02:00
Wojtek Figat
cdb09847ec Fix draw calls batching to ignore distance in opaque passes for better draw calls instancing
#2271
2025-08-13 21:30:18 +02:00
Wojtek Figat
2a9260ddd5 Optimize emitters to cull shadow passes sorting and drawing 2025-08-07 23:49:21 +02:00
Wojtek Figat
d4355e31d8 Optimize GPU particles drawing with batched indirect args setup before sorting 2025-08-07 18:41:58 +02:00
Wojtek Figat
959371a995 Fix particles regression on DirectX 2025-08-06 23:39:46 +02:00
Wojtek Figat
cf9c203855 Various optimizations 2025-08-06 18:48:18 +02:00
Wojtek Figat
b1710c4d01 Add async particles drawing (GPU emitters are sync) 2025-08-05 22:53:09 +02:00
Wojtek Figat
1a88fefd76 Optimize CPU particles drawing to support async 2025-08-05 09:03:47 +02:00
Wojtek Figat
3abbf08f1f Optimize foliage rendering with concurrent arena allocator 2025-07-08 22:18:00 +02:00
Wojtek Figat
c639a3103c Add memory profiling events to the main areas of the engine 2025-05-22 04:47:01 +02:00
Wojtek Figat
9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
Wojtek Figat
1b97e49ed9 Fix shadow maps rendering regression bug 2025-01-11 22:45:18 +01: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
2ad9c7f4d5 Fix Skybox rendering regression
#2943
2024-09-24 23:01:13 +02:00
Wojtek Figat
499ef51875 Fix draw calls sorting to favor distance over geometry and material
#2271 #2306
2024-08-27 16:01:46 +02:00
Wojtek Figat
fb2af0e0e7 Fix regression in Sort Key usage 2024-08-22 18:49:03 +02:00
Wojtek Figat
bb00653645 Fix regression in shadow maps rendering batching to ignore transparent materials due to opacity usage 2024-08-22 17:49:12 +02:00
Wojtek Figat
bc313c8630 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 20:00:39 +02:00
Wojtek Figat
117178f547 Fix shader resource usage warning when drawing grid gizmo after selection outline
#2808
2024-08-05 18:18:02 +02:00
Wojtek Figat
6fbf4a6aac Optimize draw calls sorting and objects buffer building to be async 2024-07-02 16:07:09 +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
78f3248ac9 Refactor SortOrder to use int8 instead of int16 due to performance reasons (more efficent sort keys packing in rendering) 2024-06-29 13:54:02 +02:00
Wojtek Figat
516ed3e9a0 Cleanup some rendering code 2024-06-28 21:21:17 +02:00
Wojtek Figat
138e17508b Add profile event to hardware instancing building and insert draw count into profiler zone data 2024-06-27 21:03:52 +02:00
Wojtek Figat
b545d8800c Optimize job system memory allocations 2024-06-24 23:19:01 +02:00
Wojtek Figat
60e8d73079 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Engine/Renderer/RenderList.cpp
#	Source/Engine/Renderer/RenderList.h
2024-04-17 09:58:59 +02:00
Wojtek Figat
794b007170 Optimize draw calls sorting in opaque passes 2024-04-16 17:18:18 +02:00
Wojtek Figat
3e475398e7 Optimize draw calls batching sorting with Merge Sort 2024-04-12 16:02:37 +02:00
Wojtek Figat
1e77f3aa5a Optimize DrawBatch for faster sorting 2024-04-12 13:46:20 +02:00
Wojtek Figat
eac1d19a09 Add additional StaticFlagsCompare to Render View for dynamic or static only drawing 2024-04-11 10:21:13 +02:00
Wojtek Figat
708fba5136 Add variable rate update for shadow maps atlas based on distance to light 2024-04-08 00:04:57 +02:00
Wojtek Figat
61323f8526 Refactor shadows rendering to use Shadow Map Atlas 2024-04-04 12:54:07 +02:00
Wojtek Figat
f7470af42d Optimize depth pass rendering to batch simple materials together 2024-03-26 18:04:08 +01:00
Wojtek Figat
55af307c43 Optimize env probes data storage in renderer 2024-03-26 15:01:12 +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
0e00f1e0eb Refactor lights data in renderer storage 2024-03-25 17:13:40 +01:00
Wojtek Figat
3939444e05 Fix potential issues with shader resources bindings when using custom post processing effect 2024-03-20 12:24:35 +01:00
Wojtek Figat
cf3145273f Fix TAA jitter in post-resolve passes such as editor primitives and debug gizmos 2024-03-19 16:02:50 +01:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
c8dd2c045c Simplify sorting arrays code 2023-12-01 13:57:34 +01:00
Wojtek Figat
98d5769558 Fix performance bug in Development/Release builds due to incorrect draw calls batching (uninitialized memory) 2023-09-28 10:59:09 +02:00
Wojtek Figat
8cd8ae93c3 Add ObjectRadius to DrawCall to properly cull local lights and env probes in Forward Shading 2023-09-20 15:01:02 +02: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