1253 Commits

Author SHA1 Message Date
fd5c50635c some mac changes?
Some checks are pending
Build Android / Game (Android, Release ARM64) (push) Waiting to run
Build iOS / Game (iOS, Release ARM64) (push) Waiting to run
Build Linux / Editor (Linux, Development x64) (push) Waiting to run
Build Linux / Game (Linux, Release x64) (push) Waiting to run
Build macOS / Editor (Mac, Development ARM64) (push) Waiting to run
Build macOS / Game (Mac, Release ARM64) (push) Waiting to run
Build Windows / Editor (Windows, Development x64) (push) Waiting to run
Build Windows / Game (Windows, Release x64) (push) Waiting to run
Cooker / Cook (Mac) (push) Waiting to run
Tests / Tests (Linux) (push) Waiting to run
Tests / Tests (Windows) (push) Waiting to run
2026-02-12 18:40:05 +02:00
Wojtek Figat
07f031e4c5 Merge branch 'GoaLitiuM-sdl_platform' into 1.12 2026-02-12 16:26:05 +01:00
Wojtek Figat
06c31a39f2 Don't bring the main window to the front while dragging as it can cover up floating windows there 2026-02-12 16:24:15 +01:00
Wojtek Figat
2a6e38e020 Fix Editor floating windows to have link to the main window while still be in taskbar
#2800
2026-02-12 16:23:42 +01:00
Wojtek Figat
cc69e5d966 Minor fixes 2026-02-12 16:22:51 +01:00
Wojtek Figat
d68969dbe2 Move SupportsNativeDecorations/SupportsNativeDecorationDragging to SDLPlatform
#2800
2026-02-12 09:24:48 +01:00
Wojtek Figat
c4d20f06ee Move GetDisplayServer to LinuxPlatform (add support for custom platform scripting api)
#2800
2026-02-12 09:24:11 +01:00
Wojtek Figat
3c5c6f9883 Fix new window docking system to match the old one hints placement and enlarge hint spots
#2800
2026-02-11 23:56:35 +01:00
Wojtek Figat
8e7dc2a91e Fix using new window docking system with old non-SDL platform
#2800
2026-02-11 23:55:18 +01:00
Wojtek Figat
4ddbc8ba5c Fix floating dock window title to update when selected tab gets changed
#2800
2026-02-11 23:32:53 +01:00
Wojtek Figat
15f379e87f Fix memory leak in Editor when using material parameter query 2026-02-11 23:29:36 +01:00
Wojtek Figat
d4a7b3074e Fix old windows code to use new window type
#2800
2026-02-11 23:29:13 +01:00
Wojtek Figat
a3492e59ef Use CreateWindow/GetBatteryInfo/GetUserLocaleName from Windows instead of SDL for now
#2800
2026-02-11 23:28:44 +01:00
Wojtek Figat
515ad56fa2 Silence warning in game builds 2026-02-11 18:06:07 +01:00
Wojtek Figat
ebd20dd816 Fix Android compilation since .c files are now compiled 2026-02-11 18:05:56 +01:00
Wojtek Figat
019a9f6089 Merge ScreenUtilities into Platform for simplicity and make it Editor-only
#2800
2026-02-11 17:59:11 +01:00
Wojtek Figat
273b110db4 Code style formatting and minor tweaks
#2800
2026-02-11 17:15:15 +01:00
Wojtek Figat
0bea701a83 Build SDL for Windows 2026-02-11 15:23:42 +01:00
Wojtek Figat
ee22b9dc25 Merge branch 'sdl_platform' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-sdl_platform
# Conflicts:
#	Source/Editor/GUI/Dialogs/ColorPickerDialog.cs
#	Source/Editor/Modules/UIModule.cs
2026-02-11 14:08:57 +01:00
Wojtek Figat
a1096aaf92 Fix crash when MultiScaler shader is not yet loaded on first frame 2026-02-11 13:32:41 +01:00
Wojtek Figat
885ee15767 Update engine assets 2026-02-11 00:25:41 +01:00
Wojtek Figat
c978ab2b84 Fix missing changes from e851efa0a8 and ef551c36ae on ForwardShading 2026-02-11 00:25:00 +01:00
Wojtek Figat
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
Wojtek Figat
c51a023e61 Merge branch 'GoaLitiuM-dotnet10_fixes' 2026-02-11 00:08:48 +01:00
Wojtek Figat
645df4fb06 Merge branch 'dotnet10_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet10_fixes 2026-02-11 00:08:37 +01:00
Wojtek Figat
b53028782f Update engine assets 2026-02-11 00:07:44 +01:00
Wojtek Figat
ef551c36ae Fix Forward shading to match Deferred in fog and reflections rendering
#3717
2026-02-11 00:06:44 +01:00
Wojtek Figat
e851efa0a8 Fix applying AO twice for lighting in Forward shading and use correct specular occlusion on reflections
#3717
2026-02-10 22:50:32 +01:00
0084bc051c Merge branch 'master' into sdl_platform 2026-02-10 23:05:19 +02:00
Wojtek Figat
9c8023d64f Merge branch 'Menotdan-network-replication-fix-1' 2026-02-10 15:50:05 +01:00
Wojtek Figat
6d02f5d9da Merge branch 'network-replication-fix-1' of https://github.com/Menotdan/FlaxEngine into Menotdan-network-replication-fix-1 2026-02-10 15:50:01 +01:00
Wojtek Figat
1f9f281c31 Fix regression from 7b7a92758f for Visual Scripts 2026-02-10 15:02:05 +01:00
Wojtek Figat
846b64048f Update build number 2026-02-10 11:42:17 +01:00
Wojtek Figat
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
Wojtek Figat
0f6c1aea62 Fix various material nodes to work on D3D12 2026-02-09 18:40:39 +01:00
Wojtek Figat
d2ee61ef8d Fix GetNodesPose issue when 2 threads call it at once 2026-02-09 18:06:57 +01:00
Wojtek Figat
a1399c5157 Optimize Anim Graph retarget to use cached pose to avoid dynamic memory allocation
#3827
2026-02-09 18:02:58 +01:00
Wojtek Figat
7b7a92758f Optimize VariantType to use static type name in game or from non-reloadable assemblies
This avoids many dynamic memory allocations in Visual Scripts and Anim Graph.

#
2026-02-09 18:01:47 +01:00
Wojtek Figat
bd300651ec Fix Job System regression bug with incorrect initialization of job context 2026-02-09 15:04:19 +01:00
Wojtek Figat
a2b0d0714e Add more docs about new ConcurrentDictionary 2026-02-09 15:03:54 +01:00
Wojtek Figat
3d66316716 Optimize animations retargeting between skeletons
Cuts down `RetargetSkeletonPose` time down by over 80%.

#3827
2026-02-09 15:03:42 +01:00
Wojtek Figat
9c32f978fb Fix regression from 73c19b278f to fix missing skeleton bones on start in Editor 2026-02-08 00:22:37 +01:00
Wojtek Figat
ed5ad91a32 Optimize SkinnedModel::GetSkeletonMapping to not use locking for better perf when multi-threading
#3827
2026-02-07 00:46:32 +01:00
Wojtek Figat
ecddb8aae5 Optimize GPUVertexLayout caches with ConcurrentDictionary 2026-02-07 00:45:14 +01:00
Wojtek Figat
a855b17cc0 Add new collection type ConcurrentDictionary
#3917 #3827
2026-02-07 00:44:51 +01:00
Wojtek Figat
27dd1bda25 Optimize GPUVertexLayout::Get to not use mutex on lookup read
#3917
2026-02-06 21:57:16 +01:00
Wojtek Figat
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
Wojtek Figat
73c19b278f Optimize updating Animated Model bones buffer when it's not dirty
#3827
2026-02-06 12:47:34 +01:00
Wojtek Figat
b4cb1028ed Fix typos 2026-02-06 12:47:07 +01:00
Wojtek Figat
4a7f1a5fde Fix various issues 2026-02-06 10:37:52 +01:00
Wojtek Figat
5d0fdc8313 Add info about skinned model skeleton size 2026-02-06 09:28:06 +01:00
Wojtek Figat
70b324cdec Optimize included header usage 2026-02-06 09:11:55 +01:00
Wojtek Figat
20516bb8bc Fix foliage dithered LOD transitions when using shadows 2026-02-06 09:11:45 +01:00
Wojtek Figat
c18b9163ca Refactor Job System to reduce mutex usage with more atomic operations
#3917
2026-02-06 09:11:12 +01:00
Menotdan
db5b65beac Merge branch 'FlaxEngine:master' into network-replication-fix-1 2026-02-05 19:19:45 -05:00
Menotdan
78e5baf6a5 Fix replicating changes from one client to another 2026-02-05 19:12:21 -05:00
Wojtek Figat
4833c19366 Fix build regression 2026-02-05 15:45:02 +01:00
Wojtek Figat
65fd22f5b6 Add Triangles to MeshAccessor for easy index buffer access
#3918
2026-02-05 13:00:49 +01:00
Phantom
f57df83d26 Add Slerp methods on Vectors
#3682
2026-02-05 12:43:29 +01:00
Wojtek Figat
66894b71fa Add utility to get loaded assets 2026-02-05 12:37:03 +01:00
Wojtek Figat
7e9ee0610a Fix missing audio on OpenAL when changing active device
#3621
2026-02-04 23:43:06 +01:00
Wojtek Figat
f733611213 Fix various issues with audio and video playback
#3716
2026-02-04 21:48:02 +01:00
Wojtek Figat
780e78f056 Another compilation fix attempt 2026-02-03 23:33:24 +01:00
Wojtek Figat
4d447b7544 Fix very rare race condition when waiting for an asset to load 2026-02-03 23:33:09 +01:00
Wojtek Figat
9a44902949 Optimize e84b5410ec to use faster code path on common math types
#3499
2026-02-03 23:00:36 +01:00
Wojtek Figat
e84b5410ec Fix C# Json serialization to use proper value comparison for structures with Scene Object references
#3499
2026-02-03 22:59:35 +01:00
Wojtek Figat
9ac19cbd2f Fix build regression on Clang 2026-02-03 22:58:09 +01:00
Wojtek Figat
39a2bc2535 Fix build regression on Clang 2026-02-03 22:11:15 +01:00
Wojtek Figat
15771355cb Add ShouldSerialize to ISerializable to properly handle serialization of custom C++ types in prefabs
#3499
2026-02-03 22:09:41 +01:00
Wojtek Figat
f3111e855d Fix showing C++ structures inlined in collection editor when they have a single property/field 2026-02-03 19:48:57 +01:00
Wojtek Figat
3c6838ee35 Fix error in reparent action when scene is missing (eg. in prefab editor) 2026-02-03 19:13:31 +01:00
Wojtek Figat
36ab08e60d Fix build regression on Clang 2026-02-03 18:28:25 +01:00
Phantom
834c4553b2 Add Missing functions on Vector4
#3715
2026-02-03 17:57:31 +01:00
Wojtek Figat
5a95336601 Merge branch 'Tryibion-ui-raycast-cull' 2026-02-03 17:49:08 +01:00
Wojtek Figat
f26fae2daf Merge branch 'ui-raycast-cull' of https://github.com/Tryibion/FlaxEngine into Tryibion-ui-raycast-cull 2026-02-03 17:49:04 +01:00
Wojtek Figat
20df4289c2 Merge branch 'xxSeys1-UnifyAudioListenerWarnings' 2026-02-03 17:48:37 +01:00
Wojtek Figat
217701ae05 Adjust error in case we support more listeners
#3686
2026-02-03 17:48:30 +01:00
Wojtek Figat
f1509bab28 Merge branch 'UnifyAudioListenerWarnings' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-UnifyAudioListenerWarnings 2026-02-03 17:45:52 +01:00
Wojtek Figat
30fdd7336e Merge branch 'xxSeys1-VisjectMoveNodeSmallerIncrements' 2026-02-03 17:44:51 +01:00
Wojtek Figat
3b120cc5a4 Merge branch 'VisjectMoveNodeSmallerIncrements' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-VisjectMoveNodeSmallerIncrements 2026-02-03 17:44:41 +01:00
Wojtek Figat
4cf0c38940 Merge branch 'xxSeys1-PressGToGameModeAndPToNavigate' 2026-02-03 16:46:49 +01:00
Wojtek Figat
0f383d2fc6 Move transform gizmo visibility to the base class
#3692
2026-02-03 16:46:46 +01:00
483df22929 Fix building SDL dependencies 2026-02-03 17:46:41 +02:00
Wojtek Figat
07f21a1520 Merge branch 'PressGToGameModeAndPToNavigate' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-PressGToGameModeAndPToNavigate
# Conflicts:
#	Source/Engine/Graphics/Enums.h
2026-02-03 16:39:57 +01:00
f870fc3ae2 Merge remote-tracking branch 'origin/master' into sdl_platform
# Conflicts:
#	Source/Editor/Viewport/MainEditorGizmoViewport.cs
2026-02-03 17:39:43 +02:00
Wojtek Figat
bbb5354e9c Fix potential crash on out of bounds access 2026-02-03 16:32:34 +01:00
Wojtek Figat
21e2c830e5 Refactor Animation editor to use cloned asset for live preview of nested animations editing
#3773
2026-02-03 16:32:22 +01:00
Wojtek Figat
c828c90161 Add Set Parameter node to Anim Graph
#2162
2026-02-03 15:42:26 +01:00
Wojtek Figat
f725f4c0b9 Add saving viewport icons scale (global) within Editor window layout
#3820
2026-02-03 13:24:13 +01:00
Wojtek Figat
1535f95cf1 Fix mesh collision proxy setup for meshes using packed positions format
#3791
2026-02-03 13:18:02 +01:00
Wojtek Figat
b1f85b7462 Add Auto collision option to handle imported or created model collider asset
#3792
2026-02-03 09:23:50 +01:00
Wojtek Figat
3a0af54f48 Add Collision Meshes Postfix to filter collision meshes inside imported model via ending
#3792
2026-02-03 09:23:19 +01:00
Wojtek Figat
4e3e9386cc Fix restoring Min Screen Size of the model on reimport
#3807
2026-02-02 22:25:08 +01:00
Wojtek Figat
449fc597b5 Fix crash when using overlapping instances
#3899
2026-02-02 19:21:45 +01:00
Wojtek Figat
0e91a2d25b Merge branch 'Tryibion-fix-view-band-sel' 2026-02-01 23:33:09 +01:00
Wojtek Figat
aba995a42f Merge branch 'fix-view-band-sel' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-view-band-sel 2026-02-01 23:33:04 +01:00
Wojtek Figat
bf0c7fe0dc Fix timescale in FixedTimestep particles update and when using Editor preview
#3811
2026-02-01 23:32:00 +01:00
Wojtek Figat
2ab8b9dd55 Add Texture Group option for triplanar and procedural samplers
#3904
2026-02-01 23:11:44 +01:00
Chandler Cox
e1ffdee57a If UI is culling children, dont return children outside of client area for raycast. 2026-01-30 15:51:53 -06:00
Chandler Cox
7c44767d4d Fix viewport rubberban selector. 2026-01-30 12:07:36 -06:00
Wojtek Figat
87ccaa9dd8 Add keyboard navgation to context menu child menus
#3676
2026-01-30 18:00:16 +01:00
Wojtek Figat
e8c2f18a4d Add tab navigation to Editor context menus and popups
#3676
2026-01-30 17:50:24 +01:00
Wojtek Figat
6b36543717 Merge branch 'xxSeys1-CurvePresets' 2026-01-30 17:41:13 +01:00
Wojtek Figat
bb2a883dc7 Merge branch 'CurvePresets' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-CurvePresets 2026-01-30 17:39:09 +01:00
Wojtek Figat
be7e88de36 Merge branch 'xxSeys1-VisjectResizeCurveNodes' 2026-01-30 17:32:03 +01:00
Wojtek Figat
4a1490f0b1 Follow up on #3642 and move node resizing code to shared code 2026-01-30 17:31:59 +01:00
Wojtek Figat
e0d0acc33c Merge branch 'VisjectResizeCurveNodes' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-VisjectResizeCurveNodes 2026-01-30 16:58:01 +01:00
Wojtek Figat
e2f2d3e6f6 Merge branch 'Tryibion-fix-terrain-closest-point' 2026-01-30 16:43:52 +01:00
Wojtek Figat
afc04dc41c Minor cleanup and fix
#3733
2026-01-30 16:43:48 +01:00
Wojtek Figat
bdfa503c05 Merge branch 'fix-terrain-closest-point' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-terrain-closest-point 2026-01-30 16:38:50 +01:00
Wojtek Figat
205a8b2ebe Fix GPU Vertex Layout usage with explicit offsets to properly hash and calculates stride
#3625
2026-01-30 15:10:31 +01:00
Wojtek Figat
d18c245730 Fix rare async task crash when it's canceled while dequeuing 2026-01-30 13:14:36 +01:00
Wojtek Figat
e4eb064562 Add bake button to nav mesh bounds and minor improvements 2026-01-30 13:12:45 +01:00
Wojtek Figat
9fc9382e58 Refactor navmesh building to support updating all scenes automatically without specifying one
#3744
2026-01-30 13:11:56 +01:00
Wojtek Figat
2bf9efaf30 Fix rebuilding navmesh data for multiple scenes at once that share the same navmesh runtime
#3744
2026-01-29 17:28:34 +01:00
Wojtek Figat
528b4c89ce Add memory profiler category for engine debug data 2026-01-29 17:15:04 +01:00
Wojtek Figat
277dabc8b4 Fix documentation typos 2026-01-29 13:07:59 +01:00
Wojtek Figat
9a5bc444ba Fix build issues on MSVC on Windows 2026-01-29 12:38:23 +01:00
Wojtek Figat
e834fc5a42 Add more profiler categories for navigation 2026-01-29 12:35:36 +01:00
Wojtek Figat
6b87985a44 Merge branch 'Tryibion-fix-drag-tree-open' 2026-01-29 11:00:37 +01:00
Wojtek Figat
a65a74b866 Merge branch 'fix-drag-tree-open' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-drag-tree-open 2026-01-29 11:00:34 +01:00
Wojtek Figat
b2124201d5 Merge branch 'Tryibion-fix-tabs-panel2' 2026-01-29 10:58:51 +01:00
Wojtek Figat
29b8326042 Merge branch 'fix-tabs-panel2' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-tabs-panel2 2026-01-29 10:58:48 +01:00
Wojtek Figat
81bfa6edc9 Merge branch 'Tryibion-fix-scaling-issue' 2026-01-29 10:58:06 +01:00
Wojtek Figat
8ed6a92022 Merge branch 'fix-scaling-issue' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-scaling-issue 2026-01-29 10:58:03 +01:00
Wojtek Figat
c9d16e16cc Fix Rich Text Box vertical alignment of the inlined images and whole contents
#3502 ae4ae7a638 7ee2e66881
2026-01-29 10:55:10 +01:00
Chandler Cox
d9f9401c5a Fix tree node not expanding on drag over arrow. 2026-01-28 20:04:39 -06:00
Wojtek Figat
1e9918b9cc Add CPU profiler events to texture and buffer creation 2026-01-28 21:46:42 +01:00
Wojtek Figat
6c84b7a259 Update engine assets 2026-01-28 21:38:55 +01:00
Wojtek Figat
43b337e163 Fix Vulkan synchronization between CPU and GPU to prevent running over frames in flight 2026-01-28 20:43:01 +01:00
Wojtek Figat
45306ca20e Minor Vulkan fixes 2026-01-28 20:35:42 +01:00
Wojtek Figat
259d93f95c Fix RenderDoc detection on Vulkan 2026-01-28 17:08:00 +01:00
Wojtek Figat
61b6aeb252 Fix missing DDGI on D3D11 when object counter readback buffer doesn't have data on time
(eg. during very fast rendering)
2026-01-28 14:04:43 +01:00
Wojtek Figat
d694c35db4 Bump up version 2026-01-28 13:20:09 +01:00
Wojtek Figat
f105d6f84f Fix SSR artifacts when ray goes towards the screen 2026-01-28 09:22:48 +01:00
Wojtek Figat
b1b6953200 Optimize Volumetric Fog on 2k/4k displays by limiting res to 1080p 2026-01-28 08:53:15 +01:00
Wojtek Figat
fa428e343b Add dithering to Volumetric Fog to reduce aliasing 2026-01-28 08:39:56 +01:00
Wojtek Figat
dbbb67f398 Cleanup old Volumetric Fog pass code 2026-01-27 23:32:13 +01:00
Wojtek Figat
a9bddfa784 Fix Volumetric Fog sampling to use the same code path for depth slices conversion 2026-01-27 23:24:47 +01:00
Wojtek Figat
f9b784a42a Add improvements to Volumetric Fog quality and performance 2026-01-27 22:20:48 +01:00
Wojtek Figat
d47bd5d6e7 Fix small lights and small particles rasterization into Volumetric Fog 2026-01-27 21:00:20 +01:00
Wojtek Figat
e1013aec94 Add using medium shadow quality in Volumetric Fog for smoother shadowed lights scattering 2026-01-27 20:52:41 +01:00
Wojtek Figat
1c294059df Fix volume particles to apply opacity/mask into emission for proper shape 2026-01-27 14:12:48 +01:00
Wojtek Figat
305296883d Fix Volumetric Fog to not flicker on temporal blend when resizing the screen or changing quality 2026-01-27 13:56:26 +01:00
Chandler Cox
a7016d1186 Fix issue with tabs not collapsing panel 1 if no tabs on panel 1 2026-01-26 21:56:30 -06:00
Chandler Cox
004e02af73 Fix double scaling in canvas scalar. 2026-01-26 20:46:49 -06:00
Wojtek Figat
143d714037 Optimize Screen Space Reflections tracing with Hierarchical Z-Buffer
Improve SSR resolve filter quality and adjust scalability.
2026-01-26 15:22:39 +01:00
Wojtek Figat
da8376bba1 Fix NaN artifacts after TAA 2026-01-26 13:51:50 +01:00
Wojtek Figat
f773a0755d Merge branch 'Tryibion-fix-missing-light-serialize' 2026-01-22 23:40:22 +01:00
Wojtek Figat
d8343dae8e Merge branch 'fix-missing-light-serialize' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-missing-light-serialize 2026-01-22 23:40:16 +01:00
Wojtek Figat
b09fbe2d9b Fix deploying NuGet packages to include dependencies (recursive)
#3900
2026-01-22 23:39:38 +01:00
Wojtek Figat
6dbfd25bdb Fix deploying NuGet packages to include correct library file name
#3900
2026-01-22 19:57:16 +01:00
Wojtek Figat
ecfd03f79c Fix restoring NuGet packages for target with multiple projects
Fix restoring `NuGet` packages to run before project build to ensure files are downloaded

#3900
2026-01-22 18:49:47 +01:00
Wojtek Figat
66a295d5af Optimize reflections combine with depth bounds test 2026-01-20 22:41:59 +01:00
Wojtek Figat
d7458d81a5 Optimize SSR a bit more 2026-01-20 22:05:52 +01:00
Wojtek Figat
cc5e4c19e1 Fixes for SSAO and SSR 2026-01-20 18:19:34 +01:00
Wojtek Figat
0c5cb59875 Fix precision print in profile gpu dump command 2026-01-20 13:23:11 +01:00
Wojtek Figat
85ed0ecb06 Optimize ASSAO perf by using half pixels and less processing for similar visuals 2026-01-20 13:22:01 +01:00
Wojtek Figat
95b9392f51 Fix render target pool pink clear on consoles and mobile 2026-01-20 12:07:20 +01:00
Wojtek Figat
c7c1bbe35f Fix half res depth buffer regression from 192d3d1a8e 2026-01-20 12:01:03 +01:00
Wojtek Figat
192d3d1a8e Optimize SSAO rendering with depth bounds and half-res depth buffer 2026-01-20 00:22:27 +01:00
Wojtek Figat
877d57681d Optimize reflection probes, lights and shadow projections rendering with depth bounds test 2026-01-19 22:14:59 +01:00
Wojtek Figat
0a9bc084f4 Fix deprecated macro usage 2026-01-19 17:45:30 +01:00
Wojtek Figat
ec4f8ce239 Optimize RenderTargetWriteMask on depth pass for transparency and terrain materials 2026-01-19 17:45:18 +01:00
Wojtek Figat
d049a16882 Add support for Depth Bounds test in all graphics APIs 2026-01-19 17:44:45 +01:00
Wojtek Figat
ee75cab73e Add DirectX12 Agility SDK to third-party includes 2026-01-19 17:41:47 +01:00
Wojtek Figat
0072e21ffa Add ProfilerGPU.Dump command for GPU frame profiling log 2026-01-18 16:38:15 +01:00
Wojtek Figat
f44dde89db Fix missing vertex counting in draws (use index count to approx) 2026-01-18 16:24:15 +01:00
Chandler Cox
e6fd761b80 Fix missing light shadow resolution serialization. 2026-01-17 14:09:13 -06:00
Wojtek Figat
62a378e01a Update engine assets 2026-01-16 13:47:44 +01:00
Wojtek Figat
e67b705397 Deprecate GPUTimerQuery in favor of new queries API 2026-01-16 13:39:28 +01:00
Wojtek Figat
847f6411e7 Migrate ProfilerGPU to new lightweight queries API 2026-01-16 13:24:56 +01:00
Wojtek Figat
0d7c04682d Fix parsing else preprocessor and && conditions in bindings generator 2026-01-16 12:48:58 +01:00
Wojtek Figat
baf068330c Add Graphics.TestValue general purpose utility for A/B testing features and perf in shaders during development 2026-01-16 12:48:05 +01:00
Wojtek Figat
593646061e Mark TemporalScale in SSR settings as deprecated and add a minor sharpening to SSR temporal filter 2026-01-16 11:20:06 +01:00
Wojtek Figat
9ac231c403 Add new GPU Query API that is lightweight and supports occlusion queries 2026-01-16 10:40:30 +01:00
Wojtek Figat
d2d7a871ce Add sharpening and better AABB history clamp to Screen Space Reflections temporal filter 2026-01-14 14:00:54 +01:00
Wojtek Figat
b172b08782 Fix dark Screen Space Reflections in some spots when using Software Tracing 2026-01-14 13:26:26 +01:00
Wojtek Figat
18778aa511 **Add Box Projection to Environment Probe** for better indoor areas 2026-01-14 09:49:01 +01:00
Wojtek Figat
b7e32e13ab Add CaptureOffset to Environment Probe 2026-01-13 14:53:48 +01:00
Wojtek Figat
610c76578b Merge remote-tracking branch 'origin/master' into 1.12
# Conflicts:
#	Flax.flaxproj
2026-01-13 14:29:44 +01:00
Wojtek Figat
e721fbd89f Add editor status message about amount of selected actors 2026-01-13 14:21:32 +01:00
Wojtek Figat
ff2c5290b5 Fix Volumetric Fog rasterization on Vulkan 2026-01-13 13:21:32 +01:00
Wojtek Figat
2b4dc97a97 Fix yellowish artifacts due to quantization error in TAA and composite image output
#3318 #3254
2026-01-13 13:12:33 +01:00
Wojtek Figat
14842183f2 Fix sky, skylight and reflections banding artifacts with a random noise
#3254 #3318
2026-01-13 13:12:19 +01:00
Wojtek Figat
b4b13d8dd4 Fix crash when showing cube or volume texture in GPUTextureBrush 2026-01-13 10:36:26 +01:00
Wojtek Figat
e3d1e8a5ea Add View button to edit Environment Probe texture asset 2026-01-13 10:36:07 +01:00
Wojtek Figat
d9f90f726b Optimize reflection probes rendering by using depth test to reject occluded pixels early 2026-01-13 10:35:29 +01:00
Wojtek Figat
e0062a6ff1 Add RenderColorFormat option to graphics settings for rendering pipeline buffer format
#3618
2026-01-13 09:07:22 +01:00
Wojtek Figat
e494c9ec76 Add small scale for color grading LUT 2026-01-12 23:56:31 +01:00
Wojtek Figat
2501095500 Add screen vignette to Eye Adaptation histogram for more accurate exposure 2026-01-12 23:47:15 +01:00
Wojtek Figat
3cfc5db54a Merge branch 'xxSeys1-ArrayEditorHideSize' 2026-01-12 21:34:57 +01:00
Wojtek Figat
840835fad2 Merge branch 'ArrayEditorHideSize' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ArrayEditorHideSize 2026-01-12 21:34:52 +01:00
Wojtek Figat
41f136ce0f Merge branch 'xxSeys1-UiClippingFixes' 2026-01-12 21:33:43 +01:00
Wojtek Figat
32cae3aacd Merge branch 'UiClippingFixes' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-UiClippingFixes 2026-01-12 21:33:03 +01:00
Wojtek Figat
832c524c3c Merge branch 'xxSeys1-DirtyEditorSettingsStar' 2026-01-12 21:30:07 +01:00
Wojtek Figat
a18ca9a4ad Merge branch 'DirtyEditorSettingsStar' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-DirtyEditorSettingsStar 2026-01-12 21:30:00 +01:00
Wojtek Figat
05e7e6630c Fix missing material graph references
#3839
2026-01-12 21:28:45 +01:00
Wojtek Figat
788d8660b8 Fix transparent materials flickering without DDGI 2026-01-12 20:47:03 +01:00
Wojtek Figat
ab806b2a9b Add checkerboard pattern to part of the alpha slider background in color picker 2026-01-12 18:53:56 +01:00
Wojtek Figat
610ba00915 Add support for picking colors in linear color space (with toggle for special cases like UI) 2026-01-12 18:50:44 +01:00
Wojtek Figat
e60bd165f4 Disable Linear color space until it's ready for production 2026-01-12 18:50:19 +01:00
Wojtek Figat
223d4f64eb Add GammaColorSpace to Graphics for simplicity 2026-01-12 18:49:10 +01:00
Wojtek Figat
827ad85651 Fix sRGB between Linear conversion to remain Alpha unchanged 2026-01-12 16:08:50 +01:00
Wojtek Figat
69c5d65318 Add Linear to sRGB and sRGB to Linear nodes to materials 2026-01-12 15:54:52 +01:00
Wojtek Figat
b834dddb11 **Refactor sRGB import option on textures** to actually handle image contents with gamma 2026-01-12 15:50:24 +01:00
Wojtek Figat
baddfec6d1 Merge branch 'GoaLitiuM-build_deps_fixes' 2026-01-12 00:32:07 +01:00
Wojtek Figat
fc2f56aca6 Fix missing console platforms
#3746
2026-01-12 00:31:59 +01:00
Wojtek Figat
0364fd629b Merge branch 'build_deps_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-build_deps_fixes 2026-01-11 23:31:09 +01:00
Wojtek Figat
5dbaf3f94e Fix to not crash after unhandled exception
#3570
2026-01-11 23:23:04 +01:00
Wojtek Figat
c5b7ea9c44 Merge branch 'xxSeys1-ArrowKeyValueBoxIncrement' 2026-01-11 22:37:19 +01:00
Wojtek Figat
7b856fdc95 Merge branch 'ArrowKeyValueBoxIncrement' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ArrowKeyValueBoxIncrement 2026-01-11 22:36:09 +01:00
Wojtek Figat
890df65970 Add input GamepadButtonDown and GamepadButtonUp events
#3626
2026-01-11 22:34:57 +01:00
Wojtek Figat
ab6dfca36e Fix broken DrawWireTriangles
#3650
2026-01-11 22:23:49 +01:00
Wojtek Figat
72bb2dd932 Fix Resize to Fit to properly dirty state of level editor
#3670 #3735
2026-01-11 22:17:50 +01:00
Wojtek Figat
ca09852898 Merge branch 'xxSeys1-QuickOpenProductLocalFolder' 2026-01-11 22:11:24 +01:00
Wojtek Figat
e21cb9154a Adjust #3677 to evaluate product local path in lazy 2026-01-11 22:11:16 +01:00
Wojtek Figat
af124ce163 Merge branch 'QuickOpenProductLocalFolder' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-QuickOpenProductLocalFolder 2026-01-11 22:09:43 +01:00
Wojtek Figat
c28381fb09 Merge branch 'xxSeys1-UnderscoreNumberSeparator' 2026-01-11 22:07:57 +01:00
Wojtek Figat
973ff0efa0 Merge branch 'UnderscoreNumberSeparator' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-UnderscoreNumberSeparator 2026-01-11 22:07:51 +01:00
Wojtek Figat
27896b6410 Add view flag to hide particles drawing
#3840
2026-01-11 22:06:30 +01:00
Wojtek Figat
4bb9de21b4 Merge branch 'Tryibion-update-mesh-optimizer' 2026-01-11 21:55:08 +01:00
Wojtek Figat
890538c667 Merge branch 'update-mesh-optimizer' of https://github.com/Tryibion/FlaxEngine into Tryibion-update-mesh-optimizer 2026-01-11 21:54:43 +01:00
Wojtek Figat
4b9fa0dcf5 Add OnSerializing/OnSerialized/OnDeserializing/OnDeserialized callbacks to auto serialization code-gen 2026-01-09 10:24:38 +01:00
Wojtek Figat
14d1b7dd24 Fix name collision on new Focused event in control 2026-01-07 23:22:45 +01:00
Wojtek Figat
6788844270 Merge remote-tracking branch 'origin/1.12' into 1.12 2026-01-07 23:21:22 +01:00
Wojtek Figat
b2f2537338 Update version and year 2026-01-07 23:17:40 +01:00
Wojtek Figat
450b998a29 Merge branch 'master' into 1.12 2026-01-07 23:15:13 +01:00
Wojtek Figat
688d9c77cb Fix rendering postfx with color grading only in use and optimize color grading LUT to be skipped when unsued 2026-01-07 18:24:48 +01:00
Wojtek Figat
d71ea5a72b DIsable temporal jitter in debug views of Vertex Colors and Quad Overdraw 2026-01-07 17:57:03 +01:00
Wojtek Figat
01e3ece2af Remove leftover debug 2026-01-06 23:31:32 +01:00
Wojtek Figat
afc65f7557 Update engine materials after version change 2026-01-06 23:31:18 +01:00
Wojtek Figat
d60484b917 Merge remote-tracking branch 'origin/master' 2026-01-06 14:35:58 +01:00
feceb4e00f Update SDL to 3.4.0 2026-01-06 03:02:58 +02:00
67b33a575a Merge branch 'master' into sdl_platform
# Conflicts:
#	.github/workflows/build_linux.yml
#	.github/workflows/tests.yml
#	Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
2026-01-06 02:57:52 +02:00
Wojtek Figat
76b869146d Fix missing scripting api tag on MeshAccessor::Stream 2026-01-06 00:03:35 +01:00
Wojtek Figat
32e725392b Optimize inactive probes update in DDGI with faster Jump Flood instead of Flood Fill 2026-01-06 00:01:17 +01:00
Wojtek Figat
0975ac2a25 Fix odd typo in DDGI inactive probes flood fill 2026-01-05 18:02:05 +01:00
Wojtek Figat
cf3bcc4549 Fix DDGI flickering on floors aligned to world axes
Apply a small bias to sample location and dither it a bit to smooth out.
2026-01-05 17:19:16 +01:00
Wojtek Figat
11ea889fa9 Refactor DDGI fallback radiance to use alpha for blending between fixed color and color at snapped location of the last cascade
This means artists don't need to adjust the value anymore as it can cover vista geometry with GI at last cascade borders.
2026-01-05 16:22:00 +01:00
Wojtek Figat
c5a28a5734 Refactor DDGI irradiance sampling when nearby probe is missing to use precomputed fallback probes
Also, insert fallback/dummy probes when there is no SDF nearby to have lighting in all cases.
This both improves sampling performance and fixes issues when sampling in areas far away from valid GI.
2026-01-05 12:04:02 +01:00
Wojtek Figat
6c79a17c7a Fix DDGI cascade placement when using large probes spacing
Revert fa38f0ac91 after b24d98df9e fixed the source of the problem
2026-01-03 20:57:17 +01:00
Wojtek Figat
b24d98df9e Fix DDGI cascades blending to be smoother 2026-01-03 00:48:36 +01:00
Wojtek Figat
400e2f1b0e Fix DDGI flickering on floors aligned to axis on value 0 (eg. floor) 2026-01-02 21:30:14 +01:00
Wojtek Figat
22e6139ca3 Merge branch 'fibref-asset-upgrader-fix' 2026-01-02 17:06:37 +01:00
Wojtek Figat
859fa16a74 Merge branch 'asset-upgrader-fix' of https://github.com/fibref/FlaxEngine into fibref-asset-upgrader-fix 2026-01-02 17:06:33 +01:00
Wojtek Figat
8facb46def Fix regression from 6f6dd2f4a3 on script interface vtable setup 2026-01-02 17:06:27 +01:00
fibref
b87f8b96e1 fix crash on asset auto-upgrade 2026-01-01 17:49:33 +08:00
Wojtek Figat
37df16a3e4 Refactor DDGI irradiance filtering for smoother and more accurate lighting 2025-12-31 00:19:51 +01:00
Wojtek Figat
ce45fa3d54 Fix crash on Global Surface Atlas objects buffer building 2025-12-30 23:41:49 +01:00
Wojtek Figat
7f56d9456b Fix bindings warning when using curve property/field 2025-12-30 22:51:37 +01:00
Wojtek Figat
1cad2489a3 Merge branch 'ThePhantomMask-fix-linuxCICD' 2025-12-29 22:53:44 +01:00
Wojtek Figat
7cdc2456cd Clone #3878 into more usages 2025-12-29 22:53:37 +01:00
Wojtek Figat
6b0ee3eeed Merge branch 'fix-linuxCICD' of https://github.com/ThePhantomMask/FlaxEngine into ThePhantomMask-fix-linuxCICD 2025-12-29 22:51:57 +01:00
Wojtek Figat
57330e39ca Merge branch 'GoaLitiuM-bindings_namespace_fix' 2025-12-29 22:29:34 +01:00
Wojtek Figat
af29f2f3dc Merge branch 'bindings_namespace_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-bindings_namespace_fix 2025-12-29 22:29:29 +01:00
Wojtek Figat
1bdb577b60 Fix engine services before exit event order 2025-12-29 22:24:55 +01:00
Wojtek Figat
329ea1c9b4 Merge branch 'GoaLitiuM-rider_cpp_project_launch' 2025-12-29 22:21:16 +01:00
Wojtek Figat
728da6354f Merge branch 'rider_cpp_project_launch' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rider_cpp_project_launch 2025-12-29 22:21:13 +01:00
Wojtek Figat
d5456d6eb3 Merge branch 'GoaLitiuM-launchsettings_configuration' 2025-12-29 22:18:40 +01:00
Wojtek Figat
e65714988f Merge branch 'launchsettings_configuration' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-launchsettings_configuration 2025-12-29 22:14:00 +01:00
Wojtek Figat
4e4df736f9 Merge branch 'Tryibion-fix-unused-include' 2025-12-29 22:09:43 +01:00
Wojtek Figat
5bfe5b0035 Merge branch 'fix-unused-include' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-unused-include 2025-12-29 22:09:38 +01:00
Wojtek Figat
b30553ea65 Merge branch 'GoaLitiuM-vs_conformance' 2025-12-29 22:08:59 +01:00
Wojtek Figat
2550763808 Merge branch 'vs_conformance' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vs_conformance 2025-12-29 22:08:54 +01:00
Wojtek Figat
6f6dd2f4a3 Fix crash on script VTable setup due to async
#3580
2025-12-29 22:06:55 +01:00
Wojtek Figat
c30d457b1c Add unit test of code from #3858 to ensure stability 2025-12-29 22:05:01 +01:00
Wojtek Figat
b786fa1c22 Merge branch 'GoaLitiuM-bindings_gen_fixes' 2025-12-29 22:03:46 +01:00
Wojtek Figat
bbcbe305a8 Merge branch 'bindings_gen_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-bindings_gen_fixes 2025-12-29 22:02:47 +01:00
Wojtek Figat
222df16f11 Merge branch 'Tryibion-fix-blend-shape-weight' 2025-12-28 00:32:38 +01:00
Wojtek Figat
8b924d13c1 Merge branch 'fix-blend-shape-weight' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-blend-shape-weight 2025-12-28 00:32:21 +01:00
Wojtek Figat
66e25c81b0 Merge branch 'GoaLitiuM-cmake_vs2026' 2025-12-27 22:07:23 +01:00
Wojtek Figat
e12f99ee53 Merge branch 'cmake_vs2026' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-cmake_vs2026 2025-12-27 22:07:17 +01:00
Wojtek Figat
387f0cf457 Merge branch 'GoaLitiuM-bytescontainer_codegen_fix' 2025-12-27 21:26:56 +01:00
Wojtek Figat
f11acdf5db Merge branch 'bytescontainer_codegen_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-bytescontainer_codegen_fix 2025-12-27 21:26:52 +01:00
Wojtek Figat
3af7dddcc2 Merge branch 'Tryibion-fix-compute-dist' 2025-12-27 21:22:32 +01:00
Wojtek Figat
543e2ecd13 Merge branch 'fix-compute-dist' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-compute-dist 2025-12-27 21:22:27 +01:00
35f8051a62 Fix managed boolean array conversion to native array 2025-12-23 01:37:53 +02:00
4453453d46 Fix managed wrapper function parameter handling for BytesContainer 2025-12-23 00:37:25 +02:00
Phantom
23f5f4d85f Add fix-missing 2025-12-21 16:41:51 +01:00
Phantom
90a21696f6 Fix Linux Dependencies error 2025-12-21 15:47:52 +01:00
Wojtek Figat
fa38f0ac91 Fix DDGI cascade offset towards bottom that was too intense making probes flicker 2025-12-20 23:44:56 +01:00
e3f5af530b Fix incorrect class namespace in bindings class name lookups 2025-12-19 23:57:41 +02:00
Chandler Cox
38d8832468 Update meshoptimizer library to 1.0 2025-12-19 11:46:47 -06:00
Chandler Cox
c68aa3b371 Remove not needed include that produces ambiguity for the Label class. 2025-12-19 08:13:24 -06:00
d031649bbd Fix warnings 2025-12-19 13:17:15 +02:00
21b8d1838d Fix command-line parsing for SDL CreateProcess arguments 2025-12-19 13:17:15 +02:00
c8ee2fc155 Add function for parsing command-line arguments into argument list 2025-12-19 13:17:15 +02:00
Chandler Cox
dc22fa4061 Fix blend shape always applying zero weight if default weight is zero. 2025-12-18 21:49:03 -06:00
3eb690fe58 Ensure managed converter functions are exported with optimizations 2025-12-19 01:08:45 +02:00
52e2327527 Add USED attribute for forcing compiler to emit the symbol 2025-12-19 01:08:45 +02:00
f95cbb0e52 Fix missing exports for managed converter structures 2025-12-19 01:08:44 +02:00
518a19c857 Expose RenderContext to scripting API 2025-12-19 01:08:44 +02:00
c0b54be692 Fix clang bindings code generation for non-const ref parameters 2025-12-19 01:08:44 +02:00
Wojtek Figat
c2c92eba82 Adjust 0e76585709 to not affect depth 2025-12-19 00:08:24 +01:00
d64c28f672 Fix compilation errors with /permissive- standard conformance mode 2025-12-19 00:03:48 +02:00
2a959d0531 Support Visual Studio 2026 as a generator for CMake dependencies 2025-12-18 18:05:45 +02:00
Chandler Cox
4504d0ae96 Fix compute distance crash if no closest point param is defined. 2025-12-16 18:22:26 -06:00
f14ba6ace6 Fix Flax C#-project launchSettings.json to launch without project 2025-12-17 02:19:38 +02:00
518f9dc9dc Launch editor when debugging VC++ projects in Rider Linux/macOS 2025-12-17 02:19:38 +02:00
8db29a30e0 Fix VC++ project file building on macOS Rider 2025-12-17 02:18:45 +02:00
Wojtek Figat
0e76585709 Fix DDGI iradiance to use debanding by applying quantization error to reduce yellowish artifacts due to R11G11B10 format 2025-12-16 23:56:45 +01:00
Wojtek Figat
8bf51512ac Fix Global SDF trace loop limit down to prevent too long shader execution in extreme scenarios 2025-12-16 16:08:20 +01:00
Wojtek Figat
779e8e7169 Optimize Global SDF tracing to not scale steps nearby geometry and properly trace mip cascade 2025-12-16 16:07:46 +01:00
Wojtek Figat
3c8b80152b Fix sampling Global SDF gradient at lower border 2025-12-16 16:05:49 +01:00
Wojtek Figat
f280412ef4 Remove NeedsHitNormal/HitNormal feature from GlobalSDFTrace to simplify code 2025-12-16 16:04:56 +01:00
1327fa40cb Run editor with selected project configuration in launchSettings.json 2025-12-16 01:37:51 +02:00
b70ab01308 Fix duplicate properties for default configuration in C# projects 2025-12-16 01:37:51 +02:00
46fd5a5855 Ensure Flax.Build tasks and utilities output error messages as errors 2025-12-16 00:11:06 +02:00
74c1e200ce Implement Platform::CreateProcess with SDL backend
Supports handling process standard output and standard error
streams separately in realtime.
2025-12-16 00:10:01 +02:00
31945a53a2 Update SDL to 3.3.4 2025-12-15 19:32:47 +02:00
3e91ba3fb2 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-12-15 19:03:05 +02:00
Wojtek Figat
e257f9e4a0 Merge branch 'Tryibion-fix-anim-slot-replay' 2025-12-14 23:03:45 +01:00
Wojtek Figat
056de752ed Add docs 2025-12-14 23:03:34 +01:00
Wojtek Figat
76700c0b24 Merge branch 'fix-anim-slot-replay' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-anim-slot-replay 2025-12-14 23:01:21 +01:00
Wojtek Figat
9fdcff657d Merge branch 'VitaminCpp-late_join_fix' 2025-12-14 22:58:55 +01:00
Wojtek Figat
2b6339c05c Minor code cleanup 2025-12-14 22:58:53 +01:00
Wojtek Figat
bb91202439 Merge branch 'late_join_fix' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-late_join_fix 2025-12-14 22:49:49 +01:00
Wojtek Figat
f25e9f262a Merge branch 'VitaminCpp-replication_hashing_fix' 2025-12-14 22:48:09 +01:00
Wojtek Figat
ee51077f49 Merge branch 'replication_hashing_fix' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-replication_hashing_fix 2025-12-14 22:43:58 +01:00
Wojtek Figat
950e958a58 Merge branch 'VitaminCpp-hash_set_crash_fix' 2025-12-14 22:41:11 +01:00
Wojtek Figat
5fdbed2b56 Minor codestyle adjustments 2025-12-14 22:41:00 +01:00
Chandler Cox
0e627577fc Simplify code. 2025-12-14 15:00:44 -06:00
Wojtek Figat
4846d4b024 Merge branch 'hash_set_crash_fix' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-hash_set_crash_fix 2025-12-14 21:52:40 +01:00
Wojtek Figat
5e5293bf7b Merge branch 'GoaLitiuM-oob_write_fix' 2025-12-14 21:31:42 +01:00
Wojtek Figat
d88477dcae Merge branch 'oob_write_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-oob_write_fix 2025-12-14 21:31:37 +01:00
ae03bc2dd2 Improve Linux .NET runtime identifier detection
Use the runtime identifier detected during runtime instead of
calling the dotnet tool in order to query it.
2025-12-14 20:25:33 +02:00
5cd27032b4 Set C# language version to 14 with .NET 10 2025-12-14 20:25:33 +02:00
7445064d97 Improve installed .NET runtime version detection 2025-12-14 20:25:33 +02:00
Wojtek Figat
bd58bd91b4 Merge branch 'ThePhantomMask-AddDropdownHighlightedColor' 2025-12-13 23:14:47 +01:00
Wojtek Figat
7ce0d88bdc Merge branch 'AddDropdownHighlightedColor' of https://github.com/ThePhantomMask/FlaxEngine into ThePhantomMask-AddDropdownHighlightedColor 2025-12-13 23:14:09 +01:00
Wojtek Figat
98bb2d40d6 Merge branch 'Inertia-Squared-hyprland-fix' 2025-12-13 23:13:30 +01:00
Wojtek Figat
f4bc620bbd Merge branch 'hyprland-fix' of https://github.com/Inertia-Squared/FlaxEngine into Inertia-Squared-hyprland-fix 2025-12-13 23:13:26 +01:00
Wojtek Figat
0313bf32c9 Merge branch 'AcidicVoid-master' 2025-12-13 23:11:05 +01:00
Wojtek Figat
0c887cd29e Use fix from #3830 in particle and anim graphs too 2025-12-13 23:11:01 +01:00
Wojtek Figat
5bd9bce634 Merge branch 'master' of https://github.com/AcidicVoid/FlaxEngine into AcidicVoid-master 2025-12-13 23:08:01 +01:00
Wojtek Figat
2a53d0a462 Fix crash on Visual Script missing asset ref after hot-reload in Editor
#3823
2025-12-13 02:10:41 +01:00
82bd915274 Fix out-of-bounds write while parsing command-line arguments 2025-12-12 14:47:15 +02:00
Saas
e47fc5a54a Merge branch 'master' into PressGToGameModeAndPToNavigate 2025-12-11 21:04:00 +01:00
Saas
26e24769be actually set things to the right thing
How the hell did this happen??
2025-12-11 20:44:40 +01:00
Wojtek Figat
71391cf1cc Fix deprecated tag placement 2025-12-11 16:38:28 +01:00
Wojtek Figat
b5286af526 Attempt to fix regression from 32bd72fecd 2025-12-11 14:48:18 +01:00
Wojtek Figat
9f07a2a54e Attempt to fix regression from 32bd72fecd 2025-12-10 18:58:43 +01:00
Wojtek Figat
c39c642b60 Add safety check for invalid math values in shader graph generation 2025-12-10 17:39:18 +01:00
Wojtek Figat
02cff3973a Bump up engine version 2025-12-10 15:01:53 +01:00
Wojtek Figat
a63b97d31d Add stripping DXIL debug data from the shader cache when not used 2025-12-10 14:58:12 +01:00
Wojtek Figat
ca52122656 Fix validation error on Windows for textures but optimize buffers instead 2025-12-10 14:53:51 +01:00
Wojtek Figat
20a7fcf6a0 Add profiler wait event for GPU wait on D3D12 2025-12-10 13:01:24 +01:00
Wojtek Figat
43665aa7eb Rename GPUContext::ClearState to ResetState for constentency 2025-12-10 13:00:59 +01:00
Wojtek Figat
3b9b49950c Fixes for Xbox One 2025-12-10 09:48:47 +01:00
Wojtek Figat
0a8752ec0a Fix cross-building building engine with separate executable and library for Unix platforms on Windows 2025-12-10 09:48:27 +01:00
Wojtek Figat
47685dc2be Merge branch 'VitaminCpp-missing_move_semantics_fix' 2025-12-09 10:00:55 +01:00
Wojtek Figat
517ee5bb25 Merge branch 'missing_move_semantics_fix' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-missing_move_semantics_fix 2025-12-09 10:00:51 +01:00
Wojtek Figat
3ab01d3576 Merge branch 'VitaminCpp-minor_mem_layout_opt' 2025-12-09 10:00:20 +01:00
Wojtek Figat
31b6d4d658 Merge branch 'minor_mem_layout_opt' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-minor_mem_layout_opt 2025-12-09 10:00:16 +01:00
Wojtek Figat
08f840d642 Merge branch 'Tryibion-fix-exception-reload' 2025-12-09 09:59:56 +01:00
Wojtek Figat
776b6259cd Merge branch 'fix-exception-reload' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-exception-reload 2025-12-09 09:59:34 +01:00
Wojtek Figat
5c81c71116 Move constant buffer init for instanced draws only, others do it in all paths 2025-12-09 09:51:53 +01:00
Wojtek Figat
188b635ea0 Merge remote-tracking branch 'origin/master' 2025-12-09 09:48:05 +01:00
Wojtek Figat
56066a3212 Porting to a famous blue platform 2025-12-08 14:41:55 -08:00
Phantom
ed50ce9c90 Change Dropdown's EditorOrder from 2023 to 2024 2025-12-07 18:48:16 +01:00
Phantom
a7e77f6e21 Update CreatePopupItem method
-Modify the `TextColour` property to use a dynamic value based on `TextColour` multiplied by `0.9f` instead of a fixed value (`Colour.White * 0.9f`).
-Modify the `TextColourHighlighted` property to use the dynamic value of `TextColourHighlighted` instead of a fixed value (`Colour.White`).
2025-12-07 18:23:38 +01:00
Phantom
56278b17ee Add Text Color Highlighted on Dropdown 2025-12-07 16:53:43 +01:00
Wojtek Figat
bd78db72b9 Add Mono AOT dynamic module preloading to speed up startup time 2025-12-05 03:46:28 -08:00
Wojtek Figat
32bd72fecd Minor fix to the game cooker assets summary log of a single asset 2025-12-04 23:51:07 +01:00
Wojtek Figat
3a798a70fa Fix collections capacity growing to use the closest power of two
Capacity was incorrectly 2x larger than needed.
Added unit test to ensure it stays correct.
2025-12-04 23:29:15 +01:00
Wojtek Figat
02429266b1 Fix Array::RemoveAtKeepOrder to avoid memory override with large mem copy 2025-12-03 05:03:21 -08:00
Wojtek Figat
77aea0c69c Fix fatal error reporting from multiple therads to sync and properly log (eg. out of memory) 2025-12-01 08:18:54 -08:00
Inertia
6a3ce862cb - Add X11 Class hints for easy hooking by WMs for window-specific rules (required to fix some bugs in WMs like Hyprland) 2025-12-01 11:19:35 +11:00
Wojtek Figat
93217da619 Add option to merge vertex layout with reference order maintained 2025-11-29 15:04:11 -08:00
VitaminCpp
63def54dad Merge branch 'FlaxEngine:master' into hash_set_crash_fix 2025-11-28 15:55:15 +01:00
Michael Herzog
00f9a28729 Fixed HashSet compaction count after mid-compact growth
Ensure HashSetBase::Compact() preserves _elementsCount even when EnsureCapacity() triggers during compaction. The growth path resets the counter; we now cache the original count and restore it after moving all buckets so Count() stays correct in heavy-collision scenarios.
2025-11-28 15:51:57 +01:00
092beb6ae9 Fix compilation error 2025-11-28 11:59:56 +02:00
eb69186271 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-11-28 11:58:44 +02:00
Michael Herzog
56beca0db4 Fixed network replicated-object deduplication by hashing/equality on ObjectId
Aligned NetworkReplicatedObject equality with its hash (compare ObjectId, not pointer).
2025-11-27 23:28:17 +01:00
Alex Ray
64cd898a65 Bypassing Call Logic in Editor Preview 2025-11-27 18:09:11 +01:00
Wojtek Figat
394860656a Add FPS limit and pause option when game is unfocused 2025-11-27 10:55:02 +01:00
VitaminCpp
90472a4b31 Merge branch 'FlaxEngine:master' into late_join_fix 2025-11-27 10:33:53 +01:00
Wojtek Figat
a1999183f2 Fix compilation regression 2025-11-27 09:13:14 +01:00
Wojtek Figat
1e3ce48024 Fix compilation regression 2025-11-26 23:43:20 -08:00
Michael Herzog
0007185b5f Fixed late-join network replication
- Adjusted replication to resend unchanged state only to missing clients.
- Skip server serialization when no recipients, and downgrade unknown-despawn noise.
2025-11-26 17:54:49 +01:00
Wojtek Figat
403d2cedc0 Updates to engine for porting to blue platform 2025-11-26 06:28:54 -08:00
Wojtek Figat
c8839b8587 Add support for Cooperative Suspend when running on Mono
Informs mono runtime that Job System, Thread Pool or Content Load threads can wait when they are going idle between tasks.
2025-11-26 00:22:48 -08:00
Wojtek Figat
cf048c9804 Fix path filter query warning 2025-11-26 00:07:00 -08:00
Wojtek Figat
bea75f51bd Fix AOT libs cooking to avoid file dirtying for more accurate iterative cooking 2025-11-26 00:02:40 -08:00
Chandler Cox
1bf6612002 Fix exception thrown when reloading open windows. 2025-11-25 17:26:57 -06:00
Michael Herzog
d9a18b1d31 Fixed HashSet compact rehash under heavy collisions
- Compact now iterates over the old bucket array using the saved oldSize, and frees with that size, avoiding out-of-bounds when _size changes.
- If reinsertion finds no free slot during compaction (pathological collisions), the table grows once and retries, preventing AVs.
- This fix addresses problems with weak hash keys (like #3824).
2025-11-25 21:23:49 +01:00
Michael Herzog
465f30661f Minor memory layout optimization 2025-11-25 17:36:49 +01:00
Michael Herzog
a62ca5452e Fixed missing move semantics in script object reference 2025-11-25 17:33:11 +01:00
Wojtek Figat
b07d74d28d Add option to skip loading Model SDFs in game if disabled in Graphics Settings 2025-11-25 10:39:15 +01:00
Wojtek Figat
dacb3b0891 Fix rendering on Intel-based macOS to use integrated GPU primarly 2025-11-25 10:30:53 +01:00
Wojtek Figat
92254eefcc SImplify some code and update code for platforms 2025-11-25 00:20:14 -08:00
Chandler Cox
2d56411e5f Add slot stop methods without anim param. 2025-11-23 14:19:37 -06:00
Chandler Cox
f8dc8ab903 Fix not being able to replay same animation in animation slot. 2025-11-23 14:19:11 -06:00
Wojtek Figat
2a55cda583 Add fallback location of engine managed library on AOT platforms 2025-11-20 14:58:30 -08:00
Wojtek Figat
7c91c03adf Merge remote-tracking branch 'origin/master' 2025-11-20 06:26:09 -08:00
Wojtek Figat
caa902ea9b Fix shader compilation without HLSL 2021 on Vulkan 2025-11-20 13:47:23 +01:00
Wojtek Figat
fb07071e24 Restore Global Surface Atlas and DDGI on Apple platforms
#3797
2025-11-20 13:47:18 +01:00
Wojtek Figat
a1cb7dcbe7 Fix GPU BVH shader compilation for macOS/iOS 2025-11-20 13:47:11 +01:00
Wojtek Figat
a8db0086b1 Fix shader compilation without HLSL 2021 on Vulkan 2025-11-20 13:07:28 +01:00
Wojtek Figat
e46b6d5b06 Restore Global Surface Atlas and DDGI on Apple platforms
#3797
2025-11-20 10:44:47 +01:00
Wojtek Figat
dfc8c1fac2 Fix GPU BVH shader compilation for macOS/iOS 2025-11-20 10:39:16 +01:00
Wojtek Figat
f8de118288 Merge remote-tracking branch 'origin/master' into 1.12 2025-11-20 10:15:07 +01:00
Wojtek Figat
032f698c7b Fix shader warning 2025-11-19 23:29:28 -08:00
0ac3ab2329 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-11-19 18:30:08 +02:00
Wojtek Figat
e2aaef9b88 Fix shader warning 2025-11-19 08:27:33 -08:00
Wojtek Figat
ee0303bcfb Merge branch 'Tryibion-fix-spline-draw' 2025-11-18 21:30:53 +01:00
Wojtek Figat
1523c7b4ce Merge branch 'fix-spline-draw' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-spline-draw 2025-11-18 21:30:50 +01:00
Wojtek Figat
a16a8eaded Merge branch 'Tryibion-fix-anim-event-edge' 2025-11-18 21:30:05 +01:00
Wojtek Figat
9ff9d48ffd Merge branch 'fix-anim-event-edge' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-anim-event-edge 2025-11-18 21:30:01 +01:00
Wojtek Figat
dfb1fb91a5 Fix ability to override material instance hidden parameters
#3802
2025-11-18 21:29:51 +01:00
Wojtek Figat
8f56ab9534 Fix crash when creating empty material instance 2025-11-18 18:45:43 +01:00
Wojtek Figat
c0dda45c7b Fix crash on exit when C# code was bound to asset unloading event called after C# shutdown 2025-11-18 18:00:02 +01:00
Wojtek Figat
3efb981f00 Fix rare issues on input bugs in Visject 2025-11-18 16:51:43 +01:00
Wojtek Figat
ed408917c6 Fix Visject Surface node dependent connection types init on load
#3802
2025-11-18 16:41:24 +01:00
Wojtek Figat
2ca435a414 Fix shader graph assets loading to wait for async task
#3802
2025-11-18 16:11:31 +01:00
Wojtek Figat
de9e282bad Fix config version in GDK manifest 2025-11-18 05:42:21 -08:00
Wojtek Figat
c437daf9be Fix new compiler DXC changes 2025-11-18 05:42:02 -08:00
Wojtek Figat
1e4f96486f Fix audio playback bug from video on Xbox 2025-11-18 03:55:52 -08:00
Wojtek Figat
e03d0f3322 Fix shader compilation with HLSL 2021 2025-11-18 12:09:20 +01:00
Wojtek Figat
5f0e1253cc Refactor DX12 Root Signature creation to support offline construction
Fix running D3D12 on integrated AMD GPU
2025-11-18 12:08:54 +01:00
Wojtek Figat
7e6b040258 Update DXC shader compiler to 1.8 version (for D3D12) 2025-11-18 12:08:11 +01:00
Wojtek Figat
329ebb6482 Add custom shader compiler for Xbox Scarlett 2025-11-18 12:07:39 +01:00
Wojtek Figat
7a9c58003d Fix video playback on Xbox 2025-11-17 04:41:57 -08:00
Wojtek Figat
371a16e37b Fixes for Xbox with Mono AOT 2025-11-16 14:50:22 -08:00
Chandler Cox
95629e792d Fix additional edge cases 2025-11-15 22:12:35 -06:00
Chandler Cox
e79af2fd60 Handle additional edge cases for anim event. 2025-11-15 21:39:21 -06:00
Wojtek Figat
4aba0153f8 Prioritize Dotnet libs on Mono AOT 2025-11-15 14:57:12 -08:00
Wojtek Figat
f91c33e17c Another fix for shader compilation on Vulkan 2025-11-15 23:42:03 +01:00
Chandler Cox
6c29877b20 Fix spline bezier drawing. 2025-11-15 15:58:50 -06:00
Wojtek Figat
3abde6ecfc Merge branch 'VitaminCpp-fix_bvh_generation_crash' 2025-11-15 22:33:24 +01:00
Wojtek Figat
b42168eee5 Merge branch 'fix_bvh_generation_crash' of https://github.com/VitaminCpp/FlaxEngine into VitaminCpp-fix_bvh_generation_crash 2025-11-15 22:31:49 +01:00
Wojtek Figat
ac3b2c0ef2 Fix shader warning 2025-11-15 22:13:22 +01:00
Michael Herzog
f640452b7b Fix BVH node splitting using stale pointer to invalidated array memory
Ensure BuildBVH refreshes its node pointer after growing _bvh so reallocations no longer leave it operating on freed memory, eliminating the sporadic SDF-generation crash.
2025-11-15 21:57:14 +01:00
Wojtek Figat
2f670495ac Migrate Xbox to using static linking with nethost lib 2025-11-14 14:56:10 +01:00
Wojtek Figat
2a36edf528 Add option to link OpenMP on GDK platforms if needed 2025-11-14 02:11:13 -08:00
Wojtek Figat
5e690abd76 Fix initial state of DummyVertexBuffer on DX12 2025-11-14 01:06:01 -08:00
Wojtek Figat
4008e19ca9 Fix various build issuesin uncommon configurations 2025-11-14 00:52:14 -08:00
Wojtek Figat
e9070b30a0 Minor tweaks 2025-11-13 23:05:13 +01:00
Wojtek Figat
636a1ff930 Fix material shader generation when material layer fails to load 2025-11-13 23:04:24 +01:00
Saas
887311d1f1 replace raw data with (a) struct(s) 2025-11-13 23:00:09 +01:00
Wojtek Figat
3888c4ba21 Fix async tasks destruction to wait on the dependencies in chain 2025-11-13 22:53:52 +01:00
Wojtek Figat
69173803bf Fix shader warning on Vulkan 2025-11-13 22:09:11 +01:00
Wojtek Figat
13e31650be Merge branch 'GoaLitiuM-dotnet_windows_detect_fix' 2025-11-13 22:05:47 +01:00
Wojtek Figat
3563287f17 Merge branch 'dotnet_windows_detect_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet_windows_detect_fix 2025-11-13 22:05:38 +01:00
Wojtek Figat
91ee9f5e05 Refactor Mesh SDF generation on GPU to use raytracing for more precise results 2025-11-13 22:05:23 +01:00
49918a1067 Fix Windows dotnet root path detection 2025-11-11 22:14:41 +02:00
466f9a4797 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-11-11 21:40:06 +02:00
Wojtek Figat
c7997e0c2f Fix potential error on missing reference object 2025-11-10 21:50:11 +01:00
Wojtek Figat
4805dfbdba Fix issues with model data storage when doing long actions in async (eg. SDF generation) 2025-11-10 15:02:33 +01:00
Wojtek Figat
62424215c1 Fix crash due to missing asset reference inside MeshAccelerationStructure 2025-11-09 23:25:16 +01:00
Wojtek Figat
97ae13759e Merge remote-tracking branch 'origin/master' 2025-11-09 23:22:37 +01:00
Wojtek Figat
108678d94f Fix crash when texture streaming mip task gets deleted after texture object on GC 2025-11-09 22:16:44 +01:00
Wojtek Figat
66dbba5c16 Fix crash if base material gets GCed before it's referenced by instance during loading 2025-11-09 22:16:14 +01:00
Wojtek Figat
d84cef0c18 Fix crash due to async content data streaming
Properly checks for asset data unloading before taking lock on asset chunks.
#3358 #3085 #3515
2025-11-09 22:15:41 +01:00
Wojtek Figat
077cefc60e Merge branch 'xxSeys1-ContentNavigationScrollbarColors' 2025-11-07 21:43:37 +01:00
Wojtek Figat
35acc668c9 Merge branch 'ContentNavigationScrollbarColors' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ContentNavigationScrollbarColors 2025-11-07 21:42:10 +01:00
Wojtek Figat
ebbe0f12ed Merge branch 'xxSeys1-AttributeEditorPolish' 2025-11-07 21:38:51 +01:00
Wojtek Figat
6a8b76278a Merge branch 'AttributeEditorPolish' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-AttributeEditorPolish 2025-11-07 21:37:46 +01:00
Wojtek Figat
8ac99ef28f Merge branch 'Tryibion-fix-type-editor-in-collection' 2025-11-07 21:33:25 +01:00
Wojtek Figat
547cf7f600 Merge branch 'fix-type-editor-in-collection' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-type-editor-in-collection 2025-11-07 21:33:22 +01:00
Wojtek Figat
b8b8b118c9 Merge branch 'xxSeys1-BakeButtonGroups' 2025-11-07 21:32:35 +01:00
Wojtek Figat
76247323eb Merge branch 'BakeButtonGroups' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-BakeButtonGroups 2025-11-07 21:32:32 +01:00
Wojtek Figat
0ff20c7c85 Merge branch 'Yahasana-patch-1' 2025-11-07 21:31:30 +01:00
Wojtek Figat
dd690e7495 Merge branch 'patch-1' of https://github.com/Yahasana/FlaxEngine into Yahasana-patch-1 2025-11-07 21:31:26 +01:00
Wojtek Figat
ca500548a3 Bump up build number 2025-11-07 21:31:13 +01:00
Wojtek Figat
c0b73375b1 Fix invoking asset load event if it's referenced directly
#3782
2025-11-07 21:31:04 +01:00
Wojtek Figat
9c6d6a0b07 Merge branch 'xxSeys1-CommentAroundAsset' 2025-11-07 15:52:16 +01:00
Wojtek Figat
179f6014bf Merge branch 'CommentAroundAsset' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-CommentAroundAsset 2025-11-07 15:48:34 +01:00
Wojtek Figat
b580c6ec8e Merge branch 'GoaLitiuM-woa_fixes' 2025-11-07 15:25:33 +01:00
Wojtek Figat
dd60cf0040 Merge branch 'woa_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-woa_fixes 2025-11-07 15:25:29 +01:00
Wojtek Figat
cc851b29fc Fix animation state transition inputs when using other surface context 2025-11-07 15:17:20 +01:00
Wojtek Figat
59643b2fb9 Add improved local-light shadow raytracing by starting ray from light, not surface 2025-11-06 21:01:02 +01:00
Wojtek Figat
3a5bb81d39 Add a new splash screen quote 2025-11-06 21:00:29 +01:00
Wojtek Figat
5ec860015d Add minor adjustments 2025-11-06 21:00:16 +01:00
Wojtek Figat
0f701ec08e Add force Mesh SDF rebuild when holiding F key and using Build All Meshes SDF optino in Editor menu 2025-11-04 13:30:18 +01:00
Wojtek Figat
387c3ea2f4 Add better debug view for Global SDF to include surface hit normal 2025-11-04 13:27:47 +01:00
Wojtek Figat
85b134b7be Add improved Global SDF quality and precision of rasterization 2025-11-04 13:27:21 +01:00
Wojtek Figat
5d17d2509d Fix Global SDF gradient at borders 2025-11-04 12:42:08 +01:00
Wojtek Figat
036d4b2f4b Fix error when asset refs picker uses different types 2025-11-03 23:21:09 +01:00
Wojtek Figat
f8e4f54c77 Fix animation state transition inputs when using other surface context 2025-11-02 22:12:53 +01:00
Saas
93f12b73d8 less code is more better 2025-10-31 23:16:37 +01:00
Saas
1091bc6e2c only show comment edit buttons when surface can be edited 2025-10-31 20:47:23 +01:00
Saas
594c0fb8e7 add comment around asset from which asset reference graph originates 2025-10-31 19:23:42 +01:00
ea20dc6da0 Fix wrong build configuration used in ogg and vorbis for Windows 2025-10-31 02:38:09 +02:00
9becddd84f Add dependency build script for Visual Studio EnvDTE 2025-10-31 02:38:09 +02:00
b08c765400 Add dependency build script for WinPixEventRuntime 2025-10-31 02:38:09 +02:00
afd59d7eb3 Fix building vorbis on Windows 2025-10-31 02:38:09 +02:00
47cdd0582c Check VS2026 toolset before trying to compile PhysX 2025-10-31 02:38:09 +02:00
af54d04f9d Fix building ogg+vorbis on macOS 2025-10-31 02:38:09 +02:00
1d2b3bc858 Fix NvCloth compilation on Linux and macOS 2025-10-31 02:32:06 +02:00
4b552563be Fix PhysX compilation on Linux and macOS 2025-10-31 02:32:06 +02:00
ebd929176c Fix python tool call on macOS for glslang 2025-10-31 02:32:06 +02:00
430e685a7c Fix building PhysX on Linux and macOS 2025-10-31 02:32:05 +02:00
d5bd857c45 Support building OpenAL from Git repository in other platforms 2025-10-31 02:32:05 +02:00
b8b9ba3069 Fix building curl on Linux 2025-10-31 02:32:05 +02:00
84c79d5192 Fix building Assimp on Linux
Versioned clang++ symlinks are not available on Arch
2025-10-31 02:32:05 +02:00
028f3a7871 Add support for building dependencies with specific architecture 2025-10-31 02:32:05 +02:00
0c462315f0 Fix CMake compatibility errors with dependencies 2025-10-31 02:21:23 +02:00
26261a2090 Support Visual Studio 2026 as a generator for CMake dependencies 2025-10-31 02:18:00 +02:00
3fc1895b56 Fix compiler error and wrong CPU architecture warnings on WoA 2025-10-31 02:12:14 +02:00
Wojtek Figat
a70d7cf1f9 Update build number 2025-10-30 23:37:20 +01:00
Wojtek Figat
1f592ba1a1 Fix game viewport scaling when using custom aspect or resolution to simulate actual logic
#3699
2025-10-30 23:36:51 +01:00
Wojtek Figat
a43daf025d Merge branch 'xxSeys1-NoEmptyScriptsEditorExpand' 2025-10-30 22:41:31 +01:00
Wojtek Figat
296a2afa95 Merge branch 'NoEmptyScriptsEditorExpand' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-NoEmptyScriptsEditorExpand 2025-10-30 22:41:28 +01:00
Wojtek Figat
a7e879a3a4 Merge branch 'xxSeys1-Flax11ByDefault' 2025-10-30 22:40:46 +01:00
Wojtek Figat
27b160b464 Merge branch 'Flax11ByDefault' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-Flax11ByDefault 2025-10-30 22:40:41 +01:00
Wojtek Figat
7c3c4f1a63 Add Network RPC messages splitting for large arguments payloads
#3776
2025-10-30 22:40:23 +01:00
c61ecc0545 Merge branch 'master' into sdl_platform 2025-10-30 22:42:29 +02:00
Saas
fbae93b532 update default engine version in issue bug template to 1.11 2025-10-30 20:28:37 +01:00
Saas
35d6e5fd21 fix still being able to open/ close script editor with no fields
Introduces "CanOpenClose" to DropPanel.
If false, will ignore the user clicking on the header (or the arrow) to open or collapse the panel
2025-10-30 20:02:15 +01:00
Wojtek Figat
114828adcb Refactor NetworkReplicator update into separate function for cleaner code 2025-10-30 17:12:49 +01:00
Wojtek Figat
b5de4d78ad Fix editing InputEvent that is null 2025-10-30 11:57:47 +01:00
Wojtek Figat
0913e6f738 Fix error when focus changes during focus change xd 2025-10-30 10:39:46 +01:00
Wojtek Figat
053e52c91f Fix compilation for bindings only without scripting internal host defined 2025-10-29 22:18:01 +01:00
Wojtek Figat
d24bd7dfd0 Merge branch 'GoaLitiuM-dotnet_define_fix' 2025-10-29 07:40:11 +01:00
2c8c9b1637 Fix .NET version preprocessor definitions 2025-10-29 08:26:39 +02:00
Wojtek Figat
05a8c841da Fix color grading lut to be refreshed when shader gets reloaded 2025-10-28 23:19:51 +01:00
Wojtek Figat
c4fcaa999c Fix asset thumbnails to be stable with FXAA instead of TAA 2025-10-28 22:23:15 +01:00
Wojtek Figat
70c9dd6608 Fix eye adaptation in Manual mode 2025-10-28 21:36:28 +01:00
Wojtek Figat
802e2ac7c2 Fix compiling stb texture tool on Windows 2025-10-28 21:25:30 +01:00
Wojtek Figat
0ca60062d9 Fix crash on leftover physic contact collision processing 2025-10-28 16:17:48 +01:00
Mofasa
5a587a8582 Update HintPaths for project references
Fixed error CS0234: The type or namespace name 'C
odeAnalysis' does not exist in the namespace 'Microsoft'
2025-10-28 15:09:15 +08:00
Wojtek Figat
22515c37b5 Fix crash regression in D3D12 UAV bindings code 2025-10-27 22:38:47 +01:00
Wojtek Figat
38a48cf1d4 Update build number 2025-10-27 16:48:52 +01:00
Wojtek Figat
cd66d00219 Add checking hardware instruction set on Windows earlier on
#3732
2025-10-27 16:48:24 +01:00
Wojtek Figat
c944bd9bed Fix missing Vulkan feature activation for host query reset 2025-10-27 00:32:29 +01:00
Wojtek Figat
a0689f3f00 Update all Linux deps with Clang 14 on Ubuntu 24 2025-10-27 00:01:36 +01:00
Wojtek Figat
2ee2c97f1e Update docs for Ubuntu 24 and Clang 4 2025-10-26 21:48:49 +01:00
Wojtek Figat
fd19e83a46 Merge branch 'Tryibion-fix-no-undo-for-drag-spawn' 2025-10-25 22:52:47 +02:00
Wojtek Figat
755702b65a Improve #3747 to check for loaded levels in drag drop validation 2025-10-25 22:52:41 +02:00
Wojtek Figat
72e200a7fc Merge branch 'fix-no-undo-for-drag-spawn' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-no-undo-for-drag-spawn 2025-10-25 22:50:01 +02:00
Wojtek Figat
6353e5f4f2 Merge branch 'Tryibion-fix-arrow-up-tree-select' 2025-10-25 22:47:21 +02:00
Wojtek Figat
b184022d15 Merge branch 'fix-arrow-up-tree-select' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-arrow-up-tree-select 2025-10-25 22:46:55 +02:00
Wojtek Figat
26dce69404 Merge branch 'GoaLitiuM-dotnet10_sdkver' 2025-10-25 22:45:34 +02:00
2841ac22df Bump the maximum supported .NET SDK version to 10 2025-10-25 22:35:48 +03:00
Wojtek Figat
516f22c3c0 Merge branch 'GoaLitiuM-dotnet_error_messages' 2025-10-25 21:14:23 +02:00
Wojtek Figat
5a8c4cd0a5 Merge branch 'dotnet_error_messages' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet_error_messages 2025-10-25 21:14:19 +02:00
Wojtek Figat
f53b7e3323 Merge branch 'Tryibion-fix-default-scale-option' 2025-10-25 21:10:34 +02:00
Chandler Cox
c1439c646e Fix default for prefab canvas size index being 0 instead of -1. 2025-10-25 11:34:48 -05:00
280035e54f Use stderr for Flax.Build error messages
This turns the error messages from Flax.Build to red in Flax Editor
console output.
2025-10-24 23:27:18 +03:00
0d140c4f39 Fix Windows dotnet version lookup without installed SDK
Having only x86 dotnet SDK installed while expecting x64 version fails
prematurely.
2025-10-24 23:27:17 +03:00
32b4efc175 Add missing .NET installation architecture info to error messages 2025-10-24 23:27:17 +03:00
22ba7f2ee5 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-10-24 18:31:50 +03:00
Wojtek Figat
d1774cac28 Go back to SSE4.2 on Windows as minimum requirement instead of AVX2 for better user coverage by default
#3732
2025-10-22 16:14:05 +02:00
Wojtek Figat
99c26ff9af Fix crash when control reference gets invalid in Editor 2025-10-21 15:54:37 +02:00
Wojtek Figat
a2d91d989d Add Focused event to control 2025-10-21 15:54:20 +02:00
Wojtek Figat
881154e9f4 Fix missing parent tags when creating nested ones from code 2025-10-21 15:54:03 +02:00
Wojtek Figat
2629511224 Merge branch 'Tryibion-fix-duplicate-collection-option' 2025-10-20 22:04:12 +02:00
Wojtek Figat
bcf7226946 Merge branch 'fix-duplicate-collection-option' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-duplicate-collection-option 2025-10-20 22:04:05 +02:00
Wojtek Figat
f5c9e00beb Merge branch 'GoaLitiuM-woa_alignment' 2025-10-20 22:03:39 +02:00
Wojtek Figat
6353514188 Merge branch 'woa_alignment' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-woa_alignment 2025-10-20 22:03:32 +02:00
Wojtek Figat
8467315a1e Fix motion vector stability on Large World origin changes
#3745
2025-10-20 18:08:54 +02:00
Chandler Cox
be5dbbb95f Fix duplicate option for collections being grayed out if nothing is in clipboard. 2025-10-19 15:55:57 -05:00
6b9c727a6a Fix compiler warning 2025-10-19 22:16:34 +03:00
91c0ba1986 Enforce pointer alignment for InlinedAllocation
AssetReferences stored in inlined allocation needs to be aligned to
pointer sized boundary due to atomic operations having strict
requirements for such. Unaligned access seems to only crash on
Windows on ARM systems when trying to allocate TextRender draw chunks.
2025-10-19 22:14:28 +03:00
Chandler Cox
e4bb8001b2 Fix not having undo for items dragged into scene tree into empty space. 2025-10-18 18:23:33 -05:00
f52f3920cb Update SDL to 3.2.24 2025-10-18 02:19:56 +03:00
f99a244b8e Merge remote-tracking branch 'origin/master' into sdl_platform
# Conflicts:
#	Source/Editor/Windows/GameWindow.cs
2025-10-18 02:19:30 +03:00
Saas
5ec2476aec add "*" to editor settings window title when settings are dirty 2025-10-16 21:05:10 +02:00
Saas
a9fc5f720d break up EnvironmentProbe properties into groups 2025-10-16 20:35:53 +02:00
Saas
d323b1c7e2 move skylight and environment probe bake buttons into dedicated groups 2025-10-16 20:28:34 +02:00
Wojtek Figat
d93c32db9c Merge remote-tracking branch 'origin/1.11'
# Conflicts:
#	Source/Tools/Flax.Build/Deps/Downloader.cs
2025-10-16 14:07:49 +02:00
Wojtek Figat
08abdc159e Another ios build change to use dotnet 9 instead 2025-10-16 13:38:26 +02:00
Wojtek Figat
708b9c6767 Attempt to fix missing ios workload for .NET 8 2025-10-16 12:12:37 +02:00
Wojtek Figat
ed26a4c182 Fix moving character controller when displacement is zero 2025-10-16 11:34:43 +02:00
Wojtek Figat
a239984908 Add console logging for VSCode on Mac and Linux inside game projects 2025-10-16 10:47:41 +02:00
Wojtek Figat
fc3ea44c69 Update OpenAL on Mac/iOS 2025-10-16 10:40:08 +02:00
Wojtek Figat
fdecad0d29 Fix Vulkan crash on missing handle owner during binding 2025-10-16 10:39:50 +02:00
Wojtek Figat
c7437ed533 Fix OpenAL Soft building due to missing certs on a website 2025-10-16 10:39:36 +02:00
Wojtek Figat
dab44f5ceb Minor fixes 2025-10-16 10:20:51 +02:00
Saas
79351f0c4d Hide array editor "Size" text when array title overlaps it 2025-10-15 21:09:24 +02:00
Wojtek Figat
c635d93b3c Fix more errors in Visject context menu regressions 2025-10-15 14:44:58 +02:00
Chandler Cox
7377bad721 Fix check method for type editor not working in a collection. 2025-10-14 21:20:22 -05:00
Wojtek Figat
09fa3ce4be Minor changes 2025-10-14 15:07:40 +02:00
Chandler Cox
bd0daf7580 Fix tree arrowing up not selecting children in tree. 2025-10-13 21:49:05 -05:00
Chandler Cox
25744986a3 Special query for closest point on height field. 2025-10-13 20:40:16 -05:00
668a4dbb4d Merge remote-tracking branch 'origin/master' into sdl_platform 2025-10-14 01:09:26 +03:00
Wojtek Figat
e1b3429b4c Fix regression on game window defocus 2025-10-13 21:50:19 +02:00
Wojtek Figat
efa963be68 Fix editor error when prefab asset is unloaded 2025-10-13 21:45:31 +02:00
Wojtek Figat
e19be4c0c6 Merge branch 'xxSeys1-ColorValueBoxDisplayAlpha' 2025-10-13 20:53:22 +02:00
Wojtek Figat
2d5fdfef2f Merge branch 'ColorValueBoxDisplayAlpha' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ColorValueBoxDisplayAlpha 2025-10-13 20:51:13 +02:00
Wojtek Figat
46ee6bc193 Merge branch 'xxSeys1-NicerOldNewEditorWarnings' 2025-10-13 20:50:17 +02:00
Wojtek Figat
a2ee2ec6ac Merge branch 'NicerOldNewEditorWarnings' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-NicerOldNewEditorWarnings 2025-10-13 20:50:13 +02:00
Wojtek Figat
2caaef02ad Merge branch 'Tryibion-fix-coll-data-delete-crash' 2025-10-13 20:49:37 +02:00
Saas
df28b0d977 fix Content Panel navigation bar scroll bar colors
Same concept as in #2581
2025-10-13 11:31:53 +02:00
Saas
48100cf9fc fix group element text clipping
fixes group element header text clipping outside of the header and into the settings icon (if there is one).
Also some extra code to handle script editor, as that displays some extra icons in the header.
2025-10-13 11:16:07 +02:00
Chandler Cox
b62f331b08 Fix crash when deleting collision data. 2025-10-12 17:04:40 -05:00
Wojtek Figat
f7b306532b Merge branch 'GoaLitiuM-openal_pipewire_fixes' 2025-10-12 23:25:24 +02:00
Wojtek Figat
212abe7d90 Update OpenAL for Windows and Android
#3338
2025-10-12 23:25:17 +02:00
Wojtek Figat
7dfc37f652 Adjustments for #3338 2025-10-12 23:24:34 +02:00
Wojtek Figat
12decc3320 Merge branch 'openal_pipewire_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-openal_pipewire_fixes
# Conflicts:
#	Source/Tools/Flax.Build/Deps/Dependencies/OpenAL.cs
2025-10-12 22:39:34 +02:00
Wojtek Figat
d7a528cdbc Update assets 2025-10-12 22:38:11 +02:00
Wojtek Figat
18364d2a8b Merge remote-tracking branch 'origin/1.11' 2025-10-12 21:50:19 +02:00
Saas
5a9eedfadb make old/ new editor dialog boxes nicer to read 2025-10-12 20:14:43 +02:00
Saas
be7871c292 use Render2D based solution rather than shader for alpha grid
https://github.com/FlaxEngine/FlaxEngine/pull/3281#issuecomment-3218049398
2025-10-12 16:50:31 +02:00
Saas
59fb83a469 correctly center buttons 2025-10-12 16:23:54 +02:00
Saas
76f0768b99 float 2025-10-12 16:14:07 +02:00
Saas
7544500be1 polish attribute editor
- Add hint about what to do when there are no attributes
- Swap "Ok" "Cancel" buttons order to match other dialog boxes
- Move buttons to the bottom
- Increase size of menu
- Add some missing "." to add/ remove button tooltips in array editor
2025-10-12 16:07:20 +02:00
Saas
b2b855200f allow entering numbers with digit separator into value boxes (f.e. 1_000) 2025-10-11 22:02:14 +02:00
Saas
241a8bc764 add incrementing/ decrementing value boxe's value with arrow keys 2025-10-11 20:30:51 +02:00
Wojtek Figat
abdeaa9354 Update build number 2025-10-11 00:17:41 +02:00
Wojtek Figat
d3389604b0 Update engine materials 2025-10-11 00:17:02 +02:00
Wojtek Figat
d426c5b0d9 Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Source/Engine/Physics/Colliders/Collider.h
2025-10-11 00:16:10 +02:00
Wojtek Figat
8da0d2c4ce Merge branch 'xxSeys1-IndustryStandardSettingsShortcut' 2025-10-10 08:31:40 +02:00
Wojtek Figat
20f576783b Merge branch 'IndustryStandardSettingsShortcut' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-IndustryStandardSettingsShortcut 2025-10-10 08:31:32 +02:00
Wojtek Figat
2bf62cc54f Add GPUDevice.VideoOutputs with a list of attached monitors 2025-10-09 15:13:04 +02:00
Wojtek Figat
ef2c551cee Fix build 2025-10-08 23:24:15 +02:00
Wojtek Figat
65cf59642c Fix changing Rigid Body center of mass offset
#2325 #3247
2025-10-08 22:16:46 +02:00
Wojtek Figat
e2fc8a6283 Add drawing RigidBody center of mass and attached colliders
#2325 #3247
2025-10-08 22:16:16 +02:00
Wojtek Figat
73976f3ed9 Fix box collider to properly draw small bounds 2025-10-08 22:08:34 +02:00
Wojtek Figat
7ab6bafe39 Fix crash when saving empty json string 2025-10-08 22:02:05 +02:00
Wojtek Figat
deb2ad7c8f Fix font hit test on multi-line text past the line end character
#3503
2025-10-08 16:36:34 +02:00
Wojtek Figat
cd7fc3242e Merge branch 'ZaPx64-ZaPx64-texture-asset-save-fix' 2025-10-08 09:14:59 +02:00
Wojtek Figat
31a0a77e7c Merge branch 'ZaPx64-texture-asset-save-fix' of https://github.com/ZaPx64/FlaxEngine into ZaPx64-ZaPx64-texture-asset-save-fix 2025-10-08 09:14:54 +02:00
Wojtek Figat
f0ec4a901a Merge branch 'xxSeys1-StraightenConnectionFix' 2025-10-08 09:13:45 +02:00
Wojtek Figat
8cb67f017a Fix PlayStation build regression 2025-10-07 18:23:53 +02:00
Wojtek Figat
7b643e9685 Fix volumetric fog particles drawing regression 2025-10-07 18:23:39 +02:00
Wojtek Figat
39803ce6b2 Add **render layer mask to decals**
#967 #3080
2025-10-07 18:23:03 +02:00
Wojtek Figat
2f1f380062 Add new scene textures SceneStencil and ObjectLayer to sample Stencil buffer 2025-10-07 18:10:14 +02:00
Wojtek Figat
f8dbf363b6 Fix crash on Android when loading mesh with SDF data 2025-10-07 18:09:18 +02:00
Wojtek Figat
fc1451254d Fix missing terrain debug shapes drawing when only in a view 2025-10-07 18:08:51 +02:00
Wojtek Figat
d3c54e590a Fix quad overdraw debug drawing regression 2025-10-07 18:08:32 +02:00
Wojtek Figat
361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
ZaPx64
3682159da6 Fix Save() failing on virtual texture asset 2025-10-05 09:20:54 +02:00
Saas
e9f83f77bb fix "Straighten Connections" to actually straighten all connections 2025-10-04 14:03:02 +02:00
Wojtek Figat
823ed247d2 Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Source/Engine/Level/Actors/Sky.cpp
2025-10-03 22:37:32 +02:00
Wojtek Figat
8f3b80492e Fix terrain physics error on end play when it's disabled
#3590 #3603
2025-10-03 22:30:44 +02:00
Wojtek Figat
c61c013517 Merge branch 'xxSeys1-StrokeMyEgo' 2025-10-03 22:22:11 +02:00
Wojtek Figat
a2170ffd8a Merge branch 'StrokeMyEgo' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-StrokeMyEgo 2025-10-03 22:22:07 +02:00
Wojtek Figat
4f1f77fb32 Simplify code of EditorViewport to access editor instance 2025-10-03 22:21:11 +02:00
Wojtek Figat
6ae370f8fc Fix camera cut flag in rendering to not trigger on origin change for smother visuals 2025-10-03 22:20:58 +02:00
Saas
da5c8555e5 add myself to list of Flax authors lol
Mafi said I should do this :)
2025-10-03 21:16:28 +02:00
Saas
c4c7ee941f add industry standard shortcut for editor settings 2025-10-03 14:46:43 +02:00
Wojtek Figat
4f45b3c1d0 Fix missing root motion copy when using input skeleton pose (eg. IK node)
#3445
2025-10-03 11:33:01 +02:00
Wojtek Figat
4c640b915f Fix CheckBox to display check state when created in game without editor icon atlas
#3705
2025-10-03 11:25:25 +02:00
Wojtek Figat
1f3f1ea67e Fix Blend Poses nodes to smoothly blend back when transition goes back
#3595
2025-10-03 10:52:01 +02:00
Wojtek Figat
60c19303f6 Fix duplicating splines with parents
#3531
2025-10-02 23:31:03 +02:00
Wojtek Figat
adcfc50218 Fix stack overflow exception in shader graph recursion to be detected
#3706
2025-10-02 20:49:50 +02:00
Wojtek Figat
9b812ec34a Fix BoundingFrustum::GetPlane in C++ to match C# version (and doc comment) 2025-10-02 18:48:32 +02:00
Wojtek Figat
7e1ac5e167 Fix sky rendering in ortho and oblique projection
#3448
2025-10-02 18:48:14 +02:00
Wojtek Figat
028b5fedec Use right-click only on GPUTextureEditor context menu 2025-09-30 23:37:15 +02:00
Wojtek Figat
9cc2c1da40 Fix terrain exporting to properly calculate size and sample positions
#3534
2025-09-30 22:58:08 +02:00
Wojtek Figat
93219793d5 Merge remote-tracking branch 'origin/master' into 1.11 2025-09-30 18:26:14 +02:00
Wojtek Figat
32f2ef3f06 Fix Android compilation 2025-09-30 18:26:10 +02:00
Wojtek Figat
5ed8564293 Merge branch 'xxSeys1-visjectPanOnNode' 2025-09-30 16:08:37 +02:00
Wojtek Figat
7c87ade12b Merge branch 'visjectPanOnNode' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-visjectPanOnNode 2025-09-30 15:51:17 +02:00
Wojtek Figat
7f87678282 Merge branch 'xxSeys1-IssueTemplateFix' 2025-09-30 15:49:18 +02:00
Wojtek Figat
e429d29d17 Merge branch 'IssueTemplateFix' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-IssueTemplateFix 2025-09-30 15:49:11 +02:00
Wojtek Figat
086a49f45d Fix deadlock when updating Text Render layout during scene rendering 2025-09-30 15:46:06 +02:00
Wojtek Figat
c46e1164d6 Add hot-reload support for material feature template sources on material generation 2025-09-30 15:45:45 +02:00
Wojtek Figat
2a5898c1de Fix regression from #3342 to use existing time as unscaled to match previous content 2025-09-30 15:45:24 +02:00
Wojtek Figat
f09d6aa0eb Fix fog rendering bug on d3d11/d3d10 2025-09-30 15:44:34 +02:00
Wojtek Figat
0848f1fa83 Refactor specular lighting to properly map specular as reflectance in BRDF
Reference: https://google.github.io/filament/Filament.md.html

#1492
2025-09-30 15:43:55 +02:00
Wojtek Figat
537d8b57ca Revert "Merge branch 'NoClearSearchboxesWhenStuffHappens' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-NoClearSearchboxesWhenStuffHappens"
This reverts commit 1186833b2d, reversing
changes made to bb180b0f59.

#3687 #3701
2025-09-26 22:25:49 +02:00
Wojtek Figat
02c5ad3fa4 Fix particles to support any amount of contexts drawings 2025-09-25 18:38:46 +02:00
Wojtek Figat
41e851298d Add new PreIntegratedGF with 80% smaller but more accurate data
Update old generation code, use R16G16_UNorm format instead of R11G11B10, skip mips and reduce Y axis to 32 pixels.

#1492
2025-09-25 17:35:10 +02:00
Saas
4a3fb41035 further fixes and make some stuff a bit nicer 2025-09-25 13:32:21 +02:00
Wojtek Figat
d57eec3403 Bump up materials after merge 2025-09-24 18:26:33 +02:00
Wojtek Figat
87e2c4c4d5 Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Content/Editor/DebugMaterials/DDGIDebugProbes.flax
#	Source/Editor/Windows/OutputLogWindow.cs
#	Source/Engine/Level/Actor.cpp
2025-09-24 18:18:27 +02:00
Saas
797cb3c3f2 fix 1.10 becoming 1.1 and some spelling issue in issue template 2025-09-23 20:56:43 +02:00
Wojtek Figat
47670251ef Merge branch 'Tryibion-issue-template' 2025-09-23 17:21:34 +02:00
Wojtek Figat
cf1ef91246 Merge branch 'issue-template' of https://github.com/Tryibion/FlaxEngine into Tryibion-issue-template 2025-09-23 17:21:30 +02:00
Wojtek Figat
7060cb5696 Fix UI Brush editing in prefab regression from a471861e92
#3694
2025-09-23 17:20:18 +02:00
Wojtek Figat
c449833d35 Merge branch 'Tryibion-audio-events' 2025-09-23 17:07:22 +02:00
Wojtek Figat
284aeca51a Merge branch 'audio-events' of https://github.com/Tryibion/FlaxEngine into Tryibion-audio-events 2025-09-23 17:07:18 +02:00
Wojtek Figat
d8f7199c11 Fix importing emissive, roughness, metalness and wireframe properties of materials with Assimp
#3418
2025-09-23 15:42:49 +02:00
Wojtek Figat
dc05bbbbcd Merge branch 'IceReaper-feature/create_project' 2025-09-22 22:45:50 +02:00
Wojtek Figat
3fcc9ed01f Merge branch 'feature/create_project' of https://github.com/IceReaper/FlaxEngine into IceReaper-feature/create_project 2025-09-22 22:32:43 +02:00
Wojtek Figat
70ba750a5e Fix code #3511 2025-09-22 22:31:23 +02:00
Wojtek Figat
50271199ac Merge branch 'xxSeys1-moveVisjectConnection' 2025-09-22 22:30:32 +02:00
Wojtek Figat
d1a99c9396 Merge branch 'moveVisjectConnection' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-moveVisjectConnection
# Conflicts:
#	Source/Editor/Surface/VisjectSurface.cs
2025-09-22 22:30:26 +02:00
Chandler Cox
4ae3d57adc Resolve code suggestions 2025-09-22 11:32:24 -05:00
Wojtek Figat
99b9967806 Merge branch 'xxSeys1-ViewportIconsMoreCustomization' 2025-09-22 18:10:38 +02:00
Wojtek Figat
2f7e84253a Merge branch 'ViewportIconsMoreCustomization' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ViewportIconsMoreCustomization 2025-09-22 18:10:33 +02:00
Wojtek Figat
2f55cb938f Merge branch 'xxSeys1-commandSuggestionImprovements' 2025-09-22 18:08:30 +02:00
Wojtek Figat
a86661a855 Merge branch 'commandSuggestionImprovements' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-commandSuggestionImprovements 2025-09-22 18:06:55 +02:00
Wojtek Figat
a68ce6633a Merge branch 'Tryibion-vs-code-plugin-organize' 2025-09-22 18:02:52 +02:00
Wojtek Figat
5d57afe3aa Merge branch 'vs-code-plugin-organize' of https://github.com/Tryibion/FlaxEngine into Tryibion-vs-code-plugin-organize 2025-09-22 18:02:00 +02:00
Wojtek Figat
6705138247 Merge branch 'xxSeys1-SmallVehicleImprovements' 2025-09-22 16:18:17 +02:00
Wojtek Figat
276caf771c Merge branch 'SmallVehicleImprovements' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-SmallVehicleImprovements
# Conflicts:
#	Source/Engine/Physics/Actors/WheeledVehicle.h
2025-09-22 16:18:12 +02:00
Wojtek Figat
5eea5a72c9 Fix particle material compilation error when using position offset
#3661
2025-09-22 11:44:11 +02:00
Wojtek Figat
e9a7b1c8eb Fix using enums as Scene Animation Event parameters
#3554
2025-09-22 10:22:32 +02:00
Wojtek Figat
a151c78412 Fix loading projects that have similar path to engine folder
#3565
2025-09-22 08:42:16 +02:00
Wojtek Figat
5f1e905e8f Fix crash when importing model as prefab and handle duplicated object names
#3558
2025-09-21 22:52:57 +02:00
Wojtek Figat
a0f764a774 Add skybox rotation feature
#3592
2025-09-21 21:58:03 +02:00
Wojtek Figat
7da5ce3ed4 Merge branch 'xxSeys1-NoClearSearchboxesWhenStuffHappens' 2025-09-21 21:06:21 +02:00
Wojtek Figat
1186833b2d Merge branch 'NoClearSearchboxesWhenStuffHappens' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-NoClearSearchboxesWhenStuffHappens 2025-09-21 21:06:16 +02:00
Wojtek Figat
bb180b0f59 Merge branch 'Tryibion-fix-physics-attach-rigid' 2025-09-21 21:04:59 +02:00
Wojtek Figat
5d1c79929a Merge branch 'fix-physics-attach-rigid' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-physics-attach-rigid 2025-09-21 21:04:56 +02:00
Wojtek Figat
3f5a4cc4c9 Merge branch 'Tryibion-fix-dup&remove' 2025-09-21 21:02:22 +02:00
Wojtek Figat
62fd8ac967 Merge branch 'fix-dup&remove' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-dup&remove 2025-09-21 21:02:17 +02:00
Wojtek Figat
d904b92f2e Merge branch 'xxSeys1-LessCreateScriptItems' 2025-09-21 21:01:36 +02:00
Wojtek Figat
87e2b76ffa Merge branch 'LessCreateScriptItems' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-LessCreateScriptItems 2025-09-21 21:01:33 +02:00
Wojtek Figat
c5e11aed15 Merge branch 'xxSeys1-WidgetCreateFilterControlTypes' 2025-09-21 21:00:27 +02:00
Wojtek Figat
85d61b334b Merge branch 'WidgetCreateFilterControlTypes' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-WidgetCreateFilterControlTypes 2025-09-21 21:00:11 +02:00
Wojtek Figat
26e94f6f8e Refactor material instance to not override all public parameters by default (need explicit set)
#3444
2025-09-21 20:59:25 +02:00
Saas
13dd80d429 add changing and caching Debug ViewMode for Game View 2025-09-21 16:57:38 +02:00
Saas
6e9902a966 use DefaultGame ViewFlag and some fixes 2025-09-21 16:49:07 +02:00
Wojtek Figat
902744a0ce Fix model import scale on nodes that could be applied multiple times on the same mesh
#3562
2025-09-21 15:08:35 +02:00
Wojtek Figat
1c581bceaf Fix sun shadows when direction is perfectly vertical
#3614
2025-09-20 23:52:04 +02:00
Saas
fd1e0a4e80 add game view to "View" menu, add keyboard new keyboard shortcuts to menu and extra options for view flags and view layers 2025-09-20 16:12:04 +02:00
Saas
b130b81863 add game view and show/ hiding navigation similar to unreal engine 2025-09-20 15:08:03 +02:00
Wojtek Figat
9cc44825c6 Update engine materials 92f4327fc2 2025-09-20 00:14:51 +02:00
Wojtek Figat
92f4327fc2 Fix missing volumetric fog affecting transparent materials
#3436
2025-09-20 00:13:52 +02:00
Wojtek Figat
47711ec5be Fix Volumetric Fog flicker on camera cuts
#3443
2025-09-19 23:10:03 +02:00
Chandler Cox
d1fbc66cb9 Fix not attaching updated collision data to rigid body. 2025-09-19 15:58:22 -05:00
Saas
7183a3306e fix typo 2025-09-19 16:57:50 +02:00
Saas
fd191f7ffb don't clear content panel folder- and scene tree search box on script reload and enter/ exit play 2025-09-18 23:24:10 +02:00
Saas
b38a7e6eb2 unify both "too many audio listeners"- warnings 2025-09-18 17:54:21 +02:00
Saas
2604d58687 no more Linq 2025-09-18 17:37:04 +02:00
Chandler Cox
01d1d634c2 Fix other missing duplicate. 2025-09-16 17:43:55 -05:00
Chandler Cox
c7e403661d Dont allow remove and duplicate options for non-resizing collections. 2025-09-16 17:42:24 -05:00
Saas
1196db6d17 check if control is control meant for gui editor use 2025-09-16 22:54:57 +02:00
Saas
553a007508 Revert "hide TrackLabel control in editor"
This reverts commit 364a523375.
2025-09-16 22:14:22 +02:00
Saas
de2ee36529 fix naming lol 2025-09-16 22:07:42 +02:00
Saas
eea44ac897 remove search query highlights showing on create new script item 2025-09-16 22:06:49 +02:00
Saas
c124713e99 remove create new script items when searchbox is cleared 2025-09-16 22:05:28 +02:00
Saas
364a523375 hide TrackLabel control in editor 2025-09-16 22:04:24 +02:00
Wojtek Figat
afdd264e63 Fix compilation of Editor in Release mode 2025-09-16 16:34:58 +02:00
Wojtek Figat
8ec54f7b1c Merge branch 'cNori-Custom-editor-for-GPUTextures' 2025-09-16 00:16:10 +02:00
Wojtek Figat
521518bde4 Add hack to use GPUTextureEditor on ref pickers 2025-09-16 00:15:58 +02:00
Wojtek Figat
56077a268a SImplify and cleanup GPUTexture editor #3452 #3194 2025-09-16 00:15:48 +02:00
Saas
4f3f1cd163 make changing selected box with arrow up/ down loop 2025-09-15 23:09:07 +02:00
Saas
4d77646f26 fix error when changing selected box with arrow keys 2025-09-15 22:46:56 +02:00
Saas
187592b673 add moving visject nodes in smaller increments when holding shift and alt 2025-09-15 22:37:31 +02:00
Wojtek Figat
a0ca000793 Merge branch 'Custom-editor-for-GPUTextures' of https://github.com/cNori/FlaxEngineFork into cNori-Custom-editor-for-GPUTextures 2025-09-15 18:08:02 +02:00
Wojtek Figat
ae4ae7a638 Fix rich textbox vertical alignment
#3502
2025-09-15 15:17:18 +02:00
Wojtek Figat
e2a4c8ab03 Merge branch 'Tryibion-fix-viewdistance-light' 2025-09-15 14:14:04 +02:00
Chandler Cox
7a40722964 Fix view distance light property from affecting brightness all of the time. 2025-09-14 17:51:27 -05:00
Wojtek Figat
1de8909d05 Merge branch 'Tryibion-prefab-viewport-scaling' 2025-09-14 23:59:45 +02:00
Wojtek Figat
9749487e24 Move prefab and game UI size context menu to shared UI Module
#3571
2025-09-14 23:59:40 +02:00
Wojtek Figat
55968a8ddc Merge branch 'prefab-viewport-scaling' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-viewport-scaling 2025-09-14 23:11:59 +02:00
Wojtek Figat
e325b190ea Merge branch 'xxSeys1-disabledGizmoBrightness' 2025-09-14 22:01:18 +02:00
Wojtek Figat
ada6b9140f Minor adjustments for #3411 2025-09-14 22:00:57 +02:00
Wojtek Figat
5582579173 Merge branch 'disabledGizmoBrightness' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-disabledGizmoBrightness 2025-09-14 21:45:57 +02:00
Saas
215467ae42 add ribbon menu buttons to quick open product local folder 2025-09-14 18:14:38 +02:00
Saas
facd7d39dc return true if handled 2025-09-14 16:02:48 +02:00
Saas
6810e5f2a4 add moving selected keyframes with arrow keys 2025-09-14 16:00:07 +02:00
Wojtek Figat
88773e71e5 Fix warning when cloning actor from prefab that is not a root
#3578
2025-09-14 14:25:19 +02:00
Saas
ee6fae8956 small polish stuff
- Fix keyframe edit popup height
- Make keyframe mouse hover color more intense
- Increase keyframe size by 1 to prevent accidental miss clicks, resulting in a new keyframe added, when trying to double click to edit a keyframe
2025-09-14 14:15:35 +02:00
Saas
bb6c3233d2 method placement 2025-09-13 19:22:37 +02:00
Saas
499228cc98 add curve editor presets 2025-09-13 19:07:41 +02:00
Wojtek Figat
9e1f488f22 Fix prefab window to use UI Mode for empty UI Control prefab
#3574
2025-09-13 14:41:11 +02:00
Wojtek Figat
a471861e92 Fix editing UI Brush in prefabs
#3501
2025-09-12 23:15:13 +02:00
Wojtek Figat
3d182c89f3 Add MaterialShader::BindParameters to usable in game scripts
#3668
2025-09-12 18:04:01 +02:00
Wojtek Figat
e3810a9938 Merge branch 'GoaLitiuM-vs2026' 2025-09-12 18:02:07 +02:00
Wojtek Figat
f323fdb592 Add and use Max Mesh Position Error to Build Settings for automatic mesh vertex positions storage 2025-09-12 17:53:14 +02:00
f0dea9d528 Add support for Visual Studio 2026 and v145 MSVC toolset 2025-09-10 20:05:56 +03:00
Wojtek Figat
b537a80031 Fix regression in lights/shadows setup from 1a88fefd76 2025-09-09 23:53:28 +02:00
Wojtek Figat
5e52bf6469 Fix missing code from 80de56f469 2025-09-09 23:21:10 +02:00
Wojtek Figat
8482f93a0f Merge remote-tracking branch 'origin/1.11' into 1.11 2025-09-09 22:58:34 +02:00
Wojtek Figat
64c62f269c Optimize D3D12 with D3D12_HEAP_FLAG_CREATE_NOT_ZEROED in some cases 2025-09-09 22:54:37 +02:00
Wojtek Figat
19d0d3b683 Remove system lockers during asset loads or saving (only unload needs it) 2025-09-09 15:26:27 +02:00
Wojtek Figat
1f56c75821 Minor fixes 2025-09-09 15:26:03 +02:00
Wojtek Figat
64e127a47a Fix crashes of scripting backend on Android 2025-09-09 15:25:24 +02:00
Wojtek Figat
8921cf5156 Add label/button text to string convertion for better debugging 2025-09-09 10:42:10 +02:00
Wojtek Figat
24e088fc08 Fix compilation warnings 2025-09-09 10:23:07 +02:00
Wojtek Figat
14a69a11df Add Android native crashes caching 2025-09-07 23:50:41 +02:00
1d8f221f1b Merge remote-tracking branch 'origin/1.11' into sdl_platform_1.11
# Conflicts:
#	Source/Engine/Platform/Windows/WindowsPlatform.cpp
#	Source/Tools/Flax.Build/Build/ProjectTarget.cs
#	Source/Tools/Flax.Build/Configuration.cs
2025-09-07 19:31:16 +03:00
d70a003617 Improve tab-less dock window behavior in other platforms
Add checks for #3215 to hide the tab bar only if it doesn't prevent
window dragging in Wayland sessions with native decorations.
2025-09-07 19:27:24 +03:00
b443b74d18 Merge branch 'master' into sdl_platform
# Conflicts:
#	Source/Editor/GUI/Docking/DockHintWindow.cs
#	Source/Editor/Options/InterfaceOptions.cs
2025-09-07 19:02:09 +03:00
Wojtek Figat
42b542d190 Improve recent changes to memory barriers on Vulkan 2025-09-07 00:17:11 +02:00
Wojtek Figat
576b0710e0 Fix GPU particles issues with missing sorting keys data when shader is not yet loaded 2025-09-06 23:37:24 +02:00
Wojtek Figat
44e70692a2 Fix render memory alignment issues to prevent crashes on Android 2025-09-06 23:36:54 +02:00
Wojtek Figat
857b0c5ac3 Fix various graphics issues detected by Vulkan Validation Layers on Android 2025-09-06 23:32:54 +02:00
Wojtek Figat
1f6d837117 Fix regression from 6d05bf16b1 2025-09-05 08:51:43 +02:00
Wojtek Figat
67220d3f80 Add support for large 16kb page sizes on Android 2025-09-04 22:28:53 +02:00
Wojtek Figat
c5d06b2c8b Fix crash regression from #3588 when editing active particle emitters 2025-09-04 22:05:31 +02:00
Wojtek Figat
3b19e1b40c Fix collision data memory preview text 2025-09-04 21:47:51 +02:00
Wojtek Figat
831fb0f442 Optimize textures/buffers uploading on Vulkan with page allocator 2025-09-04 21:38:07 +02:00
Wojtek Figat
cd22cd059d Various small fixes and improvements 2025-09-04 15:56:33 +02:00
Wojtek Figat
3e363c8275 Remove ConcurrentSystemLocker and use ReadWriteLock instead of better threading synchronization 2025-09-04 14:48:52 +02:00
Wojtek Figat
c44d939c08 Add ReadWriteLock to platform api 2025-09-04 14:46:56 +02:00
Wojtek Figat
c0c9df49dc Optimize DDGI probes update to overlap both irradiance and distance data at once 2025-09-03 23:21:45 +02:00
Wojtek Figat
80de56f469 Optimize Global SDF dispatches with UAV write overlaps
2-3x faster rasterization
2025-09-03 23:12:55 +02:00
Wojtek Figat
f1ecbf828e Fix debug check on Vulkan backbuffer texture usage 2025-09-03 22:11:48 +02:00
Wojtek Figat
f1c4fd464a Optimize GPU textures and buffers uploads with a batched memory barrier 2025-09-03 22:11:26 +02:00
Wojtek Figat
212b0de29b Add RenderListAlloc to simplify rendering memory allocations 2025-09-03 13:00:28 +02:00
Wojtek Figat
5a2555f845 Improve cdb09847ec and 499ef51875 to swap key bits during sorting
#2271
2025-09-02 22:30:50 +02:00
Wojtek Figat
c57e128ff1 Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Source/Engine/Level/Scene/SceneRendering.cpp
#	Source/Engine/Physics/Colliders/Collider.cpp
#	Source/Engine/Physics/Colliders/Collider.h
2025-09-02 22:23:45 +02:00
Wojtek Figat
eff5f84185 Improve shadow maps sharing in nested scene rendering 2025-09-02 22:14:07 +02:00
Wojtek Figat
ad1163bccc Fix HashSet::Add returning incorrect value 2025-09-02 21:41:54 +02:00
Wojtek Figat
1042ad4e7d Fix object ids remapping inside nested prefabs
#3255
2025-09-02 21:41:36 +02:00
Wojtek Figat
8fdda1a71a Fix scene object reference serialization in C++ to use correct serializer
#3255
2025-08-30 23:52:54 +02:00
Wojtek Figat
3f7fe635d8 Fix 5222f1d35c for inactive preprocessor conditional block 2025-08-29 23:04:46 +02:00
Wojtek Figat
fcebc57ed0 Merge branch 'xxSeys1-addSphere' 2025-08-29 22:32:21 +02:00
Wojtek Figat
c40e447bb7 Merge branch 'addSphere' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-addSphere 2025-08-29 22:31:00 +02:00
Wojtek Figat
e6f94bb154 Merge branch 'fibref-textrender-scaling-fix' 2025-08-29 22:27:41 +02:00
Wojtek Figat
adbc546978 Merge branch 'textrender-scaling-fix' of https://github.com/fibref/FlaxEngine into fibref-textrender-scaling-fix 2025-08-29 22:26:32 +02:00
Wojtek Figat
2d171967e9 Merge branch 'Tryibion-collection-duplicate' 2025-08-29 22:24:58 +02:00
Wojtek Figat
33a0e6ac7d Merge branch 'collection-duplicate' of https://github.com/Tryibion/FlaxEngine into Tryibion-collection-duplicate 2025-08-29 22:24:09 +02:00
Wojtek Figat
848cc38bf1 Fix reverting prefab object reference in nested prefabs
#3255
2025-08-29 22:04:03 +02:00
Wojtek Figat
91cd1e8065 Fix regression from ef7c7f2d30 to ignore unmodified scripts in diff 2025-08-29 21:49:14 +02:00
Wojtek Figat
9fafb47abb Fix debug drawing wheeled vehicle in prefab viewport
#3591
2025-08-29 21:03:44 +02:00
Wojtek Figat
5222f1d35c Add support for parsing inheritance with preprocessor blocks inside it 2025-08-29 21:03:04 +02:00
Wojtek Figat
785649f9d5 Merge branch 'Tryibion-show-prefab-add-delete' 2025-08-28 23:48:33 +02:00
Wojtek Figat
d47ac95681 Modernize the code to use unified scene access #3513 2025-08-28 23:48:25 +02:00
Wojtek Figat
703e0cb7ca Merge branch 'show-prefab-add-delete' of https://github.com/Tryibion/FlaxEngine into Tryibion-show-prefab-add-delete 2025-08-28 22:56:22 +02:00
Wojtek Figat
ef7c7f2d30 Fix script fields prefab diff showing and reverting with undo
#3594
2025-08-28 22:52:46 +02:00
Wojtek Figat
f3d375e356 Fix prefab root name and transform being changed when applying local changes of sub-object
#3235
2025-08-28 22:26:50 +02:00
frank
a3073321cf fix scaling for TextRender 2025-08-28 17:24:06 +08:00
Chandler Cox
824b49dd88 Better duplication of collection. 2025-08-26 20:25:02 -05:00
Wojtek Figat
d0e7bff03a Merge branch 'Tryibion-add-collision-v&t' 2025-08-26 18:05:46 +02:00
Wojtek Figat
d314d5b324 Format memory usage to human-readable format
#3495
2025-08-26 18:05:42 +02:00
Wojtek Figat
a027ed3b63 Merge branch 'add-collision-v&t' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-collision-v&t 2025-08-26 17:57:01 +02:00
Wojtek Figat
bcedb05a2c Fix regression from 6a8553a277 on local lights 2025-08-26 17:55:32 +02:00
Wojtek Figat
b36be95947 Fix Editor undo on collection properties that return different object on get
#3256
2025-08-26 14:59:10 +02:00
Wojtek Figat
826009c1b4 Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Content/Editor/DebugMaterials/DDGIDebugProbes.flax
#	Source/Engine/Scripting/Scripting.cpp
2025-08-25 23:48:08 +02:00
Wojtek Figat
4ca399af71 Add model import options auto-restore from model prefab 2025-08-25 23:15:37 +02:00
Wojtek Figat
c1f022520d Update ReSharper settings 2025-08-25 22:15:44 +02:00
Wojtek Figat
2efd20f223 Merge branch 'xxSeys1-ToolboxSearchFilterAndControls' 2025-08-25 22:15:08 +02:00
Wojtek Figat
00dd432fbc Simplify code #3360 2025-08-25 22:15:00 +02:00
Wojtek Figat
f707508d70 Merge branch 'ToolboxSearchFilterAndControls' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ToolboxSearchFilterAndControls 2025-08-25 14:49:00 +02:00
Wojtek Figat
b965ca6c8c Fix Content Window navigation bar to expand toolstrip for proper scroll bar display
#3326
2025-08-25 14:38:55 +02:00
Wojtek Figat
26f4bcbc25 Fix UI Control Reference picker to support base/inherited types 2025-08-25 10:09:25 +02:00
Wojtek Figat
6fea9eefaa Merge branch 'xxSeys1-BrokenLink' 2025-08-24 21:11:39 +02:00
Wojtek Figat
47caa6af28 Add BrokenLink32/BrokenLink64 icons
#3218
2025-08-24 21:11:32 +02:00
Wojtek Figat
9aedb37ac2 Merge branch 'BrokenLink' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-BrokenLink 2025-08-24 21:10:26 +02:00
Wojtek Figat
e4bc2c69c7 Merge branch 'Zode-customeditorwindow-expose-constructor' 2025-08-24 14:00:20 +02:00
Wojtek Figat
6db9265112 Merge branch 'customeditorwindow-expose-constructor' of https://github.com/Zode/FlaxEngine into Zode-customeditorwindow-expose-constructor 2025-08-24 14:00:13 +02:00
Wojtek Figat
21a84c5b84 Merge branch 'xxSeys1-AutoSizePropertiesSplitter' 2025-08-24 13:59:20 +02:00
Wojtek Figat
633b5857c9 Merge branch 'AutoSizePropertiesSplitter' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-AutoSizePropertiesSplitter 2025-08-24 13:59:16 +02:00
Wojtek Figat
9f9dac1543 Merge branch 'Tryibion-layer-methods' 2025-08-24 13:46:56 +02:00
Wojtek Figat
df6f8fd8ae Codestyle adjustments #3343 2025-08-24 13:46:53 +02:00
Wojtek Figat
4bd8ce37ac Merge branch 'layer-methods' of https://github.com/Tryibion/FlaxEngine into Tryibion-layer-methods 2025-08-24 13:43:35 +02:00
Wojtek Figat
40e204839f Merge branch 'Tryibion-splash-image' 2025-08-24 13:37:55 +02:00
Wojtek Figat
d6c75b3f86 Simplify code in #3119 2025-08-24 13:37:48 +02:00
Wojtek Figat
687c283533 Merge branch 'splash-image' of https://github.com/Tryibion/FlaxEngine into Tryibion-splash-image 2025-08-24 13:24:35 +02:00
Wojtek Figat
70ee8501a5 Merge branch 'xxSeys1-TabHeight' 2025-08-24 13:21:15 +02:00
Wojtek Figat
2c34bd2308 Merge branch 'TabHeight' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-TabHeight 2025-08-24 13:21:12 +02:00
fc341a86e7 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-08-24 09:44:28 +03:00
Wojtek Figat
5023e3277b Merge branch 'Swiggies-animated-model-additions' 2025-08-22 23:04:00 +02:00
Wojtek Figat
9003d855b3 Merge branch 'animated-model-additions' of https://github.com/Swiggies/FlaxEngine into Swiggies-animated-model-additions 2025-08-22 23:03:54 +02:00
Wojtek Figat
75906719d4 Merge branch 'xxSeys1-SimplifyListCtrlScrolling' 2025-08-22 22:34:09 +02:00
Wojtek Figat
9a59925a36 Merge branch 'SimplifyListCtrlScrolling' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-SimplifyListCtrlScrolling 2025-08-22 22:34:05 +02:00
Wojtek Figat
d5ca80c2c1 Merge branch 'Tryibion-fix-particle-effect-params-overide-update' 2025-08-22 22:31:12 +02:00
Wojtek Figat
cb07ee77aa Change #3588 to be editor-only 2025-08-22 22:31:08 +02:00
Wojtek Figat
680783f2b0 Merge branch 'fix-particle-effect-params-overide-update' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-particle-effect-params-overide-update 2025-08-22 22:29:59 +02:00
Zode
4a28b4bd6c Expose hideOnClose and scrollBars in constructor for CustomEditorWindows. 2025-08-22 01:26:34 +03:00
Wojtek Figat
4bf36f3467 Merge branch 'Tryibion-shift-select-nodes' 2025-08-19 23:00:43 +02:00
Wojtek Figat
2c1713d300 Fix rare issues with shift tree selection 2025-08-19 23:00:29 +02:00
Wojtek Figat
8136691914 Merge branch 'shift-select-nodes' of https://github.com/Tryibion/FlaxEngine into Tryibion-shift-select-nodes
# Conflicts:
#	Source/Editor/GUI/Tree/Tree.cs
2025-08-19 18:45:33 +02:00
Wojtek Figat
da23e287c0 Merge branch 'Tryibion-cookandrun-buildconfig' 2025-08-19 18:22:49 +02:00
Wojtek Figat
e0825d870d Merge branch 'cookandrun-buildconfig' of https://github.com/Tryibion/FlaxEngine into Tryibion-cookandrun-buildconfig 2025-08-19 18:22:44 +02:00
Wojtek Figat
86dbe6b93d Merge branch 'Tryibion-add-gamewin-audio-events' 2025-08-19 18:21:42 +02:00
Wojtek Figat
e71b74c625 Merge branch 'add-gamewin-audio-events' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-gamewin-audio-events 2025-08-19 18:21:32 +02:00
Wojtek Figat
45f6ef29e9 Merge branch 'xxSeys1-MoreSearchableCM' 2025-08-19 18:20:04 +02:00
Wojtek Figat
0fabca19cd Merge branch 'MoreSearchableCM' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-MoreSearchableCM 2025-08-19 18:20:01 +02:00
Wojtek Figat
0bc242c738 Merge branch 'MrCapy0-Color-Gradient-Node' 2025-08-19 13:22:34 +02:00
Wojtek Figat
8c548ceff2 Merge branch 'Color-Gradient-Node' of https://github.com/MrCapy0/FlaxEngine into MrCapy0-Color-Gradient-Node 2025-08-19 13:21:32 +02:00
Wojtek Figat
46fda05000 Merge branch 'xxSeys1-VjStraightenConnections' 2025-08-19 13:20:44 +02:00
Wojtek Figat
1fee95be1c Merge branch 'VjStraightenConnections' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-VjStraightenConnections 2025-08-19 13:20:41 +02:00
Wojtek Figat
8c66ae99a3 Merge branch 'Tryibion-initial-nuget' 2025-08-19 13:18:54 +02:00
Wojtek Figat
1cf98e2188 Merge branch 'initial-nuget' of https://github.com/Tryibion/FlaxEngine into Tryibion-initial-nuget 2025-08-19 13:18:51 +02:00
Wojtek Figat
6a8553a277 Fix incorrect Lambert Diffuse shadowing to use just N dot L for accurate lighting
#3615 #3616
2025-08-18 11:03:50 +02:00
Chandler Cox
a02b7d4a1a Add events for when audio settings are changed for the game window. 2025-08-17 11:58:42 -05:00
Saas
f2699892e0 add support for resizing visject curve nodes 2025-08-17 15:42:54 +02:00
Wojtek Figat
606dfa4e2e Merge branch 'Tryibion-add-ctor-matbrush-inst' 2025-08-15 14:41:08 +02:00
Wojtek Figat
b6f853a01c Merge branch 'add-ctor-matbrush-inst' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-ctor-matbrush-inst 2025-08-15 14:41:05 +02:00
Wojtek Figat
fc2112ec93 Fix SSAO artifacts with "flat normals" look
#3617
2025-08-15 14:34:02 +02:00
Wojtek Figat
6ccfbfeff1 Fix saving skinned models with blend shapes
#3612
2025-08-15 14:20:16 +02:00
Wojtek Figat
f21accd466 Fix crash when memory stream reading fails and perform soft error handling
#3612
2025-08-15 14:19:59 +02:00
Chandler Cox
38b4ace1a8 Use material base as ctor parameter. 2025-08-15 07:01:48 -05:00
Wojtek Figat
774b6bd72c Update engine materials 2025-08-15 13:09:05 +02:00
Wojtek Figat
9c4606fefc Merge branch 'GoaLitiuM-linux_hotreload_cleanup_fix' 2025-08-14 22:47:05 +02:00
Wojtek Figat
0e50e47cce Merge branch 'linux_hotreload_cleanup_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-linux_hotreload_cleanup_fix 2025-08-14 22:46:45 +02:00
Wojtek Figat
285fa870d0 Merge branch 'Tryibion-fix-anim-event-backwards' 2025-08-14 22:41:24 +02:00
Wojtek Figat
69ed0bf56f Merge branch 'fix-anim-event-backwards' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-anim-event-backwards 2025-08-14 22:41:20 +02:00
Wojtek Figat
237b9bccd5 Merge branch 'xxSeys1-PauseOnErrorInfo' 2025-08-14 22:23:39 +02:00
Wojtek Figat
f5fd7319e1 Merge branch 'PauseOnErrorInfo' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-PauseOnErrorInfo
# Conflicts:
#	Source/Editor/Windows/DebugLogWindow.cs
2025-08-14 22:23:32 +02:00
Wojtek Figat
e04c0c4ace Merge branch 'Tryibion-fix-not-finised-tag-richtextbox' 2025-08-14 22:21:31 +02:00
Wojtek Figat
f6d0b073da Merge branch 'fix-not-finised-tag-richtextbox' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-not-finised-tag-richtextbox 2025-08-14 22:21:27 +02:00
Wojtek Figat
68a7cf4f18 Merge branch 'Tryibion-make-empty-stringview-const' 2025-08-14 22:15:58 +02:00
Wojtek Figat
a91360529f Merge branch 'make-empty-stringview-const' of https://github.com/Tryibion/FlaxEngine into Tryibion-make-empty-stringview-const 2025-08-14 22:15:53 +02:00
Wojtek Figat
bf9ca14deb Fix sampling textures in decals to use custom mip-level
#3599
2025-08-14 22:14:03 +02:00
Wojtek Figat
cb92a2b8cb Optimize decals rendering with depth test
#3599
2025-08-14 13:04:57 +02:00
Wojtek Figat
8a73d79936 Update engine materials 2025-08-14 12:24:12 +02:00
Wojtek Figat
2f7d7a0f2a Allow pasting State nodes in Anim Graph
#3596
2025-08-14 12:24:02 +02:00
Wojtek Figat
d43c0c593f Merge branch 'Tryibion-add-scaled-time-node' 2025-08-14 11:54:34 +02:00
Wojtek Figat
1087bd2445 Fix #3342 to properly place new param in Constant Buffer
#3299
2025-08-14 11:53:25 +02:00
Wojtek Figat
5e19a9729b Merge branch 'add-scaled-time-node' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-scaled-time-node 2025-08-14 11:37:09 +02:00
Wojtek Figat
69e12d77be Add preventing autosave when using editor context menus
#3220
2025-08-13 23:25:57 +02:00
Wojtek Figat
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
Saas
169d3e964d Switch from Debug.Write to Editor.Log 2025-08-13 13:29:13 +02:00
Chandler Cox
cf503cf921 Add material instance ctor for MaterialBrush 2025-08-12 21:03:35 -05:00
Wojtek Figat
6fd4ef735e Add InvokeOnUpdate to C++ scripting api 2025-08-12 23:35:12 +02:00
Wojtek Figat
303087c4c4 Fix regression in renaming textbox placement of newly added actor to prefab 2025-08-12 23:18:18 +02:00
68da28ffe8 Update SDL to 3.2.20 2025-08-12 15:39:19 +03:00
Wojtek Figat
427e76e76e Update volk to version 1.4.304 2025-08-12 15:24:48 +03:00
b183b5bcfc Merge remote-tracking branch 'origin/master' into sdl_platform 2025-08-12 15:22:34 +03:00
Wojtek Figat
278dead0bd Add PLATFORM_CONSOLE define and fix desktop to be as Windows/UWP, not Win32 2025-08-12 12:34:32 +02:00
Wojtek Figat
cdff7708fb Add automatic periodic Vulkan Pipeline State Cache serialization 2025-08-12 10:25:02 +02:00
Wojtek Figat
b4d501cd6a Add OcclusionQueryPools to Vulkan and move code to cpp file 2025-08-12 10:21:51 +02:00
Wojtek Figat
9cf9fae453 Add Vulkan device cache customization per-platform and reuse code 2025-08-12 00:09:54 +02:00
Wojtek Figat
7fcf6f9c97 Add various improvements 2025-08-11 23:47:48 +02:00
Wojtek Figat
1bedfd3adf Disable auto-GC every 60 ticks in game 2025-08-11 19:00:38 +02:00
Wojtek Figat
80d19a002f Optimize Audio streaming to reduce lock contention 2025-08-11 18:42:55 +02:00
Wojtek Figat
99707b6586 Add various profiler events for more insights 2025-08-11 18:15:47 +02:00
Wojtek Figat
9f14bb7279 Optimize GPU particles simulation by scheduling larger sims first to overlap more work 2025-08-11 13:24:11 +02:00
Wojtek Figat
a18314c669 Add various minor improvements 2025-08-11 13:23:46 +02:00
Wojtek Figat
c946fa239e Fix gpu particles crash from 0ea555b041 on first draw 2025-08-10 22:54:37 +02:00
Wojtek Figat
d109e5ca9f Add AGS lib to D3D11 for efficient UAV writes overlaps on AMD GPUs 2025-08-10 17:16:36 +02:00
Wojtek Figat
bc0e1f81e7 Add AGS third party module
AGS 6.3
2025-08-10 17:16:09 +02:00
Wojtek Figat
c1c806490f Add nvapi lib to D3D11 for efficient UAV writes overlaps on NVIDIA GPUs 2025-08-10 16:05:18 +02:00
Wojtek Figat
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
Wojtek Figat
a2e9d8d77b Add nvapi third party module
R580-Developer SDK
2025-08-10 16:02:34 +02:00
Wojtek Figat
ff3d785483 Optimize GPU particles simulation, sorting and drawing with better resource transition barriers 2025-08-09 23:59:52 +02:00
Wojtek Figat
82231981dc Add debug tool detection for Nsight Graphics 2025-08-09 23:58:47 +02:00
Wojtek Figat
1915e1e7f4 Optimize compute shader pipeline binding on D3D12 and Vulkan when unchanged 2025-08-09 23:58:15 +02:00
Wojtek Figat
b5a431d2f5 Add explicit GPU resource transitions, memory and compute barriers 2025-08-09 23:57:43 +02:00
Wojtek Figat
3907bc4957 Optimize sorted particle indices format to 16-bit for small emitters 2025-08-08 18:46:10 +02:00
Wojtek Figat
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
Wojtek Figat
519a9c0a14 Add direct dispatch for Bitonic Sort when using small input buffer 2025-08-08 17:03:39 +02:00
Wojtek Figat
0ea555b041 Optimize GPU Particles simulation to perform memory buffer copies/updates before dispatch 2025-08-08 16:25:09 +02:00
Wojtek Figat
90d1e63b58 Add minor optimizations to particles drawing 2025-08-08 13:11:05 +02:00
Wojtek Figat
0369d9b2cb Optimize CSSetShader on D3D11 when remains unchanged 2025-08-08 11:03:03 +02:00
Wojtek Figat
9fabc1028a Optimize GPU particles indirect args building with a single batched upload of default data 2025-08-07 23:51:02 +02:00
Wojtek Figat
2a9260ddd5 Optimize emitters to cull shadow passes sorting and drawing 2025-08-07 23:49:21 +02:00
Wojtek Figat
3d84380175 Optimize particles sorting by splitting key generation and sorting to reduce CS switches 2025-08-07 19:09:58 +02:00
Wojtek Figat
545df6ce35 Add profiler event to GPU particles indirect args setup 2025-08-07 18:57:39 +02:00
Wojtek Figat
d4355e31d8 Optimize GPU particles drawing with batched indirect args setup before sorting 2025-08-07 18:41:58 +02:00
Wojtek Figat
3ffb067e55 Optimize Particles drawing to use a whole RenderContextBatch 2025-08-07 09:27:28 +02:00
Wojtek Figat
959371a995 Fix particles regression on DirectX 2025-08-06 23:39:46 +02:00
Wojtek Figat
cf9c203855 Various optimizations 2025-08-06 18:48:18 +02:00
Wojtek Figat
a5838f739d Optimize GPU particles indirect args building code 2025-08-05 23:01:07 +02:00
Wojtek Figat
b1710c4d01 Add async particles drawing (GPU emitters are sync) 2025-08-05 22:53:09 +02:00
Wojtek Figat
baf0cfce8e Add support for using custom memory allocator in lambda bind to Function 2025-08-05 22:13:21 +02:00
Wojtek Figat
a1a6d4738f Fix async draw wait labels type 2025-08-05 12:28:29 +02:00
Wojtek Figat
761ea094d6 Optimize render module indices data 4 times 2025-08-05 11:50:26 +02:00
Wojtek Figat
8e043e533e Optimize SpriteRenderer to lazy-init 2025-08-05 11:02:03 +02:00
Wojtek Figat
1a88fefd76 Optimize CPU particles drawing to support async 2025-08-05 09:03:47 +02:00
Wojtek Figat
abe496fe12 Fix crash on particles sorting memory access 2025-08-04 10:31:52 +02:00
Wojtek Figat
c9e0637b0f Fix crash when unloading texture with leftover streaming task that was idle 2025-08-02 22:03:19 +02:00
Wojtek Figat
db660721ce Fix debug command length bug 2025-08-02 22:01:25 +02:00
Wojtek Figat
2730d63257 More build fixes 2025-08-02 21:50:09 +02:00
Wojtek Figat
31764d6d4e Fix crash on memory access in Vulkan descriptor set data 2025-08-02 17:56:26 +02:00
Wojtek Figat
34ba45cd5a Add Stack to Sanitizers options 2025-08-02 17:36:48 +02:00
Wojtek Figat
5de5d8f683 Add more events for GPU profiling 2025-08-02 17:12:53 +02:00
Wojtek Figat
744c94b3cc Compilation errors fixing 2025-08-02 17:05:13 +02:00
Chandler Cox
e27880c1e6 Make plugins into their own folders in VSCode. Order VSCode plugin folders with Engine at the bottom. 2025-08-02 09:28:49 -05:00
Wojtek Figat
b26d6ea108 Fix various issues 2025-08-02 08:31:24 +02:00
Wojtek Figat
5c5341e346 Optimize Color Grading LUT to be cached if unchanged from the previous frame 2025-08-01 23:16:57 +02:00
Chandler Cox
6f15ef7690 Fix location of clip start call. 2025-08-01 15:15:54 -05:00
Chandler Cox
0e3a22faa0 Fix spelling in comment. 2025-08-01 15:11:06 -05:00
Chandler Cox
0dc1e04c89 Add slider to audio debug editor for selecting time. 2025-08-01 15:07:49 -05:00
Chandler Cox
5c7712daad Add audio clip started and finished events to audio source 2025-08-01 15:07:25 -05:00
Wojtek Figat
0f81c64964 Refactor Color Grading LUT rendering to have config for 2D/3D mode 2025-07-31 20:05:08 +02:00
Wojtek Figat
7603109dce Add StringUtils::Copy for char to Char 2025-07-31 20:04:03 +02:00
Wojtek Figat
01617ae684 Optimize Debug Commands name building and support nested classes with name hierarchy 2025-07-31 20:03:26 +02:00
Wojtek Figat
4aa2676084 Fix MClass::GetNamespace typo that returned name instead 2025-07-31 20:02:42 +02:00
Wojtek Figat
a8b9211c32 Fix output log console to resize width to contain whole item text 2025-07-31 17:34:22 +02:00
Wojtek Figat
9c5060584d Fix output log console to remove executed command from history no matter the placement 2025-07-31 17:32:41 +02:00
Wojtek Figat
846a0b5685 Fix PSO init to release old data on recreation 2025-07-31 15:08:38 +02:00
Wojtek Figat
08154d8fe5 Fix support for nesting classes inside other scripting classes 2025-07-31 15:07:57 +02:00
Wojtek Figat
a53a438c3c Fix to use static VkInstance 2025-07-31 12:10:42 +02:00
Wojtek Figat
bb8f569c41 Fix Motion Vectors rendering skipping when not needed by SSR 2025-07-30 23:46:42 +02:00
Wojtek Figat
6307ad7979 Fix shadow bias artifacts on Low shadows quality 2025-07-30 23:46:17 +02:00
Wojtek Figat
b6229350a3 Fix crash on invalid GPUBuffer vertex layout in empty buffer 2025-07-30 23:45:53 +02:00
Wojtek Figat
5dc4ebade1 Fix Vulkan perf tracing with Tracy on Switch 2025-07-30 23:25:27 +02:00
Wojtek Figat
3cd5890db1 Update volk to version 1.4.304 2025-07-30 19:11:15 +02:00
Wojtek Figat
522d8d89e6 Fix Global SDF to properly lock static chunks access 2025-07-30 19:09:21 +02:00
Wojtek Figat
492a5f979d Fix yield on Android 2025-07-30 19:08:58 +02:00
Wojtek Figat
5e4d564338 Add **GPU profiling support to Tracy integration** 2025-07-30 19:08:45 +02:00
Wojtek Figat
8fcbef863e Add GPUResourceMapMode.NoWait flag to control buffer data reading
c68b75a298
2025-07-30 08:42:26 +02:00
Wojtek Figat
c68b75a298 Fix GPUBufferDX11::Map to wait on data to avoid missing data when reading staging buffers 2025-07-29 21:43:09 +02:00
Wojtek Figat
8f63a99a2c Fix game splash screen to wait fr texture to be streamed in, not just allocated 2025-07-29 21:42:37 +02:00
Wojtek Figat
6d05bf16b1 Optimize Asset::GetPath in cooked build 2025-07-29 21:41:59 +02:00
Wojtek Figat
b8218e9ab4 Fix shader asset path in debug name in cooked build 2025-07-29 17:34:42 +02:00
Wojtek Figat
99323c1d2f Add customizable per-platform affinity for content and pool threads 2025-07-29 10:41:41 +02:00
Wojtek Figat
17c0892ff1 Add debug name for PSO catching on D3D12/Vulkan during profiling incl. Development builds 2025-07-28 23:08:26 +02:00
Wojtek Figat
ad6764e6d7 Fix Asset.WaitForLoaded to yield or sleep thread for proper multithreading on some platforms 2025-07-28 18:35:37 +02:00
Wojtek Figat
0bfd38e065 Fix compilation on platforms without cloth sim 2025-07-28 18:34:29 +02:00
Wojtek Figat
a00ffe6ec3 Add Platform::Yield 2025-07-28 18:33:05 +02:00
Wojtek Figat
a7ffd9e57f Add more profiler events 2025-07-28 15:15:09 +02:00
Wojtek Figat
354eaac56c Add optional testing utility for malloc/free operations 2025-07-27 23:20:06 +02:00
Wojtek Figat
8c51ea511a Fix incorrect documentation comments on HashSet/Dictionary item removal 2025-07-27 11:07:58 +02:00
Wojtek Figat
2af266727f Add utility names to gamepad buttons doc and add usefull profiler event for mono 2025-07-26 00:12:10 +02:00
Wojtek Figat
f37b75df7b Add support for using shadow maps from linked scene rendering (eg. for 1p weapons) 2025-07-25 19:59:58 +02:00
Wojtek Figat
6132e45e25 Fix shadow lights checking loop if shadows are disabled 2025-07-25 16:00:44 +02:00
Chandler Cox
753035c452 Fix issue with infinite loop if \ is used instead of / for tag closing. 2025-07-24 18:04:39 -05:00
Wojtek Figat
acc1777638 Add shared utility for command line arguments merging 2025-07-24 12:38:52 +02:00
Wojtek Figat
69585618ed Optimize scripting objects spawning on AOT platforms 2025-07-24 12:27:28 +02:00
Wojtek Figat
af0ea65d78 Add option to disable pipeline cache on specific Vulkan platforms 2025-07-24 12:20:09 +02:00
Wojtek Figat
751d179cdb Fix missing brace 2025-07-24 11:34:48 +02:00
Chandler Cox
2dc44ac1a6 Fix infinite loop on rich text box tag parsing with incomplete end of tag. 2025-07-23 19:52:42 -05:00
Wojtek Figat
2550b9f88e Fix missing TypeConverter support in AOT build 2025-07-23 22:15:38 +02:00
Wojtek Figat
c3cf8fba98 Optimize managed code 2025-07-23 18:17:10 +02:00
Wojtek Figat
6f172f8f2c Fix crash when prefab root object failed to deserialize 2025-07-23 18:16:32 +02:00
Wojtek Figat
735d611de1 Fix AOT libs rebuild when corlib was modified to avoid version mismatch 2025-07-23 18:15:52 +02:00
Chandler Cox
d6a33d5a1c Add const to String::Empty 2025-07-23 10:23:30 -05:00
Chandler Cox
6cbd40e6d8 Make StringView::Empty const to fix issues with user accidentally changing the value. 2025-07-22 22:01:55 -05:00
Wojtek Figat
8ac2385447 Update dependencies for Switch 2025-07-22 22:58:57 +02:00
Chandler Cox
b8e00f2ed1 Change checking max to use ceiltoint 2025-07-19 21:30:49 -05:00
Chandler Cox
b6e18ccae5 Fix edge case for anim event on min or max frame when looping. Fix anim event playback when is running negative. 2025-07-19 21:05:57 -05:00
Chandler Cox
1fb6586dff Add collection item duplication. 2025-07-19 16:09:33 -05:00
Chandler Cox
e6265105b5 Move to interface options. 2025-07-19 15:39:11 -05:00
Wojtek Figat
892e2e0d1e Fix fullscreen borderless window on macOS 2025-07-19 16:46:10 +02:00
Wojtek Figat
90551b32bc Add version to game settings 2025-07-19 16:40:34 +02:00
Wojtek Figat
cd08eeaf95 Fix running cooked game o macOS 2025-07-19 16:08:27 +02:00
Olly Rybak
f8dadac453 Fixed up some names and added docs 2025-07-19 22:37:35 +10:00
Wojtek Figat
f87e2c2229 Merge branch '1.11' of https://gitlab.flaxengine.com/flax/flaxengine into 1.11 2025-07-19 11:14:58 +02:00
Wojtek Figat
18035a8604 Fix incorrect image buffer usage in Render Output Control 2025-07-19 11:14:54 +02:00
Chandler Cox
fc46219a82 Add support for multi-select disable. 2025-07-17 23:09:36 -05:00
Chandler Cox
2546e19d65 Add shift selection for tree nodes 2025-07-17 23:07:06 -05:00
Wojtek Figat
6763436eff Add logging missing instance layer on Vulkan 2025-07-15 20:10:01 +02:00
Wojtek Figat
2754d61c05 Fix building Tracy for Switch 2025-07-15 19:31:07 +02:00
Wojtek Figat
7fd278a689 Fix .NET version to use selection for consoles with fixed setup 2025-07-15 13:34:43 +02:00
Wojtek Figat
2d2c5411cd Add variable DDGI probe size in debug view based on cascade 2025-07-15 12:49:05 +02:00
Wojtek Figat
3e0c085bf3 Add error log when adding/removign actors during rendering or when ConcurrentSystemLocker deadlocks 2025-07-15 12:34:40 +02:00
Wojtek Figat
c882b547c8 Fix game UI focus loss when hiding focused control to maintain gamepad navigation in Editor 2025-07-15 12:34:02 +02:00
Wojtek Figat
9646dd3fc2 Fix AutoFocus on ContainerControl to be false by default 2025-07-15 12:33:33 +02:00
Wojtek Figat
c0cce748cc Optimize Array::RemoveAtKeepOrder 2025-07-15 00:12:31 +02:00
Wojtek Figat
ab8612a914 Add profiler events to editor gizmo 2025-07-14 22:24:27 +02:00
Wojtek Figat
20f1e67700 Optimize Spline debug rendering far from camera 2025-07-14 21:09:28 +02:00
Wojtek Figat
eda7f7e90f Merge remote-tracking branch 'origin/master' into 1.11 2025-07-14 20:26:56 +02:00
Wojtek Figat
a22b33d3bb Fix missing sphere bounds update for splines 2025-07-14 20:26:41 +02:00
Wojtek Figat
8ed2d6da56 Optimize Debug Draw performance of splines to use frustum culling 2025-07-14 20:26:24 +02:00
Wojtek Figat
bb37f980ed Fix regression in debug draw from 4af26a5516 2025-07-14 20:25:49 +02:00
Wojtek Figat
349547f66c Merge remote-tracking branch 'origin/master' into 1.11
# Conflicts:
#	Source/Engine/Particles/Particles.cpp
2025-07-14 18:35:53 +02:00
Wojtek Figat
a1e4ed05c4 Don't force load asset on asset clone if it's unused 2025-07-14 18:14:09 +02:00
Wojtek Figat
10e9aee8ce Add particle data layout debugger tab 2025-07-14 10:28:43 +02:00
Wojtek Figat
4af26a5516 SImplify editor code for actors debug shapes drawing 2025-07-11 23:00:53 +02:00
Wojtek Figat
3e82e550f3 Add option for debug shapes drawing for particle emitters
#3267
2025-07-11 23:00:41 +02:00
Saas
33b540ed9e fix naming and treat unfolded category items as normal items 2025-07-10 20:07:52 +02:00
Saas
50871d8885 simplify and fix edge case in item list scrolling while holding control 2025-07-09 18:41:41 +02:00
Wojtek Figat
c27a9808c4 Fix unwanted code 2025-07-09 10:02:20 +02:00
Wojtek Figat
bdaf31b54f Optimize Arena Allocator to store page metadata within itself to save on allocs 2025-07-09 00:22:35 +02:00
Wojtek Figat
3abbf08f1f Optimize foliage rendering with concurrent arena allocator 2025-07-08 22:18:00 +02:00
Wojtek Figat
a8eb4fc140 Add allocator tag support for Dictionary and HashSet 2025-07-07 23:22:32 +02:00
xxSeys1
83374164db haha I did not copy paste that comment 2025-07-06 21:31:26 +02:00
xxSeys1
c5bfc6bc3d add option to add sphere in add colliders menu 2025-07-06 21:28:01 +02:00
Chandler Cox
d698bf96cc Apply particle effect parameter overrides when emitter is changed and when activated in the tree. 2025-07-05 19:36:45 -05:00
Chandler Cox
b3f88e156c Small change to out variable that is not used anymore. 2025-07-05 18:11:26 -05:00
Chandler Cox
7418d60f24 Add editor option for build configuration when using cook and run. 2025-07-05 18:09:30 -05:00
MrCapy0
3981d5090c change color gradiant node 8 to 11 stops 2025-07-05 10:27:45 -04:00
Wojtek Figat
48c6339ebb Fix memory leak on material instances when updating layout of Text Render 2025-07-04 12:21:25 +02:00
Wojtek Figat
2dd34b288c Merge remote-tracking branch 'origin/master' into 1.11 2025-07-04 12:05:19 +02:00
Wojtek Figat
0bc595f16f Disable terarin normals smoothening 2025-07-04 12:04:36 +02:00
Wojtek Figat
7abed93972 Optimize terrain heightmap decoding to use shared code 2025-07-04 11:31:27 +02:00
51feaa0730 Release mouse relative mode when focus changes during mouse tracking
Some checks failed
Build Android / Game (Android, Release ARM64) (push) Has been cancelled
Build iOS / Game (iOS, Release ARM64) (push) Has been cancelled
Build Linux / Editor (Linux, Development x64) (push) Has been cancelled
Build Linux / Game (Linux, Release x64) (push) Has been cancelled
Build macOS / Editor (Mac, Development ARM64) (push) Has been cancelled
Build macOS / Game (Mac, Release ARM64) (push) Has been cancelled
Build Windows / Editor (Windows, Development x64) (push) Has been cancelled
Build Windows / Game (Windows, Release x64) (push) Has been cancelled
Cooker / Cook (Mac) (push) Has been cancelled
Tests / Tests (Linux) (push) Has been cancelled
Tests / Tests (Windows) (push) Has been cancelled
2025-07-03 23:21:42 +03:00
8e69aa8bd6 Fix error while closing Editor
Some checks failed
Build Android / Game (Android, Release ARM64) (push) Has been cancelled
Build iOS / Game (iOS, Release ARM64) (push) Has been cancelled
Build Linux / Editor (Linux, Development x64) (push) Has been cancelled
Build Linux / Game (Linux, Release x64) (push) Has been cancelled
Build macOS / Editor (Mac, Development ARM64) (push) Has been cancelled
Build macOS / Game (Mac, Release ARM64) (push) Has been cancelled
Build Windows / Editor (Windows, Development x64) (push) Has been cancelled
Build Windows / Game (Windows, Release x64) (push) Has been cancelled
Cooker / Cook (Mac) (push) Has been cancelled
Tests / Tests (Linux) (push) Has been cancelled
Tests / Tests (Windows) (push) Has been cancelled
2025-07-03 22:57:07 +03:00
90b2fded48 Merge remote-tracking branch 'origin/master' into sdl_platform
Some checks failed
Build Android / Game (Android, Release ARM64) (push) Has been cancelled
Build iOS / Game (iOS, Release ARM64) (push) Has been cancelled
Build Linux / Editor (Linux, Development x64) (push) Has been cancelled
Build Linux / Game (Linux, Release x64) (push) Has been cancelled
Build macOS / Editor (Mac, Development ARM64) (push) Has been cancelled
Build macOS / Game (Mac, Release ARM64) (push) Has been cancelled
Build Windows / Editor (Windows, Development x64) (push) Has been cancelled
Build Windows / Game (Windows, Release x64) (push) Has been cancelled
Cooker / Cook (Mac) (push) Has been cancelled
Tests / Tests (Linux) (push) Has been cancelled
Tests / Tests (Windows) (push) Has been cancelled
# Conflicts:
#	Source/Editor/Windows/SceneTreeWindow.cs
2025-07-03 22:05:29 +03:00
9125ffeb9e Update third-party label in About dialog 2025-07-03 22:02:37 +03:00
28980e5fbf Cleanup 2025-07-03 22:02:36 +03:00
aab0d772a4 Implement client-side window decorations for Editor windows 2025-07-03 22:02:36 +03:00
Wojtek Figat
4b10d7057a Fix crash when using material instance that has more parameters that base due to material error 2025-07-03 20:33:14 +02:00
Wojtek Figat
85aed8c4d7 Fix using material VS to PS node directly within material input 2025-07-03 20:32:41 +02:00
Wojtek Figat
da08be42b4 Fix deadlock in Debug builds on object dtor 2025-07-03 20:32:12 +02:00
a93a940630 Fix hot-reload files not getting cleaned up during startup
Implements minimal required filter support for `FileSystem::DirectoryGetFiles`
in order to support removing hot-reload files on Linux/Apple systems.
2025-07-03 19:41:43 +03:00
3e353db1fa Refactor UnixFileSystem 2025-07-03 19:41:43 +03:00
Wojtek Figat
056fea9a8c Fix forward shading compilation when using fog inside unlit material 2025-07-03 14:48:38 +02:00
Wojtek Figat
bf345f13ce Fix reflection probes capture seams on cube face edges due to volumetric fog
#3252
2025-07-03 13:54:22 +02:00
Wojtek Figat
a138c6b062 Optimize environment probes filtering shader 2025-07-03 11:45:12 +02:00
Wojtek Figat
33e58c12cb Optimize ProbesRenderer to use time-slicing for cubemap faces rendering and filtering 2025-07-03 11:43:56 +02:00
Wojtek Figat
094a6562b8 Refactor ProbesRenderer 2025-07-03 10:18:51 +02:00
Wojtek Figat
7f783bb7da Fix crash when importing mesh with incorrect triangulation 2025-07-02 17:23:04 +02:00
Wojtek Figat
b08f218f30 Merge branch 'Zode-tageditor-quickexpand' 2025-07-01 16:47:07 +02:00
Wojtek Figat
c6640be04a Merge branch 'tageditor-quickexpand' of https://github.com/Zode/FlaxEngine into Zode-tageditor-quickexpand 2025-07-01 16:47:04 +02:00
Wojtek Figat
eff3c50d9c Merge branch 'xxSeys1-ContentSearchMouseOverFocusFix' 2025-07-01 16:34:42 +02:00
Wojtek Figat
3fa099ad06 Merge branch 'ContentSearchMouseOverFocusFix' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ContentSearchMouseOverFocusFix 2025-07-01 16:27:08 +02:00
Wojtek Figat
5e47a861f3 Merge branch 'xxSeys1-VisjectConnectionCmPolish' 2025-07-01 16:06:22 +02:00
Wojtek Figat
37b4b25ead Merge branch 'VisjectConnectionCmPolish' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-VisjectConnectionCmPolish 2025-07-01 16:06:13 +02:00
Wojtek Figat
edfd145226 Merge branch 'xxSeys1-FixCloseButtonAfterIBrokeIt' 2025-07-01 15:58:46 +02:00
Wojtek Figat
763ede4bd9 Merge branch 'FixCloseButtonAfterIBrokeIt' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-FixCloseButtonAfterIBrokeIt 2025-07-01 15:58:36 +02:00
Wojtek Figat
284da341e1 Merge branch 'xxSeys1-ItemsListExpandOnNavigate' 2025-07-01 15:56:53 +02:00
Wojtek Figat
53ed2431b5 Merge branch 'ItemsListExpandOnNavigate' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-ItemsListExpandOnNavigate 2025-07-01 15:48:24 +02:00
Wojtek Figat
b4ab39b3bf Merge branch 'Tryibion-keep-scroll-scene-play' 2025-07-01 15:34:27 +02:00
Wojtek Figat
de61e3efb5 Merge branch 'keep-scroll-scene-play' of https://github.com/Tryibion/FlaxEngine into Tryibion-keep-scroll-scene-play 2025-07-01 15:34:07 +02:00
Wojtek Figat
29fb36fcd6 Merge branch 'Tryibion-fix-log-clear-play' 2025-07-01 10:52:39 +02:00
Wojtek Figat
78f0ff75f2 Move debug log clearing to handle pending entries too in publci api 2025-07-01 10:52:14 +02:00
Wojtek Figat
6efd456eaf Merge branch 'fix-log-clear-play' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-log-clear-play 2025-07-01 10:50:58 +02:00
Wojtek Figat
e0c96c0cde Merge branch 'Tryibion-fix-tooltip-scene' 2025-07-01 10:48:34 +02:00
Wojtek Figat
ada269568a Merge branch 'fix-tooltip-scene' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-tooltip-scene 2025-07-01 10:48:26 +02:00
Wojtek Figat
dd256ad518 Fix typo 2025-07-01 10:37:39 +02:00
Wojtek Figat
12c8bb4f31 Fix scene lightmaps removal clearing actors linkage to lightmaps 2025-07-01 08:27:29 +02:00
Wojtek Figat
4e4d380267 Fix fog to draw Fog Cutoff Distance via a plane, not sphere test
Add support for negative Fog Cutoff Distance on fog to draw it in front of the camera Far Plane, no matter the setup.
Fix hot-reloading Fog shader in Editor.
2025-06-29 20:02:54 +02:00
Wojtek Figat
448eb48c23 Fix fog to draw Fog Cutoff Distance via a plane, not sphere test
Add support for negative Fog Cutoff Distance on fog to draw it in front of the camera Far Plane, no matter the setup.
Fix hot-reloading Fog shader in Editor.
2025-06-29 20:02:24 +02:00
Wojtek Figat
78d519cb9a Fix ConcurrentSystemLocker to have exclusive lock as an option 2025-06-29 19:16:41 +02:00
Wojtek Figat
43d11264f8 Fix asset references to use separate lightweight locking instead of full asset mutex 2025-06-29 19:16:23 +02:00
Wojtek Figat
f126a83b79 Fix graphical issues when batching materials that use Forward Shading for instancing 2025-06-29 13:52:29 +02:00
Wojtek Figat
bdd7bae459 Add new Custom Lit shading model for custom lighting in materials (eg. Cel Shading) 2025-06-29 13:51:59 +02:00
xxSeys1
75647d149a make visual script editor method override cm searchable 2025-06-28 19:40:03 +02:00
Chandler Cox
52b64540ab Add extra index guard logic 2025-06-28 10:46:11 -05:00
xxSeys1
d7ab497b0e fix adding empty multi action to undo stack 2025-06-28 16:22:29 +02:00
xxSeys1
683a48a6e3 add default shortcuts to distribute node options 2025-06-28 16:02:44 +02:00
xxSeys1
a41fc51f92 add visject node formatting option to straighten node connections
Also fixes a bunch of missing trailing "." in doc comments and changes "Node editors" category in the input options to "Node Editors" to match the case of all other categories.
2025-06-28 15:53:32 +02:00
Chandler Cox
b9cfd054c1 Remove unused variable 2025-06-27 21:38:10 -05:00
Chandler Cox
53d4ea51af Add prefab UI viewport scaling. 2025-06-27 21:18:53 -05:00
Wojtek Figat
3dc7546dd4 Fix crash when constant buffer is unused by shader but still exists 2025-06-27 19:06:25 +02:00
Wojtek Figat
185151b025 Minor fixes 2025-06-27 18:52:25 +02:00
Wojtek Figat
8cdec15fa6 Fix GlobalSignDistanceFieldCustomBuffer to be thread-safe (scene rendering events are not guarded via mutex anymore) 2025-06-27 15:41:48 +02:00
Wojtek Figat
1b40775d62 Fix deadloop in HtmlParser when parsing text with incorrect tags 2025-06-27 11:56:09 +02:00
Wojtek Figat
45e82d21f4 Fix ConcurrentSystemLocker to guard for a single writer at once 2025-06-26 19:51:06 +02:00
Wojtek Figat
5c37584eca Minor adjustment for alignment of perf-critical variables in rendering 2025-06-26 19:50:42 +02:00
Wojtek Figat
674fda7375 Add resizing to Custom Code nodes in Materials 2025-06-26 19:50:04 +02:00
6296e1a9eb Fix linker errors 2025-06-26 15:32:38 +03:00
1586bb0702 Merge remote-tracking branch 'origin/master' into sdl_platform 2025-06-26 15:31:59 +03:00
xxSeys1
bf10d0949e add a bit of spacing to the left edge of the popup to reduce colors bleeding into the background 2025-06-26 12:47:31 +02:00
Wojtek Figat
d1c43ec1fe Merge remote-tracking branch 'origin/master' into 1.11 2025-06-25 10:48:11 +02:00
edeaf6af09 Fix compilation without SDL 2025-06-24 22:57:49 +03:00
Wojtek Figat
dbd8297612 Add SortOrder to Environment Probe 2025-06-24 19:25:18 +02:00
Wojtek Figat
8d62a13cbc Add LayoutElementsContainer.Image with IBrush 2025-06-24 18:32:20 +02:00
951edd95db Cleanup 2025-06-24 16:47:45 +03:00
9951211596 Fix mono glib.h wrapper compilation error 2025-06-24 16:47:20 +03:00
6d337464f7 Support XDG Desktop Portal as color picker provider
Wayland and XWayland fallback implementation uses XDP in
order to query picked color from desktop.
2025-06-24 16:41:32 +03:00
Wojtek Figat
5a05038a9b Add new UIBrush that uses UIBrushAsset json resource with a brush data 2025-06-24 13:08:25 +02:00
xxSeys1
109d4423bb add accent color strip to search item icons 2025-06-23 20:14:18 +02:00
d0b552d74a Use logo as an icon in Linux windows 2025-06-23 18:58:02 +03:00
xxSeys1
6c1e380a3e fix search item hover auto focusing item
Change what happens when search items get focused to prevent focus being taken away from search box.
Also adds a highlight to mouse hovered search item.
2025-06-23 17:24:53 +02:00
Wojtek Figat
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
Wojtek Figat
867ae2ceaa Add Texture Size node to particles 2025-06-23 09:31:15 +02:00
Wojtek Figat
ef5d45874a Fix compilation regression 2025-06-22 12:12:42 +02:00
Chandler Cox
169db79b2a Fix issue with tooltip not updating on scene reload. 2025-06-20 20:12:43 -05:00
Chandler Cox
9e4c1da032 Clear entries and pending entries before play for debug log. 2025-06-20 19:42:30 -05:00
Chandler Cox
c8622d1801 Change method name from add to restore. 2025-06-20 15:26:58 -05:00
Wojtek Figat
d7df403e5e Optimize ContainerControl.DisposeChildren 2025-06-20 09:05:41 +02:00
Wojtek Figat
d3a50cdacb Optimize Actor::DestroyChildren 2025-06-20 09:05:25 +02:00
Chandler Cox
fdd22c3380 Remove extra code. 2025-06-19 22:09:33 -05:00
Chandler Cox
53761df85e Add utility methods for redundant code. 2025-06-19 22:07:28 -05:00
Chandler Cox
ecaae2b458 Add downloading nuget package if needed. 2025-06-19 21:34:55 -05:00
Chandler Cox
3cb74d48ca Convert using event to using window method overrides. 2025-06-19 20:01:27 -05:00
Chandler Cox
8633ed2124 Merge branch 'master' into keep-scroll-scene-play 2025-06-19 19:58:04 -05:00
Wojtek Figat
2e10d776e9 Optimize updating actor rendering entry with better thread locking that support async writes on actor update 2025-06-19 14:04:06 +02:00
Wojtek Figat
4ac870f701 Optimize physics transformation updates propagation in async via Job System 2025-06-19 13:57:50 +02:00
Wojtek Figat
6144f6c74e Optimize physics simulation with higher limit of 8 threads 2025-06-19 09:50:07 +02:00
Wojtek Figat
edb6884942 Optimize PhysX work dispatcher to be shared by all scenes 2025-06-19 08:24:26 +02:00
Wojtek Figat
62e329ac6e Add more memory tags for Navigation 2025-06-18 23:00:43 +02:00
Wojtek Figat
68dce7e4dd Merge remote-tracking branch 'origin/master' into 1.11 2025-06-18 22:46:10 +02:00
Wojtek Figat
bd2add7edd Tweak memory command tip 2025-06-16 23:15:58 +02:00
Wojtek Figat
986693757c Merge remote-tracking branch 'origin/master' into 1.11 2025-06-16 22:46:17 +02:00
xxSeys1
bbe54969b0 fix close visject surface was_ flags to properly reset to false 2025-06-16 16:51:30 +02:00
xxSeys1
8164ce924f fix unfolding to actually work 2025-06-16 15:30:51 +02:00
xxSeys1
d110237423 fix GetVisibleItems() to only get visible items 2025-06-16 14:51:29 +02:00
xxSeys1
cd7233d559 allow the user to unfold folded categories when scrolling with keyboard 2025-06-16 14:10:44 +02:00
xxSeys1
a4d3ede368 fix context menu on reroute node 2025-06-15 02:08:47 +02:00
xxSeys1
92edb996f2 properly handle connecting to a box that already has a connection 2025-06-14 17:20:28 +02:00
xxSeys1
2e0c35e6e4 fix out of range error when searching visject cm 2025-06-14 01:04:35 +02:00
xxSeys1
baba151d8a fix context menu 2025-06-14 00:54:16 +02:00
xxSeys1
b44d4107c0 fixes 2025-06-13 22:25:02 +02:00
xxSeys1
f40c67ddf0 add support to move visject socket connections 2025-06-13 22:05:57 +02:00
xxSeys1
ec154b4998 remove unnecessary returns xml doc comment 2025-06-12 19:31:32 +02:00
Wojtek Figat
766091045b Improve version parsing to share code 2025-06-12 18:21:12 +02:00
xxSeys1
47e1547d29 improve behaviour of visject node cm menu 2025-06-12 18:12:06 +02:00
Wojtek Figat
e2d9452994 Add unified min Clang version 13 for Linux 2025-06-12 18:05:01 +02:00
Wojtek Figat
eadb4411ff Fix crash in GPU Memory profiler if resource went null 2025-06-12 17:35:02 +02:00
Wojtek Figat
bdc87c7bc6 Update min supported version of macOS to 13 and iOS to 15 2025-06-12 17:26:39 +02:00
Wojtek Figat
7606c9ac12 Update minimum CPU arch requirement on Windows to AVX2 with SSE4.2
94.48% support on PC according to Steam Hardware & Software Survey: May 2025 (https://store.steampowered.com/hwsurvey/)
2025-06-12 17:03:19 +02:00
Wojtek Figat
4240646ec7 Update minimum Windows version to 10 (to match .NET 8) 2025-06-12 08:31:32 +02:00
Chandler Cox
28eaac37dc Initial work on nuget packages. 2025-06-11 18:17:19 -05:00
Wojtek Figat
0fa53f860a Add UseLogInRelease to engine config to disable logging in Release builds 2025-06-11 23:35:03 +02:00
Wojtek Figat
8ec138399a Add higher level streaming time budget in frame based on idle time 2025-06-11 18:40:35 +02:00
Wojtek Figat
5b6859a66f Add time slicing to Deserialization stage of async scenes loading to avoid hitching
#3261
2025-06-11 18:40:06 +02:00
Zode
bed1f6e9cc Make tag editor expand all if holding shift while clicking the ... button 2025-06-11 19:06:23 +03:00
Wojtek Figat
e9835766bc Add red color to Tracy profiler zones that cause CPU waiting to improve profiling 2025-06-11 14:56:43 +02:00
Wojtek Figat
d6eb647d59 Optimize async scene loading to run in separate stages with time-slicing 2025-06-11 14:33:47 +02:00
xxSeys1
6997cbeb47 add options for viewport icons 2025-06-11 13:08:59 +02:00
Wojtek Figat
b50f3fcb64 Refactor level actions to support time budget and time slicing 2025-06-11 00:01:46 +02:00
Wojtek Figat
d6b4992991 Optimize actors registration in SceneRendering to track free items 2025-06-10 20:08:20 +02:00
Chandler Cox
fc561b5ec5 Merge pull request #2 from xxSeys1/noScrollOnScriptsReload
Dont scroll to node after scripts compilation
2025-06-10 10:03:06 -05:00
xxSeys1
dacc0068e0 dont scroll to node after scripts compilation 2025-06-10 16:49:30 +02:00
Wojtek Figat
cfd2f42b0c Optimize managed memory allocations in Editor profiler 2025-06-09 22:06:49 +02:00
Wojtek Figat
89c7f4b0a3 Fix ManagedDictionary cache to be cleared on hot-reload 2025-06-09 17:19:36 +02:00
Wojtek Figat
d7ff9fdade Optimize editor profiler native allocations when capturing data 2025-06-09 15:23:31 +02:00
Wojtek Figat
057ec9d41e Anothher fix 2025-06-09 10:48:02 +02:00
Wojtek Figat
7fa4efcac5 Fix compilation in Release 2025-06-09 10:17:51 +02:00
Wojtek Figat
6547e7ee9c Fix compilation with Clang 2025-06-08 23:58:33 +02:00
Wojtek Figat
907c593671 Fix typos in doc comments 2025-06-08 19:47:09 +02:00
Wojtek Figat
65ab42158d Update engine version 2025-06-08 00:58:39 +02:00
Wojtek Figat
99841e2e8d Fix crash when using invalid node index in skinned mesh 2025-06-08 00:58:31 +02:00
Wojtek Figat
73c30d3d89 Optimize asset references to support direct registration to reduce Delegate memory allocations and overhead 2025-06-08 00:58:15 +02:00
Wojtek Figat
bffb175a9b Code fixes 2025-06-07 01:25:22 +02:00
Wojtek Figat
125a973ff2 Rename Prefetch to MemoryPrefetch 2025-06-06 22:55:14 +02:00
Wojtek Figat
462f75abd0 Optimize memory allocation when reading animated model pose by cloth 2025-06-06 22:41:48 +02:00
Wojtek Figat
d95cd2f0be Optimize memory alloc on Animated Model init 2025-06-06 22:41:29 +02:00
Wojtek Figat
091f76bbf2 Add more improvements to usability of memory profiler 2025-06-06 22:40:43 +02:00
Wojtek Figat
e8b60060ab Fix memory profiler thread-local storage to avoid dynamic mem alloc due to recursive call 2025-06-06 14:52:27 +02:00
Wojtek Figat
cd637e8a7a Add more memory profiling coverage 2025-06-06 14:38:22 +02:00
Wojtek Figat
9d8e75caa3 Fix various code to improve quality 2025-06-06 11:19:32 +02:00
Wojtek Figat
0670c0bbd3 Fix compilation warnings 2025-06-05 18:32:36 +02:00
Wojtek Figat
f462a2187f Merge branch 'master' into 1.11 2025-06-05 18:03:17 +02:00
Chandler Cox
dd4bb2f7f1 Dont scroll to node when play is starting or ending. 2025-06-04 11:16:01 -05:00
Chandler Cox
6b78b498f7 Use direct count from internal call. 2025-06-04 10:17:41 -05:00
xxSeys1
c4130aa20f fix and improve show all commands on " " behavior 2025-06-04 15:23:42 +02:00
Chandler Cox
71991ff8c7 Show added and removed actors in prefab diff view. 2025-06-03 15:25:45 -05:00
xxSeys1
c9fe9213b3 add showing all commands if prompt is whitespace(s) 2025-06-02 23:25:50 +02:00
xxSeys1
608839b6a5 set width of command suggestions based on longest command 2025-06-02 22:33:22 +02:00
Wojtek Figat
8eff098850 Fix Linux build 2025-05-28 04:30:08 +02:00
Wojtek Figat
4fe9fdded6 Optimize redundant string allocation in managed binary module unload 2025-05-28 04:10:47 +02:00
Wojtek Figat
03d52d4eb9 Add support for building engine without logging 2025-05-28 04:05:12 +02:00
Wojtek Figat
ab61ed5a37 Add more memory profiling insights and groups 2025-05-28 04:03:44 +02:00
Wojtek Figat
72ee80242d Add integration with Tracy profiler to plot main memory categories 2025-05-26 05:37:53 +02:00
Wojtek Figat
9dc4dbc6d7 Add more memory profiler categories 2025-05-25 18:38:07 +02:00
Wojtek Figat
a74c5e7943 Another fix for iOS build 2025-05-25 18:01:30 +02:00
Wojtek Figat
8f9fa6995e Fix compilation issues 2025-05-25 17:40:00 +02:00
Wojtek Figat
98e59450f1 Add freeing managed assembly memory on reload/unload 2025-05-25 17:39:51 +02:00
Wojtek Figat
8c62f1120f Optimize dynamic memory allocations for managed runtime interop collections with a new Arena Allocation 2025-05-25 17:39:20 +02:00
Wojtek Figat
9aaba955d0 Fix profiler tables to use column headers aligned to center 2025-05-25 02:04:56 +02:00
Wojtek Figat
410ec0465c Optimize CSharp scripting runtime to use arena allocator per-assembly 2025-05-25 02:04:16 +02:00
Wojtek Figat
f9cb4ddae2 Add new Arena Allocator for optimized dynamic memory allocations with a shared lifetime 2025-05-24 05:08:32 +02:00
Chandler Cox
954cf3eb5b Add option to show verticies and triangles of collision model in a collider data window. 2025-05-23 17:57:14 -05:00
Wojtek Figat
bb855e2663 Add suport for Tracy profiler on Mac 2025-05-22 05:34:36 +02:00
Wojtek Figat
d24f9d1e1e Add warning when using memory profiler without enabled on startup 2025-05-22 05:18:56 +02:00
Wojtek Figat
c1b1f4afc4 Add process memory stats for Apple platforms 2025-05-22 04:49:48 +02:00
Wojtek Figat
c639a3103c Add memory profiling events to the main areas of the engine 2025-05-22 04:47:01 +02:00
Wojtek Figat
32bc73610f Fix debug command type detection when it's used with argument 2025-05-22 04:45:12 +02:00
Wojtek Figat
66dcfafa2e Fix Vulkan descriptor sets pooling 2025-05-22 04:42:01 +02:00
Wojtek Figat
9215f2662f Add missing memory alloc profiling for virtual pages 2025-05-22 04:41:01 +02:00
Wojtek Figat
2dc404cbd3 Add new memory profiler 2025-05-22 04:40:32 +02:00
Olly Rybak
245d7de818 Fixed renamed parameters 2025-05-14 19:45:29 +10:00
Olly
49e0cc937e Added SetNodeTransformation with ModelBoneNode
To get and set a series of bones based on their ID

(cherry picked from commit e0a113483e910660e45c53e059502733ce1d6ad6)
2025-05-14 19:29:39 +10:00
Norite SC
f71bdd0962 Create GPUTextureEditor.cs 2025-05-13 01:13:16 +02:00
xxSeys1
47a6da9e40 add editor option for disabled transform gizmo brightness 2025-04-27 15:56:34 +02:00
xxSeys1
1704cfba4d do not clear user search on script reload 2025-04-25 18:32:05 +02:00
Chandler Cox
40dae18b76 Add new issue and request templates. 2025-04-24 18:48:29 -05:00
xxSeys1
4e44831bbe fix searchbox width 2025-04-11 19:07:39 +02:00
xxSeys1
0c1e0e48d4 always sort the search results alphabetically 2025-04-10 22:12:47 +02:00
xxSeys1
6884df02fd remove trailing . on message 2025-04-10 21:34:00 +02:00
xxSeys1
63655d18c5 add a info message on Debug Log pause on warning 2025-04-10 21:31:12 +02:00
xxSeys1
4170699348 add hint if there are no search results 2025-04-10 09:25:52 +02:00
xxSeys1
d58a9beb3d why was this not in the last commit? 2025-04-09 23:45:43 +02:00
xxSeys1
5049f3b2d8 add hint if no filters are active 2025-04-09 23:45:00 +02:00
xxSeys1
6e44eebb9e another fix 2025-04-09 17:01:17 +02:00
xxSeys1
aecbab5613 more fixes 2025-04-09 14:30:08 +02:00
xxSeys1
6bf90f29c5 fixes 2025-04-09 14:29:19 +02:00
xxSeys1
19edce1770 add controls and filter to actor toolbox search 2025-04-09 10:43:52 +02:00
Chandler Cox
e17b96b2d6 Add additional methods for layers. 2025-04-07 11:14:33 -05:00
Chandler Cox
9b6feb9367 Add Scaled Time to Material Time node. 2025-04-07 10:02:20 -05:00
fc96b248cb Ignore invalid VelocityChanged velocity values in audio backend 2025-04-05 20:17:33 +03:00
36c1909111 Build OpenAL with PipeWire backend enabled 2025-04-05 20:17:32 +03:00
643fe639e5 Update OpenAL to 1.24.3 2025-04-05 20:17:32 +03:00
78dffc9ad1 Add override for building CMake project with custom configuration 2025-04-05 20:17:32 +03:00
xxSeys1
1dfd717093 serialize display info and color 2025-04-02 23:38:04 +02:00
xxSeys1
68ef6f08c6 minor style fixes 2025-04-02 19:40:27 +02:00
xxSeys1
a0b80c6096 add getters for more commonly used vehicle fields 2025-04-02 19:29:11 +02:00
xxSeys1
59ac8a3f60 move anti roll bars into Vehicle display group 2025-04-02 19:21:24 +02:00
xxSeys1
dd281bbca8 add wheel information debug draw 2025-04-02 19:12:36 +02:00
xxSeys1
2e48be97b6 add getter for steering 2025-04-02 17:24:13 +02:00
Andre Mohren
0b7550e5ca Implement creation of new projects from within the editor gui. 2025-04-02 15:10:11 +02:00
xxSeys1
391c67b1a9 add visibility options for the tab close button 2025-03-23 14:09:59 +01:00
xxSeys1
975cc79085 code style fixes 2025-03-16 22:18:21 +01:00
xxSeys1
468babae87 auto resize PropertiesList splitter bar based on longest text 2025-03-16 20:32:20 +01:00
xxSeys1
051d363358 add alpha grid background 2025-03-14 15:51:36 +01:00
xxSeys1
9b495bbc68 improve how ColorValueBoxes draw transparent colors 2025-03-13 17:18:11 +01:00
xxSeys1
516d4263c9 add broken link icon 2025-02-11 23:56:28 +01:00
xxSeys1
ba35123420 add minimum tab width 2025-02-11 18:15:46 +01:00
xxSeys1
409703d675 add editor option for tab height 2025-02-11 16:39:33 +01:00
xxSeys1
570c3f7462 add option for single tab tab header bar visibility 2025-02-11 16:39:15 +01:00
Chandler Cox
42d02a9e63 Add small fade to bottom bar. 2025-02-08 18:49:04 -06:00
Chandler Cox
819c93f6fb Increase margins. 2024-12-24 14:26:59 -06:00
Chandler Cox
0c645cbc78 Allow user to add splash image to splash screen. 2024-12-24 12:12:59 -06:00
xxSeys1
e665cc7500 add safe margin
4 pixels seemed a bit much, smaller adjustments could lead to the menu still showing
2024-09-16 15:43:46 +02:00
xxSeys1
0a516ac98d make it possible to pan editor when rmb down on node 2024-09-14 15:33:07 +02:00
1263 changed files with 154560 additions and 14993 deletions

42
.github/ISSUE_TEMPLATE/1-bug.yaml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Bug Report
description: File a bug report.
title: "[Bug]: "
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please attach any minimal reproduction projects!
- type: textarea
id: description-area
attributes:
label: Description
description: Please provide a description of the bug and what you expected to happen.
validations:
required: true
- type: textarea
id: steps-area
attributes:
label: Steps to reproduce
description: Please provide reproduction steps if possible.
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of Flax are you running?
options:
- '1.8'
- '1.9'
- '1.10'
- '1.11'
- master branch
default: 3
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant logs
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell

View File

@@ -0,0 +1,22 @@
name: Feature Request
description: File a feature request.
title: "[Request]: "
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out a feature request!
- type: textarea
id: description-area
attributes:
label: Description
description: Please provide a description of the feature!
validations:
required: true
- type: textarea
id: benefits-area
attributes:
label: Benefits
description: Please provide what benefits this feature would provide to the engine!
validations:
required: true

View File

@@ -19,7 +19,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
dotnet-version: 9.0.x
- name: Setup .NET Workload
run: |
dotnet workload install ios
@@ -33,4 +33,4 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -dotnet=8 -arch=ARM64 -platform=iOS -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Mac/CallBuildTool.sh -build -log -dotnet=9 -arch=ARM64 -platform=iOS -configuration=Release -buildtargets=FlaxGame

View File

@@ -16,7 +16,8 @@ jobs:
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev libwayland-dev
sudo apt-get update
sudo apt-get install -y --fix-missing libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev libwayland-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET

View File

@@ -87,7 +87,8 @@ jobs:
git ${{ env.GIT_LFS_PULL_OPTIONS }} lfs pull
- name: Install dependencies
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
sudo apt-get update
sudo apt-get install -y --fix-missing libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
@@ -118,7 +119,8 @@ jobs:
git ${{ env.GIT_LFS_PULL_OPTIONS }} lfs pull
- name: Install dependencies
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
sudo apt-get update
sudo apt-get install -y --fix-missing libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET

View File

@@ -28,7 +28,8 @@ jobs:
git lfs pull
- name: Install dependencies
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev libwayland-dev
sudo apt-get update
sudo apt-get install -y --fix-missing libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev libwayland-dev
- name: Build
run: |
./GenerateProjectFiles.sh -vs2022 -log -verbose -printSDKs -dotnet=8

BIN
Content/Editor/Camera/M_Camera.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/DefaultFontMaterial.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/Gizmo/Material.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/Gizmo/MaterialWire.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/Highlight Material.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Editor/Icons/IconsMaterial.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Editor/IconsAtlas.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

View File

@@ -6,6 +6,7 @@
@3
#include "./Flax/Common.hlsl"
#include "./Flax/Stencil.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
@7
@@ -13,11 +14,14 @@
META_CB_BEGIN(0, Data)
float4x4 WorldMatrix;
float4x4 InvWorld;
float4x4 SVPositionToWorld;
float4x4 SvPositionToWorld;
float3 Padding0;
uint RenderLayersMask;
@1META_CB_END
// Use depth buffer for per-pixel decal layering
Texture2D DepthBuffer : register(t0);
Texture2D<uint2> StencilBuffer : register(t1);
// Material shader resources
@2
@@ -27,12 +31,63 @@ struct MaterialInput
float3 WorldPosition;
float TwoSidedSign;
float2 TexCoord;
float4 TexCoord_DDX_DDY;
float3x3 TBN;
float4 SvPosition;
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
};
// Calculates decal texcoords for a given pixel position (sampels depth buffer and projects value to decal space).
float2 SvPositionToDecalUV(float4 svPosition)
{
float2 screenUV = svPosition.xy * ScreenSize.zw;
svPosition.z = SAMPLE_RT(DepthBuffer, screenUV).r;
float4 positionHS = mul(float4(svPosition.xyz, 1), SvPositionToWorld);
float3 positionWS = positionHS.xyz / positionHS.w;
float3 positionOS = mul(float4(positionWS, 1), InvWorld).xyz;
return positionOS.xz + 0.5f;
}
// Manually compute ddx/ddy for decal texture cooordinates to avoid the 2x2 pixels artifacts on the edges of geometry under decal
// [Reference: https://www.humus.name/index.php?page=3D&ID=84]
float4 CalculateTextureDerivatives(float4 svPosition, float2 texCoord)
{
float4 svDiffX = float4(1, 0, 0, 0);
float2 uvDiffX0 = texCoord - SvPositionToDecalUV(svPosition - svDiffX);
float2 uvDiffX1 = SvPositionToDecalUV(svPosition + svDiffX) - texCoord;
float2 dx = dot(uvDiffX0, uvDiffX0) < dot(uvDiffX1, uvDiffX1) ? uvDiffX0 : uvDiffX1;
float4 svDiffY = float4(0, 1, 0, 0);
float2 uvDiffY0 = texCoord - SvPositionToDecalUV(svPosition - svDiffY);
float2 uvDiffY1 = SvPositionToDecalUV(svPosition + svDiffY) - texCoord;
float2 dy = dot(uvDiffY0, uvDiffY0) < dot(uvDiffY1, uvDiffY1) ? uvDiffY0 : uvDiffY1;
return float4(dx, dy);
}
// Computes the mipmap level for a specific texture dimensions to be sampled at decal texture cooordinates.
// [Reference: https://hugi.scene.org/online/coding/hugi%2014%20-%20comipmap.htm]
float CalculateTextureMipmap(MaterialInput input, float2 textureSize)
{
float2 dx = input.TexCoord_DDX_DDY.xy * textureSize;
float2 dy = input.TexCoord_DDX_DDY.zw * textureSize;
float d = max(dot(dx, dx), dot(dy, dy));
return (0.5 * 0.5) * log2(d); // Hardcoded half-mip rate reduction to avoid artifacts when decal is moved over dither texture
}
float CalculateTextureMipmap(MaterialInput input, Texture2D t)
{
float2 textureSize;
t.GetDimensions(textureSize.x, textureSize.y);
return CalculateTextureMipmap(input, textureSize);
}
float CalculateTextureMipmap(MaterialInput input, TextureCube t)
{
float2 textureSize;
t.GetDimensions(textureSize.x, textureSize.y);
return CalculateTextureMipmap(input, textureSize);
}
// Transforms a vector from tangent space to world space
float3 TransformTangentVectorToWorld(MaterialInput input, float3 tangentVector)
{
@@ -116,7 +171,6 @@ Material GetMaterialPS(MaterialInput input)
}
// Input macro specified by the material: DECAL_BLEND_MODE
#define DECAL_BLEND_MODE_TRANSLUCENT 0
#define DECAL_BLEND_MODE_STAIN 1
#define DECAL_BLEND_MODE_NORMAL 2
@@ -150,10 +204,18 @@ void PS_Decal(
#endif
)
{
// Stencil masking
uint stencilObjectLayer = STENCIL_BUFFER_OBJECT_LAYER(STENCIL_BUFFER_LOAD(StencilBuffer, SvPosition.xy));
if ((RenderLayersMask & (1 << stencilObjectLayer)) == 0)
{
clip(-1);
return;
}
float2 screenUV = SvPosition.xy * ScreenSize.zw;
SvPosition.z = SAMPLE_RT(DepthBuffer, screenUV).r;
float4 positionHS = mul(float4(SvPosition.xyz, 1), SVPositionToWorld);
float4 positionHS = mul(float4(SvPosition.xyz, 1), SvPositionToWorld);
float3 positionWS = positionHS.xyz / positionHS.w;
float3 positionOS = mul(float4(positionWS, 1), InvWorld).xyz;
@@ -166,8 +228,9 @@ void PS_Decal(
materialInput.TexCoord = decalUVs;
materialInput.TwoSidedSign = 1;
materialInput.SvPosition = SvPosition;
// Build tangent to world transformation matrix
materialInput.TexCoord_DDX_DDY = CalculateTextureDerivatives(materialInput.SvPosition, materialInput.TexCoord);
// Calculate tangent-space
float3 ddxWp = ddx(positionWS);
float3 ddyWp = ddy(positionWS);
materialInput.TBN[0] = normalize(ddyWp);

View File

@@ -4,8 +4,8 @@
#define MAX_LOCAL_LIGHTS 4
@1// Forward Shading: Includes
#include "./Flax/LightingCommon.hlsl"
#if USE_REFLECTIONS
#include "./Flax/ReflectionsCommon.hlsl"
#if USE_REFLECTIONS
#define MATERIAL_REFLECTIONS_SSR 1
#if MATERIAL_REFLECTIONS == MATERIAL_REFLECTIONS_SSR
#include "./Flax/SSR.hlsl"
@@ -14,11 +14,13 @@
#include "./Flax/Lighting.hlsl"
#include "./Flax/ShadowsSampling.hlsl"
#include "./Flax/ExponentialHeightFog.hlsl"
#include "./Flax/VolumetricFog.hlsl"
@2// Forward Shading: Constants
LightData DirectionalLight;
LightData SkyLight;
ProbeData EnvironmentProbe;
EnvProbeData EnvironmentProbe;
ExponentialHeightFogData ExponentialHeightFog;
VolumetricFogData VolumetricFog;
float3 Dummy2;
uint LocalLightsCount;
LightData LocalLights[MAX_LOCAL_LIGHTS];
@@ -27,7 +29,17 @@ TextureCube EnvProbe : register(t__SRV__);
TextureCube SkyLightTexture : register(t__SRV__);
Buffer<float4> ShadowsBuffer : register(t__SRV__);
Texture2D<float> ShadowMap : register(t__SRV__);
Texture3D VolumetricFogTexture : register(t__SRV__);
Texture2D PreIntegratedGF : register(t__SRV__);
@4// Forward Shading: Utilities
// Public accessors for lighting data, use them as data binding might change but those methods will remain.
LightData GetDirectionalLight() { return DirectionalLight; }
LightData GetSkyLight() { return SkyLight; }
EnvProbeData GetEnvironmentProbe() { return EnvironmentProbe; }
ExponentialHeightFogData GetExponentialHeightFog() { return ExponentialHeightFog; }
VolumetricFogData GetVolumetricFog() { return VolumetricFog; }
uint GetLocalLightsCount() { return LocalLightsCount; }
LightData GetLocalLight(uint i) { return LocalLights[i]; }
@5// Forward Shading: Shaders
// Pixel Shader function for Forward Pass
@@ -76,9 +88,8 @@ void PS_Forward(
gBuffer.ShadingModel = MATERIAL_SHADING_MODEL;
// Calculate lighting from a single directional light
float4 shadowMask = 1.0f;
ShadowSample shadow = SampleDirectionalLightShadow(DirectionalLight, ShadowsBuffer, ShadowMap, gBuffer);
shadowMask = GetShadowMask(shadow);
float4 shadowMask = GetShadowMask(shadow);
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
// Calculate lighting from sky light
@@ -101,7 +112,8 @@ void PS_Forward(
// Calculate reflections
#if USE_REFLECTIONS
float3 reflections = SampleReflectionProbe(ViewPos, EnvProbe, EnvironmentProbe, gBuffer.WorldPos, gBuffer.Normal, gBuffer.Roughness).rgb;
float4 reflections = SampleReflectionProbe(ViewPos, EnvProbe, EnvironmentProbe, gBuffer.WorldPos, gBuffer.Normal, gBuffer.Roughness);
reflections.rgb *= reflections.a;
#if MATERIAL_REFLECTIONS == MATERIAL_REFLECTIONS_SSR
// Screen Space Reflections
@@ -109,7 +121,7 @@ void PS_Forward(
Texture2D sceneColorTexture = MATERIAL_REFLECTIONS_SSR_COLOR;
float2 screenUV = materialInput.SvPosition.xy * ScreenSize.zw;
float stepSize = ScreenSize.z; // 1 / screenWidth
float maxSamples = 48;
float maxSamples = 50;
float worldAntiSelfOcclusionBias = 0.1f;
float brdfBias = 0.82f;
float drawDistance = 5000.0f;
@@ -117,7 +129,7 @@ void PS_Forward(
if (hit.z > 0)
{
float3 screenColor = sceneColorTexture.SampleLevel(SamplerPointClamp, hit.xy, 0).rgb;
reflections = lerp(reflections, screenColor, hit.z);
reflections.rgb = lerp(reflections.rgb, screenColor, hit.z);
}
// Fallback to software tracing if possible
@@ -129,23 +141,37 @@ void PS_Forward(
if (TraceSDFSoftwareReflections(gBuffer, reflectWS, surfaceAtlas))
{
float3 screenColor = sceneColorTexture.SampleLevel(SamplerPointClamp, hit.xy, 0).rgb;
reflections = lerp(surfaceAtlas, float4(screenColor, 1), hit.z);
reflections.rgb = lerp(surfaceAtlas, float4(screenColor, 1), hit.z);
}
}
#endif
#endif
light.rgb += reflections * GetReflectionSpecularLighting(ViewPos, gBuffer) * light.a;
light.rgb += reflections.rgb * GetReflectionSpecularLighting(PreIntegratedGF, ViewPos, gBuffer);
#endif
// Add lighting (apply ambient occlusion)
output.rgb += light.rgb * gBuffer.AO;
// Add lighting
output.rgb += light.rgb;
#endif
#if USE_FOG
#if USE_FOG && MATERIAL_SHADING_MODEL != SHADING_MODEL_UNLIT
// Calculate exponential height fog
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, 0);
#if DIRECTX && FEATURE_LEVEL < FEATURE_LEVEL_SM6
// TODO: fix D3D11/D3D10 bug with incorrect distance
float fogSceneDistance = distance(materialInput.WorldPosition, ViewPos);
#else
float fogSceneDistance = gBuffer.ViewPos.z;
#endif
float fogSkipDistance = max(ExponentialHeightFog.VolumetricFogMaxDistance - 100, 0);
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, fogSkipDistance, fogSceneDistance);
if (ExponentialHeightFog.VolumetricFogMaxDistance > 0)
{
// Sample volumetric fog and mix it in
float2 screenUV = materialInput.SvPosition.xy * ScreenSize.zw;
float4 volumetricFog = SampleVolumetricFog(VolumetricFogTexture, VolumetricFog, materialInput.WorldPosition - ViewPos, screenUV, TemporalAAJitter);
fog = CombineVolumetricFog(fog, volumetricFog);
}
// Apply fog to the output color
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE

View File

@@ -20,6 +20,8 @@ float TimeParam;
float4 ViewInfo;
float4 ScreenSize;
float4 ViewSize;
float3 ViewPadding0;
float ScaledTimeParam;
@1META_CB_END
// Shader resources
@@ -36,6 +38,7 @@ struct VertexOutput
#endif
float4 ClipExtents : TEXCOORD3;
float2 ClipOrigin : TEXCOORD4;
float2 CustomData : TEXCOORD5; // x-per-geometry type, y-features mask
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
@@ -53,6 +56,7 @@ struct PixelInput
#endif
float4 ClipExtents : TEXCOORD3;
float2 ClipOrigin : TEXCOORD4;
float2 CustomData : TEXCOORD5; // x-per-geometry type, y-features mask
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
@@ -65,6 +69,7 @@ struct MaterialInput
float3 WorldPosition;
float TwoSidedSign;
float2 TexCoord;
float2 CustomData; // x-per-geometry type, y-features mask
#if USE_VERTEX_COLOR
half4 VertexColor;
#endif
@@ -82,6 +87,7 @@ MaterialInput GetMaterialInput(Render2DVertex input, VertexOutput output)
MaterialInput result;
result.WorldPosition = output.WorldPosition;
result.TexCoord = output.TexCoord;
result.CustomData = input.CustomDataAndClipOrigin.xy;
#if USE_VERTEX_COLOR
result.VertexColor = output.VertexColor;
#endif
@@ -101,6 +107,7 @@ MaterialInput GetMaterialInput(PixelInput input)
MaterialInput result;
result.WorldPosition = input.WorldPosition;
result.TexCoord = input.TexCoord;
result.CustomData = input.CustomData;
#if USE_VERTEX_COLOR
result.VertexColor = input.VertexColor;
#endif
@@ -227,6 +234,7 @@ VertexOutput VS_GUI(Render2DVertex input)
#if USE_VERTEX_COLOR
output.VertexColor = input.Color;
#endif
output.CustomData = input.CustomDataAndClipOrigin.xy;
output.ClipOrigin = input.CustomDataAndClipOrigin.zw;
output.ClipExtents = input.ClipExtents;

View File

@@ -645,7 +645,7 @@ VertexOutput VS_Ribbon(RibbonInput input, uint vertexIndex : SV_VertexID)
materialInput.TBN = output.TBN;
materialInput.TwoSidedSign = 1;
materialInput.SvPosition = output.Position;
materialInput.PreSkinnedPosition = Position;
materialInput.PreSkinnedPosition = position;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
materialInput.InstanceOrigin = output.InstanceOrigin;
materialInput.InstanceParams = output.InstanceParams;

View File

@@ -19,6 +19,8 @@ float4 ViewInfo;
float4 ScreenSize;
float4 TemporalAAJitter;
float4x4 InverseViewProjectionMatrix;
float3 ViewPadding0;
float ScaledTimeParam;
@1META_CB_END
// Shader resources

View File

@@ -15,6 +15,7 @@
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
#include "./Flax/TerrainCommon.hlsl"
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
@@ -334,7 +335,7 @@ VertexOutput VS(TerrainVertexInput input)
float lodValue = CurrentLOD;
float morphAlpha = lodCalculated - CurrentLOD;
// Sample heightmap
// Sample heightmap and splatmaps
float2 heightmapUVs = input.TexCoord * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
#if USE_SMOOTH_LOD_TRANSITION
float4 heightmapValueThisLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
@@ -342,7 +343,6 @@ VertexOutput VS(TerrainVertexInput input)
float2 heightmapUVsNextLOD = nextLODPos * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
float4 heightmapValueNextLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
float4 heightmapValue = lerp(heightmapValueThisLOD, heightmapValueNextLOD, morphAlpha);
bool isHole = max(heightmapValueThisLOD.b + heightmapValueThisLOD.a, heightmapValueNextLOD.b + heightmapValueNextLOD.a) >= 1.9f;
#if USE_TERRAIN_LAYERS
float4 splatmapValueThisLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
float4 splatmapValueNextLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
@@ -355,7 +355,6 @@ VertexOutput VS(TerrainVertexInput input)
#endif
#else
float4 heightmapValue = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
bool isHole = (heightmapValue.b + heightmapValue.a) >= 1.9f;
#if USE_TERRAIN_LAYERS
float4 splatmap0Value = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
#if TERRAIN_LAYERS_DATA_SIZE > 1
@@ -363,12 +362,11 @@ VertexOutput VS(TerrainVertexInput input)
#endif
#endif
#endif
float height = (float)((int)(heightmapValue.x * 255.0) + ((int)(heightmapValue.y * 255) << 8)) / 65535.0;
float height = DecodeHeightmapHeight(heightmapValue);
// Extract normal and the holes mask
float2 normalTemp = float2(heightmapValue.b, heightmapValue.a) * 2.0f - 1.0f;
float3 normal = float3(normalTemp.x, sqrt(1.0 - saturate(dot(normalTemp, normalTemp))), normalTemp.y);
normal = normalize(normal);
bool isHole;
float3 normal = DecodeHeightmapNormal(heightmapValue, isHole);
output.Geometry.HolesMask = isHole ? 0 : 1;
if (isHole)
{

View File

@@ -8,6 +8,7 @@
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
#include "./Flax/VolumetricFog.hlsl"
@7
// Primary constant buffer (with additional material parameters)
@@ -21,6 +22,7 @@ float Dummy0;
float VolumetricFogMaxDistance;
int ParticleStride;
int ParticleIndex;
float4 GridSliceParameters;
@1META_CB_END
// Particles attributes buffer
@@ -202,19 +204,19 @@ Material GetMaterialPS(MaterialInput input)
META_PS(true, FEATURE_LEVEL_SM5)
void PS_VolumetricFog(Quad_GS2PS input, out float4 VBufferA : SV_Target0, out float4 VBufferB : SV_Target1)
{
// Reproject grid position back to the screen and world space
uint3 gridCoordinate = uint3(input.Vertex.Position.xy, input.LayerIndex);
float3 cellOffset = 0.5f;
float2 volumeUV = (gridCoordinate.xy + cellOffset.xy) / GridSize.xy;
float zSlice = gridCoordinate.z + cellOffset.z;
float sceneDepth = (zSlice / GridSize.z) * VolumetricFogMaxDistance / ViewFar;
float sceneDepth = GetDepthFromSlice(GridSliceParameters, gridCoordinate.z + cellOffset.z) / ViewFar;
float deviceDepth = (ViewInfo.w / sceneDepth) + ViewInfo.z;
float4 clipPos = float4(volumeUV * float2(2.0, -2.0) + float2(-1.0, 1.0), deviceDepth, 1.0);
float4 wsPos = mul(clipPos, InverseViewProjectionMatrix);
float3 positionWS = wsPos.xyz / wsPos.w;
wsPos.xyz /= wsPos.w;
// Get material parameters
MaterialInput materialInput = (MaterialInput)0;
materialInput.WorldPosition = positionWS;
materialInput.WorldPosition = wsPos.xyz;
materialInput.TexCoord = input.Vertex.TexCoord;
materialInput.ParticleIndex = ParticleIndex;
materialInput.TBN = float3x3(float3(1, 0, 0), float3(0, 1, 0), float3(0, 0, 1));
@@ -225,9 +227,10 @@ void PS_VolumetricFog(Quad_GS2PS input, out float4 VBufferA : SV_Target0, out fl
Material material = GetMaterialPS(materialInput);
// Compute fog properties
material.Opacity *= material.Mask;
float3 albedo = material.Color;
float extinction = material.Opacity * material.Mask * 0.001f;
float3 emission = material.Emissive;
float extinction = material.Opacity * 0.001f;
float3 emission = material.Emissive * material.Opacity;
float3 scattering = albedo * extinction;
float absorption = max(0.0f, extinction - Luminance(scattering));

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/Primitives/Cube.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Editor/SpriteMaterial.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Editor/TexturePreviewMaterial.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Editor/Wires Debug Material.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Engine/DefaultMaterial.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Engine/DefaultRadialMenu.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Engine/DefaultTerrainMaterial.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Engine/SingleColorMaterial.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Engine/SkyboxMaterial.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Shaders/BitonicSort.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/ColorGrading.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/Fog.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/GI/DDGI.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/GI/GlobalSurfaceAtlas.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/GPUParticlesSorting.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/GUI.flax (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Shaders/Histogram.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/Lights.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/MotionBlur.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/MultiScaler.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/PostProcessing.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/ProbesFilter.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/Reflections.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/SDF.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/SSAO.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/SSR.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/Sky.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/TAA.flax (Stored with Git LFS)

Binary file not shown.

BIN
Content/Shaders/VolumetricFog.flax (Stored with Git LFS)

Binary file not shown.

View File

@@ -2,12 +2,12 @@
"Name": "Flax",
"Version": {
"Major": 1,
"Minor": 10,
"Minor": 12,
"Revision": 0,
"Build": 6705
"Build": 6905
},
"Company": "Flax",
"Copyright": "Copyright (c) 2012-2025 Wojciech Figat. All rights reserved.",
"Copyright": "Copyright (c) 2012-2026 Wojciech Figat. All rights reserved.",
"GameTarget": "FlaxGame",
"EditorTarget": "FlaxEditor",
"Configuration": {

View File

@@ -73,6 +73,24 @@
<s:String x:Key="/Default/CodeStyle/Naming/CppNaming/UserRules/=TYPEDEF/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aa_bb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNaming/UserRules/=UNION/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aa_bb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNaming/UserRules/=UNION_005FMEMBER/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aa_bb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Abbreviations/=CCD/@EntryIndexedValue">CCD</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Abbreviations/=GPU/@EntryIndexedValue">GPU</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Abbreviations/=ID/@EntryIndexedValue">ID</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=175CE9C669E52F4D92FD2C07848740BD/@EntryIndexedValue">&lt;NamingElement Priority="11" Title="Class and struct public fields"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="PUBLIC"&gt;&lt;type Name="class field" /&gt;&lt;type Name="struct field" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=32EB6D69783B3E4481A733193E338089/@EntryIndexedValue">&lt;NamingElement Priority="9" Title="Class and struct methods"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="member function" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=3C4E0D59F298854F9608A9B454E8FF5E/@EntryIndexedValue">&lt;NamingElement Priority="17" Title="Typedefs"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="type alias" /&gt;&lt;type Name="typedef" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=499C9026DADA2B448BCD0B2C54746A59/@EntryIndexedValue">&lt;NamingElement Priority="14" Title="Other constants"&gt;&lt;Descriptor Static="True" Constexpr="Indeterminate" Const="True" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="class field" /&gt;&lt;type Name="local variable" /&gt;&lt;type Name="struct field" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=50D2535711CE1A43A3B06EF841C36CFD/@EntryIndexedValue">&lt;NamingElement Priority="13" Title="Enum members"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="scoped enumerator" /&gt;&lt;type Name="unscoped enumerator" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=6AD3BADA1260CC4D840AB26323C51827/@EntryIndexedValue">&lt;NamingElement Priority="15" Title="Global constants"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="True" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="global variable" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=904CDCA174AACE4AA52660A247CDF9A0/@EntryIndexedValue">&lt;NamingElement Priority="7" Title="Global variables"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="global variable" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=95BCDE767C97B64DB3DAE800DBBBC758/@EntryIndexedValue">&lt;NamingElement Priority="5" Title="Parameters"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="function parameter" /&gt;&lt;type Name="lambda parameter" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=C03AE454FC2CBA43819AC75E4D6C9C8C/@EntryIndexedValue">&lt;NamingElement Priority="1" Title="Classes and structs"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="__interface" /&gt;&lt;type Name="class" /&gt;&lt;type Name="struct" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=D49E31C610641E4CAD0407DB79ACC851/@EntryIndexedValue">&lt;NamingElement Priority="8" Title="Global functions"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="global function" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=D73FBB3529BC5449B6C85BB37B26A8D4/@EntryIndexedValue">&lt;NamingElement Priority="16" Title="Namespaces"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="namespace" /&gt;&lt;type Name="namespace alias" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=DA41807CE47AEB4CBE1724C44D0B786E/@EntryIndexedValue">&lt;NamingElement Priority="6" Title="Local variables"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="local variable" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=DDF30C9A1DA74B4DBBC56D25FDF886AA/@EntryIndexedValue">&lt;NamingElement Priority="10" Title="Class and struct fields"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="class field" /&gt;&lt;type Name="struct field" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="_" Suffix="" Style="aaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=EF70A6BF54ACE446971DDB32344C25A3/@EntryIndexedValue">&lt;NamingElement Priority="12" Title="Union members"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="union member" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CppNamingOptions/Rules/=F37818C54C323A4A80B1A478629985AE/@EntryIndexedValue">&lt;NamingElement Priority="2" Title="Enums"&gt;&lt;Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"&gt;&lt;type Name="enum" /&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/NamingElement&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AI/@EntryIndexedValue">AI</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ARGB/@EntryIndexedValue">ARGB</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LO/@EntryIndexedValue">LO</s:String>
@@ -170,7 +188,7 @@
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_ACCESSOR_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_CASE_STATEMENT_ON_SAME_LINE/@EntryValue">ALWAYS</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">NEVER</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SIMPLE_CASE_STATEMENT_STYLE/@EntryValue">ON_SINGLE_LINE</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
@@ -213,6 +231,7 @@
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=YZ/@EntryIndexedValue">YZ</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PublicFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"&gt;&lt;ExtraRule Prefix="_" Suffix="" Style="aaBb" /&gt;&lt;/Policy&gt;</s:String>
<s:String x:Key="/Default/Environment/Hierarchy/PsiConfigurationSettingsKey/CustomLocation/@EntryValue">C:\Users\Wojtek\AppData\Local\JetBrains\Transient\ReSharperPlatformVs15\v08_f9eacea9\SolutionCaches</s:String>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ENaming_002ECppNamingOptionsMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ESettingsUpgrade_002EFunctionReturnStyleSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ESettingsUpgrade_002ENamespaceIndentationSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
@@ -267,6 +286,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=comperand/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=coord/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cubemap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=DDGI/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Deformer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=deformers/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=defragmentation/@EntryIndexedValue">True</s:Boolean>

View File

@@ -12,6 +12,6 @@ cd "`dirname "$0"`"
bash ./Development/Scripts/Mac/CallBuildTool.sh --genproject "$@"
# Build bindings for all editor configurations
echo Building C# bindings...
#echo Building C# bindings...
# TODO: Detect the correct architecture here
Binaries/Tools/Flax.Build -build -BuildBindingsOnly -arch=ARM64 -platform=Mac --buildTargets=FlaxEditor
#Binaries/Tools/Flax.Build -build -BuildBindingsOnly -arch=ARM64 -platform=Mac --buildTargets=FlaxEditor

View File

@@ -1,19 +0,0 @@
<!-- Please search existing issues for potential duplicates before filing yours:
https://github.com/flaxengine/FlaxEngine/issues?q=is%3Aissue
-->
**Issue description:**
<!-- What happened, and what was expected. -->
<!-- Log file, can be found in the project directory's `Logs` folder (optional) -->
**Steps to reproduce:**
<!-- Enter minimal reproduction steps if available. -->
**Minimal reproduction project:**
<!-- Recommended as it greatly speeds up debugging. Drag and drop a zip archive to upload it. -->
**Flax version:**
<!-- Specify version number. -->

View File

@@ -49,7 +49,7 @@ Follow the instructions below to compile and run the engine from source.
* Fedora: `sudo dnf install dotnet-sdk-8.0`
* Arch: `sudo pacman -S dotnet-sdk-8.0 dotnet-runtime-8.0 dotnet-targeting-pack-8.0 dotnet-host`
* Install Vulkan SDK ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Ubuntu: `sudo apt install vulkan-sdk`
* Ubuntu: `sudo apt install vulkan-sdk` (deprecated, follow official docs)
* Fedora: `sudo dnf install vulkan-headers vulkan-tools vulkan-validation-layers`
* Arch: `sudo pacman -S vulkan-headers vulkan-tools vulkan-validation-layers`
* Install Git with LFS
@@ -60,7 +60,7 @@ Follow the instructions below to compile and run the engine from source.
* Ubuntu: `sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev zlib1g-dev`
* Fedora: `sudo dnf install libX11-devel libXcursor-devel libXinerama-devel ghc-zlib-devel`
* Arch: `sudo pacman -S base-devel libx11 libxcursor libxinerama zlib`
* Install Clang compiler (version 6 or later):
* Install Clang compiler (version 14 or later):
* Ubuntu: `sudo apt-get install clang lldb lld`
* Fedora: `sudo dnf install clang llvm lldb lld`
* Arch: `sudo pacman -S clang lldb lld`

View File

@@ -174,7 +174,9 @@ void EditorAnalytics::StartSession()
// Bind events
GameCooker::OnEvent.Bind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Bind<RegisterLightmapsBuildingStart>();
#if LOG_ENABLE
Log::Logger::OnError.Bind<RegisterError>();
#endif
}
void EditorAnalytics::EndSession()
@@ -187,7 +189,9 @@ void EditorAnalytics::EndSession()
// Unbind events
GameCooker::OnEvent.Unbind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Unbind<RegisterLightmapsBuildingStart>();
#if LOG_ENABLE
Log::Logger::OnError.Unbind<RegisterError>();
#endif
// End session
{

View File

@@ -117,7 +117,8 @@ namespace FlaxEditor.Content.Create
private static bool IsValid(Type type)
{
return (type.IsPublic || type.IsNestedPublic) && !type.IsAbstract && !type.IsGenericType;
var controlTypes = Editor.Instance.CodeEditing.Controls.Get();
return (type.IsPublic || type.IsNestedPublic) && !type.IsAbstract && !type.IsGenericType && controlTypes.Contains(new ScriptType(type));
}
}

View File

@@ -187,6 +187,11 @@ namespace FlaxEditor.Content.Import
// Glossiness, metalness, ambient occlusion, displacement, height, cavity or specular
_settings.Settings.Type = TextureFormatType.GrayScale;
}
else if (_settings.Settings.Type == TextureFormatType.ColorRGB)
{
// Blind guess that common color texture is sRGB
_settings.Settings.sRGB = true;
}
// Try to restore target asset texture import options (useful for fast reimport)
Editor.TryRestoreImportOptions(ref _settings.Settings, ResultUrl);

View File

@@ -281,6 +281,13 @@ namespace FlaxEditor.Content
private void CacheData()
{
if (!_asset)
{
_parameters = Utils.GetEmptyArray<ScriptMemberInfo>();
_methods = Utils.GetEmptyArray<ScriptMemberInfo>();
_attributes = Utils.GetEmptyArray<Attribute>();
return;
}
if (_parameters != null)
return;
if (_asset.WaitForLoaded())
@@ -344,13 +351,13 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public string Name => Path.GetFileNameWithoutExtension(_asset.Path);
public string Name => _asset ? Path.GetFileNameWithoutExtension(_asset.Path) : null;
/// <inheritdoc />
public string Namespace => string.Empty;
/// <inheritdoc />
public string TypeName => JsonSerializer.GetStringID(_asset.ID);
public string TypeName => _asset ? JsonSerializer.GetStringID(_asset.ID) : null;
/// <inheritdoc />
public bool IsPublic => true;

View File

@@ -130,6 +130,11 @@ namespace FlaxEditor.Content
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
var antiAliasing = preview.PostFxVolume.AntiAliasing;
antiAliasing.Mode = AntialiasingMode.FastApproximateAntialiasing;
antiAliasing.OverrideFlags |= AntiAliasingSettingsOverride.Mode;
preview.PostFxVolume.AntiAliasing = antiAliasing;
}
}
}

View File

@@ -20,13 +20,6 @@ class PlatformTools;
#define GAME_BUILD_DOTNET_RUNTIME_MAX_VER 9
#endif
#if OFFICIAL_BUILD
// Use the fixed .NET SDK version in packaged builds for compatibility (FlaxGame is precompiled with it)
#define GAME_BUILD_DOTNET_VER TEXT("-dotnet=" MACRO_TO_STR(GAME_BUILD_DOTNET_RUNTIME_MIN_VER))
#else
#define GAME_BUILD_DOTNET_VER TEXT("")
#endif
/// <summary>
/// Game building options. Used as flags.
/// </summary>
@@ -374,6 +367,8 @@ public:
/// </summary>
void GetBuildPlatformName(const Char*& platform, const Char*& architecture) const;
String GetDotnetCommandArg() const;
public:
/// <summary>

View File

@@ -30,6 +30,7 @@
#include "Engine/Scripting/ManagedCLR/MAssembly.h"
#include "Engine/Content/JsonAsset.h"
#include "Engine/Content/AssetReference.h"
#include "Engine/Profiler/ProfilerMemory.h"
#if PLATFORM_TOOLS_WINDOWS
#include "Platform/Windows/WindowsPlatformTools.h"
#include "Engine/Platform/Windows/WindowsPlatformSettings.h"
@@ -311,6 +312,14 @@ void CookingData::GetBuildPlatformName(const Char*& platform, const Char*& archi
}
}
String CookingData::GetDotnetCommandArg() const
{
int32 version = Tools->GetDotnetVersion();
if (version == 0)
return String::Empty;
return String::Format(TEXT("-dotnet={}"), version);
}
void CookingData::StepProgress(const String& info, const float stepProgress) const
{
const float singleStepProgress = 1.0f / (StepsCount + 1);
@@ -380,6 +389,7 @@ bool GameCooker::IsCancelRequested()
PlatformTools* GameCooker::GetTools(BuildPlatform platform)
{
PROFILE_MEM(Editor);
PlatformTools* result = nullptr;
if (!Tools.TryGet(platform, result))
{
@@ -471,6 +481,7 @@ bool GameCooker::Build(BuildPlatform platform, BuildConfiguration configuration,
LOG(Error, "Build platform {0} is not supported.", ::ToString(platform));
return true;
}
PROFILE_MEM(Editor);
// Setup
CancelFlag = 0;
@@ -624,6 +635,7 @@ void GameCookerImpl::ReportProgress(const String& info, float totalProgress)
void GameCookerImpl::OnCollectAssets(HashSet<Guid>& assets)
{
PROFILE_MEM(Editor);
if (Internal_OnCollectAssets == nullptr)
{
auto c = GameCooker::GetStaticClass();
@@ -651,6 +663,7 @@ void GameCookerImpl::OnCollectAssets(HashSet<Guid>& assets)
bool GameCookerImpl::Build()
{
PROFILE_MEM(Editor);
CookingData& data = *Data;
LOG(Info, "Starting Game Cooker...");
LOG(Info, "Platform: {0}, Configuration: {2}, Options: {1}", ::ToString(data.Platform), (int32)data.Options, ::ToString(data.Configuration));
@@ -670,8 +683,7 @@ bool GameCookerImpl::Build()
MCore::Thread::Attach();
// Build Started
if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook))
// Build start
{
CallEvent(GameCooker::EventType::BuildStarted);
data.Tools->OnBuildStarted(data);
@@ -744,8 +756,8 @@ bool GameCookerImpl::Build()
}
IsRunning = false;
CancelFlag = 0;
if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook))
{
// Build end
for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++)
Steps[stepIndex]->OnBuildEnded(data, failed);
data.Tools->OnBuildEnded(data, failed);
@@ -778,6 +790,8 @@ int32 GameCookerImpl::ThreadFunction()
bool GameCookerService::Init()
{
PROFILE_MEM(Editor);
auto editorAssembly = ((NativeBinaryModule*)GetBinaryModuleFlaxEngine())->Assembly;
editorAssembly->Unloading.Bind(OnEditorAssemblyUnloading);
GameCooker::OnCollectAssets.Bind(OnCollectAssets);
@@ -789,6 +803,7 @@ void GameCookerService::Update()
{
if (IsRunning)
{
PROFILE_MEM(Editor);
ScopeLock lock(ProgressLocker);
if (ProgressMsg.HasChars())

View File

@@ -15,26 +15,32 @@
#include "Editor/ProjectInfo.h"
#include "Editor/Utilities/EditorUtilities.h"
GDKPlatformTools::GDKPlatformTools()
String GetGDK()
{
// Find GDK
Platform::GetEnvironmentVariable(TEXT("GameDKLatest"), _gdkPath);
if (_gdkPath.IsEmpty() || !FileSystem::DirectoryExists(_gdkPath))
String gdk;
Platform::GetEnvironmentVariable(TEXT("GameDKLatest"), gdk);
if (gdk.IsEmpty() || !FileSystem::DirectoryExists(gdk))
{
_gdkPath.Clear();
Platform::GetEnvironmentVariable(TEXT("GRDKLatest"), _gdkPath);
if (_gdkPath.IsEmpty() || !FileSystem::DirectoryExists(_gdkPath))
gdk.Clear();
Platform::GetEnvironmentVariable(TEXT("GRDKLatest"), gdk);
if (gdk.IsEmpty() || !FileSystem::DirectoryExists(gdk))
{
_gdkPath.Clear();
gdk.Clear();
}
else
{
if (_gdkPath.EndsWith(TEXT("GRDK\\")))
_gdkPath.Remove(_gdkPath.Length() - 6);
else if (_gdkPath.EndsWith(TEXT("GRDK")))
_gdkPath.Remove(_gdkPath.Length() - 5);
if (gdk.EndsWith(TEXT("GRDK\\")))
gdk.Remove(gdk.Length() - 6);
else if (gdk.EndsWith(TEXT("GRDK")))
gdk.Remove(gdk.Length() - 5);
}
}
return gdk;
}
GDKPlatformTools::GDKPlatformTools()
{
_gdkPath = GetGDK();
}
DotNetAOTModes GDKPlatformTools::UseAOT() const
@@ -121,7 +127,7 @@ bool GDKPlatformTools::OnPostProcess(CookingData& data, GDKPlatformSettings* pla
validName.Add('\0');
sb.Append(TEXT("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"));
sb.Append(TEXT("<Game configVersion=\"0\">\n"));
sb.Append(TEXT("<Game configVersion=\"1\">\n"));
sb.AppendFormat(TEXT(" <Identity Name=\"{0}\" Publisher=\"{1}\" Version=\"{2}\"/>\n"),
validName.Get(),
platformSettings->PublisherName.HasChars() ? platformSettings->PublisherName : TEXT("CN=") + gameSettings->CompanyName,
@@ -195,4 +201,9 @@ bool GDKPlatformTools::OnPostProcess(CookingData& data, GDKPlatformSettings* pla
return false;
}
int32 GDKPlatformTools::GetDotnetVersion() const
{
return GAME_BUILD_DOTNET_RUNTIME_MIN_VER;
}
#endif

View File

@@ -26,6 +26,7 @@ public:
public:
// [PlatformTools]
int32 GetDotnetVersion() const override;
DotNetAOTModes UseAOT() const override;
bool OnDeployBinaries(CookingData& data) override;
};

View File

@@ -186,7 +186,7 @@ bool MacPlatformTools::OnPostProcess(CookingData& data)
ADD_ENTRY("CFBundlePackageType", "APPL");
ADD_ENTRY("NSPrincipalClass", "NSApplication");
ADD_ENTRY("LSApplicationCategoryType", "public.app-category.games");
ADD_ENTRY("LSMinimumSystemVersion", "10.15");
ADD_ENTRY("LSMinimumSystemVersion", "13");
ADD_ENTRY("CFBundleIconFile", "icon.icns");
ADD_ENTRY_STR("CFBundleExecutable", executableName);
ADD_ENTRY_STR("CFBundleIdentifier", appIdentifier);
@@ -231,6 +231,8 @@ bool MacPlatformTools::OnPostProcess(CookingData& data)
LOG(Info, "Building app package...");
{
const String dmgPath = data.OriginalOutputPath / appName + TEXT(".dmg");
if (FileSystem::FileExists(dmgPath))
FileSystem::DeleteFile(dmgPath);
CreateProcessSettings procSettings;
procSettings.HiddenWindow = true;
procSettings.WorkingDirectory = data.OriginalOutputPath;

View File

@@ -528,6 +528,9 @@ bool WindowsPlatformTools::OnDeployBinaries(CookingData& data)
void WindowsPlatformTools::OnBuildStarted(CookingData& data)
{
if (EnumHasAllFlags(data.Options, BuildOptions::NoCook))
return;
// Remove old executable
Array<String> files;
FileSystem::DirectoryGetFiles(files, data.NativeCodeOutputPath, TEXT("*.exe"), DirectorySearchOption::TopDirectoryOnly);

View File

@@ -70,6 +70,20 @@ public:
/// </summary>
virtual ArchitectureType GetArchitecture() const = 0;
/// <summary>
/// Gets the .Net version to use for the cooked game.
/// </summary>
virtual int32 GetDotnetVersion() const
{
#if OFFICIAL_BUILD
// Use the fixed .NET SDK version in packaged builds for compatibility (FlaxGame is precompiled with it)
return GAME_BUILD_DOTNET_RUNTIME_MIN_VER;
#else
// Use the highest version found on a system (Flax.Build will decide)
return 0;
#endif
}
/// <summary>
/// Gets the value indicating whenever platform requires AOT (needs C# assemblies to be precompiled).
/// </summary>

View File

@@ -10,9 +10,10 @@
#include "Engine/Serialization/JsonTools.h"
#include "Engine/Serialization/JsonWriters.h"
#include "Editor/Cooker/PlatformTools.h"
#include "Engine/Engine/Globals.h"
#include "Editor/Editor.h"
#include "Editor/ProjectInfo.h"
#include "Engine/Engine/Globals.h"
#include "Editor/Utilities/EditorUtilities.h"
#if PLATFORM_MAC
#include <sys/stat.h>
#endif
@@ -127,7 +128,7 @@ bool CompileScriptsStep::DeployBinaries(CookingData& data, const String& path, c
const String dst = dstPath / StringUtils::GetFileName(file);
if (dst == file)
continue;
if (FileSystem::CopyFile(dst, file))
if (EditorUtilities::CopyFileIfNewer(dst, file))
{
data.Error(String::Format(TEXT("Failed to copy file from {0} to {1}."), file, dst));
return true;
@@ -189,7 +190,7 @@ bool CompileScriptsStep::Perform(CookingData& data)
const String logFile = data.CacheDirectory / TEXT("CompileLog.txt");
auto args = String::Format(
TEXT("-log -logfile=\"{4}\" -build -mutex -buildtargets={0} -platform={1} -arch={2} -configuration={3} -aotMode={5} {6}"),
target, platform, architecture, configuration, logFile, ToString(data.Tools->UseAOT()), GAME_BUILD_DOTNET_VER);
target, platform, architecture, configuration, logFile, ToString(data.Tools->UseAOT()), data.GetDotnetCommandArg());
#if PLATFORM_WINDOWS
if (data.Platform == BuildPlatform::LinuxX64)
#elif PLATFORM_LINUX

View File

@@ -36,6 +36,7 @@
#include "Engine/Engine/Base/GameBase.h"
#include "Engine/Engine/Globals.h"
#include "Engine/Tools/TextureTool/TextureTool.h"
#include "Engine/Threading/Threading.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Scripting/Enums.h"
#if PLATFORM_TOOLS_WINDOWS
@@ -525,6 +526,7 @@ bool ProcessShaderBase(CookAssetsStep::AssetCookData& data, ShaderAssetBase* ass
#if PLATFORM_TOOLS_XBOX_SCARLETT
case BuildPlatform::XboxScarlett:
{
options.Platform = PlatformType::XboxScarlett;
const char* platformDefineName = "PLATFORM_XBOX_SCARLETT";
COMPILE_PROFILE(DirectX_SM6, SHADER_FILE_CHUNK_INTERNAL_D3D_SM6_CACHE);
break;
@@ -1366,7 +1368,10 @@ bool CookAssetsStep::Perform(CookingData& data)
{
typeName = e.TypeName;
}
LOG(Info, "{0}: {1:>4} assets of total size {2}", typeName, e.Count, Utilities::BytesToText(e.ContentSize));
if (e.Count == 1)
LOG(Info, "{0}: 1 asset of total size {1}", typeName, Utilities::BytesToText(e.ContentSize));
else
LOG(Info, "{0}: {1:>4} assets of total size {2}", typeName, e.Count, Utilities::BytesToText(e.ContentSize));
}
LOG(Info, "");
}

View File

@@ -88,7 +88,7 @@ bool DeployDataStep::Perform(CookingData& data)
{
// Ask Flax.Build to provide .NET SDK location for the current platform
String sdks;
bool failed = ScriptsBuilder::RunBuildTool(String::Format(TEXT("-log -logMessagesOnly -logFileWithConsole -logfile=SDKs.txt -printSDKs {}"), GAME_BUILD_DOTNET_VER), data.CacheDirectory);
bool failed = ScriptsBuilder::RunBuildTool(String::Format(TEXT("-log -logMessagesOnly -logFileWithConsole -logfile=SDKs.txt -printSDKs {}"), data.GetDotnetCommandArg()), data.CacheDirectory);
failed |= File::ReadAllText(data.CacheDirectory / TEXT("SDKs.txt"), sdks);
int32 idx = sdks.Find(TEXT("DotNetSdk, "), StringSearchCase::CaseSensitive);
if (idx != -1)
@@ -200,7 +200,7 @@ bool DeployDataStep::Perform(CookingData& data)
String sdks;
const Char *platformName, *archName;
data.GetBuildPlatformName(platformName, archName);
String args = String::Format(TEXT("-log -logMessagesOnly -logFileWithConsole -logfile=SDKs.txt -printDotNetRuntime -platform={} -arch={} {}"), platformName, archName, GAME_BUILD_DOTNET_VER);
String args = String::Format(TEXT("-log -logMessagesOnly -logFileWithConsole -logfile=SDKs.txt -printDotNetRuntime -platform={} -arch={} {}"), platformName, archName, data.GetDotnetCommandArg());
bool failed = ScriptsBuilder::RunBuildTool(args, data.CacheDirectory);
failed |= File::ReadAllText(data.CacheDirectory / TEXT("SDKs.txt"), sdks);
Array<String> parts;
@@ -244,10 +244,13 @@ bool DeployDataStep::Perform(CookingData& data)
}
if (version.IsEmpty())
{
int32 minVer = GAME_BUILD_DOTNET_RUNTIME_MIN_VER, maxVer = GAME_BUILD_DOTNET_RUNTIME_MAX_VER;
if (srcDotnetFromEngine)
{
// Detect version from runtime files inside Engine Platform folder
for (int32 i = GAME_BUILD_DOTNET_RUNTIME_MAX_VER; i >= GAME_BUILD_DOTNET_RUNTIME_MIN_VER; i--)
if (data.Tools->GetDotnetVersion() != 0)
minVer = maxVer = data.Tools->GetDotnetVersion();
for (int32 i = maxVer; i >= minVer; i--)
{
// Check runtime files inside Engine Platform folder
String testPath1 = srcDotnet / String::Format(TEXT("lib/net{}.0"), i);
@@ -262,7 +265,7 @@ bool DeployDataStep::Perform(CookingData& data)
}
if (version.IsEmpty())
{
data.Error(String::Format(TEXT("Failed to find supported .NET {} version for the current host platform."), GAME_BUILD_DOTNET_RUNTIME_MIN_VER));
data.Error(String::Format(TEXT("Failed to find supported .NET {} version (min {}) for {} platform."), maxVer, minVer, platformName));
return true;
}
}
@@ -364,7 +367,7 @@ bool DeployDataStep::Perform(CookingData& data)
const String logFile = data.CacheDirectory / TEXT("StripDotnetLibs.txt");
String args = String::Format(
TEXT("-log -logfile=\"{}\" -runDotNetClassLibStripping -mutex -binaries=\"{}\" {}"),
logFile, data.DataOutputPath, GAME_BUILD_DOTNET_VER);
logFile, data.DataOutputPath, data.GetDotnetCommandArg());
for (const String& define : data.CustomDefines)
{
args += TEXT(" -D");

View File

@@ -12,7 +12,7 @@
void PrecompileAssembliesStep::OnBuildStarted(CookingData& data)
{
const DotNetAOTModes aotMode = data.Tools->UseAOT();
if (aotMode == DotNetAOTModes::None)
if (aotMode == DotNetAOTModes::None || EnumHasAllFlags(data.Options, BuildOptions::NoCook))
return;
const auto& buildSettings = *BuildSettings::Get();
@@ -59,6 +59,7 @@ bool PrecompileAssembliesStep::Perform(CookingData& data)
data.StepProgress(infoMsg, 0);
// Override Newtonsoft.Json with AOT-version (one that doesn't use System.Reflection.Emit)
// TODO: remove it since EngineModule does properly reference AOT lib now
EditorUtilities::CopyFileIfNewer(data.ManagedCodeOutputPath / TEXT("Newtonsoft.Json.dll"), Globals::StartupFolder / TEXT("Source/Platforms/DotNet/AOT/Newtonsoft.Json.dll"));
FileSystem::DeleteFile(data.ManagedCodeOutputPath / TEXT("Newtonsoft.Json.xml"));
FileSystem::DeleteFile(data.ManagedCodeOutputPath / TEXT("Newtonsoft.Json.pdb"));
@@ -69,7 +70,7 @@ bool PrecompileAssembliesStep::Perform(CookingData& data)
const String logFile = data.CacheDirectory / TEXT("AOTLog.txt");
String args = String::Format(
TEXT("-log -logfile=\"{}\" -runDotNetAOT -mutex -platform={} -arch={} -configuration={} -aotMode={} -binaries=\"{}\" -intermediate=\"{}\" {}"),
logFile, platform, architecture, configuration, ToString(aotMode), data.DataOutputPath, data.ManagedCodeOutputPath, GAME_BUILD_DOTNET_VER);
logFile, platform, architecture, configuration, ToString(aotMode), data.DataOutputPath, data.ManagedCodeOutputPath, data.GetDotnetCommandArg());
if (!buildSettings.SkipUnusedDotnetLibsPackaging)
args += TEXT(" -skipUnusedDotnetLibs=false"); // Run AOT on whole class library (not just used libs)
for (const String& define : data.CustomDefines)

View File

@@ -18,8 +18,8 @@ namespace FlaxEditor
private readonly CustomEditorPresenter _presenter;
private CustomEditorWindow _customEditor;
public Win(CustomEditorWindow customEditor)
: base(Editor.Instance, false, ScrollBars.Vertical)
public Win(CustomEditorWindow customEditor, bool hideOnClose, ScrollBars scrollBars)
: base(Editor.Instance, hideOnClose, scrollBars)
{
Title = customEditor.GetType().Name;
_customEditor = customEditor;
@@ -64,9 +64,9 @@ namespace FlaxEditor
/// <summary>
/// Initializes a new instance of the <see cref="CustomEditorWindow"/> class.
/// </summary>
protected CustomEditorWindow()
protected CustomEditorWindow(bool hideOnClose = false, ScrollBars scrollBars = ScrollBars.Vertical)
{
_win = new Win(this);
_win = new Win(this, hideOnClose, scrollBars);
ScriptsBuilder.ScriptsReloadBegin += OnScriptsReloadBegin;
}

View File

@@ -749,6 +749,15 @@ namespace FlaxEditor.CustomEditors
}
}
private Actor FindActor(CustomEditor editor)
{
if (editor.Values[0] is Actor actor)
return actor;
if (editor.ParentEditor != null)
return FindActor(editor.ParentEditor);
return null;
}
private Actor FindPrefabRoot(CustomEditor editor)
{
if (editor.Values[0] is Actor actor)
@@ -767,32 +776,35 @@ namespace FlaxEditor.CustomEditors
return FindPrefabRoot(actor.Parent);
}
private SceneObject FindObjectWithPrefabObjectId(Actor actor, ref Guid prefabObjectId)
private SceneObject FindObjectWithPrefabObjectId(Actor actor, ref Guid prefabObjectId, Actor endPoint)
{
var visited = new HashSet<Actor>();
return FindObjectWithPrefabObjectId(actor, ref prefabObjectId, endPoint, visited);
}
private SceneObject FindObjectWithPrefabObjectId(Actor actor, ref Guid prefabObjectId, Actor endPoint, HashSet<Actor> visited)
{
if (visited.Contains(actor) || actor is Scene || actor == endPoint)
return null;
if (actor.PrefabObjectID == prefabObjectId)
return actor;
for (int i = 0; i < actor.ScriptsCount; i++)
{
if (actor.GetScript(i).PrefabObjectID == prefabObjectId)
{
var a = actor.GetScript(i);
if (a != null)
return a;
}
var script = actor.GetScript(i);
if (script != null && script.PrefabObjectID == prefabObjectId)
return script;
}
for (int i = 0; i < actor.ChildrenCount; i++)
{
if (actor.GetChild(i).PrefabObjectID == prefabObjectId)
{
var a = actor.GetChild(i);
if (a != null)
return a;
}
var child = actor.GetChild(i);
if (child != null && child.PrefabObjectID == prefabObjectId)
return child;
}
return null;
// Go up in the hierarchy
return FindObjectWithPrefabObjectId(actor.Parent, ref prefabObjectId, endPoint, visited);
}
/// <summary>
@@ -826,7 +838,7 @@ namespace FlaxEditor.CustomEditors
}
var prefabObjectId = referenceSceneObject.PrefabObjectID;
var prefabInstanceRef = FindObjectWithPrefabObjectId(prefabInstanceRoot, ref prefabObjectId);
var prefabInstanceRef = FindObjectWithPrefabObjectId(FindActor(this), ref prefabObjectId, prefabInstanceRoot);
if (prefabInstanceRef == null)
{
Editor.LogWarning("Missing prefab instance reference in the prefab instance. Cannot revert to it.");

View File

@@ -63,6 +63,11 @@ namespace FlaxEditor.CustomEditors
/// Indication of if the properties window is locked on specific objects.
/// </summary>
public bool LockSelection { get; set; }
/// <summary>
/// Gets the scene editing context.
/// </summary>
public ISceneEditingContext SceneContext { get; }
}
/// <summary>

View File

@@ -6,6 +6,8 @@
#include "Engine/Core/Types/TimeSpan.h"
#include "Engine/Core/Types/Stopwatch.h"
#include "Engine/Core/Collections/Dictionary.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Profiler/ProfilerMemory.h"
#include "Engine/Engine/EngineService.h"
#include "Engine/Scripting/Scripting.h"
#include "Engine/Scripting/BinaryModule.h"
@@ -69,6 +71,7 @@ MTypeObject* CustomEditorsUtil::GetCustomEditor(MTypeObject* refType)
bool CustomEditorsUtilService::Init()
{
PROFILE_MEM(Editor);
TRACK_ASSEMBLY(((NativeBinaryModule*)GetBinaryModuleFlaxEngine())->Assembly);
Scripting::BinaryModuleLoaded.Bind(&OnBinaryModuleLoaded);
@@ -77,6 +80,8 @@ bool CustomEditorsUtilService::Init()
void OnAssemblyLoaded(MAssembly* assembly)
{
PROFILE_CPU_NAMED("CustomEditors.OnAssemblyLoaded");
PROFILE_MEM(Editor);
Stopwatch stopwatch;
// Prepare FlaxEngine

View File

@@ -87,8 +87,11 @@ namespace FlaxEditor.CustomEditors
var targetTypeType = TypeUtils.GetType(targetType);
if (canUseRefPicker)
{
// TODO: add generic way of CustomEditor for ref pickers (use it on AssetRefEditor/GPUTextureEditor/...)
if (typeof(Asset).IsAssignableFrom(targetTypeType))
return new AssetRefEditor();
if (typeof(GPUTexture).IsAssignableFrom(targetTypeType))
return new GPUTextureEditor();
if (typeof(FlaxEngine.Object).IsAssignableFrom(targetTypeType))
return new FlaxObjectRefEditor();
}

View File

@@ -1,8 +1,5 @@
// Copyright (c) Wojciech Figat. All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using FlaxEditor.Actions;
using FlaxEditor.CustomEditors.Editors;
using FlaxEditor.CustomEditors.Elements;
@@ -10,12 +7,14 @@ using FlaxEditor.GUI;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.GUI.Tree;
using FlaxEditor.Scripting;
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
using FlaxEngine.GUI;
using FlaxEngine.Json;
using FlaxEngine.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FlaxEditor.CustomEditors.Dedicated
{
@@ -240,6 +239,12 @@ namespace FlaxEditor.CustomEditors.Dedicated
node.TextColor = Color.OrangeRed;
node.Text = Utilities.Utils.GetPropertyNameUI(removed.PrefabObject.GetType().Name);
}
// Removed Actor
else if (editor is RemovedActorDummy removedActor)
{
node.TextColor = Color.OrangeRed;
node.Text = $"{removedActor.PrefabObject.Name} ({Utilities.Utils.GetPropertyNameUI(removedActor.PrefabObject.GetType().Name)})";
}
// Actor or Script
else if (editor.Values[0] is SceneObject sceneObject)
{
@@ -295,16 +300,40 @@ namespace FlaxEditor.CustomEditors.Dedicated
// Not used
}
}
private class RemovedActorDummy : CustomEditor
{
/// <summary>
/// The removed prefab object (from the prefab default instance).
/// </summary>
public Actor PrefabObject;
/// <summary>
/// The prefab instance's parent.
/// </summary>
public Actor ParentActor;
/// <summary>
/// The order of the removed actor in the parent.
/// </summary>
public int OrderInParent;
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
{
// Not used
}
}
private TreeNode ProcessDiff(CustomEditor editor, bool skipIfNotModified = true)
{
// Special case for new Script added to actor
if (editor.Values[0] is Script script && !script.HasPrefabLink)
// Special case for new Script or child actor added to actor
if ((editor.Values[0] is Script script && !script.HasPrefabLink) || (editor.Values[0] is Actor a && !a.HasPrefabLink))
return CreateDiffNode(editor);
// Skip if no change detected
var isRefEdited = editor.Values.IsReferenceValueModified;
if (!isRefEdited && skipIfNotModified)
if (!isRefEdited && skipIfNotModified && editor is not ScriptsEditor)
return null;
TreeNode result = null;
@@ -359,6 +388,44 @@ namespace FlaxEditor.CustomEditors.Dedicated
}
}
// Compare child actors for removed actors.
if (editor is ActorEditor && editor.Values.HasReferenceValue && editor.Values.ReferenceValue is Actor prefabObjectActor)
{
var thisActor = editor.Values[0] as Actor;
for (int i = 0; i < prefabObjectActor.ChildrenCount; i++)
{
var prefabActorChild = prefabObjectActor.Children[i];
if (thisActor == null)
continue;
bool isRemoved = true;
for (int j = 0; j < thisActor.ChildrenCount; j++)
{
var actorChild = thisActor.Children[j];
if (actorChild.PrefabObjectID == prefabActorChild.PrefabObjectID)
{
isRemoved = false;
break;
}
}
if (isRemoved)
{
var dummy = new RemovedActorDummy
{
PrefabObject = prefabActorChild,
ParentActor = thisActor,
OrderInParent = prefabActorChild.OrderInParent,
};
var child = CreateDiffNode(dummy);
if (result == null)
result = CreateDiffNode(editor);
result.AddChild(child);
}
}
}
if (editor is ScriptsEditor && result != null && result.ChildrenCount == 0)
return null;
return result;
}
@@ -438,6 +505,15 @@ namespace FlaxEditor.CustomEditors.Dedicated
Presenter.BuildLayoutOnUpdate();
}
private static void GetAllPrefabObjects(List<object> objects, Actor actor)
{
objects.Add(actor);
objects.AddRange(actor.Scripts);
var children = actor.Children;
foreach (var child in children)
GetAllPrefabObjects(objects, child);
}
private void OnDiffRevert(CustomEditor editor)
{
// Special case for removed Script from actor
@@ -459,6 +535,22 @@ namespace FlaxEditor.CustomEditors.Dedicated
return;
}
// Special case for reverting removed Actors
if (editor is RemovedActorDummy removedActor)
{
Editor.Log("Reverting removed actor changes to prefab (adding it)");
var parentActor = removedActor.ParentActor;
var restored = parentActor.AddChild(removedActor.PrefabObject.GetType());
var prefabId = parentActor.PrefabID;
var prefabObjectId = removedActor.PrefabObject.PrefabObjectID;
string data = JsonSerializer.Serialize(removedActor.PrefabObject);
JsonSerializer.Deserialize(restored, data);
Presenter.Owner.SceneContext.Spawn(restored, parentActor, removedActor.OrderInParent);
Actor.Internal_LinkPrefab(FlaxEngine.Object.GetUnmanagedPtr(restored), ref prefabId, ref prefabObjectId);
return;
}
// Special case for new Script added to actor
if (editor.Values[0] is Script script && !script.HasPrefabLink)
{
@@ -470,8 +562,37 @@ namespace FlaxEditor.CustomEditors.Dedicated
return;
}
// Special case for new Actor added to actor
if (editor.Values[0] is Actor a && !a.HasPrefabLink)
{
Editor.Log("Reverting added actor changes to prefab (removing it)");
editor.RevertToReferenceValue();
// TODO: Keep previous selection.
var context = Presenter.Owner.SceneContext;
context.Select(SceneGraph.SceneGraphFactory.FindNode(a.ID));
context.DeleteSelection();
return;
}
if (Presenter.Undo != null && Presenter.Undo.Enabled)
{
var thisActor = (Actor)Values[0];
var rootActor = thisActor.IsPrefabRoot ? thisActor : thisActor.GetPrefabRoot();
var prefabObjects = new List<object>();
GetAllPrefabObjects(prefabObjects, rootActor);
using (new UndoMultiBlock(Presenter.Undo, prefabObjects, "Revert to Prefab"))
{
editor.RevertToReferenceValue();
editor.RefreshInternal();
}
}
else
{
editor.RevertToReferenceValue();
editor.RefreshInternal();
}
}
}
}

View File

@@ -13,6 +13,8 @@ namespace FlaxEditor.CustomEditors.Dedicated
public class AudioSourceEditor : ActorEditor
{
private Label _infoLabel;
private Slider _slider;
private AudioSource.States _slideStartState;
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
@@ -28,6 +30,13 @@ namespace FlaxEditor.CustomEditors.Dedicated
_infoLabel = playbackGroup.Label(string.Empty).Label;
_infoLabel.AutoHeight = true;
// Play back slider
var sliderElement = playbackGroup.CustomContainer<Slider>();
_slider = sliderElement.CustomControl;
_slider.ThumbSize = new Float2(_slider.ThumbSize.X * 0.5f, _slider.ThumbSize.Y);
_slider.SlidingStart += OnSlidingStart;
_slider.SlidingEnd += OnSlidingEnd;
var grid = playbackGroup.UniformGrid();
var gridControl = grid.CustomControl;
gridControl.ClipChildren = false;
@@ -40,6 +49,38 @@ namespace FlaxEditor.CustomEditors.Dedicated
}
}
private void OnSlidingEnd()
{
foreach (var value in Values)
{
if (value is AudioSource audioSource && audioSource.Clip)
{
switch (_slideStartState)
{
case AudioSource.States.Playing:
audioSource.Play();
break;
case AudioSource.States.Paused:
case AudioSource.States.Stopped:
audioSource.Pause();
break;
default: break;
}
}
}
}
private void OnSlidingStart()
{
foreach (var value in Values)
{
if (value is AudioSource audioSource && audioSource.Clip)
{
_slideStartState = audioSource.State;
}
}
}
/// <inheritdoc />
public override void Refresh()
{
@@ -51,7 +92,29 @@ namespace FlaxEditor.CustomEditors.Dedicated
foreach (var value in Values)
{
if (value is AudioSource audioSource && audioSource.Clip)
{
text += $"Time: {audioSource.Time:##0.0}s / {audioSource.Clip.Length:##0.0}s\n";
_slider.Maximum = audioSource.Clip.Length;
_slider.Minimum = 0;
if (_slider.IsSliding)
{
if (audioSource.State != AudioSource.States.Playing)
{
// Play to move slider correctly
audioSource.Play();
audioSource.Time = _slider.Value;
}
else
{
audioSource.Time = _slider.Value;
}
}
else
{
_slider.Value = audioSource.Time;
}
}
}
_infoLabel.Text = text;
}

View File

@@ -1,6 +1,7 @@
// Copyright (c) Wojciech Figat. All rights reserved.
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.CustomEditors.Dedicated
{
@@ -11,7 +12,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
[CustomEditor(typeof(EnvironmentProbe)), DefaultEditor]
public class EnvironmentProbeEditor : ActorEditor
{
private FlaxEngine.GUI.Button _bake;
private Button _bake;
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
@@ -20,9 +21,12 @@ namespace FlaxEditor.CustomEditors.Dedicated
if (Values.HasDifferentTypes == false)
{
layout.Space(10);
_bake = layout.Button("Bake").Button;
var group = layout.Group("Probe");
group.Panel.ItemsMargin = new Margin(Utilities.Constants.UIMargin * 2);
_bake = group.Button("Bake").Button;
_bake.Clicked += BakeButtonClicked;
var view = group.Button("View", "Opens the probe texture viewer");
view.Button.Clicked += OnViewButtonClicked;
}
}
@@ -48,5 +52,14 @@ namespace FlaxEditor.CustomEditors.Dedicated
}
}
}
private void OnViewButtonClicked()
{
foreach (var value in Values)
{
if (value is EnvironmentProbe probe && probe.ProbeAsset)
Editor.Instance.ContentEditing.Open(probe.ProbeAsset);
}
}
}
}

View File

@@ -0,0 +1,68 @@
// Copyright (c) Wojciech Figat. All rights reserved.
using FlaxEditor.GUI.ContextMenu;
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Basic editor/viewer for <see cref="GPUTexture"/>.
/// </summary>
[CustomEditor(typeof(GPUTexture)), DefaultEditor]
public class GPUTextureEditor : CustomEditor
{
private Image _image;
/// <inheritdoc />
public override DisplayStyle Style => DisplayStyle.Inline;
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
{
_image = new Image
{
Brush = new GPUTextureBrush(),
Size = new Float2(200, 100),
Parent = layout.ContainerControl,
};
_image.Clicked += OnImageClicked;
}
private void OnImageClicked(Image image, MouseButton button)
{
var texture = Values[0] as GPUTexture;
if (!texture || button != MouseButton.Right)
return;
var menu = new ContextMenu();
menu.AddButton("Save...", () => Screenshot.Capture(Values[0] as GPUTexture));
menu.AddButton("Enlarge", () => _image.Size *= 2);
menu.AddButton("Shrink", () => _image.Size /= 2).Enabled = _image.Height > 32;
var location = image.PointFromScreen(Input.MouseScreenPosition);
menu.Show(image, location);
}
/// <inheritdoc />
public override void Refresh()
{
base.Refresh();
var texture = Values[0] as GPUTexture;
((GPUTextureBrush)_image.Brush).Texture = texture;
if (texture)
{
var desc = texture.Description;
#if BUILD_RELEASE
var name = string.Empty;
#else
var name = texture.Name;
#endif
_image.TooltipText = $"{name}\nType: {texture.ResourceType}\nSize: {desc.Width}x{desc.Height}\nFormat: {desc.Format}\nMemory: {Utilities.Utils.FormatBytesCount(texture.MemoryUsage)}";
}
else
{
_image.TooltipText = "None";
}
}
}
}

View File

@@ -195,7 +195,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
filesCount += files.Length;
foreach (var file in files)
FindNewKeysCpp(file, newKeys, allKeys);
files = Directory.GetFiles(Globals.ProjectSourceFolder, "*.h", SearchOption.AllDirectories).Concat(Directory.GetFiles(Globals.ProjectSourceFolder, "*.hpp", SearchOption.AllDirectories)).ToArray();;
files = Directory.GetFiles(Globals.ProjectSourceFolder, "*.h", SearchOption.AllDirectories).Concat(Directory.GetFiles(Globals.ProjectSourceFolder, "*.hpp", SearchOption.AllDirectories)).ToArray();
filesCount += files.Length;
foreach (var file in files)
FindNewKeysCpp(file, newKeys, allKeys);

View File

@@ -0,0 +1,38 @@
// Copyright (c) Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Custom editor for <see cref="NavMeshBoundsVolume"/>.
/// </summary>
/// <seealso cref="ActorEditor" />
[CustomEditor(typeof(NavMeshBoundsVolume)), DefaultEditor]
internal class NavMeshBoundsVolumeEditor : ActorEditor
{
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
{
base.Initialize(layout);
if (Values.HasDifferentTypes == false)
{
var button = layout.Button("Build");
button.Button.Clicked += OnBuildClicked;
}
}
private void OnBuildClicked()
{
foreach (var value in Values)
{
if (value is NavMeshBoundsVolume volume)
{
Navigation.BuildNavMesh(volume.Box, volume.Scene);
Editor.Instance.Scene.MarkSceneEdited(volume.Scene);
}
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More