Commit Graph

215 Commits

Author SHA1 Message Date
mafiesto4 4fd6343fb9 Fix missing memory barrier on particle indirect args building to ensure buffer copies are done afetr whole buffer update ends 2025-08-10 16:04:24 +02:00
mafiesto4 ff3d785483 Optimize GPU particles simulation, sorting and drawing with better resource transition barriers 2025-08-09 23:59:52 +02:00
mafiesto4 3907bc4957 Optimize sorted particle indices format to 16-bit for small emitters 2025-08-08 18:46:10 +02:00
mafiesto4 854f3acd4c Optimize GPU particles Bitonic sort to use separate buffers for indices and keys to avoid additional buffer copy 2025-08-08 18:24:44 +02:00
mafiesto4 519a9c0a14 Add direct dispatch for Bitonic Sort when using small input buffer 2025-08-08 17:03:39 +02:00
mafiesto4 0ea555b041 Optimize GPU Particles simulation to perform memory buffer copies/updates before dispatch 2025-08-08 16:25:09 +02:00
mafiesto4 90d1e63b58 Add minor optimizations to particles drawing 2025-08-08 13:11:05 +02:00
mafiesto4 9fabc1028a Optimize GPU particles indirect args building with a single batched upload of default data 2025-08-07 23:51:02 +02:00
mafiesto4 2a9260ddd5 Optimize emitters to cull shadow passes sorting and drawing 2025-08-07 23:49:21 +02:00
mafiesto4 3d84380175 Optimize particles sorting by splitting key generation and sorting to reduce CS switches 2025-08-07 19:09:58 +02:00
mafiesto4 545df6ce35 Add profiler event to GPU particles indirect args setup 2025-08-07 18:57:39 +02:00
mafiesto4 d4355e31d8 Optimize GPU particles drawing with batched indirect args setup before sorting 2025-08-07 18:41:58 +02:00
mafiesto4 3ffb067e55 Optimize Particles drawing to use a whole RenderContextBatch 2025-08-07 09:27:28 +02:00
mafiesto4 cf9c203855 Various optimizations 2025-08-06 18:48:18 +02:00
mafiesto4 a5838f739d Optimize GPU particles indirect args building code 2025-08-05 23:01:07 +02:00
mafiesto4 b1710c4d01 Add async particles drawing (GPU emitters are sync) 2025-08-05 22:53:09 +02:00
mafiesto4 761ea094d6 Optimize render module indices data 4 times 2025-08-05 11:50:26 +02:00
mafiesto4 8e043e533e Optimize SpriteRenderer to lazy-init 2025-08-05 11:02:03 +02:00
mafiesto4 1a88fefd76 Optimize CPU particles drawing to support async 2025-08-05 09:03:47 +02:00
mafiesto4 abe496fe12 Fix crash on particles sorting memory access 2025-08-04 10:31:52 +02:00
mafiesto4 349547f66c Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Source/Engine/Particles/Particles.cpp
2025-07-14 18:35:53 +02:00
mafiesto4 10e9aee8ce Add particle data layout debugger tab 2025-07-14 10:28:43 +02:00
mafiesto4 3e82e550f3 Add option for debug shapes drawing for particle emitters
#3267
2025-07-11 23:00:41 +02:00
mafiesto4 d1c43ec1fe Merge remote-tracking branch 'origin/master' into 1.11 2025-06-25 10:48:11 +02:00
mafiesto4 c57a1a7205 Fix particle emitters to wait for used textures to be loaded and streamed in for proper usage in a graph 2025-06-23 09:31:58 +02:00
mafiesto4 867ae2ceaa Add Texture Size node to particles 2025-06-23 09:31:15 +02:00
mafiesto4 986693757c Merge remote-tracking branch 'origin/master' into 1.11 2025-06-16 22:46:17 +02:00
mafiesto4 2f02ec52ed Cleanup code
#3546
2025-06-15 20:48:19 +02:00
Zode 27ac755bbe Make particle emitter editor window source code button disable itself is no source code is available 2025-06-11 23:15:11 +03:00
mafiesto4 73c30d3d89 Optimize asset references to support direct registration to reduce Delegate memory allocations and overhead 2025-06-08 00:58:15 +02:00
mafiesto4 f462a2187f Merge branch 'master' into 1.11 2025-06-05 18:03:17 +02:00
mafiesto4 b51ba58063 Fix crash on invalid particle data to be a soft check instead 2025-06-02 14:56:51 +02:00
mafiesto4 c639a3103c Add memory profiling events to the main areas of the engine 2025-05-22 04:47:01 +02:00
mafiesto4 9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
mafiesto4 2ab9adab24 Merge remote-tracking branch 'origin/master' into 1.10 2025-02-24 23:27:56 +01:00
mafiesto4 937d369856 Fix crash in particles system when assets gets loading/unloaded while async jobs are active 2025-02-18 23:27:49 +01:00
mafiesto4 a6fb651ff4 Merge remote-tracking branch 'origin/master' into 1.10
# Conflicts:
#	Source/Engine/Graphics/Materials/MaterialShader.h
2025-02-18 09:19:59 +01:00
mafiesto4 015c4ab475 Fix memory leak in particle buffers recycling
#3152
2025-02-17 23:25:40 +01:00
mafiesto4 53ba5968fd Fix missing default value usage on GPU particle shape rotation and simplify CPU code
#3104
2025-01-27 11:42:59 +01:00
mafiesto4 80a44b5f5c Remove old code 2025-01-24 11:08:31 +01:00
mafiesto4 8a7ceef288 Add content deprecation system that auto-saves assets in Editor that use old data format 2025-01-20 23:46:49 +01:00
mafiesto4 6111f67e33 Add ToSpan for MemoryWriteStream and simplify code with it 2025-01-16 17:35:28 +01:00
mafiesto4 90ba7f4a92 Mark CommonValue as deprecated to generate warnings in old code 2025-01-13 18:25:26 +01:00
mafiesto4 b71f803554 Fix regression in particles 2025-01-11 22:45:04 +01:00
mafiesto4 edaed7bda1 Add missing layout for ribbon vertex buffer 2025-01-07 16:12:11 +01:00
mafiesto4 db4d7d2a05 **Refactor meshes format to support custom vertex layouts and new flexible api to access mesh data**
#3044 #2667
2025-01-06 22:47:19 +01:00
mafiesto4 933fac6c13 Add Slice to Span and sue it to make code cleaner 2025-01-05 17:41:27 +01:00
mafiesto4 668f3fa68d Update read and write streaming api to use the newest format 2024-12-29 23:00:40 +01: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
Tryibion 873491eca2 Fix CPU particle code. 2024-12-12 21:07:00 -06:00