Commit Graph

57 Commits

Author SHA1 Message Date
Wojtek Figat
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
Wojtek Figat
1bf29c042b Refactor models and meshes to share more code in a base class 2024-12-19 00:20:08 +01:00
Wojtek Figat
59b4755379 Move mesh code to shared base class and reordanize files 2024-12-16 20:07:42 +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
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
Wojtek Figat
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
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
2edb9cc4d8 Fix compilation warnings when using 64-bit coords 2024-05-08 23:24:23 +02:00
Wojtek Figat
96f628429c Improve const correctness in Mesh and SkinnedMesh api
#2467i
2024-04-22 18:56:54 +02:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
1a5606a45c Improve collision data cooking usability
#1687
2023-10-13 23:33:03 +02: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
9f97787099 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-20 16:02:48 +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
f0496d53e8 Add RenderTools::CalculateTangentFrame utility 2023-07-16 11:57:21 +02:00
Wojtek Figat
99ee0b1bfe Add MeshDeformation utility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth) 2023-07-03 09:49:23 +02:00
Wojtek Figat
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
Wojtek Figat
eed2cdfe04 Progress on dotnet7 runtime hosting with mono 2023-03-22 17:59:46 +01:00
Wojtek Figat
123b7f5433 Fix Mesh data downloading to support not yet streamed vertex/index data gather
#932
2023-02-16 13:47:43 +01:00
Wojtek Figat
87549a3e6c Fix sort order usage in multi-pass drawing of the Mesh 2023-01-28 01:31:07 +01:00
Wojtek Figat
adfe3ad165 Add SortOrder to drawable object types for transparency sorting override 2023-01-26 18:37:40 +01:00
Wojtek Figat
f127bbebe1 Refactor enum flags with __underlying_type and new EnumHasAnyFlags/EnumHasAllFlags
Fixes #832
Closes #886
2023-01-15 12:44:39 +01:00
Wojciech Figat
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
Wojciech Figat
9626e9bbb6 Update copyright year 2023-01-10 15:29:37 +01:00
Wojciech Figat
3fcbcacd43 Fix empty draw call submitting 2022-12-15 17:33:14 +01:00
Wojciech Figat
df82a0f5d0 Add **GPU Memory profiler** to Editor 2022-12-08 16:30:37 +01:00
Wojtek Figat
2b6e3cf993 Fix lod preview typo in df45ac46b1 2022-12-03 13:10:47 +01:00
Wojtek Figat
df45ac46b1 Optimize various debug views performance 2022-12-03 12:23:39 +01:00
Wojtek Figat
98c29c4a4e Optimize compilation time 2022-12-03 10:42:58 +01:00
Wojtek Figat
3b4d91924f Add draw call sorting keys generation during draw calls collection (async) 2022-11-16 09:20:56 +01:00
Wojtek Figat
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
Wojtek Figat
eb52d333ae Refactor scene rendering to use batched culling for main view and shadow projections 2022-10-28 17:53:21 +02:00
Wojciech Figat
ff34c7cc9b Refactor raw data ReadSttream and WriteStream to have easier to use API with more features 2022-10-12 11:22:20 +02:00
Wojtek Figat
134c8b99aa Add relative-to-camera rendering for large worlds 2022-06-21 20:03:13 +02:00
Wojtek Figat
a881c90b2e Refactor engine to support double-precision vectors 2022-06-13 00:40:32 +02:00
Wojciech Figat
aba0e46073 Add utility ctors to Half vectors 2022-04-05 17:21:55 +02:00
Wojciech Figat
8c2241c6dc Update copyright year 2022-01-14 13:31:12 +01:00
Wojtek Figat
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
Wojtek Figat
c3fe366be8 Improvements and tweaks 2021-10-05 21:54:24 +02:00
Wojtek Figat
53022ff013 Fix code quality issues detected by PVS-Studio 2021-09-21 18:23:31 +02:00
Wojtek Figat
f44e5fb2fe Add support for uint as triangle indices for mesh updates API 2021-08-13 10:04:44 +02:00
Wojtek Figat
fae682e406 Implement DownloadDataCPU for Mesh and add result entries count 2021-08-05 16:40:28 +02:00
Wojtek Figat
f5e5686853 Optimize includes in ThreadLocal.h 2021-07-08 00:34:49 +02:00
Jean-Baptiste Perrier
566756ecf2 Remove duplicate IsInitialized. 2021-05-23 19:31:44 +02:00
Jean-Baptiste Perrier
d3b920dfc1 Prevent Mesh being rendered while uninitialised ( async task not executed yet ). 2021-05-20 17:16:02 +02:00
Wojtek Figat
0e75dba142 Optimize C++ compilation time 2021-04-30 16:27:57 +02:00
Wojtek Figat
51926f517e Add support for masking Material Slots when cooking Collision Data 2021-03-31 12:15:38 +02:00
Wojtek Figat
e01a0585a8 Add MeshBase as shared impl part for Mesh and SkinnedMesh 2021-03-30 17:57:53 +02:00