Commit Graph

118 Commits

Author SHA1 Message Date
mafiesto4 bc36168318 Optimize Animated Model rendering with hardware instancing
All models are using the same global buffer for skinned bones which allows to share shader binding for instancing.
Refactor draw call for batching skinned mesh draws.
Remove `SkinnedMeshDrawData` and merge it into `AnimatedModel` internals.
2026-06-15 17:59:41 +02:00
mafiesto4 9a85ae7142 Add soft PCSS shadows on Ultra quality
Add new `SourceAngle` property to Directional light that controls PCSS penumbra size
2026-05-06 12:37:42 +02:00
mafiesto4 cbcfa4013b Add Graphics::MotionVectors::MinObjectScreenSize to skip too small objects from drawing motion vectors 2026-05-04 17:29:58 +02:00
mafiesto4 6cc0edf0eb Optimize shadows and depth rendering with instancing support for transparent shaders 2026-05-04 15:12:40 +02:00
mafiesto4 f7d8f36add Optimize draw calls batching and instancing with better sort keys generation and processing 2026-05-04 12:34:29 +02:00
mafiesto4 2e98300693 Add minor changes 2026-05-04 08:47:21 +02:00
mafiesto4 ce4ad8aa71 Optimize RendererAllocation by reducing fragmentation with operating on power-of-2 blocks 2026-04-28 21:55:52 +02:00
mafiesto4 4fd7f51fdf Optimize LightmapUVs to be stored already as Half4 to avoid runtime conversions during rendering 2026-04-27 21:53:11 +02:00
mafiesto4 d48d40fc41 Fix black fog bug on transparency when Volumetric Fog is disabled 2026-04-03 12:43:15 +02:00
mafiesto4 2fc95bdf57 Merge remote-tracking branch 'origin/master' into 1.12
# Conflicts:
#	Content/Editor/MaterialTemplates/Deformable.shader
#	Flax.flaxproj
#	Source/Engine/Content/Content.h
#	Source/Engine/Serialization/JsonTools.cpp
2026-04-01 17:14:21 +02:00
mafiesto4 8b383d4dbe Fix regression on Large Worlds build and bunch of warnings 2026-03-30 23:50:03 +02:00
mafiesto4 bb2ee7260f Optimize code in draw calls batching for shadow 2026-03-27 17:59:25 +01:00
mafiesto4 3cfa110a48 Merge remote-tracking branch 'origin/master' into 1.12
# Conflicts:
#	Source/Editor/Options/InterfaceOptions.cs
#	Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp
#	Source/Engine/Graphics/Graphics.cpp
#	Source/Engine/GraphicsDevice/Vulkan/CmdBufferVulkan.cpp
#	Source/Engine/GraphicsDevice/Vulkan/CmdBufferVulkan.h
#	Source/Engine/GraphicsDevice/Vulkan/Config.h
#	Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.cpp
#	Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.h
#	Source/Engine/GraphicsDevice/Vulkan/QueueVulkan.cpp
2026-03-10 15:08:43 +01:00
mafiesto4 5fb9cf3be1 Fix shadows from wireframe materials 2026-03-04 16:55:45 +01:00
mafiesto4 b191d3918e Fix rendering various visuals on WebGPU 2026-03-02 20:36:33 +01:00
mafiesto4 83bd1deafd Optimize shadow maps rendering by using new Graphics.Shadows.MinObjectPixelSize to skip sub-pixel objects 2026-02-23 16:53:17 +01:00
mafiesto4 f045b5b6b6 Merge remote-tracking branch 'origin/master' into 1.12
# Conflicts:
#	Content/Editor/Camera/M_Camera.flax
#	Content/Editor/CubeTexturePreviewMaterial.flax
#	Content/Editor/DebugMaterials/DDGIDebugProbes.flax
#	Content/Editor/DebugMaterials/SingleColor/Decal.flax
#	Content/Editor/DebugMaterials/SingleColor/Particle.flax
#	Content/Editor/DebugMaterials/SingleColor/Surface.flax
#	Content/Editor/DebugMaterials/SingleColor/SurfaceAdditive.flax
#	Content/Editor/DebugMaterials/SingleColor/Terrain.flax
#	Content/Editor/DefaultFontMaterial.flax
#	Content/Editor/Gizmo/FoliageBrushMaterial.flax
#	Content/Editor/Gizmo/Material.flax
#	Content/Editor/Gizmo/MaterialWire.flax
#	Content/Editor/Gizmo/SelectionOutlineMaterial.flax
#	Content/Editor/Gizmo/VertexColorsPreviewMaterial.flax
#	Content/Editor/Highlight Material.flax
#	Content/Editor/Icons/IconsMaterial.flax
#	Content/Editor/IesProfilePreviewMaterial.flax
#	Content/Editor/MaterialTemplates/Features/ForwardShading.hlsl
#	Content/Editor/Particles/Particle Material Color.flax
#	Content/Editor/Particles/Smoke Material.flax
#	Content/Editor/SpriteMaterial.flax
#	Content/Editor/Terrain/Circle Brush Material.flax
#	Content/Editor/Terrain/Highlight Terrain Material.flax
#	Content/Editor/TexturePreviewMaterial.flax
#	Content/Editor/Wires Debug Material.flax
#	Content/Engine/DefaultDeformableMaterial.flax
#	Content/Engine/DefaultMaterial.flax
#	Content/Engine/DefaultRadialMenu.flax
#	Content/Engine/DefaultTerrainMaterial.flax
#	Content/Engine/SingleColorMaterial.flax
#	Content/Engine/SkyboxMaterial.flax
#	Flax.flaxproj
#	Source/Engine/Graphics/Materials/MaterialShader.h
#	Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
#	Source/Engine/Renderer/RenderList.h
#	Source/Shaders/Reflections.shader
#	Source/Shaders/ReflectionsCommon.hlsl
#	Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs
2026-02-11 00:20:38 +01:00
mafiesto4 55f73b6cf7 Optimize Animated Models bones updating with a batches memory pass and manual resource transitions batch
#3917 #3827
2026-02-09 23:03:25 +01:00
mafiesto4 27dd1bda25 Optimize GPUVertexLayout::Get to not use mutex on lookup read
#3917
2026-02-06 21:57:16 +01:00
mafiesto4 4afd9fd8df Optimize Animated Model bones buffer flushing with delayed draw action to reduce lock contention
#3917 #3827
2026-02-06 13:27:53 +01:00
mafiesto4 70b324cdec Optimize included header usage 2026-02-06 09:11:55 +01:00
mafiesto4 fa428e343b Add dithering to Volumetric Fog to reduce aliasing 2026-01-28 08:39:56 +01:00
mafiesto4 a9bddfa784 Fix Volumetric Fog sampling to use the same code path for depth slices conversion 2026-01-27 23:24:47 +01:00
mafiesto4 18778aa511 **Add Box Projection to Environment Probe** for better indoor areas 2026-01-14 09:49:01 +01:00
mafiesto4 5c81c71116 Move constant buffer init for instanced draws only, others do it in all paths 2025-12-09 09:51:53 +01:00
mafiesto4 56066a3212 Porting to a famous blue platform 2025-12-08 14:41:55 -08:00
mafiesto4 361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
mafiesto4 1f56c75821 Minor fixes 2025-09-09 15:26:03 +02:00
mafiesto4 44e70692a2 Fix render memory alignment issues to prevent crashes on Android 2025-09-06 23:36:54 +02:00
mafiesto4 212b0de29b Add RenderListAlloc to simplify rendering memory allocations 2025-09-03 13:00:28 +02:00
mafiesto4 5a2555f845 Improve cdb09847ec and 499ef51875 to swap key bits during sorting
#2271
2025-09-02 22:30:50 +02:00
mafiesto4 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
mafiesto4 2a9260ddd5 Optimize emitters to cull shadow passes sorting and drawing 2025-08-07 23:49:21 +02:00
mafiesto4 d4355e31d8 Optimize GPU particles drawing with batched indirect args setup before sorting 2025-08-07 18:41:58 +02:00
mafiesto4 959371a995 Fix particles regression on DirectX 2025-08-06 23:39:46 +02:00
mafiesto4 cf9c203855 Various optimizations 2025-08-06 18:48:18 +02:00
mafiesto4 b1710c4d01 Add async particles drawing (GPU emitters are sync) 2025-08-05 22:53:09 +02:00
mafiesto4 1a88fefd76 Optimize CPU particles drawing to support async 2025-08-05 09:03:47 +02:00
mafiesto4 3abbf08f1f Optimize foliage rendering with concurrent arena allocator 2025-07-08 22:18:00 +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 1b97e49ed9 Fix shadow maps rendering regression bug 2025-01-11 22:45:18 +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
mafiesto4 2ad9c7f4d5 Fix Skybox rendering regression
#2943
2024-09-24 23:01:13 +02:00
mafiesto4 499ef51875 Fix draw calls sorting to favor distance over geometry and material
#2271 #2306
2024-08-27 16:01:46 +02:00
mafiesto4 fb2af0e0e7 Fix regression in Sort Key usage 2024-08-22 18:49:03 +02:00
mafiesto4 bb00653645 Fix regression in shadow maps rendering batching to ignore transparent materials due to opacity usage 2024-08-22 17:49:12 +02:00
mafiesto4 bc313c8630 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 20:00:39 +02:00
mafiesto4 117178f547 Fix shader resource usage warning when drawing grid gizmo after selection outline
#2808
2024-08-05 18:18:02 +02:00
mafiesto4 6fbf4a6aac Optimize draw calls sorting and objects buffer building to be async 2024-07-02 16:07:09 +02:00