Commit Graph

73 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 7a569d4f14 Add selection drawing and picking gizmo to Foliage Types editing tab 2026-04-30 18:19:12 +02:00
mafiesto4 ad46b74f6a Optimize foliage drawing by caching per-instance world matrix 2026-04-28 12:50:19 +02:00
mafiesto4 47a9d76938 Optimize foliage drawing memory access a bit more 2026-04-28 11:48:52 +02:00
mafiesto4 f4905cfccc Optimize foliage rendering with less cache misses 2026-04-28 00:24:05 +02:00
mafiesto4 bf9a015959 Optimize FoliageInstance size to cut down memory by and reduce cache misses when drawing foliage 2026-04-27 22:54:11 +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 f5e483069d Optimize CPU rendering of shadowed foliage by splitting draw contexts into separate async jobs 2026-04-27 17:14:56 +02:00
mafiesto4 486781661e Optimize foliage instance bounds calculations 2026-04-27 14:32:19 +02:00
mafiesto4 b201897ae6 Optimize foliage serialization by batching instance data, performing quantization, and LZ4 compression
Cuts down foliage data size by over 50% and improves load times.
2026-04-27 14:30:19 +02:00
mafiesto4 8553785397 Fix crash when drawing minor foliage node with both children and instances 2026-04-19 21:48:23 +02:00
mafiesto4 8b383d4dbe Fix regression on Large Worlds build and bunch of warnings 2026-03-30 23:50:03 +02:00
mafiesto4 96bbae8e28 Fix Global SDF update when changing Draw Modes of the model
Refactor `DrawModes` field in `StaticModel` and `FoliageType` into property with getter/setter

#3949
2026-03-11 16:01:56 +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 4a7f1a5fde Fix various issues 2026-02-06 10:37:52 +01:00
mafiesto4 20516bb8bc Fix foliage dithered LOD transitions when using shadows 2026-02-06 09:11:45 +01:00
mafiesto4 449fc597b5 Fix crash when using overlapping instances
#3899
2026-02-02 19:21:45 +01:00
mafiesto4 361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
mafiesto4 a1a6d4738f Fix async draw wait labels type 2025-08-05 12:28:29 +02:00
mafiesto4 3abbf08f1f Optimize foliage rendering with concurrent arena allocator 2025-07-08 22:18:00 +02:00
mafiesto4 2dd34b288c Merge remote-tracking branch 'origin/master' into 1.11 2025-07-04 12:05:19 +02:00
mafiesto4 12c8bb4f31 Fix scene lightmaps removal clearing actors linkage to lightmaps 2025-07-01 08:27:29 +02:00
mafiesto4 091f76bbf2 Add more improvements to usability of memory profiler 2025-06-06 22:40:43 +02:00
mafiesto4 9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02: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 7f7549d2f7 Add Foliage.RemoveAllInstances to clear all instances of foliage
#2957
2024-10-01 23:07:47 +02:00
mafiesto4 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
mafiesto4 9daddccbed Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Editor/Modules/ContentDatabaseModule.cs
#	Source/Editor/Surface/SurfaceUtils.cs
#	Source/Editor/Windows/Assets/MaterialInstanceWindow.cs
#	Source/Engine/Foliage/Foliage.cpp
#	Source/Engine/Graphics/Models/MeshBase.h
#	Source/Engine/Tools/MaterialGenerator/MaterialGenerator.Textures.cpp
2024-09-12 13:38:20 +02:00
mafiesto4 545e59aba5 Fix lightmap uvs density view to handle scale in lightmap and outline non-static objects
#2080
2024-09-09 05:59:17 +02:00
mafiesto4 a18565fd61 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-23 00:05:00 +02:00
mafiesto4 b8cb1a828a Fix foliage shadows rendering when using cull distance
#2489
2024-08-22 22:29:33 +02:00
mafiesto4 08ef7c93ea Refactor draw calls drawing to use single objects buffer and better materials batching 2024-07-02 00:52:22 +02:00
mafiesto4 516ed3e9a0 Cleanup some rendering code 2024-06-28 21:21:17 +02:00
mafiesto4 5e086809ae Fix crash on prefab preview with lightmap in use
#2454
2024-04-20 15:51:20 +02:00
mafiesto4 859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
mafiesto4 2d0eabc8be Fix deadlock in Foliage::GetFoliageTypeInstancesCount
#1724
2023-10-17 23:20:30 +02:00
mafiesto4 99ee0b1bfe Add MeshDeformation utility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth) 2023-07-03 09:49:23 +02:00
mafiesto4 adfe3ad165 Add SortOrder to drawable object types for transparency sorting override 2023-01-26 18:37:40 +01:00
mafiesto4 f127bbebe1 Refactor enum flags with __underlying_type and new EnumHasAnyFlags/EnumHasAllFlags
Fixes #832
Closes #886
2023-01-15 12:44:39 +01:00
mafiesto4 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
mafiesto4 9626e9bbb6 Update copyright year 2023-01-10 15:29:37 +01:00
mafiesto4 16ebc72099 Fix rendering of custom actors lists in Editor viewports 2022-11-16 09:57:17 +01:00
mafiesto4 b47d95205f Add optional async scene drawing and improve stability 2022-11-11 15:47:33 +01:00
mafiesto4 72244be201 Add separate async job for each foliage type drawing 2022-11-10 23:46:43 +01:00
mafiesto4 4ba1531cda Add async scene drawing for Foliage and Terrain 2022-11-10 23:43:36 +01:00
mafiesto4 b2a9ee495a Optimize PrevWorld updating during scene rendering 2022-11-03 00:08:30 +01:00
mafiesto4 d8c224112b Add Global Surface Atlas rendering for Foliage 2022-08-11 11:33:41 +02:00
mafiesto4 6c9b1f6be0 Add Global SDF rendering for Foliage 2022-08-10 14:27:08 +02:00
mafiesto4 3239150a61 Refactor scene objects initialization to call OnAwake before all OnStart
#520
2022-07-17 17:05:59 +02:00
mafiesto4 d9dc23afc1 Fixes for Foliage with Large Worlds usage 2022-07-03 16:08:22 +02:00