Commit Graph

54 Commits

Author SHA1 Message Date
mafiesto4 888dfbe014 Add api to draw Skinned Model from code with Animated Model pose
https://forum.flaxengine.com/t/how-to-render-outline-for-an-animated-model/2598
2026-06-16 11:19:34 +02:00
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 e450658834 Remove deprecated mono runtime backend
Old `mono` backend was not maintained for since 1.7 (July 2023)
`dotnet` backend still can run `mono` on AOT platforms but with the latest .NET features.
2026-06-03 16:35:06 +02:00
mafiesto4 d2ee61ef8d Fix GetNodesPose issue when 2 threads call it at once 2026-02-09 18:06:57 +01:00
mafiesto4 3d66316716 Optimize animations retargeting between skeletons
Cuts down `RetargetSkeletonPose` time down by over 80%.

#3827
2026-02-09 15:03:42 +01:00
mafiesto4 361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
mafiesto4 99841e2e8d Fix crash when using invalid node index in skinned mesh 2025-06-08 00:58:31 +02:00
mafiesto4 9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
mafiesto4 9fd98c8e12 Optimize blend weights to use 8-bit per bone (instead of 16-bit) 2025-01-21 11:40:01 +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 348f17479d Fix name of BlendWeight to BlendWeights for vertex input to match BlendIndices 2025-01-03 01:07:33 +01:00
mafiesto4 1bf29c042b Refactor models and meshes to share more code in a base class 2024-12-19 00:20:08 +01:00
mafiesto4 59b4755379 Move mesh code to shared base class and reordanize files 2024-12-16 20:07:42 +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 516ed3e9a0 Cleanup some rendering code 2024-06-28 21:21:17 +02:00
mafiesto4 2edb9cc4d8 Fix compilation warnings when using 64-bit coords 2024-05-08 23:24:23 +02:00
mafiesto4 96f628429c Improve const correctness in Mesh and SkinnedMesh api
#2467i
2024-04-22 18:56:54 +02:00
mafiesto4 859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
mafiesto4 d08843900e Add AnimationRootMotionFlags to configure root motion component extraction
Add `RootMotionMode` to support extracting root motion from animated skeleton pose center of mass

#1429 #2152
2024-02-09 15:37:29 +01:00
mafiesto4 98d5769558 Fix performance bug in Development/Release builds due to incorrect draw calls batching (uninitialized memory) 2023-09-28 10:59:09 +02:00
mafiesto4 9f97787099 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-20 16:02:48 +02:00
mafiesto4 8cd8ae93c3 Add ObjectRadius to DrawCall to properly cull local lights and env probes in Forward Shading 2023-09-20 15:01:02 +02:00
mafiesto4 f0496d53e8 Add RenderTools::CalculateTangentFrame utility 2023-07-16 11:57:21 +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 05ffaf7cef Add **skeleton retargeting** to play animations on different skeletons 2023-05-04 11:54:17 +02:00
mafiesto4 510fc443e8 Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00
mafiesto4 eed2cdfe04 Progress on dotnet7 runtime hosting with mono 2023-03-22 17:59:46 +01:00
mafiesto4 123b7f5433 Fix Mesh data downloading to support not yet streamed vertex/index data gather
#932
2023-02-16 13:47:43 +01:00
mafiesto4 a214c14a4d Add Sort Order to animated models too 2023-01-28 17:03:18 +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 3fcbcacd43 Fix empty draw call submitting 2022-12-15 17:33:14 +01:00
mafiesto4 7f0c73606c Improve naming various GPU resources 2022-12-09 11:27:41 +01:00
mafiesto4 98c29c4a4e Optimize compilation time 2022-12-03 10:42:58 +01:00
mafiesto4 3b4d91924f Add draw call sorting keys generation during draw calls collection (async) 2022-11-16 09:20:56 +01:00
mafiesto4 183636289a Optimize shadow projections rendering contexts to collect draw call indices only (draw calls from main render list) 2022-11-06 20:44:42 +01:00
mafiesto4 eb52d333ae Refactor scene rendering to use batched culling for main view and shadow projections 2022-10-28 17:53:21 +02:00
mafiesto4 ff34c7cc9b Refactor raw data ReadSttream and WriteStream to have easier to use API with more features 2022-10-12 11:22:20 +02:00
mafiesto4 b40a890d31 More work for large worlds 2022-06-30 22:07:11 +02:00
mafiesto4 a881c90b2e Refactor engine to support double-precision vectors 2022-06-13 00:40:32 +02:00
mafiesto4 aba0e46073 Add utility ctors to Half vectors 2022-04-05 17:21:55 +02:00
mafiesto4 8c2241c6dc Update copyright year 2022-01-14 13:31:12 +01:00
mafiesto4 8938f13a0b Add support for compiling and running engine without C# scripting
(configurable via `EngineConfiguration.UseCSharp` in Flax.Build)
2021-10-23 16:43:15 +02:00
mafiesto4 f44e5fb2fe Add support for uint as triangle indices for mesh updates API 2021-08-13 10:04:44 +02:00
mafiesto4 fae682e406 Implement DownloadDataCPU for Mesh and add result entries count 2021-08-05 16:40:28 +02:00
mafiesto4 f5e5686853 Optimize includes in ThreadLocal.h 2021-07-08 00:34:49 +02:00
mafiesto4 0e75dba142 Optimize C++ compilation time 2021-04-30 16:27:57 +02:00
mafiesto4 51926f517e Add support for masking Material Slots when cooking Collision Data 2021-03-31 12:15:38 +02:00
mafiesto4 e01a0585a8 Add MeshBase as shared impl part for Mesh and SkinnedMesh 2021-03-30 17:57:53 +02:00