Compare commits

...

1305 Commits

Author SHA1 Message Date
mafiesto4 425382f7d2 Fix iOS game dotnet lib incorrect name 2024-10-17 15:03:59 +02:00
mafiesto4 b45f6c1321 Disable editor screenshot when running without graphics 2024-10-10 23:27:01 +02:00
mafiesto4 56ebbecd3b Remove apt update on Linux CI/CD 2024-10-10 23:24:07 +02:00
mafiesto4 5c0110769a Remove custom source for Linux CI/CD 2024-10-10 22:57:44 +02:00
mafiesto4 b37ba9279e Update Assimp for Linux (use clang 13)
Migrate to Ubuntu 24 for CI/CD builds
CLang 7 used before is no longer avaliable on latest Ubuntu distro
2024-10-10 22:51:59 +02:00
mafiesto4 9e04f0b054 Update Assimp for Linux (use clang 7) 2024-10-10 22:09:03 +02:00
mafiesto4 cc8afbc220 Update Assimp for Mac 2024-10-10 21:28:30 +02:00
mafiesto4 2d6257a390 Revert "Update Assimp lib for Linux"
This reverts commit 0fcd6a194a.
2024-10-10 20:32:44 +02:00
mafiesto4 0fcd6a194a Update Assimp lib for Linux 2024-10-10 18:08:32 +02:00
mafiesto4 79471af0c1 Fix bug in new shadows rendering when there are too many lights 2024-10-10 11:19:06 +02:00
mafiesto4 73842d9793 Fix properties order in Light shadows section 2024-10-09 12:17:39 +02:00
mafiesto4 600ac568a9 Change default shadows update rate at far plane to be 1 to prevent artifacts
Users can tweak this down manually when optimizing game (dynamic games might stay at 1)
2024-10-09 12:14:53 +02:00
mafiesto4 9694446fca Optimize Color32 to use packed bits for quick comparisons 2024-10-08 12:15:01 +02:00
mafiesto4 735b573705 Bump up build number 2024-10-07 18:03:55 +02:00
mafiesto4 e5d03134bb Merge branch 'Tryibion-fix-video-audio-not-loop' 2024-10-07 10:25:02 +02:00
mafiesto4 b73463a4b2 Merge branch 'fix-video-audio-not-loop' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-video-audio-not-loop 2024-10-07 10:24:55 +02:00
mafiesto4 0a08d12f69 Merge branch 'Tryibion-quick-win-undock-fix' 2024-10-07 10:24:47 +02:00
mafiesto4 19f483a68f Merge branch 'quick-win-undock-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-quick-win-undock-fix 2024-10-07 10:24:37 +02:00
mafiesto4 1d5e3d198d Merge branch 'Tryibion-open-file-item' 2024-10-07 10:24:05 +02:00
mafiesto4 e94e100431 Merge branch 'open-file-item' of https://github.com/Tryibion/FlaxEngine into Tryibion-open-file-item 2024-10-07 10:21:43 +02:00
mafiesto4 198dddd2ce Fix large worlds build 2024-10-07 10:01:51 +02:00
mafiesto4 3434731c2a Another blind fix 2024-10-07 00:40:22 +02:00
mafiesto4 28bf60e62d Fix compilation 2024-10-06 23:54:20 +02:00
mafiesto4 4a4120864d Better fix for c6fa20abaa 2024-10-06 23:23:41 +02:00
Tryibion 283f26b95c Fix video audio not looping. 2024-10-06 14:54:44 -05:00
Tryibion 13acf3c143 Quick fix for #2963 2024-10-05 23:44:26 -05:00
Tryibion 84201b346b Add opening file proxy for windows. 2024-10-05 23:11:38 -05:00
mafiesto4 49389ebb4e Merge branch 'Tryibion-fix-recons-z' 2024-10-05 23:22:12 +02:00
mafiesto4 9b7e5be50e Add new features to stb too (as unsupported)
#2968
2024-10-05 23:22:06 +02:00
mafiesto4 66862ea1cf Merge branch 'fix-recons-z' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-recons-z 2024-10-05 23:17:22 +02:00
mafiesto4 c6fa20abaa Better fix for 573e99dd2d 2024-10-05 23:15:38 +02:00
Tryibion 305d3a6496 Add FlipX to texture tool. 2024-10-04 19:31:55 -05:00
Tryibion 2a5de178fa Small fix for Reconstructing Z Channel and add keeping aspect ration when resizing. 2024-10-04 19:21:15 -05:00
mafiesto4 631ff14fc1 Merge branch 'Tryibion-reconst-z-channel' 2024-10-04 22:39:42 +02:00
mafiesto4 1e2d02d437 Merge branch 'reconst-z-channel' of https://github.com/Tryibion/FlaxEngine into Tryibion-reconst-z-channel 2024-10-04 22:39:37 +02:00
mafiesto4 fe9722c261 Merge branch 'amir9480-fix_2804' 2024-10-04 22:39:17 +02:00
mafiesto4 58e1396c15 Fix rich text box snapping to be ignored at text end
#2964
2024-10-04 22:39:10 +02:00
Tryibion 8e72b1f326 Fix comment. 2024-10-04 15:39:02 -05:00
Tryibion 6b10ebdc2c Add options to reconstruct z channel for textures. 2024-10-04 15:29:45 -05:00
mafiesto4 c759b5fa24 Merge branch 'fix_2804' of https://github.com/amir9480/FlaxEngine into amir9480-fix_2804 2024-10-04 22:19:10 +02:00
mafiesto4 573e99dd2d Fix compilation regression 2024-10-04 22:16:38 +02:00
mafiesto4 b9849e2b5c Fix parsing numbers to support sign 2024-10-04 15:59:48 +02:00
mafiesto4 6fecf1d58a Fix crash when setting static dotnet field from unmanaged code 2024-10-04 15:59:41 +02:00
mafiesto4 e860f969be Add attributes support for dotnet interop for methods, fields and properties 2024-10-04 15:59:34 +02:00
Amir Alizadeh c8f57ea82b Fix RichTextBox selection bug 2024-10-03 21:46:59 +03:30
mafiesto4 1414eb9852 Add Variant enum parsing by name and fix enum printing to string 2024-10-03 17:12:39 +02:00
mafiesto4 497cd19fe5 Fix managed interop bug 2024-10-03 17:11:15 +02:00
mafiesto4 c6e121a777 Add 2k res to scene anim renderer 2024-10-03 13:39:58 +02:00
mafiesto4 1229b12d9a Merge branch 'Tryibion-fix-joint-flag-cat' 2024-10-03 11:46:59 +02:00
mafiesto4 cd964666e2 Merge branch 'fix-joint-flag-cat' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-joint-flag-cat 2024-10-03 11:46:50 +02:00
Tryibion c3162ca2cb Fix missing EditorDisplay attribute on Distance and Hinge Joints for thier Flags 2024-10-02 10:55:43 -05:00
mafiesto4 e2462c8151 Add ability to edit position curve in timeline with a gizmo in a viewport 2024-10-02 17:00:58 +02:00
mafiesto4 7f7549d2f7 Add Foliage.RemoveAllInstances to clear all instances of foliage
#2957
2024-10-01 23:07:47 +02:00
mafiesto4 c597c38705 Fix volumetric fog particles after objects instancing refactor 2024-10-01 15:07:32 +02:00
mafiesto4 b00cab6388 Fix using old CPU particle assets 2024-10-01 14:38:32 +02:00
mafiesto4 0b492180df Fix Content Finder input action binding in Output Log 2024-10-01 12:29:29 +02:00
mafiesto4 e9ac02d416 Refactor toolstrip buttons tooltips to properly format empty input bindings 2024-10-01 11:06:13 +02:00
mafiesto4 d1d14daa1e Improve timeline tracks renaming to use shared utility with proper incrementing 2024-10-01 10:16:30 +02:00
mafiesto4 bfa09e165a Fix BehaviorTreeMoveToNode when goal location changes every frame by less than tolerance 2024-09-30 23:15:16 +02:00
mafiesto4 c063afc5bc Fix GetObject/SetObject usage in network replication hierarchy 2024-09-30 14:52:05 +02:00
mafiesto4 babaa2680f Merge remote-tracking branch 'origin/1.9' 2024-09-30 12:23:57 +02:00
mafiesto4 fbc5a061d9 Merge branch '1.9' of https://gitlab.flaxengine.com/flax/flaxengine into 1.9 2024-09-30 12:22:40 +02:00
mafiesto4 cf8c9f0982 Add basic Variant parsing from text 2024-09-30 12:20:34 +02:00
mafiesto4 dd5b66386a Fix compilation regression from 5f7075d2f7 2024-09-29 22:25:44 +02:00
mafiesto4 8dab6f3370 Merge branch 'Tryibion-audio-debug-video-player' 2024-09-29 22:14:57 +02:00
mafiesto4 5a2b46c6d2 Merge branch 'audio-debug-video-player' of https://github.com/Tryibion/FlaxEngine into Tryibion-audio-debug-video-player 2024-09-29 22:14:51 +02:00
mafiesto4 58da950f62 Merge branch 'Tryibion-fix-item-scroll-vis' 2024-09-29 22:12:48 +02:00
mafiesto4 75002ce45d Merge branch 'fix-item-scroll-vis' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-item-scroll-vis 2024-09-29 22:12:43 +02:00
mafiesto4 b40fea79ce Merge branch 'Tryibion-fix-rich-text-box-border-vars' 2024-09-29 22:11:41 +02:00
mafiesto4 001597284a Merge branch 'fix-rich-text-box-border-vars' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-rich-text-box-border-vars 2024-09-29 22:11:36 +02:00
mafiesto4 6b658a5bc3 Merge branch 'LOOPDISK-networklagdriver-fix' 2024-09-29 22:10:34 +02:00
mafiesto4 bf4badd6b9 Merge branch 'networklagdriver-fix' of https://github.com/LOOPDISK/FlaxEngine into LOOPDISK-networklagdriver-fix 2024-09-29 22:10:29 +02:00
mafiesto4 5f7075d2f7 Add NetworkReplicationNode::SetObject to customize object replication settings at runtime 2024-09-29 22:08:31 +02:00
mafiesto4 5f19538455 Add UpdateFlags to ISceneRenderingListener::UpdateActor for more contextual control overdirtying actors state in renderer data
Fixes issue of static shadow maps not refreshing when changing static flags of the model.
2024-09-29 22:03:46 +02:00
Terence Lee 6015514680 Fixed NetworkLagDriver having wrong ChannelType and Length 2024-09-29 12:41:36 +08:00
Tryibion 6b2380c5fa Add audio debug sphere for video player if spatial audio is used. 2024-09-28 15:20:44 -05:00
Tryibion 8080c21760 Fix HasBorder and BorderThickness for RichTextBox 2024-09-27 11:31:59 -05:00
Tryibion 6e91e26dfe Fix issue with scroll bars not showing in item search panel when clear search button is clicked. 2024-09-27 11:24:33 -05:00
mafiesto4 a4350cdf3f Merge branch 'GoaLitiuM-msvc_v140_arm64_fix' 2024-09-25 20:34:56 +02:00
mafiesto4 e17c68a5a0 Merge branch 'msvc_v140_arm64_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-msvc_v140_arm64_fix 2024-09-25 20:34:49 +02:00
mafiesto4 b70e65acb4 Fix error when adding new audio track to scene anim via drag & drop 2024-09-25 20:33:10 +02:00
mafiesto4 19817e4ad6 Fix crash on find references in visject surface after grid snap has been added 2024-09-25 20:26:28 +02:00
GoaLitiuM d580667b97 Prevent generating configurations for unsupported external projects 2024-09-25 17:40:54 +03:00
GoaLitiuM 301bf41fab Fix ARM64 compiler support detection with MSVC v140 toolset 2024-09-25 17:38:29 +03:00
mafiesto4 2ad9c7f4d5 Fix Skybox rendering regression
#2943
2024-09-24 23:01:13 +02:00
mafiesto4 c8eed098ba Fix regression 207c6a0cb5 2024-09-24 22:12:42 +02:00
mafiesto4 207c6a0cb5 Refactor platform apis comments and cleanup a bit 2024-09-24 18:29:30 +02:00
mafiesto4 da203352fd Refactor old code documentation 2024-09-24 18:20:12 +02:00
mafiesto4 f817448839 Merge branch 'Tryibion-fix-carot-pos' 2024-09-24 09:26:41 +02:00
mafiesto4 bf56ccaee9 Merge branch 'fix-carot-pos' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-carot-pos 2024-09-24 09:26:35 +02:00
mafiesto4 5d578d9e92 Fix NetworkReplicator::MapObjectId to work in both ways on a client 2024-09-24 09:25:10 +02:00
Tryibion 7b9da3786d Fix carrot position when no text but text alignment 2024-09-23 15:57:21 -05:00
mafiesto4 5690707c73 Optimize generic GetActors/GetScripts on basic type 2024-09-23 21:01:04 +02:00
mafiesto4 3b3be75d94 Fix DDGI probes debug when using very large amount of probes 2024-09-23 20:31:54 +02:00
mafiesto4 128321c655 Fix network profiler to properly calculate network usage statistics per second
#2815
2024-09-23 20:15:50 +02:00
mafiesto4 d2c35e8591 Fix crash in build tool when generating project files with incorrect target setup 2024-09-23 20:15:27 +02:00
mafiesto4 3c31b5bc1e Bump up build number 2024-09-23 14:15:12 +02:00
mafiesto4 81d62756fb Merge remote-tracking branch 'origin/1.9' 2024-09-23 14:11:41 +02:00
mafiesto4 18dc475f40 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Engine/UI/GUI/Common/Button.cs
2024-09-23 14:11:05 +02:00
mafiesto4 e22f4a28bd Fix editor log spam by rebuilding layout when Custom Editor throws exception on update
#2935
2024-09-23 13:58:56 +02:00
mafiesto4 aba46cb2c6 Fix naming convention in scripting backend for klass 2024-09-22 12:30:34 +02:00
mafiesto4 da5570e89f Fix terrain shader compilation regression 2024-09-22 11:28:26 +02:00
mafiesto4 c943b3a526 Restore single editor tab window header on platforms with not yet implemented drag features (mac, linux)
#2770
2024-09-22 11:08:31 +02:00
mafiesto4 428a56af28 Fix old api usage warning 2024-09-22 10:53:01 +02:00
mafiesto4 eb825f516e Fix terrain splatmap cache clearng 2024-09-22 10:40:10 +02:00
mafiesto4 371e16a857 Merge branch 'Chikinsupu-SurfaceComments-CenterHeaderEditBox' 2024-09-21 18:13:06 +02:00
mafiesto4 750e4be1b9 Merge branch 'SurfaceComments-CenterHeaderEditBox' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-SurfaceComments-CenterHeaderEditBox 2024-09-21 18:12:58 +02:00
Nils Hausfeld 382ac2c70b - Center alignment for surface comment header 2024-09-20 21:00:34 +02:00
mafiesto4 d9aa123bce Add custom grid snapping value for translation
#1823
2024-09-20 18:33:08 +02:00
mafiesto4 c77b1c3ab2 Revert IK to the pre-1.8 to fix broken projects using it
#2421 #2610
2024-09-20 08:05:00 +02:00
mafiesto4 ed7f190778 Revert partially 075c224022 2024-09-20 00:08:49 +02:00
mafiesto4 f983be6104 Fix realtime environment probes updating
#2191
2024-09-19 23:46:04 +02:00
mafiesto4 075c224022 Fix C# structures memory packing to match C++ better
#2709
2024-09-19 19:35:45 +02:00
mafiesto4 ba701eb4d3 Fix compilation warnings on large worlds 2024-09-19 17:04:31 +02:00
mafiesto4 93d9b9877c Add preserving local changes to model prefab objects when reimporting
#2275
2024-09-19 11:18:42 +02:00
mafiesto4 87b0cc705e Add logging missing object reference context when spawning prefab
#2414
2024-09-19 10:49:26 +02:00
mafiesto4 6924042452 Add copy/paste context actions to the sprite properties panel
#2643
2024-09-19 10:34:46 +02:00
mafiesto4 be395304ec Fix Pre-Skinned Normal and Position when accessed in Pixel Shader
#2549
2024-09-19 10:11:49 +02:00
mafiesto4 fb4b0b2f75 Add resizing panel based on highest child if ControlChildSize is disabled but AutoSize is enabled
#2599 #2511
2024-09-18 23:37:05 +02:00
mafiesto4 596b61b23f Fix crashes in vector editors in rare cases 2024-09-18 23:36:27 +02:00
mafiesto4 a8354720df Add ControlChildSize option to disable autosizing child controls in UI panel
#2511
2024-09-18 23:19:45 +02:00
mafiesto4 c9817b25a3 Fix label sizing issues
#2496
2024-09-18 23:06:10 +02:00
mafiesto4 e024897b7d Refactor Button to inherit from Label and get all of its functionalities
#2599
2024-09-18 23:05:42 +02:00
mafiesto4 262c536d7f Fix Label auto sizing to be relative to pivot and sync layout when editing
#2496
2024-09-18 22:21:56 +02:00
mafiesto4 8c0d89bc62 Add NetworkReplicator::MapObjectId for networked object identifies mapping 2024-09-18 12:54:10 +02:00
mafiesto4 8f0cf3b8ef Fix navigation focus path in UIControl transform editor
#2704
2024-09-18 12:46:59 +02:00
mafiesto4 6857664f48 Add navigation focus submit to Image via mouse left click action 2024-09-18 12:27:37 +02:00
mafiesto4 e1c4bf5289 Add navigation focus support to AssetPicker control
#2704
2024-09-18 12:17:30 +02:00
mafiesto4 f7f4c15e82 Fix TextBox caret and selection when using text alignment options
#2653
2024-09-18 12:00:41 +02:00
mafiesto4 0a22d5ab4d Fix managed arrays interop bug when passed via generic object parameter
#2613
2024-09-17 00:15:04 +02:00
mafiesto4 f050621e3e Blacklist various std lib namespaces in Visual Scripting 2024-09-17 00:14:43 +02:00
mafiesto4 dcadb11a20 Fix build 2024-09-16 13:45:37 +02:00
mafiesto4 2bc95a7af7 Merge branch 'xxSeys1-splashQuoteDocs' 2024-09-16 00:00:41 +02:00
mafiesto4 52f95de756 Merge branch 'splashQuoteDocs' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-splashQuoteDocs 2024-09-16 00:00:35 +02:00
mafiesto4 409c404a26 Merge branch 'xxSeys1-improvedEditorSettingDescriptions' 2024-09-15 23:58:24 +02:00
mafiesto4 d07a615c76 Merge branch 'improvedEditorSettingDescriptions' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-improvedEditorSettingDescriptions 2024-09-15 23:58:10 +02:00
mafiesto4 6113af2dc1 Fix custom 2D clipping mask to properly inherit parent container clip mask
2371
2024-09-15 23:57:52 +02:00
mafiesto4 a367d40913 Add more contextual log printing on missing object/asset reference
#2414
2024-09-15 23:03:53 +02:00
mafiesto4 1fa0159079 Fix crash in editor when opening Visual Script that uses array of visual script references 2024-09-15 22:59:29 +02:00
xxSeys1 6c6938aa41 improve editor options descriptions 2024-09-15 16:03:45 +02:00
mafiesto4 2a29b8e807 Fix regression in function surfaces 2024-09-14 23:25:59 +02:00
xxSeys1 c5f1cdc23d add splash screen quote about docs
Documentation is amazing. If ppl read it.
2024-09-13 23:35:25 +02:00
mafiesto4 49eeb7bf9a Fix parsing forward enum declaration in scripting api 2024-09-12 22:37:36 +02:00
mafiesto4 cb67fbcbd7 Remove BackgroundBrush from Button as it's already in Control as of 51ee3de689 2024-09-12 19:01:18 +02:00
mafiesto4 51ee3de689 Add Background Brush to the control for more styling
#1898
2024-09-12 16:29:14 +02:00
mafiesto4 c69beae81a Add namespace to method tooltips in Visual ScriptType
#112
2024-09-12 15:45:12 +02:00
mafiesto4 d5f53572df Add support for using C# stdlib api in Visual Scripts
#112
2024-09-12 15:44:53 +02:00
mafiesto4 9daddccbed Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Editor/Modules/ContentDatabaseModule.cs
#	Source/Editor/Surface/SurfaceUtils.cs
#	Source/Editor/Windows/Assets/MaterialInstanceWindow.cs
#	Source/Engine/Foliage/Foliage.cpp
#	Source/Engine/Graphics/Models/MeshBase.h
#	Source/Engine/Tools/MaterialGenerator/MaterialGenerator.Textures.cpp
2024-09-12 13:38:20 +02:00
mafiesto4 e0a488dec1 Fix failed check in Camera::ConvertMouseToRay when result is invalid ray 2024-09-12 12:41:22 +02:00
mafiesto4 0bc98a5f18 Improve asset reference debug in C# when it's empty 2024-09-12 12:41:03 +02:00
mafiesto4 e834f2ec94 Hide internal codegen variable from debugger 2024-09-12 12:40:50 +02:00
mafiesto4 4087e9c291 Add deprecated property to fix compile in old projects
42b4443e14
2024-09-12 12:40:29 +02:00
mafiesto4 31bce25c37 Add deprecated property to fix compile in old projects
42b4443e14
2024-09-12 12:40:13 +02:00
mafiesto4 2d61e329cb Update asset 2024-09-12 09:12:08 +02:00
mafiesto4 e7dc58c596 Fix crash when showing shader source that is empty
#2896
2024-09-12 09:11:55 +02:00
mafiesto4 28ebfa597e Merge branch 'GaryMcWhorter-agx-tonemapping' 2024-09-12 09:06:45 +02:00
mafiesto4 1ca356c2f1 Merge branch 'Tryibion-enum-combo-box-open' 2024-09-12 09:03:09 +02:00
mafiesto4 b776242cc7 Merge branch 'enum-combo-box-open' of https://github.com/Tryibion/FlaxEngine into Tryibion-enum-combo-box-open 2024-09-12 09:03:01 +02:00
mafiesto4 33ccdea761 Fixes and shader update
#2673
2024-09-12 09:02:48 +02:00
mafiesto4 7bc4de4e6b Merge branch 'agx-tonemapping' of https://github.com/GaryMcWhorter/FlaxEngine into GaryMcWhorter-agx-tonemapping 2024-09-12 07:58:01 +02:00
mafiesto4 21d4242340 Merge branch 'xxSeys1-VSScriptingDescripPanelSettingNameChange' 2024-09-12 07:42:50 +02:00
xxSeys1 3a1dde0081 rename VisualScriptingDescriptionPanel to NodeDescriptionPanel
The description panel no longer only shows in the visual scripting editor but also in the material editor.
There is one editor setting that shows/ hides both so I changed the name to something more general.
2024-09-11 22:19:44 +02:00
mafiesto4 cc01952059 Fix Visject parameter values restore after script is saved in editor by using original value diff
#2276
2024-09-11 20:44:45 +02:00
mafiesto4 12c9ae1490 Add surface nodes size snapping when using grid
#1456
2024-09-11 20:24:19 +02:00
mafiesto4 9bbeec5105 Merge branch 'Menotdan-visject_grid_snap' 2024-09-11 20:11:48 +02:00
mafiesto4 c26a806a35 Code cleanup
#1456
2024-09-11 19:57:57 +02:00
mafiesto4 91bfb29d33 Merge branch 'visject_grid_snap' of https://github.com/Menotdan/FlaxEngine into Menotdan-visject_grid_snap
# Conflicts:
#	Source/Editor/Surface/SurfaceUtils.cs
2024-09-11 18:32:08 +02:00
mafiesto4 749b743cf6 Merge branch 'Tryibion-module-remove' 2024-09-11 13:41:37 +02:00
mafiesto4 26ad61c1ce Merge branch 'module-remove' of https://github.com/Tryibion/FlaxEngine into Tryibion-module-remove 2024-09-11 13:41:30 +02:00
mafiesto4 85ff553a72 Merge branch 'Tryibion-fixedalloc-maxcount' 2024-09-11 13:40:45 +02:00
mafiesto4 19226dcf94 Merge branch 'fixedalloc-maxcount' of https://github.com/Tryibion/FlaxEngine into Tryibion-fixedalloc-maxcount 2024-09-11 13:40:34 +02:00
mafiesto4 7311522328 Fix compile regression with large worlds 2024-09-11 13:39:15 +02:00
mafiesto4 27280bb7ff Merge branch 'Menotdan-new-content-creations' 2024-09-11 13:38:41 +02:00
mafiesto4 4683262cf3 Small codestyle tweaks
#2415
2024-09-11 13:38:31 +02:00
Tryibion c452ffec8b Add aadditional check for allocation args generic arg count. 2024-09-10 13:08:44 -05:00
Tryibion 09b3640116 Add code gen for FixedAllocation arrays to generate Collection attribute with accolation count. 2024-09-10 13:04:33 -05:00
mafiesto4 1bc09fb962 Merge branch 'new-content-creations' of https://github.com/Menotdan/FlaxEngine into Menotdan-new-content-creations 2024-09-10 20:00:18 +02:00
mafiesto4 21ed4a2371 Fix Flipbook node bug
#2690
2024-09-10 12:13:28 +02:00
mafiesto4 c1a5db616e Add ProjectPoint for Editor Viewport
#2814
2024-09-10 11:10:15 +02:00
mafiesto4 aef06656f0 Fix using Tag as key of serialized dictionary in cooked build
#2560
2024-09-09 22:30:01 +02:00
mafiesto4 05d191f491 Remove any leftover executable files deployed from .NET SDK 2024-09-09 22:25:37 +02:00
mafiesto4 abb684aed2 Fix spline length calculations bug
#2385
2024-09-09 20:47:49 +02:00
mafiesto4 bbb0d36494 Fixed issues found by PVS-Studio 2024-09-09 18:21:59 +02:00
mafiesto4 c62575612b Fix missing parameters metadata on nested material layers
#731
2024-09-09 12:34:18 +02:00
mafiesto4 d939421c82 Merge branch 'Tryibion-fix-spelling-virtual' 2024-09-09 07:58:08 +02:00
mafiesto4 060dd748a7 Merge branch 'fix-spelling-virtual' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-spelling-virtual 2024-09-09 07:58:02 +02:00
mafiesto4 a8b2358987 Merge branch 'Tryibion-add-shift-end-text' 2024-09-09 07:57:08 +02:00
mafiesto4 b05b94c811 Merge branch 'add-shift-end-text' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-shift-end-text 2024-09-09 07:54:51 +02:00
mafiesto4 89462856e3 Fix mixed tab/spaces in script templates
#2906
2024-09-09 07:34:45 +02:00
mafiesto4 8795667e10 Merge branch 'Tryibion-cs-template-path' 2024-09-09 07:20:15 +02:00
mafiesto4 a7af0be9bb Merge branch 'cs-template-path' of https://github.com/Tryibion/FlaxEngine into Tryibion-cs-template-path 2024-09-09 07:20:02 +02:00
mafiesto4 2e183d77c8 Merge branch 'Tryibion-fix-last-list-element-label' 2024-09-09 07:18:18 +02:00
mafiesto4 f1fde0542e Merge branch 'fix-last-list-element-label' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-last-list-element-label 2024-09-09 07:18:11 +02:00
mafiesto4 c42cc266f9 Add unit test for nested namespace type
#2626 #2914
2024-09-09 07:12:40 +02:00
mafiesto4 e8d077bb84 Merge branch 'Tryibion-fix-interface-bindings' 2024-09-09 07:10:42 +02:00
mafiesto4 a4a6ea5ee6 Merge branch 'fix-interface-bindings' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-interface-bindings 2024-09-09 07:03:12 +02:00
mafiesto4 83732dae97 Merge branch 'Tryibion-camera-decals' 2024-09-09 06:15:25 +02:00
mafiesto4 c9be8e2a41 Merge branch 'camera-decals' of https://github.com/Tryibion/FlaxEngine into Tryibion-camera-decals 2024-09-09 06:15:19 +02:00
envision3d 25aa5bee85 fix crash with prefab window open on script reload 2024-09-09 06:13:56 +02:00
mafiesto4 545e59aba5 Fix lightmap uvs density view to handle scale in lightmap and outline non-static objects
#2080
2024-09-09 05:59:17 +02:00
Tryibion fd30872f5e Add check for entries count. 2024-09-06 20:30:20 -05:00
Tryibion 8353afa31c Dont close Flag Enum Comboboxes on option selected. 2024-09-06 20:26:04 -05:00
Tryibion 6eee25e04a Removed decals from effecting editor camera model. 2024-09-06 17:45:04 -05:00
Tryibion f7ea45b14d Fix interface bindings clashing namespace and class name if class has same name as namespace. 2024-09-06 16:10:35 -05:00
Tryibion 2f268cab70 Fix last list element label positioning. 2024-09-06 15:47:13 -05:00
Tryibion c844c6b7f0 Add page up and down in textboxbase 2024-09-05 20:51:27 -05:00
Tryibion 34facd8769 Add Shift+End for textboxbase 2024-09-05 18:54:03 -05:00
Tryibion fc6dc9473c Add third party and deps module detection. 2024-09-03 12:54:11 -05:00
Tryibion ecace3d609 Code style fix. 2024-09-02 13:07:15 -05:00
Tryibion 65fd975b1a Add generic CSharpProxy. Add Empty C# template. 2024-09-02 12:57:23 -05:00
Tryibion fd7e04fd8c Fix spelling and comment description wording for GetAssetVirtualProxy 2024-09-01 14:00:50 -05:00
mafiesto4 fc9aa5c184 Fix texture streaming reallocation task to ignore not-resident mips
#2559
2024-08-30 19:50:00 +02:00
mafiesto4 5ebfa4452e Merge branch 'cNori-Math' 2024-08-30 14:48:12 +02:00
mafiesto4 653aaecaec Postmerge cleanup
#2391
2024-08-30 14:48:06 +02:00
mafiesto4 3b9cca30bb Merge branch 'Math' of https://github.com/cNori/FlaxEngineFork into cNori-Math 2024-08-30 13:23:43 +02:00
mafiesto4 f64bad2c1e Merge branch 'Tryibion-save-collection-groups' 2024-08-30 13:20:47 +02:00
mafiesto4 ce7b11adfc Merge branch 'save-collection-groups' of https://github.com/Tryibion/FlaxEngine into Tryibion-save-collection-groups
# Conflicts:
#	Source/Editor/CustomEditors/Editors/CollectionEditor.cs
2024-08-30 13:17:46 +02:00
mafiesto4 b80409c195 Merge branch 'Tryibion-sprite-name-update' 2024-08-30 13:02:39 +02:00
mafiesto4 58547142c9 Merge branch 'sprite-name-update' of https://github.com/Tryibion/FlaxEngine into Tryibion-sprite-name-update 2024-08-30 13:02:33 +02:00
mafiesto4 b52acb31c2 Merge branch 'Tryibion-fix-json-win-cm' 2024-08-30 13:01:32 +02:00
mafiesto4 74c4fb79f5 Merge branch 'fix-json-win-cm' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-json-win-cm 2024-08-30 12:58:43 +02:00
mafiesto4 68eb8b9f21 Fix properties editor labels positioning
#2530 #2609
2024-08-30 12:58:12 +02:00
mafiesto4 6a4d9877e6 Remove unsured variable 2024-08-29 19:34:17 +02:00
Muzz 09737023a1 Add **Contrast Adaptive Sharpening (CAS)** filter pass
#2423
2024-08-29 19:01:37 +02:00
Tryibion 62dff3fa20 Update sprite group name when sprite name is changed. 2024-08-29 11:40:30 -05:00
mafiesto4 e925af534e Add picking the longest animation from the imported file instead of the first one as default
#2490
2024-08-29 09:53:22 +02:00
Tryibion 2ff6437a92 Clean up JsonAssetWindow options cm if it exists. 2024-08-28 20:58:24 -05:00
mafiesto4 ec412d9be0 Fix undo-redo for JsonAssetReference in Editor
#2711
2024-08-28 23:42:59 +02:00
mafiesto4 ca0fb8cf63 Fix missing scenes saving when entering play mode in full game mode
#2465
2024-08-28 17:14:22 +02:00
mafiesto4 a1745e25a1 Fix Input::AxisValueChanged event to properly handle value changes when using keyboard
#2393
2024-08-28 16:48:52 +02:00
mafiesto4 50bf26337d Merge branch 'Tryibion-better-mat-instance-param-settings' 2024-08-28 16:40:40 +02:00
mafiesto4 e6167e3e65 Merge branch 'better-mat-instance-param-settings' of https://github.com/Tryibion/FlaxEngine into Tryibion-better-mat-instance-param-settings 2024-08-28 16:40:30 +02:00
mafiesto4 645e7cd9dc Merge branch 'Tryibion-nameof-module-add' 2024-08-28 16:39:44 +02:00
mafiesto4 9fa40cbf09 Merge branch 'nameof-module-add' of https://github.com/Tryibion/FlaxEngine into Tryibion-nameof-module-add 2024-08-28 16:39:25 +02:00
mafiesto4 942e7986be Merge branch 'Tryibion-shrink-listen' 2024-08-28 16:39:04 +02:00
mafiesto4 758f3c39ee Merge branch 'shrink-listen' of https://github.com/Tryibion/FlaxEngine into Tryibion-shrink-listen 2024-08-28 16:37:30 +02:00
mafiesto4 73125013f0 Merge branch 'Tryibion-fix-comment-node-cm' 2024-08-28 16:36:50 +02:00
mafiesto4 776002c08c Merge branch 'fix-comment-node-cm' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-comment-node-cm 2024-08-28 16:36:43 +02:00
mafiesto4 f3f7d4a034 Fix incorrect network RPC sending when target client ids list is provided but is empty
#2272
2024-08-28 16:36:08 +02:00
mafiesto4 1864574a92 Fix missing integer and double math node implementation in Visject
#2359
2024-08-28 16:24:51 +02:00
mafiesto4 353315bb43 Grey-out value box slider icon when control is disabled 2024-08-28 15:49:37 +02:00
mafiesto4 0dbcdc3217 Add enlarging debug point of current blend value in Multi blend nodes in Anim Graph window 2024-08-28 15:23:10 +02:00
mafiesto4 046865ba00 Fix Multi Blend 2D animation indices outside the blend space
#2553
2024-08-28 15:06:19 +02:00
Tryibion 1546d97b2f Add removing semi colons from targets. 2024-08-27 21:38:57 -05:00
mafiesto4 cd4bd5efe0 Fix duplicate action active state for nodes that dont allow it in Visject graph
#2243
2024-08-27 23:38:11 +02:00
mafiesto4 838cb9f2ce Fix object reference empty text clipping 2024-08-27 23:37:28 +02:00
Tryibion 24a5a4df45 Use Ordinal string comparisions 2024-08-27 16:20:53 -05:00
Tryibion 2e395ff58e Add log for deleting module generated files. 2024-08-27 15:37:22 -05:00
Tryibion b9506edc03 Remove flax.json file from commit 2024-08-27 15:33:25 -05:00
Tryibion 2941ccc93b Add removing generated cpp and h files. 2024-08-27 15:31:27 -05:00
Tryibion e4e568ae6a Code style fix 2024-08-27 15:21:49 -05:00
Tryibion dd655d8c8d Add removing generated module files. 2024-08-27 15:19:52 -05:00
Tryibion 3bffc927f6 Add cleaning up modules from target files when deleted. 2024-08-27 14:54:21 -05:00
Tryibion 6930139f9a Add saving collection groups. Add open all and close all menu buttons for collections. 2024-08-27 11:27:09 -05:00
mafiesto4 499ef51875 Fix draw calls sorting to favor distance over geometry and material
#2271 #2306
2024-08-27 16:01:46 +02:00
mafiesto4 0b3835f593 Fix turbulence module in GPU particles far away from world origin
#1944
2024-08-27 15:12:58 +02:00
Tryibion 9ebf98ce77 Fix null reference in Visject CM if there are no elements associated with a node. 2024-08-26 21:03:04 -05:00
Tryibion 22cf2570f5 Add more nameof for finding and template code. 2024-08-23 16:31:33 -05:00
Tryibion 5307ea85b5 Have new projects use nameof(Game). 2024-08-23 16:27:32 -05:00
Tryibion 21b187ab9f Use nameof for adding new Modules to build targets. 2024-08-23 11:37:08 -05:00
Tryibion 9c31a35f6b Remove revert button. 2024-08-23 10:24:05 -05:00
Tryibion 5b42100581 Moved material instance override opetions into setting button. 2024-08-23 10:12:43 -05:00
mafiesto4 591f0ee6a9 Fix regressions after rendering changes 2024-08-23 00:26:42 +02:00
mafiesto4 a18565fd61 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-23 00:05:00 +02:00
mafiesto4 e5f0e05d43 Fix terrain rendering to use the same LOD for main view and shadow passes
#2555 #2256
2024-08-23 00:00:42 +02:00
mafiesto4 ef540bc498 Fix crash when drawing particle effect where one of the emitter assets is not yet loaded 2024-08-22 23:35:53 +02:00
mafiesto4 fc66738dca Add automatic heightmap files removal on Editor shutdown for deleted terrains
#1902
2024-08-22 23:29:42 +02:00
Tryibion 5800dd2448 Shrink listen button in input editors. 2024-08-22 16:06:13 -05:00
mafiesto4 b8cb1a828a Fix foliage shadows rendering when using cull distance
#2489
2024-08-22 22:29:33 +02:00
mafiesto4 23f60da40d Fix various code issues found using PVS-Studio 2024-08-22 20:24:52 +02:00
mafiesto4 fb2af0e0e7 Fix regression in Sort Key usage 2024-08-22 18:49:03 +02:00
mafiesto4 bb00653645 Fix regression in shadow maps rendering batching to ignore transparent materials due to opacity usage 2024-08-22 17:49:12 +02:00
mafiesto4 20456d95e8 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-22 17:33:20 +02:00
mafiesto4 3ecb7c1d81 Fix SpriteRender all parameters override
#2233
2024-08-22 13:20:53 +02:00
mafiesto4 d0240a54c7 Add MaterialInstance.ResetParameters 2024-08-22 13:15:33 +02:00
mafiesto4 e6745e43ec Fix drawing physics colliders in debug view mode
#2622 #2833
2024-08-21 23:28:44 +02:00
mafiesto4 8ff0f9cd52 Merge branch 'Tryibion-gamepad-button-axis' 2024-08-21 23:04:42 +02:00
mafiesto4 f9f6c27cb5 Merge branch 'gamepad-button-axis' of https://github.com/Tryibion/FlaxEngine into Tryibion-gamepad-button-axis 2024-08-21 23:04:36 +02:00
mafiesto4 fe33bd4c83 Merge branch 'Tryibion-handle-enum-MAX' 2024-08-21 23:03:12 +02:00
mafiesto4 259ddf0410 Merge branch 'handle-enum-MAX' of https://github.com/Tryibion/FlaxEngine into Tryibion-handle-enum-MAX 2024-08-21 23:02:34 +02:00
mafiesto4 3947b164b5 Merge branch 'Tryibion-hide-animmodel-param' 2024-08-21 23:01:14 +02:00
mafiesto4 0854e5c4ac Merge branch 'hide-animmodel-param' of https://github.com/Tryibion/FlaxEngine into Tryibion-hide-animmodel-param 2024-08-21 23:00:51 +02:00
mafiesto4 79947a051c Merge branch 'Tryibion-unique-proxy' 2024-08-21 23:00:09 +02:00
mafiesto4 1b7ff9cdd4 Merge branch 'unique-proxy' of https://github.com/Tryibion/FlaxEngine into Tryibion-unique-proxy 2024-08-21 23:00:04 +02:00
mafiesto4 5f58a6b3d0 Merge branch 'Tryibion-prog-bar-lerp-jump' 2024-08-21 22:59:12 +02:00
mafiesto4 e5c1cf102c Merge branch 'prog-bar-lerp-jump' of https://github.com/Tryibion/FlaxEngine into Tryibion-prog-bar-lerp-jump 2024-08-21 22:59:07 +02:00
mafiesto4 e03dc3754d Merge branch 'Tryibion-vs-param-declare-order' 2024-08-21 22:58:36 +02:00
mafiesto4 dd51ddf0f8 Merge branch 'vs-param-declare-order' of https://github.com/Tryibion/FlaxEngine into Tryibion-vs-param-declare-order 2024-08-21 22:58:31 +02:00
mafiesto4 bdf4c3e1eb Merge branch 'Tryibion-input-rem-dispose' 2024-08-21 22:56:17 +02:00
mafiesto4 9c13ec8808 Merge branch 'input-rem-dispose' of https://github.com/Tryibion/FlaxEngine into Tryibion-input-rem-dispose 2024-08-21 22:55:52 +02:00
mafiesto4 6b63e91391 Add PVS-Studio as new toool that we use for codequality 2024-08-21 22:53:05 +02:00
mafiesto4 f0793dc33f Merge branch 'Tryibion-invert-y-rot' 2024-08-21 22:37:11 +02:00
mafiesto4 dfde648e79 Merge branch 'invert-y-rot' of https://github.com/Tryibion/FlaxEngine into Tryibion-invert-y-rot 2024-08-21 22:37:02 +02:00
mafiesto4 acd338981c Add caching review model in Animation window
#2508
2024-08-21 22:36:11 +02:00
mafiesto4 1c840539c6 Fix crash in audio clip if it's still streaming after unload
#2866
2024-08-21 22:36:05 +02:00
mafiesto4 73a596cb2f Add OrthographicSize to Camera for fixed ortho projection size
#1970
2024-08-21 22:35:43 +02:00
Tryibion 6fad87002d Add option to invert the y-axis mouse rotation in the editor viewport. 2024-08-21 14:32:47 -05:00
Tryibion aa3cf2e077 Add Gamepad buttons to Axis Config. 2024-08-21 13:34:33 -05:00
Tryibion 6b0098bb09 Remove bindings for InputEvent and InputAxis on dispose. 2024-08-21 12:48:46 -05:00
Tryibion b7b23dce5f Fix bug with usedMax not only setting zero after max. 2024-08-21 08:48:35 -05:00
Tryibion a69a3812c2 Add Bindings for handling MAX c++ defines and converting them to c#. 2024-08-20 18:30:02 -05:00
mafiesto4 6534136632 Fix editor viewport mouse control bug when using Alt key
#2816
2024-08-20 18:56:38 +02:00
mafiesto4 2542adba92 Fix ConvertMouseToRay for orthographic projection
#2748
2024-08-20 16:10:03 +02:00
mafiesto4 a7b9dccba4 Merge branch 'Tryibion-getscene-check-return' 2024-08-17 18:13:43 +02:00
mafiesto4 db7138e0e3 Merge branch 'getscene-check-return' of https://github.com/Tryibion/FlaxEngine into Tryibion-getscene-check-return 2024-08-17 18:13:35 +02:00
mafiesto4 5a7080c9c0 Fix crash in particle emitter load
#2840
2024-08-17 18:10:16 +02:00
mafiesto4 ce1a1d6031 Fix deploying fbx files in cooked build from ModelPrefab 2024-08-17 16:48:42 +02:00
mafiesto4 650a2921a3 Add improved FormatBytesCount to print large sizes in more detailed way
Instead of printing `2 GB` output `2.43 GB` to be more explicit.
Deprecate version with `int` in favor of a single `ulong`.
2024-08-17 14:35:13 +02:00
mafiesto4 7650cead3d Disable tooltip on profiler recording button to not affect perf due to tooltip showing 2024-08-17 00:10:53 +02:00
mafiesto4 ed9aaba055 Fix profiler window tabs layout for charts 2024-08-17 00:10:03 +02:00
mafiesto4 cb106be710 Fix importing compressed textures with DirectXTex with resizing 2024-08-16 22:40:02 +02:00
Tryibion e21c884841 Add removing old proxy to add new one. 2024-08-16 13:49:50 -05:00
Tryibion cc157718cd Only allow adding unique proxy types to content database Proxy list. 2024-08-16 11:17:25 -05:00
mafiesto4 4a90663b1c Fix post merge 2024-08-16 15:03:04 +02:00
mafiesto4 21b4c7c916 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-16 14:52:57 +02:00
mafiesto4 b1127f2e05 Merge branch 'envision3d-feature/fix-prefab-crash' into 1.9 2024-08-16 14:52:32 +02:00
mafiesto4 ceb23c14c9 Merge branch 'feature/fix-prefab-crash' of https://github.com/envision3d/FlaxEngine into envision3d-feature/fix-prefab-crash 2024-08-16 14:52:25 +02:00
mafiesto4 c4c25fc21f Optimize SceneObjectsFactory::SynchronizeNewPrefabInstances when loading large scenes 2024-08-16 14:49:43 +02:00
Tryibion 7772669148 Better fix. 2024-08-16 07:46:31 -05:00
Tryibion 1047911cfe Fix initial lerp jumping for Progress bar on first update. 2024-08-16 07:40:52 -05:00
Tryibion 134c257081 Keep property declared order if similar meta data token. 2024-08-16 07:23:28 -05:00
Tryibion fb9cc7fea5 Add boolean check for if paramters are showing. 2024-08-15 21:48:25 -05:00
Tryibion 850107944c Hide parameters for animated model on end play. 2024-08-15 21:44:40 -05:00
mafiesto4 330d769bdc Optimize SceneObjectsFactory::SetupPrefabInstances when loading large scenes 2024-08-15 23:27:00 +02:00
mafiesto4 d779862271 Merge branch 'Tryibion-keep-scroll' 2024-08-15 15:38:27 +02:00
mafiesto4 b22a719204 Merge branch 'keep-scroll' of https://github.com/Tryibion/FlaxEngine into Tryibion-keep-scroll 2024-08-15 15:38:19 +02:00
Tryibion dcffb422e5 Change actor scroll cache to use guid and float instead of strings, remove onactor removed code to keep values after undo. 2024-08-15 08:37:00 -05:00
mafiesto4 b6555519c5 Merge branch 'Tryibion-req-exit' 2024-08-15 15:34:59 +02:00
mafiesto4 1c77245818 Merge branch 'req-exit' of https://github.com/Tryibion/FlaxEngine into Tryibion-req-exit 2024-08-15 15:34:52 +02:00
mafiesto4 7ded585c0b Improve debug shapes drawing
#2833
2024-08-15 15:31:04 +02:00
mafiesto4 6065c3ec11 Merge branch 'Tryibion-prefab-physics-draw' 2024-08-15 15:26:25 +02:00
mafiesto4 c67385ef80 Merge branch 'prefab-physics-draw' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-physics-draw 2024-08-15 15:26:19 +02:00
mafiesto4 af2ee20e19 Merge branch 'GoaLitiuM-isnormalized_checks' 2024-08-15 15:22:10 +02:00
mafiesto4 b551610604 Merge branch 'isnormalized_checks' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-isnormalized_checks 2024-08-15 15:21:58 +02:00
mafiesto4 4f2c59231a Merge branch 'handle-.f' of https://github.com/Tryibion/FlaxEngine into Tryibion-handle-.f 2024-08-15 15:18:42 +02:00
mafiesto4 51bf5cd1bf Fix to not call GetQueuedBuffersCount unless needed for the looping fix
#2834
2024-08-15 15:16:32 +02:00
mafiesto4 a6e2a45869 Merge branch 'fix-stop-audio' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-stop-audio 2024-08-15 15:14:25 +02:00
mafiesto4 e5bb243b68 Merge branch 'Tryibion-anim-slot-blend' 2024-08-15 15:08:46 +02:00
Tryibion a6b4f2fc63 Remove extra include. 2024-08-15 08:07:04 -05:00
mafiesto4 762419d4c4 Merge branch 'anim-slot-blend' of https://github.com/Tryibion/FlaxEngine into Tryibion-anim-slot-blend 2024-08-15 15:06:39 +02:00
mafiesto4 934e4ca549 Merge branch 'Tryibion-apply-hrtf-init' 2024-08-15 15:03:54 +02:00
mafiesto4 549a779a59 Merge branch 'apply-hrtf-init' of https://github.com/Tryibion/FlaxEngine into Tryibion-apply-hrtf-init 2024-08-15 15:03:49 +02:00
mafiesto4 f43333ae01 Merge branch 'Tryibion-surf-param-sort' 2024-08-15 15:02:02 +02:00
mafiesto4 75cd7feffa Merge branch 'surf-param-sort' of https://github.com/Tryibion/FlaxEngine into Tryibion-surf-param-sort 2024-08-15 15:01:57 +02:00
mafiesto4 0b4361ab6b Merge branch 'Tryibion-expose-actor-func' 2024-08-15 15:00:00 +02:00
mafiesto4 4e5c163732 Merge branch 'expose-actor-func' of https://github.com/Tryibion/FlaxEngine into Tryibion-expose-actor-func 2024-08-15 14:59:54 +02:00
mafiesto4 17f32246da Merge branch 'Tryibion-descript-cm-anim-mat' 2024-08-15 14:58:24 +02:00
mafiesto4 94d4ea8a40 Merge branch 'descript-cm-anim-mat' of https://github.com/Tryibion/FlaxEngine into Tryibion-descript-cm-anim-mat 2024-08-15 14:56:35 +02:00
mafiesto4 70e7b0d527 Merge branch 'Tryibion-edit-scroll-shift' 2024-08-15 14:24:10 +02:00
mafiesto4 f257b25998 Merge branch 'Tryibion-terrain-mode-visible' 2024-08-15 14:23:30 +02:00
mafiesto4 610cc2cd4f Merge branch 'terrain-mode-visible' of https://github.com/Tryibion/FlaxEngine into Tryibion-terrain-mode-visible 2024-08-15 14:23:07 +02:00
mafiesto4 7ed3340028 Merge branch 'edit-scroll-shift' of https://github.com/Tryibion/FlaxEngine into Tryibion-edit-scroll-shift 2024-08-15 14:21:38 +02:00
mafiesto4 5e25a2572b Merge branch 'Tryibion-terrain-gizmo-shift' 2024-08-15 14:15:39 +02:00
mafiesto4 74ce7e89d2 Merge branch 'terrain-gizmo-shift' of https://github.com/Tryibion/FlaxEngine into Tryibion-terrain-gizmo-shift 2024-08-15 14:15:33 +02:00
mafiesto4 40b9013f41 Merge branch 'Tryibion-foliage-gizmo-resize' 2024-08-15 14:14:52 +02:00
mafiesto4 52cc327f2b Merge branch 'foliage-gizmo-resize' of https://github.com/Tryibion/FlaxEngine into Tryibion-foliage-gizmo-resize 2024-08-15 14:13:19 +02:00
mafiesto4 94cffaaefe Merge branch 'Tryibion-obj-ref-color' 2024-08-15 13:04:41 +02:00
mafiesto4 8586a44c79 Merge branch 'obj-ref-color' of https://github.com/Tryibion/FlaxEngine into Tryibion-obj-ref-color 2024-08-15 13:04:28 +02:00
mafiesto4 5a410fe12d Merge branch 'Tryibion-rem-def-lod-terr' 2024-08-15 13:03:34 +02:00
mafiesto4 222768d363 Merge branch 'rem-def-lod-terr' of https://github.com/Tryibion/FlaxEngine into Tryibion-rem-def-lod-terr 2024-08-15 13:03:27 +02:00
mafiesto4 0c6ef79b11 Merge branch 'Tryibion-inc-lerp-node-size' 2024-08-15 13:02:24 +02:00
mafiesto4 14cb059b34 Merge branch 'inc-lerp-node-size' of https://github.com/Tryibion/FlaxEngine into Tryibion-inc-lerp-node-size 2024-08-15 13:02:16 +02:00
mafiesto4 45e83d6d15 Add feedback from PVS (static code analyzer)
https://pvs-studio.com/en/blog/posts/cpp/1153/
2024-08-15 13:01:40 +02:00
mafiesto4 e7f1afdfaa Fix GlobalSDF tracing artifacts in reflections by using occlusion bias relative to each cascade voxel size
#2743
2024-08-15 12:04:39 +02:00
Tryibion 1ca7261f06 Add description to cm in Particle emitter surface. 2024-08-13 16:49:34 -05:00
Tryibion 6f15bf7209 Expose additional Actor virtual methods to c# 2024-08-13 15:14:07 -05:00
Tryibion da4058141b Change Object Reference "None" to be grayed out instead of error orange. 2024-08-13 14:24:43 -05:00
Tryibion 77729bc340 Remove default value comment from terrain LOD. 2024-08-12 20:46:29 -05:00
Tryibion ace45eabf3 Keep properties window scroll for actors. 2024-08-12 20:36:26 -05:00
mafiesto4 75a97a30fe Update assets 2024-08-12 19:16:16 +02:00
mafiesto4 596ad18ce3 Add smooth light brightness fade out at last 10% of ViewDistance (if used) 2024-08-12 18:32:33 +02:00
mafiesto4 f025f923ae Increase limit on Global Surface Atlas objects culling to prevent artifacts in dense scenes 2024-08-12 15:35:29 +02:00
mafiesto4 fbd3b9372b Fix crash when reading invalid data from file 2024-08-12 15:35:02 +02:00
mafiesto4 824d6701d8 Add improved default value detection for scripting object references in bindings generator 2024-08-12 15:34:39 +02:00
mafiesto4 63bee0c78d Add IndirectLightingIntensity to Sky for GI intensity control 2024-08-12 15:34:08 +02:00
mafiesto4 bcb0200435 Fix GPU-based SDF generation to reject negative distance from far away triangles 2024-08-12 10:55:27 +02:00
Tryibion 9c4129a2a3 Add todo for immediate transition. 2024-08-11 13:24:57 -05:00
mafiesto4 8f18d654ee Add copy/paste for material instance parameters via context menu on Parameters group header 2024-08-10 20:46:33 +02:00
mafiesto4 97ab8940f0 Fix bug with missing baked SDF data on save when asset data chunk memory was freed by GC 2024-08-10 20:45:59 +02:00
Tryibion ae7a21504b Increase Lerp node size 2024-08-10 10:42:27 -05:00
Tryibion c871613616 Change terrain modes to not be visible if no terrain panel is showing 2024-08-10 10:30:26 -05:00
Tryibion 94334ae52d Dont zoom in edit game window if shift is clicked and window is not focused 2024-08-10 10:02:31 -05:00
Tryibion 002aac08e8 Add resizing foliage paint gizmo with shift scroll. 2024-08-10 09:31:00 -05:00
Tryibion 9d7d66f235 Add check for not having right mouse button down for changing terrain gizmo sizes. 2024-08-10 09:19:34 -05:00
Tryibion e954417c2f Set EnableHRTF on audio init to match audio settings value. 2024-08-09 13:31:27 -05:00
mafiesto4 7224494ce6 Add improved material instance setup on model import with base material 2024-08-09 18:44:47 +02:00
mafiesto4 0023014cc2 Add MaterialInstance.ResetParameters 2024-08-09 18:39:47 +02:00
mafiesto4 43afa76e60 Optimize StaticModel draw into SDF and SurfaceAtlas if SDF texture is unused 2024-08-09 18:26:16 +02:00
Tryibion a599615c1a use bucket index instead of anim for check. 2024-08-09 10:47:52 -05:00
Tryibion 588861757a Only reset starting value once time has progressed past zero. 2024-08-09 10:00:36 -05:00
Tryibion 830db22dcc Blend out of anim slots when stopped. 2024-08-09 09:05:53 -05:00
envision3d 143014e9c9 fix crash with prefab window open on script reload 2024-08-09 00:16:38 -05:00
mafiesto4 7ca45e1f54 Add clearing render target pool textures to pink during in Debug builds 2024-08-08 21:25:08 +02:00
mafiesto4 1c24f5d3ce Update meshoptimizer to version v0.21 2024-08-08 15:30:47 +02:00
mafiesto4 ca62a6c4bf Fix directional lights shadows jittering when using TAA 2024-08-08 14:05:57 +02:00
mafiesto4 788d719f2a Add Git cloning plugin project inside Git repo as submodule 2024-08-08 00:34:02 +02:00
mafiesto4 2b9c050911 Add Graphics.ShadowUpdateRate to control global shadows atlas update rate 2024-08-07 23:46:18 +02:00
mafiesto4 5ae2196a01 Add support for customizing Dropdown popup visuals 2024-08-07 22:44:38 +02:00
GoaLitiuM ddbdf479ae Add assertion check for normalized rections to C# Ray constructor 2024-08-07 21:18:12 +03:00
GoaLitiuM f759f94cfa Use CHECK_DEBUG over ASSERT in normalized direction checks 2024-08-07 21:18:09 +03:00
GoaLitiuM a066e0078d Add CHECK_DEBUG soft check for non-release builds 2024-08-07 21:17:45 +03:00
Tryibion 03de914dbc Add Requesting engine exit event. Expose Fatal erro and requesting exit to c# 2024-08-07 12:16:07 -05:00
mafiesto4 143d9bcce6 Fix border placement in Dropdown control 2024-08-07 17:50:23 +02:00
mafiesto4 6e01cca9ad Add TextFormat, SelectedItemChanged, and text alignment options to Dropdown 2024-08-07 17:46:30 +02:00
mafiesto4 1c02f3d8fe Add text alignment options to Button 2024-08-07 17:44:47 +02:00
mafiesto4 28ce224caa Reduce shadow atlas fragmentation to favor bigger tile sizes 2024-08-07 17:14:31 +02:00
mafiesto4 15d6f9861c Fix shadow atlas resizing bug 2024-08-07 17:14:06 +02:00
Tryibion 3186b58ba8 Change to use near equal for float compare. 2024-08-06 21:43:38 -05:00
Tryibion 201fa888dd Add comment 2024-08-06 21:39:45 -05:00
Tryibion 443bc347ef Fix vector type floats from .f to .0 2024-08-06 17:37:04 -05:00
Tryibion 3140865780 Add physics and lights debug drawing in prefabs when enabled. 2024-08-06 17:06:23 -05:00
Tryibion 36eec5bf95 Better fix 2024-08-06 13:01:28 -05:00
Tryibion 002ab366fe Only sort surface parameters alphabetically if script member order is set to Alphabetical. 2024-08-06 12:56:08 -05:00
Tryibion 08f286253c Handle cpp .f in bindings generator. 2024-08-06 12:30:59 -05:00
Tryibion e2df50a21a Use visject surface description panel for material surface and anim graph surface. 2024-08-06 12:02:19 -05:00
Tryibion 17a444ad49 Fix disabled streaming audio not resetting state correctly. 2024-08-05 17:55:38 -05:00
mafiesto4 ffb760d8f3 Fix GPU particles issues with Global SDF far away from scene geometry 2024-08-05 22:43:00 +02:00
mafiesto4 52b00644c6 Update after merge with master 2024-08-05 20:33:46 +02:00
Tryibion 3674d149dc Add check return for index in Level.GetScene 2024-08-05 13:25:35 -05:00
mafiesto4 bc313c8630 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 20:00:39 +02:00
mafiesto4 0b03a5da0d Merge branch 'Tryibion-asset-options' 2024-08-05 19:55:23 +02:00
mafiesto4 41fe1a5fb5 Merge branch 'asset-options' of https://github.com/Tryibion/FlaxEngine into Tryibion-asset-options 2024-08-05 19:55:17 +02:00
mafiesto4 0897d8ec5f Merge branch 'HydrogenC-forward-software-refl' 2024-08-05 19:44:51 +02:00
mafiesto4 2c8111801d Update shaders and materials 2024-08-05 19:44:41 +02:00
mafiesto4 23fcfb4eb2 Code cleanup
#2717
2024-08-05 19:44:06 +02:00
Tryibion 265e34bd04 Serialize json asset copy and paste data and code style fixes. 2024-08-05 12:13:44 -05:00
mafiesto4 a49fc1c5d1 Merge branch 'forward-software-refl' of https://github.com/HydrogenC/FlaxEngine into HydrogenC-forward-software-refl 2024-08-05 19:04:28 +02:00
mafiesto4 63147ee0a9 Merge branch 'Chikinsupu-Visject-DescriptionPanel' 2024-08-05 19:02:04 +02:00
mafiesto4 1a953c99bc Format code 2024-08-05 19:01:56 +02:00
mafiesto4 1fa73c0cac Merge branch 'Visject-DescriptionPanel' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-DescriptionPanel 2024-08-05 18:53:18 +02:00
mafiesto4 0a5904a4dd Merge branch 'GoaLitiuM-execv_whitespace_fix' 2024-08-05 18:47:55 +02:00
mafiesto4 2455cb9545 Merge branch 'execv_whitespace_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-execv_whitespace_fix 2024-08-05 18:47:50 +02:00
mafiesto4 7aa737de7b Merge branch 'GoaLitiuM-isnormalized_epsilon' 2024-08-05 18:46:07 +02:00
mafiesto4 75c258ed7e Merge branch 'isnormalized_epsilon' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-isnormalized_epsilon 2024-08-05 18:46:00 +02:00
mafiesto4 e84db38943 Merge branch 'Tryibion-force-rebuild-proxy' 2024-08-05 18:36:22 +02:00
mafiesto4 19a956110b Merge branch 'force-rebuild-proxy' of https://github.com/Tryibion/FlaxEngine into Tryibion-force-rebuild-proxy 2024-08-05 18:36:16 +02:00
mafiesto4 e492faa707 Merge branch 'Tryibion-enahnce-actornode-filter' 2024-08-05 18:27:39 +02:00
mafiesto4 d9c21fddb4 Merge branch 'enahnce-actornode-filter' of https://github.com/Tryibion/FlaxEngine into Tryibion-enahnce-actornode-filter 2024-08-05 18:27:34 +02:00
mafiesto4 77816d2da1 Merge branch 'GoaLitiuM-hingejointdrive_velocity_fix' 2024-08-05 18:25:42 +02:00
mafiesto4 03534b0892 Merge branch 'hingejointdrive_velocity_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-hingejointdrive_velocity_fix 2024-08-05 18:25:35 +02:00
mafiesto4 e947a03cf7 Merge branch 'Tryibion-prefab-debug-draw' 2024-08-05 18:21:32 +02:00
mafiesto4 5cf52d879e Merge branch 'prefab-debug-draw' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-debug-draw 2024-08-05 18:20:59 +02:00
mafiesto4 3548912d0d Merge branch 'Tryibion-prefab-grid' 2024-08-05 18:18:10 +02:00
mafiesto4 117178f547 Fix shader resource usage warning when drawing grid gizmo after selection outline
#2808
2024-08-05 18:18:02 +02:00
mafiesto4 57d5937bcb Merge branch 'prefab-grid' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-grid 2024-08-05 18:12:10 +02:00
GoaLitiuM eb3a940a31 Fix Linux platform CreateProcess not working with whitespace in path 2024-08-05 18:42:27 +03:00
GoaLitiuM 387e8d1dd9 Use larger epsilon in Vector IsNormalized checks 2024-08-05 18:41:41 +03:00
mafiesto4 26d02127dd Merge branch 'GoaLitiuM-platform_tick_unthrottle' 2024-08-05 14:43:59 +02:00
mafiesto4 0be26fbb51 Merge branch 'platform_tick_unthrottle' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-platform_tick_unthrottle 2024-08-05 14:37:49 +02:00
mafiesto4 979ab9f6ee Fix World Triplanar Texture node to support displacement and float4 value 2024-08-05 14:37:31 +02:00
mafiesto4 e44e44d317 Merge remote-tracking branch 'origin/master' into 1.9 2024-08-05 11:08:51 +02:00
mafiesto4 d6e99071aa Merge branch 'GoaLitiuM-openfbx_fixes' 2024-08-05 11:08:00 +02:00
mafiesto4 a49751c31d Fix regression 2024-08-05 10:54:46 +02:00
mafiesto4 7fbf75c623 Add skinned model import data checks to run in all build configs 2024-08-04 20:20:51 +02:00
mafiesto4 5171c33b72 Add shared memory cache for fbx importer mesh processing 2024-08-04 20:20:26 +02:00
mafiesto4 6081a159e3 Fix new skinned mesh importing to properly handle vertex indices
#2672
2024-08-04 20:18:05 +02:00
Tryibion 0d42b6d7ee Add actor type and script type to search filters. 2024-07-30 21:41:50 -05:00
GoaLitiuM 00960bad36 Remove zero clamping from HingeJointDrive in Editor 2024-07-30 20:50:54 +03:00
Tryibion 649559a917 Fix missing debug draw from prefabs 2024-07-28 13:48:54 -05:00
Tryibion 3db604c30c Add grid gizmo to prefab scene. 2024-07-27 12:24:13 -05:00
Tryibion 5f5b0485b5 Cache context menu and add check to prevent accidental duplication. 2024-07-27 10:42:51 -05:00
Tryibion 728401b67c Add pasting. 2024-07-27 10:30:05 -05:00
Tryibion 1a9c3ba3ff Add options menu to json assets 2024-07-27 09:28:56 -05:00
mafiesto4 1843606074 Minor tweaks 2024-07-27 12:28:30 +02:00
mafiesto4 c4f37741b7 Fix blend shapes importing
#2672
2024-07-26 23:54:27 +02:00
mafiesto4 e3bb38f13b Move arrays caching to be local for import and setup ignore flags for OpenFBX
#2672
2024-07-26 23:15:23 +02:00
mafiesto4 00cb2e25eb Update OpenFBX to Jun 22, 2024 2024-07-26 23:15:15 +02:00
mafiesto4 642fb510f8 Merge branch 'openfbx_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-openfbx_fixes 2024-07-26 09:36:58 +02:00
Tryibion 074751f91f Re-add lazy rebuilds 2024-07-25 18:23:26 -05:00
mafiesto4 5c97f68331 Merge branch 'Tryibion-fix-miss-comments' 2024-07-26 01:14:35 +02:00
mafiesto4 0f5fcba95d Merge branch 'fix-miss-comments' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-miss-comments 2024-07-26 01:14:30 +02:00
mafiesto4 7a89e78f43 Fix incorrect JsonAssetReference<T> serialization
#2774
2024-07-26 01:13:52 +02:00
Tryibion e05eedfc76 Force rebuild on proxy changes if rebuild is true 2024-07-25 17:28:55 -05:00
mafiesto4 9f078a6e3c Fix crash when using and saving scene with Visual Script object instance which asset was deleted 2024-07-25 17:17:28 +02:00
mafiesto4 b4d1e6197c Fix crash when removing Visual Script asset that's instance is selected in Properties window 2024-07-25 17:16:50 +02:00
Tryibion 9fbc7a5f09 Add missing comments for spawnable json proxy ctors. 2024-07-25 10:16:26 -05:00
mafiesto4 d14a4f1f66 Minor codestyle fixes 2024-07-25 16:50:16 +02:00
mafiesto4 1e43b031ba Fix unpacking marshaled field value
#2790
2024-07-25 16:50:01 +02:00
mafiesto4 41fd7b724e Fix test build regression 2024-07-25 15:32:05 +02:00
mafiesto4 2a1706decb Fix vehicles simulation instability when physics substepping is enabled
#2796
2024-07-25 14:19:01 +02:00
mafiesto4 ab7de52531 Fix compilation regression 2024-07-25 13:51:41 +02:00
mafiesto4 1891b9e367 Refactor PhysX vehicles and cloth simulation code to be more readable
#2796
2024-07-25 13:51:32 +02:00
mafiesto4 3ac7dfbd3a Merge branch 'RomanZhu-IndustryStandardTransformHotkeysSupport' 2024-07-25 10:54:45 +02:00
mafiesto4 2853273205 Merge branch 'IndustryStandardTransformHotkeysSupport' of https://github.com/RomanZhu/FlaxPublic into RomanZhu-IndustryStandardTransformHotkeysSupport 2024-07-25 10:54:08 +02:00
mafiesto4 2201dd681e Merge branch 'mtszkarbowiak-fix/move-semantics' 2024-07-25 10:53:50 +02:00
mafiesto4 013dab4ba7 Fix codestyle and apply pr feedback
#2730
2024-07-25 10:52:54 +02:00
mafiesto4 cf501945a3 Merge branch 'fix/move-semantics' of https://github.com/mtszkarbowiak/FlaxEngine into mtszkarbowiak-fix/move-semantics 2024-07-25 10:47:31 +02:00
mafiesto4 ab4703c3dd Merge branch 'Arcnor-colorPickerAlwaysChangesColor' 2024-07-25 10:06:32 +02:00
mafiesto4 4ce853d892 Merge branch 'RuanLucasGD-RenameActors' 2024-07-25 10:06:23 +02:00
mafiesto4 6cdd56ad11 Merge branch 'colorPickerAlwaysChangesColor' of https://github.com/Arcnor/FlaxEngine into Arcnor-colorPickerAlwaysChangesColor
# Conflicts:
#	Source/Editor/Options/InterfaceOptions.cs
2024-07-25 10:06:05 +02:00
mafiesto4 66122e6e3b Merge branch 'RenameActors' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-RenameActors 2024-07-25 09:28:14 +02:00
mafiesto4 c444661884 Merge branch 'Swiggies-lightmap-material-nodes' 2024-07-25 09:25:48 +02:00
mafiesto4 91a8a670d5 Merge branch 'lightmap-material-nodes' of https://github.com/Swiggies/FlaxEngine into Swiggies-lightmap-material-nodes 2024-07-25 09:25:15 +02:00
mafiesto4 dbd5566ee0 Merge branch 'Tryibion-inject-scene-load-children' 2024-07-25 09:24:16 +02:00
mafiesto4 ad2d4a2626 Merge branch 'inject-scene-load-children' of https://github.com/Tryibion/FlaxEngine into Tryibion-inject-scene-load-children 2024-07-25 09:24:12 +02:00
mafiesto4 148f03205f Merge branch 'Tryibion-table-improve' 2024-07-25 09:23:54 +02:00
mafiesto4 2c1f835528 Merge branch 'table-improve' of https://github.com/Tryibion/FlaxEngine into Tryibion-table-improve 2024-07-25 09:17:01 +02:00
mafiesto4 8038e045b0 Merge branch 'GoaLitiuM-assert_directions' 2024-07-25 09:16:23 +02:00
mafiesto4 7a635e2896 Merge branch 'assert_directions' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-assert_directions 2024-07-25 09:16:16 +02:00
mafiesto4 a40a5721f3 Merge branch 'Tryibion-jsontype-thumbnail' 2024-07-25 08:41:29 +02:00
mafiesto4 e4cf4c9f17 Merge branch 'jsontype-thumbnail' of https://github.com/Tryibion/FlaxEngine into Tryibion-jsontype-thumbnail 2024-07-25 08:41:21 +02:00
mafiesto4 5299afa276 Merge branch 'GoaLitiuM-module_compilation_fix' 2024-07-25 08:41:07 +02:00
mafiesto4 8e8e41d5e1 Merge branch 'module_compilation_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-module_compilation_fix 2024-07-25 08:40:56 +02:00
mafiesto4 153e45c345 Merge branch 'GoaLitiuM-csharp_warning_fix' 2024-07-25 08:40:29 +02:00
mafiesto4 7bb365c57b Merge branch 'csharp_warning_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csharp_warning_fix 2024-07-25 08:40:22 +02:00
mafiesto4 8397a81428 Merge branch 'Tryibion-empty-ref-text' 2024-07-25 08:40:05 +02:00
mafiesto4 17c484b97b Merge branch 'empty-ref-text' of https://github.com/Tryibion/FlaxEngine into Tryibion-empty-ref-text 2024-07-25 08:39:42 +02:00
mafiesto4 3b740659f5 Merge branch 'GoaLitiuM-customeditor_fixes' 2024-07-25 08:38:41 +02:00
mafiesto4 2913bb39e8 Merge branch 'customeditor_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-customeditor_fixes 2024-07-25 08:38:32 +02:00
mafiesto4 f21b259376 Various fixes after merge with Windows ARM pr 2024-07-25 08:34:51 +02:00
mafiesto4 51f30958cd Revert "Add timeBeginPeriod(1) on Win32 platforms to improve timer precision"
This reverts commit dbda31d570.
2024-07-24 23:29:38 +02:00
mafiesto4 f2e04c77fd Merge branch 'GoaLitiuM-woa_support' into 1.9 2024-07-24 23:29:10 +02:00
mafiesto4 34d4904b2e Update deps binaries
#2624
2024-07-24 23:28:48 +02:00
mafiesto4 dd61d5793c Merge branch 'woa_support' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-woa_support
# Conflicts:
#	Source/ThirdParty/assimp/config.h.in
#	Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs
2024-07-24 19:03:53 +02:00
mafiesto4 faf7a28cf2 Fix compilation after merge
#2714
2024-07-24 16:48:46 +02:00
mafiesto4 05ed7edcbf Merge branch 'GoaLitiuM-deprecation_messages' into 1.9 2024-07-24 16:42:16 +02:00
mafiesto4 5ddf24381b Merge branch 'deprecation_messages' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-deprecation_messages 2024-07-24 16:41:49 +02:00
mafiesto4 305bf653cf Add todo comments for future improvements to DDGI 2024-07-24 16:39:37 +02:00
mafiesto4 4715492f0c Update shaders 2024-07-24 15:50:16 +02:00
mafiesto4 aa57db03bb Revert debug change 2024-07-24 14:09:02 +02:00
mafiesto4 b2e228c090 Fix shadows rendering in reflection probes 2024-07-24 13:43:53 +02:00
mafiesto4 e9144ff834 Fix blending between DDGI cascades on the end of the range 2024-07-24 12:21:50 +02:00
mafiesto4 6f3d1cdd0a Optimize Global Surface Atlas objects culling with shared thread group pre-cull 2024-07-24 11:46:20 +02:00
Tryibion 8209639261 Add being able to add a thumbnail to a SpawnableJsonProxy 2024-07-23 22:08:01 -05:00
Roman Zhuravlev a580d6785f Ignore Translate/Rotate/Scale/TransformSpace hotkeys while holding RMB.
Allows to use industry standard WER hotkeys for transformations and not change modes while navigating through level.
2024-07-21 22:25:25 +02:00
mafiesto4 4976a2ef6a Change DynamicBuffer usage feature from b14ac354bb 2024-07-20 22:42:14 +02:00
GoaLitiuM 8b22ffe007 Fix warnings about upcoming C# reserved keywords 2024-07-20 20:46:32 +03:00
GoaLitiuM 24f7ec4a54 Fix statically linked binary modules not getting compiled 2024-07-20 15:41:26 +03:00
GoaLitiuM 4d0dda19b9 Improve engine responsiveness when not focused 2024-07-20 15:39:11 +03:00
GoaLitiuM 55d55212c3 Add assertions for checking against un-normalized direction vectors 2024-07-20 15:34:11 +03:00
Tryibion 1142fa68ea Small table improvements. 2024-07-19 20:49:58 -05:00
Tryibion 305f725394 Ensure to add all scene objects of injected actors. 2024-07-19 08:19:34 -05:00
Tryibion 8a297a6fd4 Clean up code more. 2024-07-19 07:59:57 -05:00
Tryibion d717430256 Clean up code 2024-07-19 07:48:01 -05:00
Tryibion 8804738193 Allow for Initializing children injected via scene loading. 2024-07-19 07:42:57 -05:00
mafiesto4 b14ac354bb Optimize DynamicTypedBuffer and DynamicStructuredBuffer to use GPU-memory for commonly used single-frame uploads 2024-07-19 14:27:50 +02:00
mafiesto4 3296337f40 Add SetStablePowerState for D3D12 when doing shaders profiling 2024-07-19 14:26:19 +02:00
Tryibion 9b11461eaf Add type display to empty object ref in editor 2024-07-19 06:48:35 -05:00
mafiesto4 3f9989ea57 Add utility Packing.hlsl shader for colors and vectors packing 2024-07-19 13:37:09 +02:00
mafiesto4 6e60a988a0 Fix node archetype 2024-07-19 00:54:05 +02:00
mafiesto4 64bd762f44 Fix compilation 2024-07-19 00:35:36 +02:00
mafiesto4 b33c2b4f36 Merge remote-tracking branch 'origin/master' into 1.9 2024-07-19 00:32:54 +02:00
mafiesto4 fe33f09f1d Update shader 2024-07-19 00:32:14 +02:00
mafiesto4 9518ce1d0a Fix physics error when disabling terrain 2024-07-19 00:30:21 +02:00
mafiesto4 53ca33f301 Add option to sample Global SDF from higher cascade 2024-07-19 00:30:06 +02:00
mafiesto4 3945e1416b Add improved Global SDF sampling at empty areas 2024-07-19 00:27:30 +02:00
mafiesto4 3aa8e67551 Add option for smooth DDGI cascades blending 2024-07-18 23:51:03 +02:00
mafiesto4 03898a064a Optimize DDGI probes border pixels to be copied within probe update, rather than via separate dispatch 2024-07-18 19:51:01 +02:00
mafiesto4 d879b8e064 Add utility GetInstance method to Json Asset refs in csharp
#2774
2024-07-18 15:14:26 +02:00
mafiesto4 f132198ead Add more functionality and thumbnail to content items in finder for scripts 2024-07-18 14:19:27 +02:00
mafiesto4 5e0d90af2e Add displaying file extension for scripts in content finder to distinguish C++ files 2024-07-18 14:18:52 +02:00
mafiesto4 736119fdc6 Merge branch 'Zode-quaternion-fix-down' 2024-07-18 12:40:06 +02:00
mafiesto4 5259c41b40 Merge branch 'quaternion-fix-down' of https://github.com/Zode/FlaxEngine into Zode-quaternion-fix-down 2024-07-18 12:40:00 +02:00
mafiesto4 4a6f2f8821 Merge branch 'Swiggies-ccd-fix' 2024-07-18 12:39:24 +02:00
mafiesto4 529de24da4 Cache DisableCCD locally in physics backend
#2768
2024-07-18 12:39:15 +02:00
mafiesto4 fc3d15c544 Merge branch 'ccd-fix' of https://github.com/Swiggies/FlaxEngine into Swiggies-ccd-fix 2024-07-18 12:27:33 +02:00
mafiesto4 261c4a7e88 Merge branch 'GoaLitiuM-simplemove_gravity' 2024-07-18 12:26:11 +02:00
mafiesto4 ccd619f659 Merge branch 'simplemove_gravity' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-simplemove_gravity 2024-07-18 12:26:06 +02:00
mafiesto4 35bbd52f89 Merge branch 'GoaLitiuM-charcontroller_terrain_fix' 2024-07-18 11:54:54 +02:00
mafiesto4 ea45aa9b19 Merge branch 'charcontroller_terrain_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-charcontroller_terrain_fix 2024-07-18 11:54:46 +02:00
mafiesto4 655c377da8 Merge branch 'Tryibion-phyx-ed' 2024-07-18 11:50:56 +02:00
mafiesto4 5498cbf3bf Merge branch 'phyx-ed' of https://github.com/Tryibion/FlaxEngine into Tryibion-phyx-ed 2024-07-18 11:50:46 +02:00
mafiesto4 10a343a490 Merge branch 'Tryibion-mesh-collider-neg-scale-fix' 2024-07-18 11:47:46 +02:00
mafiesto4 b2faad9634 Merge branch 'mesh-collider-neg-scale-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-mesh-collider-neg-scale-fix 2024-07-18 11:47:39 +02:00
mafiesto4 786ab54f84 Merge branch 'Tryibion-pref-layout-splitter' 2024-07-18 11:46:03 +02:00
mafiesto4 d41d153cff Merge branch 'pref-layout-splitter' of https://github.com/Tryibion/FlaxEngine into Tryibion-pref-layout-splitter 2024-07-18 11:45:53 +02:00
mafiesto4 89bd733142 Merge branch 'Tryibion-picker-type' 2024-07-18 11:11:58 +02:00
mafiesto4 5d2a1e0507 Merge branch 'picker-type' of https://github.com/Tryibion/FlaxEngine into Tryibion-picker-type 2024-07-18 11:09:51 +02:00
mafiesto4 22ff68b89f Merge branch 'Tryibion-remove-redundant-tab' 2024-07-18 10:48:05 +02:00
mafiesto4 fe41ef619b Improve floating dock window hidden header to handle inputs properly
#2770
2024-07-18 10:47:46 +02:00
mafiesto4 3870a013fa Merge branch 'remove-redundant-tab' of https://github.com/Tryibion/FlaxEngine into Tryibion-remove-redundant-tab 2024-07-18 10:36:53 +02:00
mafiesto4 ebd890a0da Merge branch 'Tryibion-fix-last-tab-drag' 2024-07-18 10:35:29 +02:00
mafiesto4 964a1940c4 Merge branch 'fix-last-tab-drag' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-last-tab-drag 2024-07-18 10:34:32 +02:00
mafiesto4 b11af95ec7 Merge branch 'Tryibion-texture-window-tabs' 2024-07-18 10:31:16 +02:00
mafiesto4 e8de6c37fc Merge branch 'texture-window-tabs' of https://github.com/Tryibion/FlaxEngine into Tryibion-texture-window-tabs 2024-07-18 08:46:38 +02:00
mafiesto4 af41cefaac Merge branch 'Tryibion-layer-resize-fix' 2024-07-18 08:44:51 +02:00
mafiesto4 900a96938b Merge branch 'layer-resize-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-layer-resize-fix 2024-07-18 08:44:45 +02:00
mafiesto4 c58d43ac1e Merge branch 'Tryibion-editor-update' 2024-07-18 08:43:52 +02:00
mafiesto4 0122ee94a5 Merge branch 'editor-update' of https://github.com/Tryibion/FlaxEngine into Tryibion-editor-update 2024-07-18 08:43:48 +02:00
mafiesto4 dfb541011d Merge branch 'Tryibion-audio-play-rename' 2024-07-18 08:42:43 +02:00
mafiesto4 aeff147b6d Optimize and refactor DDGI to use linear attention per-probe to dynamically control ray count and blend speed
Probes will use lower ray count when behind the camera or not correlated with the view direction or far from geometry.
Probes nearby camera or with high instability in irradiance will maintain higher ray count.
Probes that use less rays will have slower blending to reduce artifacts.
Added probe instability, attention and stats debugging for devs.
2024-07-18 08:38:23 +02:00
mafiesto4 ee02aa394a Fix potential error in new shadows atlas rendering 2024-07-18 00:17:33 +02:00
mafiesto4 8ba33d9d10 Fix typo in doc comment 2024-07-18 00:17:15 +02:00
Tryibion 85a04f8e81 Perform layout of splitter panel once splitter is done being dragged. 2024-07-16 20:36:27 -05:00
Tryibion 531c75bff9 Display asset picker type. 2024-07-16 20:32:47 -05:00
Tryibion 12f70572b0 Remove redundant first tab on floating window. 2024-07-16 20:05:27 -05:00
Tryibion 7090e85224 Fix not being able to drag a window tab all of the way to the right. 2024-07-16 19:25:05 -05:00
Olly Rybak e5e1f945ea Added eDETECT_CCD_CONTACT to PairFlags, hopefully properly enabling CCD 2024-07-17 10:04:14 +10:00
Zode e1cf41b94b Fix Quaternion.FromDirection giving bogus output when fed a perfect down vector 2024-07-17 01:12:17 +03:00
Tryibion d4bf8368b1 Separate import settings as new tab in texture window. 2024-07-16 11:43:04 -05:00
Tryibion 6588a71879 Dont allow resize of layers array. 2024-07-15 18:19:14 -05:00
Tryibion d700df6afb Add PhysX option for enabling enhanced determinism 2024-07-15 16:23:49 -05:00
GoaLitiuM 35d46e23a8 Fix CharacterController::SimpleMove gravity displacement handling 2024-07-13 16:39:22 +03:00
GoaLitiuM f1fc086612 Fix CharacterController to not process hits against removed actors 2024-07-13 16:39:06 +03:00
mafiesto4 13cf3deb3f Revert b80101411f 2024-07-12 18:42:19 +02:00
mafiesto4 74dfa30556 Fix crash when drawing particle effect where one of the emitter assets is not yet loaded 2024-07-12 17:14:51 +02:00
mafiesto4 e8b0419ccf Update assets 2024-07-12 17:14:02 +02:00
mafiesto4 793afff0aa Merge remote-tracking branch 'origin/1.9' into 1.9 2024-07-12 17:05:18 +02:00
mafiesto4 b80101411f Optimize Vulkan Memory Allocator to not use mutex as it's synced by engine to safely access resources 2024-07-12 17:05:07 +02:00
mafiesto4 e83097d114 Fix missing memory allocator for Vulkan Memory Allocator 2024-07-12 17:04:23 +02:00
Tryibion 7b4e509140 Fix mesh collider not rotating correctly due to negative scale. 2024-07-11 18:44:55 -05:00
Tryibion c168ce3a7e Deprecate IsActuallyPlayingSth and add IsActuallyPlaying to AudioSource 2024-07-11 17:39:11 -05:00
Tryibion e1dcd290b1 Add Editor update event. 2024-07-11 15:48:50 -05:00
mafiesto4 352913ba14 Add random per-probe rotation for rays tracing in DDGI 2024-07-11 14:48:24 +02:00
mafiesto4 dbda31d570 Add timeBeginPeriod(1) on Win32 platforms to improve timer precision 2024-07-10 15:34:38 +02:00
mafiesto4 d521409033 Missing change for particles from 6b06f1dbcf 2024-07-10 13:58:01 +02:00
mafiesto4 6b06f1dbcf Optimize Global SDF to use 8-bit storage (50% less memory usage) 2024-07-10 13:22:25 +02:00
mafiesto4 70912e1d56 Add support for using InputAction editor on string variable 2024-07-09 11:57:59 +02:00
mafiesto4 ffddbb455f Add Scripting events to C++ api similar to C# ones 2024-07-09 11:57:41 +02:00
mafiesto4 d5dd8e7ecf Optimize GlobalSurfaceAtlasPass tiles by sorting by size before inserting them into atlas 2024-07-08 16:43:26 +02:00
mafiesto4 082a5819cd Optimize GlobalSurfaceAtlasPass by ignoring GBuffer2 properties (diffuse-only surfaces) 2024-07-08 16:40:59 +02:00
mafiesto4 ae2b3d361e Fix shader warning 2024-07-08 12:56:31 +02:00
mafiesto4 bee39dda58 Fix commandline options in build 2024-07-06 12:57:19 +02:00
mafiesto4 559cd74647 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Engine/Audio/Audio.cpp
2024-07-05 22:18:40 +02:00
mafiesto4 009e1aaebb Merge branch 'Tryibion-content-cut' 2024-07-04 18:07:10 +02:00
mafiesto4 fe9996dd4f Merge branch 'content-cut' of https://github.com/Tryibion/FlaxEngine into Tryibion-content-cut 2024-07-04 18:07:03 +02:00
mafiesto4 d1e54b821b Fix asset to be soft when transformation is nan or inf
#2742
2024-07-04 18:05:47 +02:00
Tryibion 8877aac8cb Small code cleanup 2024-07-03 13:07:02 -05:00
Tryibion a61096ffa5 Add cutting of content items. 2024-07-03 12:53:50 -05:00
mafiesto4 230c57cca4 Add WinPixEventRuntime for D3D12 to provide GPU profiler event names 2024-07-03 18:30:11 +02:00
mafiesto4 b8100e9417 Fix missing GPU events when using shaders profiling/debugging or graphics dev tools are enabled 2024-07-03 18:29:42 +02:00
mafiesto4 b3d77ab9eb Add shaders profiling console command 2024-07-03 13:22:19 +02:00
mafiesto4 030a66c091 Add shader cache invalidation when using debug shader option via cmd line in Editor 2024-07-03 12:41:29 +02:00
Olly Rybak 751c1f20dc Returns lightmap UV correctly with no errors 2024-07-03 18:35:32 +10:00
mafiesto4 00a9c48fec Optimize probes count multiplication in DDGI shader 2024-07-03 08:51:58 +02:00
mafiesto4 6fbf4a6aac Optimize draw calls sorting and objects buffer building to be async 2024-07-02 16:07:09 +02:00
mafiesto4 f40cf6539a Update Assimp for Mac 2024-07-02 11:29:56 +02:00
mafiesto4 8e4f7babf3 Merge branch 'GoaLitiuM-unsafeaccessor_init' 2024-07-02 10:04:05 +02:00
mafiesto4 e18b059234 Merge branch 'unsafeaccessor_init' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unsafeaccessor_init 2024-07-02 10:04:00 +02:00
mafiesto4 e3114c29af Merge branch 'envision3d-feature/add-default-audio-listener' 2024-07-02 10:02:31 +02:00
mafiesto4 3539f84c9a Merge branch 'feature/add-default-audio-listener' of https://github.com/envision3d/FlaxEngine into envision3d-feature/add-default-audio-listener 2024-07-02 10:02:24 +02:00
mafiesto4 5b0c6d1aff Merge branch 'xxSeys1-AudioListenerWarning' 2024-07-02 10:01:54 +02:00
mafiesto4 1b72b14376 Merge branch 'AudioListenerWarning' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-AudioListenerWarning 2024-07-02 10:01:39 +02:00
mafiesto4 32af6ede73 Merge branch 'GoaLitiuM-update_assimp' 2024-07-02 10:00:08 +02:00
mafiesto4 a79fb237e5 Update Assimp to v5.4.1
#2727
2024-07-02 09:59:30 +02:00
mafiesto4 ec510425a1 Merge branch 'update_assimp' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-update_assimp 2024-07-02 09:12:27 +02:00
mafiesto4 bf772a5eb9 Merge branch 'Tryibion-prefab-buttons' 2024-07-02 09:11:44 +02:00
mafiesto4 fe3a9fbd67 Merge branch 'prefab-buttons' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-buttons 2024-07-02 09:11:38 +02:00
mafiesto4 090b9ea0c1 Merge branch 'Tryibion-wrap-on-underscore' 2024-07-02 09:11:12 +02:00
mafiesto4 ddfaeddb5f Merge branch 'wrap-on-underscore' of https://github.com/Tryibion/FlaxEngine into Tryibion-wrap-on-underscore 2024-07-02 09:10:37 +02:00
mafiesto4 abe938c30a Merge branch 'Tryibion-fix-profiler-timeline' 2024-07-02 09:10:10 +02:00
mafiesto4 cf02fecadc Merge branch 'fix-profiler-timeline' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-profiler-timeline 2024-07-02 09:06:21 +02:00
mafiesto4 54c24f8434 Merge branch 'Tryibion-inv-culture-unknown' 2024-07-02 09:05:53 +02:00
mafiesto4 35ab0f4261 Merge branch 'inv-culture-unknown' of https://github.com/Tryibion/FlaxEngine into Tryibion-inv-culture-unknown 2024-07-02 09:05:37 +02:00
mafiesto4 73342615d1 Merge branch 'GoaLitiuM-winsdk_24h2' 2024-07-02 09:05:15 +02:00
mafiesto4 d64108a5c1 Merge branch 'winsdk_24h2' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-winsdk_24h2 2024-07-02 09:05:08 +02:00
mafiesto4 1dfa92b0c3 Merge branch 'Tryibion-select-multi-drop' 2024-07-02 09:04:26 +02:00
mafiesto4 567d5f70ab Merge remote-tracking branch 'origin/1.9' into 1.9 2024-07-02 00:58:25 +02:00
mafiesto4 c8b5ac6c29 Update materials 2024-07-02 00:57:58 +02:00
mafiesto4 fe0711c3e2 Fix D3D11 to properly flush CB/SRVs when bindings new shaders after CB/SRV was set 2024-07-02 00:55:41 +02:00
mafiesto4 9486466abf Fix D3D11 to properly issue instanced draws even if instance count is 1 2024-07-02 00:54:49 +02:00
mafiesto4 1328e869a9 Fix crash in D3D12 when constant buffer was binded but not updated before the draw 2024-07-02 00:54:17 +02:00
mafiesto4 fbc648302d Fix timer queries reset before use on Vulkan 2024-07-02 00:53:45 +02:00
mafiesto4 ef129a3135 Add frustum culling for editor preview camera mesh 2024-07-02 00:53:03 +02:00
mafiesto4 08ef7c93ea Refactor draw calls drawing to use single objects buffer and better materials batching 2024-07-02 00:52:22 +02:00
GoaLitiuM d56493da54 Use UnsafeAccessor to initialize scripting object interop fields 2024-06-30 15:52:14 +03:00
mafiesto4 78f3248ac9 Refactor SortOrder to use int8 instead of int16 due to performance reasons (more efficent sort keys packing in rendering) 2024-06-29 13:54:02 +02:00
GoaLitiuM 16b0228394 Add support for Windows SDK build 26100 (24H2) 2024-06-28 23:02:25 +03:00
mafiesto4 516ed3e9a0 Cleanup some rendering code 2024-06-28 21:21:17 +02:00
mafiesto4 f4d4969650 Merge branch '1.9' of https://gitlab.flaxengine.com/flax/flaxengine into 1.9 2024-06-28 09:52:06 +02:00
mafiesto4 7f482219ef Fix generating project files for VSCode on Mac without .NET x64 SDK installed 2024-06-28 09:51:29 +02:00
mafiesto4 dbbc2b70bf Disable GlobalSurfaceAtlas on Mac due to GPU crashes in larges scenes 2024-06-28 09:43:18 +02:00
mafiesto4 e265b760c1 USe local var to simplify code and fix MaterialShaderDataPerView struct to use new alignment for constant buffers data 2024-06-28 08:50:14 +02:00
mafiesto4 138e17508b Add profile event to hardware instancing building and insert draw count into profiler zone data 2024-06-27 21:03:52 +02:00
mafiesto4 7b5edc363a Fix GLobalSDF update when not using workload spread and add dispatches count to profiler zone data 2024-06-27 09:29:09 +02:00
mafiesto4 8eaa635385 Minor tweaks to GlobalSA 2024-06-26 18:19:48 +02:00
mafiesto4 91d3216a00 Fix crash on shutdown when physical material asset was left alone 2024-06-26 18:19:36 +02:00
mafiesto4 18c3f274f8 Optimize Global SDF drawing with async job system 2024-06-26 18:16:58 +02:00
mafiesto4 b545d8800c Optimize job system memory allocations 2024-06-24 23:19:01 +02:00
mafiesto4 3bbaa8dad0 Remove unused job system stats and concurrent queue code 2024-06-24 19:02:38 +02:00
mafiesto4 a1c251c3b7 Add various optimizations to Global Surface Atlas 2024-06-24 19:01:35 +02:00
mafiesto4 8190d7f171 Optimize Global Surface Atlas setup and objects buffer writing to be async 2024-06-24 13:15:45 +02:00
mafiesto4 59bbb9e058 Fix error when reopening project 2024-06-24 13:15:05 +02:00
mafiesto4 861d8a683f Add JobSystem::Dispatch that accepts dependent jobs that needs to be completed before 2024-06-24 13:12:48 +02:00
Mateusz Karbowiak cb3e8e4112 Ambiguous name fix 2024-06-22 16:41:29 +02:00
Mateusz Karbowiak 5f4aee71b8 Actor naming without string copy fix 2024-06-22 15:14:02 +02:00
Mateusz Karbowiak 02403377cd Array move semantics fix 2024-06-22 15:13:53 +02:00
mafiesto4 2773949197 Optimize wait signal in Job System to wake waiting threads only when job batch ends 2024-06-22 09:58:20 +02:00
mafiesto4 3b3cd5ade4 Optimize Global Surface Atlas defragmenting to just reset tiles, not whole objects list 2024-06-21 23:01:32 +02:00
GoaLitiuM 6436fb3bde Update AssImp to latest version 2024-06-21 21:55:30 +03:00
Nils Hausfeld 240ddbcde3 - Minor cleanup 2024-06-21 20:52:14 +02:00
Nils Hausfeld ef5d4013d3 - Increased min description panel height a tiny bit to make 4 input/output elements fit without causing jittering / flickering 2024-06-21 20:45:22 +02:00
Nils Hausfeld a8bd59c07f - Fixed regression where pack/unpack nodes didn't return any inputs/outputs 2024-06-21 20:40:39 +02:00
Nils Hausfeld db17d8d0ce - Comments, cleanup and a bit of refactoring 2024-06-21 20:26:24 +02:00
mafiesto4 4d0d08f245 Optimize Global Surface Atlas drawing with async job system 2024-06-21 17:55:02 +02:00
mafiesto4 c119750896 Fix RectAtlas regression 2024-06-21 16:24:47 +02:00
mafiesto4 6d9f504639 Optimize new rectangle packing to use binary search for faster inserting 2024-06-20 22:33:57 +02:00
mafiesto4 8e49a35e0e Refactor RectPack into new RectPackNode and RectPackAtlas that uses more optimized memory allocations 2024-06-20 15:26:58 +02:00
Nils Hausfeld d7a0c69990 - Some cleanup and tooltips 2024-06-20 00:18:11 +02:00
Nils Hausfeld cb1324fc2d - Now removing <see cref> tags from tooltips
- Capitalizing the first character of inputs/outpus
- Removing & chars from input/output types to make it easier to read
- Moving description signature down to make items without a description look less ugly
2024-06-19 20:56:25 +02:00
Tryibion a1adab1156 Change variable name to dropping. 2024-06-19 09:24:33 -05:00
mafiesto4 a6324c8f65 Missing change 2024-06-19 15:45:45 +02:00
mafiesto4 9ec23559af Optimize GPU memory usage in Editor when viewport is inactive 2024-06-19 15:03:38 +02:00
mafiesto4 a377933884 Fix d3d12 build regression 2024-06-19 14:10:23 +02:00
mafiesto4 9c161121b3 Add Graphics::SpreadWorkload to disable graphics workloads amortization over several frames when debugging graphics perf 2024-06-19 14:03:55 +02:00
ExMatics HydrogenC a5b00fa718 Resolve problems in code review 2024-06-19 10:58:27 +08:00
Tryibion 919e118a2f Select all assets and scripts that are dropped in the tree panel. 2024-06-18 21:46:22 -05:00
Tryibion f38df259a7 Dont show Select prefab, Edit prefab, and view changes buttons when editing actor in the prefab. 2024-06-18 21:10:42 -05:00
Tryibion ec10e3bb30 Fix changing to invariant culture for unknown LCID. 2024-06-18 19:59:27 -05:00
Tryibion 224c2c049e Fix the profiler charts in place and only scroll profiler info. 2024-06-18 19:25:12 -05:00
Tryibion 8509761d67 Only wrap text on underscores and not other special characters 2024-06-18 17:37:54 -05:00
Nils Hausfeld a808ac5dc8 - Added descriptions to Bitwise OR, XOR
- Added description to Boolean XOR, NOR, NAND and updated AND, OR
- Minor tooltip text fix
2024-06-18 19:44:07 +02:00
Nils Hausfeld 37a3c4dbb5 - Added separator line between description and inputs/outputs 2024-06-18 19:01:53 +02:00
Nils Hausfeld 3fd4bb622f - Added editor option to toggle description panel for visual scripting 2024-06-18 18:51:49 +02:00
Nils Hausfeld d74b7fb304 - Set description panel min height to reduce window jittering (workaround) 2024-06-18 18:40:28 +02:00
Nils Hausfeld 83c72c1458 Merge branch 'master' into Visject-DescriptionPanel 2024-06-18 18:30:09 +02:00
ExMatics HydrogenC 9b3ff05af7 Remove debug code 2024-06-18 21:47:11 +08:00
ExMatics HydrogenC 14ce4d4394 Cleanup and fix typo 2024-06-18 21:40:25 +08:00
ExMatics HydrogenC 9062c04ef0 Complete sdf reflections 2024-06-18 21:25:12 +08:00
mafiesto4 0d48ac8fc2 Add smoother DDGi probe relocation when old position is visible from new position 2024-06-18 15:05:21 +02:00
mafiesto4 7f2464684a Fix single-frame DDGI black artifacts when Global Surface Atlas got defragmented 2024-06-18 14:17:50 +02:00
mafiesto4 2c4de9878e Improve DDGI cascade transitions to be smoother 2024-06-18 13:22:10 +02:00
mafiesto4 611961cefe Improve DDGI cascade selection by using biased world position 2024-06-18 10:52:28 +02:00
mafiesto4 e0028d5f94 Merge remote-tracking branch 'origin/master' into 1.9 2024-06-17 21:53:49 +02:00
mafiesto4 0d8691045b Merge branch 'GoaLitiuM-vulkan_amd_fixes' 2024-06-17 21:49:04 +02:00
mafiesto4 bd727ae189 Merge branch 'vulkan_amd_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vulkan_amd_fixes 2024-06-17 21:49:00 +02:00
mafiesto4 4bfda76666 Merge branch 'MrCapy0-Fix-Vehicle-Crash' 2024-06-17 21:47:39 +02:00
mafiesto4 a030978558 Merge branch 'Fix-Vehicle-Crash' of https://github.com/MrCapy0/FlaxEngine into MrCapy0-Fix-Vehicle-Crash 2024-06-17 21:47:34 +02:00
mafiesto4 2aff3d76ca Merge branch 'Chikinsupu-Visject-FixGroupFilterBreakingSmartFloats' 2024-06-17 21:46:29 +02:00
mafiesto4 8312659275 Merge branch 'Visject-FixGroupFilterBreakingSmartFloats' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-FixGroupFilterBreakingSmartFloats 2024-06-17 21:46:11 +02:00
mafiesto4 55ce33bc1c Merge branch 'Tryibion-fix-tint-border' 2024-06-17 21:45:31 +02:00
mafiesto4 1613bdcd06 Merge branch 'fix-tint-border' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-tint-border 2024-06-17 21:45:11 +02:00
mafiesto4 a67dc00fa3 Fix tree nodes culling when using search in scene tree
#2462
2024-06-17 21:44:31 +02:00
GoaLitiuM 1c82c73bc0 Fix graphical glitches in Vulkan backend 2024-06-17 20:55:04 +03:00
GoaLitiuM 22b4f33984 Use consistent and less verbose deprecation messages 2024-06-17 20:43:33 +03:00
GoaLitiuM 6c8288f38a Fix deprecation warnings in generated bindings code 2024-06-17 20:43:15 +03:00
GoaLitiuM e08b57e814 Support custom deprecation messages in bindings generator 2024-06-17 20:43:14 +03:00
mafiesto4 87aa23107d Fix shadow sharpness processing 2024-06-17 18:59:13 +02:00
mafiesto4 6e0dd2064a Add nearby probes search to fill cells with missing GI data
#1614
2024-06-17 18:25:11 +02:00
ExMatics HydrogenC 5f939430ee Initial commit for forward software reflection 2024-06-17 23:00:48 +08:00
Nils Hausfeld 4abe8587f3 - Fixed some tooltip regressions
- Defined signatures where necessary
2024-06-16 13:37:03 +02:00
Nils Hausfeld 62778fc1e9 - Increasing width of CM slightly when using description panel
- Some padding and size changes
- A tiny bit of cleanup
2024-06-16 12:37:46 +02:00
Nils Hausfeld b0953e9494 - Minor refactoring and cleanup 2024-06-16 12:18:03 +02:00
Nils Hausfeld 53006ac9ad - Moved description panel code
- Description panel now gets hidden when hiding the context menu
- Cleanup when hiding description panel
2024-06-16 12:12:26 +02:00
Nils Hausfeld 0fd8de8029 - Added custom func to fetch information for nodes that need special treatment like Array, Enum or Un/Pack nodes
- More refactoring and cleanup
2024-06-15 22:13:05 +02:00
Nils Hausfeld 46cc4c72e7 - Refactored and cleaned up a bunch of redundant code 2024-06-15 19:47:48 +02:00
xxSeys1 a05fe5ce9b add a warning when there is more than one audio listener enabled
checks every time a listener gets enabled
2024-06-15 19:40:23 +02:00
MrCapy0 8899e3ebb7 clean code 2024-06-15 12:11:08 -03:00
MrCapy0 727ff8be95 Fix crash on add new drive steer vs speed 2024-06-15 12:09:19 -03:00
Nils Hausfeld a8d97f1daa - Skip group filtering if the string in front of the dot is empty or doesn't start with a letter, to make spawning float nodes work again 2024-06-15 11:32:47 +02:00
Tryibion 488485e23e Fix borders not tinting. 2024-06-14 14:06:49 -05:00
Nils Hausfeld 804e652b6d - Now using the connectionhints when no connectionstype is available
- Some special treatment for Array and Dictionary Constants, kinda dirty
2024-06-14 20:39:39 +02:00
envision3d 79138dfaf0 add default audio listener to newly created scenes 2024-06-14 02:14:20 -05:00
mafiesto4 e3f0991805 Optimize Global Surface Atlas drawing when atlas is full 2024-06-13 23:02:20 +02:00
mafiesto4 f02e7d0936 Fix compilation error 2024-06-13 23:01:51 +02:00
Nils Hausfeld 67f3f89bf7 - Override node inputs/outputs now also get shown
- Added special treatment for enum, pack and unpack nodes in order to also show their inputs/outputs
2024-06-13 22:03:41 +02:00
Nils Hausfeld 36bdd6cbd0 - Refactored some code handling the input/output elements
- Added member information to all cached nodes to be able to fetch their informations
2024-06-13 19:04:46 +02:00
mafiesto4 b760dcdb58 Fix Global Surface Atlas flickering in scenes with lots of objects 2024-06-13 18:10:18 +02:00
mafiesto4 d926bdb609 Update assets 2024-06-13 17:15:30 +02:00
mafiesto4 e1bede1bf6 Merge remote-tracking branch 'origin/master' into 1.9 2024-06-13 17:07:37 +02:00
mafiesto4 eeede88fb8 Add more precise Global SDF raycasting nearby geometry (at cost of performance) 2024-06-13 17:05:31 +02:00
mafiesto4 2f688892ea Fix DDGI probes scrolling to properly handle bigger scroll deltas 2024-06-13 17:04:29 +02:00
mafiesto4 5c5fad6bb4 Refactor DDGI probe relocation algorithm to result in smoother and more precise placement
#754 #1614
2024-06-13 17:03:23 +02:00
Nils Hausfeld 1be136bd2e - Now drawing icon type for inputs/outputs for archetypes with their attached memberinfo 2024-06-12 21:07:35 +02:00
Nils Hausfeld df404507b5 - Now showing inputs and outputs in a very buggy and dirty way 2024-06-12 19:20:09 +02:00
Nils Hausfeld 587bdf92f7 Merge branch 'master' into Visject-DescriptionPanel 2024-06-11 20:57:54 +02:00
mafiesto4 f52059522b Merge branch 'GoaLitiuM-logcontext_fix' 2024-06-11 19:22:53 +02:00
GoaLitiuM 691ac6d439 Fix missing LogContext data 2024-06-11 19:54:51 +03:00
mafiesto4 6fc056cba2 Add default material for Radial Menu control
#2678
2024-06-11 15:57:54 +02:00
mafiesto4 54cb82cbda Merge branch 'Menotdan-load-source-log' 2024-06-11 12:54:00 +02:00
mafiesto4 b8c9130ae4 Simplify and cleanup code
#2368
2024-06-11 12:53:47 +02:00
mafiesto4 c2e1b92cce Move LogContext
#2368
2024-06-11 11:55:56 +02:00
mafiesto4 6113325e07 Merge branch 'load-source-log' of https://github.com/Menotdan/FlaxEngine into Menotdan-load-source-log 2024-06-11 11:54:45 +02:00
mafiesto4 bea7e1526d Merge branch 'z1dev-master' 2024-06-11 11:40:35 +02:00
mafiesto4 abc75e6c3d Merge branch 'master' of https://github.com/z1dev/FlaxEngine into z1dev-master 2024-06-11 11:40:26 +02:00
mafiesto4 dfc1db672d Add minor Y offset to grid to prevent artifacts with floor in sample scenes 2024-06-11 11:40:13 +02:00
mafiesto4 5b71591998 Add option to disable particles preview in scene view and play only looping effects
#1767
2024-06-11 11:37:49 +02:00
mafiesto4 4dabf4bf01 Merge branch 'cNori-RadialMenu-and-material-nodes' 2024-06-11 09:49:00 +02:00
mafiesto4 210c443b30 Cleanup code 2024-06-11 09:48:53 +02:00
mafiesto4 f95e7e96bf Codestyle fixes and some nodes docs 2024-06-11 08:43:31 +02:00
mafiesto4 735aa70b53 Merge branch 'RadialMenu-and-material-nodes' of https://github.com/cNori/FlaxEngineFork into cNori-RadialMenu-and-material-nodes 2024-06-11 08:21:40 +02:00
mafiesto4 b1fd178341 Fix compilation error
#2697
2024-06-11 08:10:28 +02:00
Nils Hausfeld 5059cef065 - Description panel declaring type icon now updates its color 2024-06-10 23:24:34 +02:00
mafiesto4 0bb21ef4a0 Update shader 2024-06-10 23:19:32 +02:00
Olly Rybak 2a4a5d2519 Merge branch 'grid-update' of https://github.com/Swiggies/FlaxEngine into Swiggies-grid-update
#2663
2024-06-10 23:17:39 +02:00
Nils Hausfeld 99c10e5ed3 - Now correctly fetching signature and description for properties
- Minor code cleanup
2024-06-10 23:14:24 +02:00
Menotdan 892ab47b7a Merge branch 'reordering' of https://github.com/Menotdan/FlaxEngine into Menotdan-reordering
#2670
2024-06-10 23:13:50 +02:00
Nils Hausfeld ebff015c1c Merge branch 'master' into Visject-DescriptionPanel 2024-06-10 22:38:50 +02:00
Nils Hausfeld 1da00264a0 - Description panel now updates when navigating items with keyboard
- First test of drawing images in description panel (showing class type)
- Layout and style changes to work with images and make evertything a bit tighter
2024-06-10 18:45:03 +02:00
mafiesto4 7f6805aac6 Merge branch 'Tryibion-grid-slot-spacing' 2024-06-10 18:16:24 +02:00
mafiesto4 d56d624f0f Merge branch 'grid-slot-spacing' of https://github.com/Tryibion/FlaxEngine into Tryibion-grid-slot-spacing 2024-06-10 18:12:35 +02:00
mafiesto4 fd91e912fe Merge branch 'GoaLitiuM-array_object_free_fix' 2024-06-10 18:09:06 +02:00
mafiesto4 7106791186 Merge branch 'array_object_free_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-array_object_free_fix 2024-06-10 18:08:55 +02:00
mafiesto4 a0f379f613 Merge branch 'GoaLitiuM-animation_timeline_fix' 2024-06-10 18:07:43 +02:00
mafiesto4 c0847f6789 Merge branch 'animation_timeline_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-animation_timeline_fix 2024-06-10 18:07:36 +02:00
mafiesto4 831289afc3 Merge branch 'GoaLitiuM-physicsmaterial_reload_fix' 2024-06-10 17:47:01 +02:00
Nils Hausfeld da6883489e - Added description panel resizing 2024-06-10 12:03:34 +02:00
Nils Hausfeld ed8c7bc338 - Format change 2024-06-09 23:52:34 +02:00
Nils Hausfeld bd06ed9c14 - Archetypes now fetch signature and description independently
- Added larger label for signature to description panel
2024-06-09 23:42:48 +02:00
Nils Hausfeld fa67d0581e - Added optional description panel to visject CM
- Enbaled description panel for visual scripting
- Archetype description now gets drawn in description panel
2024-06-09 13:45:53 +02:00
GoaLitiuM 7ba97f3c32 Fix freeing managed Object references in marshalled arrays 2024-06-08 21:16:57 +03:00
GoaLitiuM 992436b47c Fix error when previewing animation timeline values after reimport 2024-06-08 19:25:13 +03:00
GoaLitiuM 7614481d78 Fix PhysicsMaterial not updating in Colliders after asset reload 2024-06-08 19:24:13 +03:00
GoaLitiuM 07371ddfdf Fix crash when PhysicsMaterial asset is reloaded in editor 2024-06-08 19:24:10 +03:00
mafiesto4 66f9374477 Add improved terrain rasterization into Global SDF
#754
2024-06-08 13:14:20 +02:00
mafiesto4 50c29f6a9b Fix #2388 namespaces overlap in some plugins 2024-06-08 12:47:15 +02:00
mafiesto4 a4877c6294 Merge branch 'GoaLitiuM-marshaller_namespace' 2024-06-08 12:06:21 +02:00
mafiesto4 c9bebc0700 Merge branch 'marshaller_namespace' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-marshaller_namespace 2024-06-08 12:06:17 +02:00
mafiesto4 26867bfd8f Merge branch 'Swiggies-progress-bar-fix' 2024-06-08 12:02:31 +02:00
mafiesto4 dfd6df7f42 Merge branch 'progress-bar-fix' of https://github.com/Swiggies/FlaxEngine into Swiggies-progress-bar-fix 2024-06-08 12:02:26 +02:00
mafiesto4 092681aea7 Merge branch 'Chikinsupu-ItemSearchContextMenuSearchImprovements' 2024-06-08 11:59:17 +02:00
mafiesto4 3a2f4843ba Merge branch 'ItemSearchContextMenuSearchImprovements' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-ItemSearchContextMenuSearchImprovements 2024-06-08 11:59:10 +02:00
mafiesto4 db6cdc3ce0 Merge branch 'Chikinsupu-Visject-DragDropParamAltSetter' 2024-06-08 11:57:40 +02:00
mafiesto4 b23aa6cebd Merge branch 'Visject-DragDropParamAltSetter' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-DragDropParamAltSetter 2024-06-08 11:57:35 +02:00
mafiesto4 bc01e6369e Fix GlobalSDF mip sampling artifacts on edges of distance limit 2024-06-06 13:46:29 +02:00
mafiesto4 a232dac196 Fix GlobalSDF sampling in materials to properly read far cascades 2024-06-06 12:10:44 +02:00
mafiesto4 2676daabf1 Merge branch 'xxSeys1-IncreasedExecutionLineThickness' 2024-06-05 18:01:05 +02:00
mafiesto4 c82e67083f Merge branch 'IncreasedExecutionLineThickness' of https://github.com/xxSeys1/FlaxEngine into xxSeys1-IncreasedExecutionLineThickness 2024-06-05 18:00:59 +02:00
mafiesto4 175fd31431 Fix Delegate invoke to copy arguments values to each call instead of passing as reference 2024-06-05 18:00:00 +02:00
mafiesto4 3b1a96582a Fix crash in gpu memory profiler if resource name is missing
#2688
2024-06-05 17:14:44 +02:00
mafiesto4 96303e57ec Fix terrain SDF thickness to be fixed at 300 units 2024-06-05 13:43:50 +02:00
mafiesto4 c26649a0a8 Improve abdbd1ee64 to better handle cascade transitions 2024-06-05 13:43:34 +02:00
mafiesto4 0620310f4f Add improved Global Surface Atlas lighting at far cascades and cascade borders 2024-06-04 10:53:41 +02:00
mafiesto4 abdbd1ee64 Add improved Global SDF tracing when going over different cascades 2024-06-04 10:47:37 +02:00
xxSeys1 2b46f04baf Changed how thickness is calculated
Now works with the stuff done in #2671.
2024-06-03 23:25:54 +02:00
xxSeys1 106b48f4d5 Code style fixes
Changed two if statements to be single line.
2024-06-03 23:03:21 +02:00
xxSeys1 732b34d28b Draw impulse/ execution lines thicker than data ones
Slightly increases the thickness of impulse/ execution lines for node editors to make it easier for the user to follow execution flow (and indirectly also data flow)
2024-06-03 23:00:25 +02:00
mafiesto4 3c5d2f8b47 Skip ddgi probes data preload to reduce memory wait time 2024-06-03 22:29:00 +02:00
mafiesto4 116539ce34 Merge branch 'Tryibion-fix-cursor-show-edge-cases' 2024-06-03 19:17:58 +02:00
mafiesto4 e8421d4274 Merge branch 'fix-cursor-show-edge-cases' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-cursor-show-edge-cases 2024-06-03 19:17:50 +02:00
mafiesto4 0b9ee23a5c Merge branch 'Chikinsupu-Visject-ConnectionImprovements' 2024-06-03 14:22:04 +02:00
mafiesto4 2d2841d59e Merge branch 'Visject-ConnectionImprovements' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ConnectionImprovements 2024-06-03 14:17:11 +02:00
mafiesto4 a0c2f6a51e Merge branch 'HydrogenC-scroll-fix' 2024-06-03 11:09:59 +02:00
mafiesto4 1d946afe82 Merge branch 'scroll-fix' of https://github.com/HydrogenC/FlaxEngine into HydrogenC-scroll-fix 2024-06-03 11:09:52 +02:00
mafiesto4 6ea519b55a Merge branch 'GoaLitiuM-variant_fixes' 2024-06-03 11:04:18 +02:00
mafiesto4 2d6c49ee20 Merge branch 'variant_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-variant_fixes 2024-06-03 11:04:06 +02:00
mafiesto4 59b250f091 Merge branch 'GoaLitiuM-exr_crash_fix' 2024-06-03 11:01:24 +02:00
mafiesto4 6c347f08b6 Merge branch 'exr_crash_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-exr_crash_fix 2024-06-03 11:01:11 +02:00
mafiesto4 304f24764b Merge branch 'GoaLitiuM-debuglog_options' 2024-06-03 10:58:57 +02:00
mafiesto4 3dac26ffda Merge branch 'debuglog_options' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-debuglog_options 2024-06-03 10:58:49 +02:00
mafiesto4 f51a442357 Fix crash when using content search in Visject surface 2024-06-03 10:54:22 +02:00
mafiesto4 1cbcddf410 Add IsDebugToolAttached to GPUDevice for detecting gpu debugger tools attached and auto-enable GPU profiler in that case 2024-06-03 09:24:27 +02:00
mafiesto4 bd819b1f5f Rebake default Cube sdf with res scale 2 2024-06-02 23:02:43 +02:00
mafiesto4 aad428210d Improve DDGI quality by not using lower-res cascade fallback 2024-06-02 23:02:20 +02:00
mafiesto4 a08954f7db Fix CSM shadows intensity due to sharpness trick 2024-06-02 22:38:46 +02:00
mafiesto4 bba14d265a Add D3D11 shaders naming for profiling 2024-06-02 22:05:45 +02:00
mafiesto4 59e0b43585 Fix missing DirectX resources naming in Development builds for profiling 2024-06-02 22:05:14 +02:00
mafiesto4 f103afb495 Improve 975d5f98a3 2024-06-02 21:36:32 +02:00
mafiesto4 79ee6a973e Fix GlobalSDF for meshes intersections for negative distances inside the geometry 2024-06-02 12:06:25 +02:00
mafiesto4 eab96f2086 Fix TAA jittering when rendering UI in world after TAA resolve 2024-06-02 11:01:23 +02:00
mafiesto4 975d5f98a3 Fix MIN_int32 compilation on the latest Clang 2024-06-02 09:52:31 +02:00
mafiesto4 1e86eff2d3 Improve GPU constant buffers structures definitions to properly align on new Clang 2024-06-02 09:52:10 +02:00
Norite SC d4145179a9 RadialMenu and material nodes 2024-06-02 02:23:48 +02:00
mafiesto4 2492d0b38f Refactor WindowsFileSystemWatcher to properly handle file modifications 2024-06-02 00:51:11 +02:00
GoaLitiuM 8166790113 Fix compilation errors with miniz 2024-06-01 23:37:00 +03:00
GoaLitiuM 40cc967c30 Fix alignment issues in stack allocators 2024-06-01 23:23:33 +03:00
GoaLitiuM 6d5c7bcaf5 Hide Visual Studio solution architectures not supported by main project 2024-06-01 23:23:33 +03:00
GoaLitiuM b0904fef69 Skip setup of ARM64 configuration for Windows with no compiler support 2024-06-01 23:23:33 +03:00
GoaLitiuM ba397836a6 Include configuration specific source files in solution configurations
Include only relevant generated source files for selected solution
configuration. Fixes Intellisense issues when both ARM64 and Win64
configurations are present in project.
2024-06-01 23:23:32 +03:00
GoaLitiuM de10f2a6e5 Copy hostfxr from platform architecture specific dependencies folder 2024-06-01 23:23:32 +03:00
GoaLitiuM c332d6f89a Add cooking support for Windows on ARM 2024-06-01 23:23:31 +03:00
GoaLitiuM 72043c0260 Update minimp3 2024-06-01 23:23:31 +03:00
GoaLitiuM c963dbc48d Patch rapidjson for Windows on ARM 2024-06-01 23:23:31 +03:00
GoaLitiuM 2f4673ce1b Patch tracy for Windows on ARM 2024-06-01 23:23:30 +03:00
GoaLitiuM ca40e6140a Compile glslang for Windows on ARM 2024-06-01 23:23:30 +03:00
GoaLitiuM 2226ff32dc Compile assimp for Windows on ARM 2024-06-01 23:23:30 +03:00
GoaLitiuM 34d294263f Add dependencies to copy dbghelp and dxcompiler files from SDK 2024-06-01 23:23:29 +03:00
GoaLitiuM 526ccd52fd Build astc for Windows on ARM 2024-06-01 23:23:29 +03:00
GoaLitiuM 0765d88ff2 Update OpenAL to use CMake for compilation on Windows 2024-06-01 23:23:28 +03:00
GoaLitiuM 9777e71ee0 Update ogg and vorbis to use CMake for compilation on Windows 2024-06-01 23:23:28 +03:00
GoaLitiuM a716025094 Patch pix3.h for Windows on ARM 2024-06-01 23:23:28 +03:00
GoaLitiuM c8f951e6e8 Use VS2022 Win10 MSVC solutions in DirectX-related dependencies 2024-06-01 23:23:27 +03:00
GoaLitiuM 24c645d8d2 Build NvCloth for Windows on ARM 2024-06-01 23:23:27 +03:00
GoaLitiuM 90e7d4076b Update PhysX with Windows on ARM support 2024-06-01 23:23:27 +03:00
GoaLitiuM 8ab462f72c Update curl to 7.88.1 2024-06-01 23:23:26 +03:00
GoaLitiuM 0862362ebd Update Freetype to 2.13.2 2024-06-01 23:23:26 +03:00
GoaLitiuM 766910c0ae Fix rebuilding dependencies using Git with existing local folders 2024-06-01 23:23:25 +03:00
GoaLitiuM 2f48521ce7 Fallback to D3D11 devices without debug layers when unavailable 2024-06-01 23:23:25 +03:00
GoaLitiuM ac6154e94d Support using native host MSVC binaries on ARM64 2024-06-01 23:23:24 +03:00
GoaLitiuM d2d2297dc7 Support ARM64 architecture under Windows 2024-06-01 23:23:24 +03:00
GoaLitiuM bf5e5d1254 Refactor native interop internal type lookup 2024-06-01 23:20:33 +03:00
GoaLitiuM adbe43c2c2 Move generated marshallers into separate namespace
Avoid polluting the `FlaxEngine` namespace with interop related
marshallers, move those to nested namespace called `Interop` where most
of the common marshallers are placed already.
2024-06-01 23:20:32 +03:00
GoaLitiuM 974e3e192b Include original type of the fields in blittable struct in comments 2024-06-01 23:17:07 +03:00
GoaLitiuM 2283a15172 Refactor struct custom marshalling generation 2024-06-01 23:17:07 +03:00
GoaLitiuM c4d5e50f22 Update Editor options when window is shown 2024-06-01 23:13:34 +03:00
GoaLitiuM 86d90605fc Fix Editor options data applying in realtime after first save
Reclone the data in order to not modify the currently applied options
data after save.
2024-06-01 23:13:34 +03:00
GoaLitiuM db71bf2868 Store Debug Log view options in Editor options 2024-06-01 23:13:34 +03:00
GoaLitiuM 3fe634f8b9 Update miniz for tinyexr 2024-06-01 21:50:52 +03:00
GoaLitiuM fef124a01d Fix crash when trying to import unsupported EXR-file 2024-06-01 21:36:22 +03:00
GoaLitiuM 272977a521 Defer Editor EndInit after loading scripting assemblies
Assets containing deserialized data of scripting assembly structures
needs to be loaded after the scripting assemblies have been loaded.
2024-06-01 20:24:57 +03:00
GoaLitiuM dedb3d57fd Fix Variant getters returning already freed managed handles 2024-06-01 20:22:16 +03:00
Nils Hausfeld 0fc507e238 - Visject Drag and Drop now tries to get a parameter setter node while holding the alt key
- Visual Script surface now returns a setter node
2024-06-01 14:23:36 +02:00
ExMatics HydrogenC 9e9013ec43 Add missing recalculations of the thumb 2024-06-01 18:23:37 +08:00
GoaLitiuM 19108517da Fix wrong imported values in animation scale tracks 2024-06-01 13:04:13 +03:00
GoaLitiuM babd14d763 Fix skinned model import with triangulated mesh data 2024-06-01 12:33:44 +03:00
Gary M 063a5d1ae4 Disable "punchy" correction and add gamma correction 2024-05-31 19:40:50 -07:00
Gary M 1de395bc7b returned lost #endif 2024-05-31 19:04:07 -07:00
Gary M c22f8e3607 Initial AGX Impl 2024-05-31 18:38:38 -07:00
GoaLitiuM 60f675c6f0 Fix compilation errors 2024-06-01 00:54:56 +03:00
GoaLitiuM 297ca0be2c Fix compatibility issues with newer FBX models 2024-06-01 00:47:23 +03:00
mafiesto4 6dacf9e1f1 Add caching Model SDF options in the project cache
#2075
2024-05-31 23:36:35 +02:00
GoaLitiuM 2a56ec3b3e Allow reimporting model prefabs from Content window context menu 2024-06-01 00:24:15 +03:00
GoaLitiuM cfdb9ef1f2 Fix missing vertices in some imported models
The Spatial Sort version was being too greedy when merging vertices
2024-06-01 00:24:14 +03:00
GoaLitiuM a9aa3b6cd8 Fix typos 2024-06-01 00:24:14 +03:00
GoaLitiuM cd1853f853 Implement triangulation for non-convex polygons 2024-06-01 00:24:13 +03:00
GoaLitiuM cc106ab42f Fix compile errors in libdeflate 2024-06-01 00:24:13 +03:00
GoaLitiuM 76e45564f8 Reapply OpenFBX patches 2024-06-01 00:24:13 +03:00
GoaLitiuM 7454e9abd2 Update OpenFBX
Updated to commit 365f52c1edad6bd283c8a645f1d8d2347dbd1e35
2024-06-01 00:24:12 +03:00
mafiesto4 f78bbc6b70 Add GlobalSDFDistance to graphics settings for default GlobalSDF range
#2664
2024-05-31 23:21:07 +02:00
mafiesto4 19ad91d5d8 Merge remote-tracking branch 'origin/master' into 1.9 2024-05-31 22:12:03 +02:00
Nils Hausfeld 0c50fa9816 - Implemented a connection line offset that increases the less curvature the line has
- Made connection lines a tiny bit thicker and added constants at the top of OutputBox to easily change the default style
2024-05-31 20:16:33 +02:00
Nils Hausfeld 83ccb79fa3 Merge branch 'master' into ItemSearchContextMenuSearchImprovements 2024-05-31 17:29:42 +02:00
Olly Rybak 8b72c063a8 Quick fix 2024-05-31 21:18:00 +10:00
mafiesto4 7e316a1305 Fix SSAO flickering artifacts in cooked game (disable depth mips usage) 2024-05-31 11:35:38 +02:00
mafiesto4 e0791eacad Fix game crashes due to scene objects C# instances removal on EndPlay before all game logic ends 2024-05-31 10:29:23 +02:00
Nils Hausfeld 11ec018933 - Improved Items list context menu item search (based on visject search improvements) 2024-05-30 19:53:54 +02:00
Nils Hausfeld 8ef1cad6fb Revert "- Improved item search for item list context menu (based on visject CM item search improvements)"
This reverts commit 6885e561db.
2024-05-30 19:48:43 +02:00
Nils Hausfeld 6885e561db - Improved item search for item list context menu (based on visject CM item search improvements) 2024-05-30 19:48:34 +02:00
mafiesto4 806bff19f4 Fix editor play state exceptions into errors to prevent locking editor state 2024-05-30 17:26:43 +02:00
mafiesto4 949057b1c3 Fix some html tags parsing to be safer 2024-05-30 17:22:43 +02:00
mafiesto4 5c23f4ac09 Fix project cache in editor to use invariant culture when converting numbers 2024-05-30 17:22:30 +02:00
Tryibion cdd53f09b9 Add extra spacing for transform properties. 2024-05-30 10:01:32 -05:00
Tryibion f3210608ae make color value box the same spacing as the others in the editor. 2024-05-30 09:07:42 -05:00
Tryibion f01784108d Add check to cursor hidden/showing loops. 2024-05-30 08:47:41 -05:00
Tryibion 30c1068a13 Fix wrong spacing calculation. 2024-05-30 08:38:42 -05:00
mafiesto4 3f3df090f4 Format code in Visject 2024-05-30 12:20:40 +02:00
mafiesto4 390f574662 Merge branch 'Chikinsupu-Visject-ImprovedSearchAndFiltering' 2024-05-30 12:15:41 +02:00
mafiesto4 48a09c9783 Merge branch 'Visject-ImprovedSearchAndFiltering' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ImprovedSearchAndFiltering 2024-05-30 12:15:35 +02:00
mafiesto4 981109a6f1 Merge branch 'Chikinsupu-Visject-ConnectionCurvatureOption' 2024-05-30 12:11:45 +02:00
mafiesto4 2f8428db1a Merge branch 'Visject-ConnectionCurvatureOption' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ConnectionCurvatureOption 2024-05-30 12:11:40 +02:00
mafiesto4 d0ec3fa2e2 Merge branch 'Tryibion-slider-focus' 2024-05-30 12:07:25 +02:00
mafiesto4 9533289e57 Merge branch 'slider-focus' of https://github.com/Tryibion/FlaxEngine into Tryibion-slider-focus 2024-05-30 12:05:10 +02:00
mafiesto4 0f485cf77c Merge branch 'Tryibion-cwidget-size' 2024-05-30 12:01:03 +02:00
mafiesto4 8c8b4613d2 Merge branch 'cwidget-size' of https://github.com/Tryibion/FlaxEngine into Tryibion-cwidget-size 2024-05-30 12:00:56 +02:00
mafiesto4 3b872f08a8 Merge branch 'Chikinsupu-Visject-CommentRenameImprovements' 2024-05-30 11:54:36 +02:00
mafiesto4 e89e0159bf Merge branch 'Visject-CommentRenameImprovements' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-CommentRenameImprovements 2024-05-30 11:46:53 +02:00
mafiesto4 857d2c26f4 Merge branch 'MrCapy0-Fix-Game-Compilation' 2024-05-30 11:44:40 +02:00
mafiesto4 49e70637db Merge branch 'Fix-Game-Compilation' of https://github.com/MrCapy0/FlaxEngine into MrCapy0-Fix-Game-Compilation 2024-05-30 11:36:16 +02:00
mafiesto4 72a151816a Merge branch 'Tryibion-control-update-fix' 2024-05-30 11:24:15 +02:00
mafiesto4 528b20dc00 Merge branch 'control-update-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-control-update-fix 2024-05-30 11:23:46 +02:00
mafiesto4 ce2d2b78c4 Merge branch 'Chikinsupu-Visject-ImprovedInactiveBoxes' 2024-05-30 10:37:10 +02:00
mafiesto4 b22c42b9e3 Merge branch 'Visject-ImprovedInactiveBoxes' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ImprovedInactiveBoxes 2024-05-30 10:37:04 +02:00
mafiesto4 377d25a1fd Merge branch 'Chikinsupu-Visject-RerouteMovingQoL' 2024-05-30 10:35:04 +02:00
mafiesto4 32a60c3b5c Merge branch 'Visject-RerouteMovingQoL' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-RerouteMovingQoL 2024-05-30 10:26:29 +02:00
mafiesto4 3f40aff01f Merge branch 'Tryibion-header-height' 2024-05-30 10:24:31 +02:00
Tryibion 09563caf37 Fix header height when using HeaderAttribute with multiline label. 2024-05-29 15:48:31 -05:00
mafiesto4 bea5c55ac9 Merge remote-tracking branch 'origin/1.9' into 1.9 2024-05-29 18:47:57 +02:00
mafiesto4 62dcfe2cae Update in-built meshes sdf 2024-05-29 18:45:45 +02:00
mafiesto4 4dd331d546 Add half-texel margin to SDF around the mesh 2024-05-29 18:45:32 +02:00
mafiesto4 f1debd6cb5 Add names to SDF gpu resources 2024-05-29 17:52:48 +02:00
mafiesto4 a8220147ce Improve SDF mip generation to use min-filter 2024-05-29 15:00:03 +02:00
mafiesto4 80fbe048bf Update VulkanMemoryAllocator to version3.1.0 2024-05-29 14:55:30 +02:00
mafiesto4 33d1c8c68c Add async SDF generation for all meshes in the scene 2024-05-29 14:54:28 +02:00
mafiesto4 9258c234f2 Add option to SDF generation via GPU in Model Window 2024-05-29 14:54:06 +02:00
mafiesto4 53d77d3421 Add **Model SDF baking on GPU** via Compute Shader 2024-05-29 14:53:13 +02:00
mafiesto4 5f4c57d3eb Fix texture copy into staging one on DX12 and Vulkan 2024-05-28 14:56:38 +02:00
mafiesto4 8a2acd360d Fix GPUTexture::GetData to properly handle volume textures 2024-05-28 14:56:04 +02:00
Nils Hausfeld 130fc5b54d - Cleanup 2024-05-27 23:41:01 +02:00
Nils Hausfeld e15a848ac6 - Implemented filtering by group by using a dot as a seperator
- Added type sort priority to context sensitive search
- Now updating filters when populating groups for the first time in order to make sort priority actually work when opening context menu for the first time
- Fixed some cases where context sensitivity was applied even when context sensitive search was disabled
2024-05-27 23:19:00 +02:00
mafiesto4 054e77be42 Fix crash on exit when GPU async task failed 2024-05-27 10:37:51 +02:00
mafiesto4 553b6f1ee8 Add async execution to model window sdf generation button 2024-05-27 10:37:33 +02:00
Nils Hausfeld 1729fe6993 - Added connection curvature to editor options 2024-05-26 21:41:59 +02:00
MrCapy0 cc01e88ce8 fix compilation when calling debug draw on scripts 2024-05-26 11:09:17 -04:00
Nils Hausfeld f18715a497 - Replaced renamepopup with textbox in surface comment 2024-05-25 13:25:52 +02:00
mafiesto4 0cee4ac973 Add SpawnParticles utility to Particle Effect 2024-05-25 09:52:09 +02:00
Nils Hausfeld d47a191d5c - Added IsActive state to boxes
- Replaced box.enabled with box.isActive on some nodes
- Made connection lines draw with alpha when connected box is inactive
2024-05-24 22:26:20 +02:00
mafiesto4 513afd603b Add increased by 1 mip sdf texture resolution for GlobalSDF building 2024-05-24 22:19:54 +02:00
mafiesto4 23efaed29e Fix Model SDF texture streaming to properly mark highest loaded mip as resident 2024-05-24 14:58:57 +02:00
mafiesto4 2c80f4402d Add improved Model SDF generation with sampling offset and min distance accumulation 2024-05-24 14:52:01 +02:00
mafiesto4 9acb3a5482 Fix model thumbnail for very large assets 2024-05-24 14:21:30 +02:00
mafiesto4 37d2b80a3d Enable IntrinsicFunctions in Debug builds 2024-05-24 14:16:14 +02:00
mafiesto4 03b52f148c Improve 82ee84ad39 to support incremental linking 2024-05-24 14:15:52 +02:00
mafiesto4 f326fa611f Minor sdf imporvements 2024-05-24 12:41:39 +02:00
mafiesto4 7c83481d6f Bump up version number after compilation setup change 2024-05-24 11:23:19 +02:00
Tryibion afdae7f670 Only size ui widgets based on viewscale and not control size. 2024-05-23 16:51:31 -05:00
mafiesto4 182d6d8602 Fix regression in missing shadows inside Global Surface Atals 2024-05-23 21:51:57 +02:00
mafiesto4 82ee84ad39 Optimize Development builds to use SSE2 by default on Windows and use SSE4.1 when targeting Windows 11 2024-05-23 17:17:21 +02:00
mafiesto4 b086de1c12 Add WindowsMinVer config for minimum target Windows version switch 2024-05-23 16:21:38 +02:00
mafiesto4 1481d1a1e9 Add ShadowsResolution for manually specified shadowmap resolution for lights 2024-05-23 14:47:16 +02:00
mafiesto4 681c473e7a Re-enable CSM cascades filter width adjustment 2024-05-23 14:34:26 +02:00
mafiesto4 206ff89587 Add constant buffers alignment for data structures (16-byte boundaries) 2024-05-23 13:58:46 +02:00
mafiesto4 91aa5a0fb9 Fix video player docs 2024-05-23 13:15:29 +02:00
Tryibion 7c4b8758ea Fix a few edge cases for cursor showing/not showing 2024-05-22 21:10:01 -05:00
Tryibion f22e559e83 Add slot spacing to uniform grid panel. 2024-05-22 20:45:37 -05:00
mafiesto4 9731437717 Merge branch 'abrasivetroop-edit-prefab-button' 2024-05-22 23:19:02 +02:00
mafiesto4 6f7bb8dbf2 Merge branch 'edit-prefab-button' of https://github.com/abrasivetroop/FlaxEngine into abrasivetroop-edit-prefab-button 2024-05-22 23:17:23 +02:00
mafiesto4 3dd83c52bf Merge branch 'Tryibion-outputlog-collase-save' 2024-05-22 23:16:37 +02:00
mafiesto4 949ac08643 Merge branch 'outputlog-collase-save' of https://github.com/Tryibion/FlaxEngine into Tryibion-outputlog-collase-save 2024-05-22 23:16:18 +02:00
mafiesto4 4948b1b86a Merge branch 'Tryibion-script-group' 2024-05-22 23:12:24 +02:00
mafiesto4 e5bf0e1b9f Merge branch 'script-group' of https://github.com/Tryibion/FlaxEngine into Tryibion-script-group 2024-05-22 23:12:18 +02:00
mafiesto4 b776465919 Merge branch 'Tryibion-play-game-fix' 2024-05-22 23:11:29 +02:00
mafiesto4 82181b28b0 Merge branch 'play-game-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-play-game-fix 2024-05-22 23:11:25 +02:00
mafiesto4 eb07fd7b9a Fix xml tooltips processing to ignore excessive whitespaces 2024-05-22 23:10:05 +02:00
Tryibion 79dbad6547 Ensure slider max and min are snapped to if the value is close to them. 2024-05-22 15:56:39 -05:00
Tryibion 94884fc39a Run control update even when UiCanvas skips events. 2024-05-22 14:52:30 -05:00
Tryibion aec5ef8332 Add message for no first scene. 2024-05-22 14:42:20 -05:00
Tryibion 8e4783a0c6 Play scene if invalid first scene data in editor while selected to play game from first scene. 2024-05-22 14:38:17 -05:00
mafiesto4 c23f2b61cc Fix editor error when underlying int value provider returns other scalar type 2024-05-22 18:38:08 +02:00
mafiesto4 12cf7f0f92 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Flax.flaxproj
2024-05-22 16:15:14 +02:00
Tryibion 6481897ffa Fix SliderControl not being unfocused on value change. 2024-05-22 07:52:25 -05:00
mafiesto4 9653fc6725 Optimize stack memory in volumetric fog lights culling 2024-05-22 13:01:24 +02:00
mafiesto4 2af4e8fe10 Add AV video backend for macOS and iOS 2024-05-22 11:53:46 +02:00
Tryibion 499a7c6129 change to debug log collapse 2024-05-21 07:18:56 -05:00
Tryibion 84fdf9cc80 Save output log collapse state. 2024-05-20 21:46:57 -05:00
Tryibion f8d023ed5c Remove drop down image on scripts if no objects are in the group. 2024-05-20 21:36:44 -05:00
mafiesto4 5ca61d8568 Fix Convert to Parameter to check if can perform action 2024-05-20 22:39:46 +02:00
Nils Hausfeld 58998f4576 - Reroute node now always checks if the mouse is inside the "connecting bounds" and changes the cursor accordingly
- Slightly increased "connecting bounds" padding
2024-05-20 21:18:12 +02:00
mafiesto4 c486577b07 Fix TAA in editor's debug view modes 2024-05-20 19:03:28 +02:00
mafiesto4 a69c8ce6a2 Revert 73f68c102d and reopen #2610 2024-05-20 18:37:15 +02:00
mafiesto4 e527783e55 Fix missing curve initialization when loading from json 2024-05-20 18:36:41 +02:00
mafiesto4 4d9c92dd49 Fix editor hang when scene deserialization fails 2024-05-20 18:24:20 +02:00
mafiesto4 9b01229e58 Fix regression in GPU Particle collisions in editor 2024-05-20 18:12:35 +02:00
mafiesto4 e3a030fad8 Update version 2024-05-20 17:10:23 +02:00
mafiesto4 cb878294ea Minor fixes 2024-05-20 17:09:59 +02:00
Abra b2fc5e8fd3 increase horizontal slot amount 2024-05-20 17:01:07 +03:00
Abra 4fb42319ef add edit prefab button 2024-05-20 16:59:32 +03:00
mafiesto4 1bd1aca0f0 Merge branch 'GoaLitiuM-richtextbox_fix' 2024-05-20 14:43:26 +02:00
mafiesto4 b433312042 Merge branch 'richtextbox_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-richtextbox_fix 2024-05-20 14:43:09 +02:00
mafiesto4 1041b1b86d Merge branch 'tecnessino-patch-2' 2024-05-20 14:23:20 +02:00
mafiesto4 1ace5fd10d Merge branch 'patch-2' of https://github.com/tecnessino/FlaxEngine into tecnessino-patch-2 2024-05-20 14:23:03 +02:00
mafiesto4 cfc9f73744 Fix deadlock between content storage and asset that is being updated during load
#2621
2024-05-20 14:22:03 +02:00
mafiesto4 2418167182 Merge branch 'Tryibion-update-cursor-unlock-text' 2024-05-20 11:47:07 +02:00
mafiesto4 52090d3a6b Merge branch 'update-cursor-unlock-text' of https://github.com/Tryibion/FlaxEngine into Tryibion-update-cursor-unlock-text 2024-05-20 11:47:01 +02:00
mafiesto4 73f68c102d Revert #2421 two bone ik to solve #2610 regression 2024-05-20 11:19:03 +02:00
tecnessino 862dd1e5f1 Change comment 2024-05-18 20:37:43 +02:00
GoaLitiuM 58351d1989 Fix RichTextBox not drawing the last character 2024-05-18 00:00:27 +03:00
Tryibion 6705205e2f Update cursor unlock text with correct input key bind. 2024-05-17 09:41:02 -05:00
mafiesto4 2cdd0ff644 Fix test compilation 2024-05-17 15:47:50 +02:00
mafiesto4 69ae841f64 Merge branch 'Tryibion-sel-prefab-clear-search' 2024-05-17 15:31:04 +02:00
mafiesto4 7f8700288f Merge branch 'sel-prefab-clear-search' of https://github.com/Tryibion/FlaxEngine into Tryibion-sel-prefab-clear-search 2024-05-17 15:30:59 +02:00
mafiesto4 f87dec6ca6 Merge branch 'Tryibion-edit-options-move' 2024-05-17 15:30:50 +02:00
mafiesto4 65a6c0aed5 Merge branch 'edit-options-move' of https://github.com/Tryibion/FlaxEngine into Tryibion-edit-options-move 2024-05-17 15:30:44 +02:00
mafiesto4 f6dd0decfb Merge branch 'Tryibion-prefab-camera' 2024-05-17 15:30:26 +02:00
mafiesto4 816984542a Merge branch 'prefab-camera' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-camera 2024-05-17 15:30:18 +02:00
Tryibion 3837e8b263 Rename "Options" to "Editor Options" and move under the "Edit" menu. 2024-05-16 23:20:44 -05:00
Tryibion 47b3141f18 Clear item search on select prefab 2024-05-16 23:00:32 -05:00
Tryibion e10ee3e55a Force camera model to load in prefabs. 2024-05-16 16:49:56 -05:00
mafiesto4 0a4e89e29b Fix UI navigation when using multiple canvases
#2574
2024-05-16 16:12:53 +02:00
mafiesto4 0765fa92b5 Add option to move all selected UI Controls while holding Shift key 2024-05-16 14:11:11 +02:00
mafiesto4 2529312152 Refactor Color.FromRGBA and add matching old logic Color.FromARGB
2592
2024-05-16 13:45:29 +02:00
mafiesto4 3404643636 Add better error messages to NetworkReplicator::SetObjectOwnership for incorrect usage 2024-05-16 10:49:51 +02:00
mafiesto4 6b9f6ac82e Fix incorrect async methods used as RPCs (not supported now) 2024-05-16 10:35:17 +02:00
mafiesto4 ab5bb79754 Fix regression in collections editing after improving ReadOnly option 2024-05-16 10:34:57 +02:00
mafiesto4 58f95d6ce3 Simplify 6f2bd0e932 2024-05-15 23:49:46 +02:00
mafiesto4 97be8ee8cc Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Engine/Content/Storage/FlaxStorage.cpp
#	Source/Engine/Renderer/GBufferPass.cpp
2024-05-15 23:49:05 +02:00
mafiesto4 1d6e8c4b7c Add video support on Android 2024-05-15 23:39:10 +02:00
mafiesto4 1cd2f6a070 Fix compilation when using non-strongly typed enum as default value 2024-05-15 13:23:30 +02:00
mafiesto4 35ddfc2455 Add test case of nested types in scripting
#2582 #2591
2024-05-15 13:09:51 +02:00
mafiesto4 17d1d87268 Merge branch 'GoaLitiuM-nested_type_fixes' 2024-05-15 12:51:57 +02:00
mafiesto4 fd871ce830 Merge branch 'nested_type_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-nested_type_fixes 2024-05-15 12:50:44 +02:00
mafiesto4 b4a4a8a591 Minor code cleanup 2024-05-15 12:40:08 +02:00
mafiesto4 24e4015425 Merge branch 'Tryibion-font-case' 2024-05-15 12:30:43 +02:00
mafiesto4 c670887b1a Merge branch 'font-case' of https://github.com/Tryibion/FlaxEngine into Tryibion-font-case 2024-05-15 12:30:39 +02:00
mafiesto4 d3cd6a461b Merge branch 'Tryibion-ui-edit-handles' 2024-05-15 12:26:25 +02:00
mafiesto4 2625a9d762 Merge branch 'ui-edit-handles' of https://github.com/Tryibion/FlaxEngine into Tryibion-ui-edit-handles 2024-05-15 12:26:20 +02:00
mafiesto4 4fdd9a242b Merge branch 'Tryibion-add-script' 2024-05-15 12:26:06 +02:00
mafiesto4 a6e8e6f749 Merge branch 'add-script' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-script 2024-05-15 12:25:59 +02:00
mafiesto4 03eabbcf63 Merge branch 'Tryibion-control-trans-dup' 2024-05-15 12:25:34 +02:00
mafiesto4 13f94dcf11 Merge branch 'control-trans-dup' of https://github.com/Tryibion/FlaxEngine into Tryibion-control-trans-dup 2024-05-15 12:25:28 +02:00
mafiesto4 3b44062eb0 Merge branch 'Tryibion-checkerboard-colorpicker' 2024-05-15 12:25:13 +02:00
mafiesto4 1457637707 Merge branch 'checkerboard-colorpicker' of https://github.com/Tryibion/FlaxEngine into Tryibion-checkerboard-colorpicker 2024-05-15 12:25:08 +02:00
mafiesto4 d28567111f Merge branch 'Tryibion-treenode-guidelines' 2024-05-15 12:24:17 +02:00
mafiesto4 1c7f06e570 Merge branch 'treenode-guidelines' of https://github.com/Tryibion/FlaxEngine into Tryibion-treenode-guidelines 2024-05-15 12:24:12 +02:00
mafiesto4 63cc0fef2e Merge branch 'Tryibion-tooltip-text-padding' 2024-05-15 12:23:52 +02:00
mafiesto4 57084b3d6c Merge branch 'tooltip-text-padding' of https://github.com/Tryibion/FlaxEngine into Tryibion-tooltip-text-padding 2024-05-15 12:23:47 +02:00
mafiesto4 fa23619f08 Merge branch 'Tryibion-scroll-colors' 2024-05-15 12:23:12 +02:00
mafiesto4 1f2456fc67 Merge branch 'scroll-colors' of https://github.com/Tryibion/FlaxEngine into Tryibion-scroll-colors 2024-05-15 12:23:08 +02:00
mafiesto4 0b71e906a6 Merge branch 'Tryibion-textbox-add' 2024-05-15 12:22:47 +02:00
mafiesto4 2e59c35a44 Merge branch 'textbox-add' of https://github.com/Tryibion/FlaxEngine into Tryibion-textbox-add 2024-05-15 12:22:40 +02:00
mafiesto4 6f2bd0e932 Another attempt on 6a883bc7c6 2024-05-15 11:22:07 +02:00
mafiesto4 82bf4238df Add support for decoding NV12 into RGB image 2024-05-15 11:15:19 +02:00
mafiesto4 9d2dc91920 Add PixelFormat::NV12 2024-05-15 11:14:16 +02:00
mafiesto4 3ae30a59b3 Fix engine with c# scripting disabled 2024-05-14 13:13:37 +02:00
mafiesto4 6a883bc7c6 Revert file handles bug 2024-05-14 09:03:52 +02:00
Tryibion 17de6388ca Code fix 2024-05-13 17:42:37 -05:00
Tryibion e028d263f1 Remove unused include. 2024-05-13 16:38:38 -05:00
Tryibion 6962ed6730 Fix case spelling 2024-05-13 16:38:10 -05:00
Tryibion b66d50ae1b Add font and case options to Label and Textbox 2024-05-13 16:34:23 -05:00
mafiesto4 a742ce1d32 Optimize FileReadStream seeking if new position is within the cached buffer 2024-05-13 22:40:27 +02:00
Tryibion 675ce71935 Draw hover before selection so that way ui selection is drawn on top. 2024-05-13 12:45:59 -05:00
Tryibion 833f844d59 Minor improvements to ui editor widget drawing. 2024-05-13 12:38:11 -05:00
mafiesto4 af08dc1c69 Fix ReadOnly attribute handling in collection editors 2024-05-13 16:08:50 +02:00
mafiesto4 3593f835cd Remove unused property of video player 2024-05-13 15:03:55 +02:00
mafiesto4 df086f3b3b Add more backends 2024-05-13 15:03:44 +02:00
Tryibion 07628d2ec7 Clean up code 2024-05-11 21:31:00 -05:00
Tryibion aac3dbfe09 Fix control transform duplicating when changing anchor. 2024-05-11 21:29:45 -05:00
Tryibion 185f24ce49 Fix value alpha transparency being applied twice to preview color. 2024-05-11 20:19:51 -05:00
GoaLitiuM 77e29109ee Fix native internal type name for deeply nested types 2024-05-11 15:48:49 +03:00
GoaLitiuM 8d89b9efb0 Fix internal type name for nested blittable element types 2024-05-11 15:48:43 +03:00
Tryibion b2fee31a13 Add checkerboard background to color picker dialog color. 2024-05-10 20:30:14 -05:00
Tryibion fc7628e2ee Add tree node guidlines 2024-05-10 19:22:23 -05:00
Tryibion 2e3e4959d6 Add width padding for tooltip 2024-05-10 17:18:10 -05:00
Tryibion f22105c2c3 Allow adding script via drag drop 2024-05-10 16:58:40 -05:00
Tryibion 533902d185 Change panel scroll bar style editor order. 2024-05-10 15:04:27 -05:00
mafiesto4 6b31d51e31 Add volume, pan and spatial audio options for video playback 2024-05-10 13:54:52 +02:00
mafiesto4 f0d143ecaa Fix decoding 480p videos 2024-05-10 13:29:08 +02:00
mafiesto4 196aa020fd Fix video playback if fie has no audio track 2024-05-10 13:16:07 +02:00
mafiesto4 ffe5105602 Fixes for audio playback in videos 2024-05-10 13:12:07 +02:00
mafiesto4 4acaa62a07 Fix crash in AudioBackendOAL::Source_DequeueProcessedBuffers when buffer count is large 2024-05-10 12:52:07 +02:00
mafiesto4 68653fa91f Add small code optimizations 2024-05-10 12:27:28 +02:00
Tryibion dc0aa61a14 Add scrollbar colors to Panel 2024-05-09 22:14:08 -05:00
Tryibion ee790ff3a9 Change colors for tabs to be seen better. 2024-05-09 21:53:22 -05:00
Tryibion a2a3926aee Expose colors in scrollbar 2024-05-09 21:53:04 -05:00
Tryibion 9a70344c1f Fix carrot location on text box with no text. Add vertical and horizontal alignment options to textbox. 2024-05-09 21:31:54 -05:00
mafiesto4 44006dd533 Various code improvements 2024-05-09 18:59:09 +02:00
mafiesto4 f6aabf2d14 Optimize navmesh building and reduce scene lock time 2024-05-09 18:58:47 +02:00
mafiesto4 dc1f15f18d Add OnStaticFlagsChanged to Actor 2024-05-09 16:55:05 +02:00
mafiesto4 7d7808af8f Remove default value tooltips from post process docs to prevent errors 2024-05-09 10:56:42 +02:00
mafiesto4 5029584a9f Fix crash when Visual Script event binding instance is invalid
#2548
2024-05-09 10:17:23 +02:00
mafiesto4 f353d3f114 Fix looping root motion 2024-05-09 10:16:45 +02:00
mafiesto4 667e8bc293 Minor cleanup in anim code 2024-05-09 10:16:34 +02:00
mafiesto4 2edb9cc4d8 Fix compilation warnings when using 64-bit coords 2024-05-08 23:24:23 +02:00
mafiesto4 7018666a8c Add layer masking for PostFxVolume against Camera's RenderLayersMask
#2573
2024-05-08 22:42:35 +02:00
mafiesto4 f04926ad94 Merge branch 'GoaLitiuM-treenode_expanded_fix' 2024-05-08 19:30:55 +02:00
mafiesto4 e7508538e0 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Flax.flaxproj
2024-05-08 19:27:56 +02:00
GoaLitiuM 50f5f0acd9 Fix TreeNode rendering issues with expanded nodes 2024-05-08 20:15:55 +03:00
mafiesto4 33202a74b0 Fix 2024-05-08 19:15:25 +02:00
mafiesto4 3745979b81 Add attributes for game into AndroidManifest 2024-05-08 18:49:16 +02:00
mafiesto4 db15f6f08a Add For Distribution to be enabled by default in Release builds
#2571
2024-05-08 18:48:55 +02:00
mafiesto4 e1a2f51d5a Merge branch 'GoaLitiuM-editor_font_validation' 2024-05-08 18:17:53 +02:00
mafiesto4 a8e1fd7a4a Merge branch 'editor_font_validation' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-editor_font_validation 2024-05-08 18:17:46 +02:00
mafiesto4 d46ef6ac92 Merge branch 'Tryibion-add-shift-scroll' 2024-05-08 18:17:20 +02:00
mafiesto4 36d21b27c7 Merge branch 'add-shift-scroll' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-shift-scroll 2024-05-08 18:17:13 +02:00
mafiesto4 b1636c27e7 Merge branch 'Tryibion-Move-control-transform' 2024-05-08 17:39:48 +02:00
mafiesto4 5d32fc6c5e Merge branch 'Move-control-transform' of https://github.com/Tryibion/FlaxEngine into Tryibion-Move-control-transform 2024-05-08 17:31:47 +02:00
mafiesto4 065dc474c0 Merge branch 'Tryibion-game-window-focus-issue' 2024-05-08 17:31:16 +02:00
mafiesto4 1fb7b24aad Merge branch 'game-window-focus-issue' of https://github.com/Tryibion/FlaxEngine into Tryibion-game-window-focus-issue 2024-05-08 17:31:08 +02:00
mafiesto4 f0b72aa025 Merge branch 'Tryibion-color-picker' 2024-05-08 17:30:50 +02:00
mafiesto4 058077736b Merge branch 'color-picker' of https://github.com/Tryibion/FlaxEngine into Tryibion-color-picker 2024-05-08 17:30:45 +02:00
mafiesto4 571ba6773d Optimize win32 filesystem access via static buffer or unlimited path len 2024-05-08 17:28:46 +02:00
mafiesto4 40652a0ebc Fix HashSet adding item via move operation 2024-05-08 17:28:14 +02:00
mafiesto4 481a6de821 Add support for cooking raw files referenced by assets 2024-05-08 17:27:46 +02:00
mafiesto4 66b828ae92 Refactor Asset::GetReferences to support file path references 2024-05-08 15:54:37 +02:00
mafiesto4 b91f51fb46 Add async videos update 2024-05-08 12:35:18 +02:00
mafiesto4 b02f011627 Merge branch 'GoaLitiuM-drawtext_fix' 2024-05-08 10:34:33 +02:00
mafiesto4 e51d2dda00 Fix playing 6-channel audio with XAudio2 backend 2024-05-08 10:20:04 +02:00
mafiesto4 a11fa46ee2 Add cpu profile events to GPU tasks executor queue 2024-05-08 10:19:39 +02:00
mafiesto4 47f3ecbde2 Fix video player shutdown on editor window close 2024-05-08 10:19:22 +02:00
mafiesto4 deb2319190 Add audio playback support to video player 2024-05-08 10:19:08 +02:00
GoaLitiuM ea04c746fd Fix Editor not launching if custom interface fonts are missing 2024-05-07 21:18:09 +03:00
GoaLitiuM 97454fc82e Fix drawing an extra character with Render2D.DrawText 2024-05-07 20:10:05 +03:00
Tryibion 4a6afdb108 Small fixes for color picker. 2024-05-07 08:41:23 -05:00
mafiesto4 4b8970f674 Update assets 2024-05-06 10:41:07 +02:00
mafiesto4 f43cd97907 Refactor Audio Backend to not depend on AudioSource object 2024-05-06 10:36:36 +02:00
mafiesto4 65e852600a Merge branch 'Tryibion-skip-empty-layers' 2024-05-05 22:56:47 +02:00
mafiesto4 fedd990c13 Merge branch 'skip-empty-layers' of https://github.com/Tryibion/FlaxEngine into Tryibion-skip-empty-layers 2024-05-05 22:56:41 +02:00
mafiesto4 c0329abe40 Merge branch 'Tryibion-fix-properties-1st-offset' 2024-05-05 22:55:30 +02:00
mafiesto4 d8850a56a8 Merge branch 'fix-properties-1st-offset' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-properties-1st-offset 2024-05-05 22:55:26 +02:00
mafiesto4 e171bb06ec Merge branch 'GoaLitiuM-unbox_array_fix' 2024-05-05 22:54:18 +02:00
mafiesto4 3825e07adc Merge branch 'unbox_array_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unbox_array_fix 2024-05-05 22:54:12 +02:00
mafiesto4 db8adf7d96 Fix creating virtual terrain collision of actor that is not in a game 2024-05-05 22:50:12 +02:00
GoaLitiuM e77ae12b9b Fix unboxing of array type Variants 2024-05-05 13:15:54 +03:00
Tryibion bf4e4aeaf6 Fix bottom offset for last property label and property 2024-05-04 22:32:00 -05:00
Tryibion 2107b069db Fix odd offset between 1st property and property label. 2024-05-04 19:25:56 -05:00
Tryibion ea2005dacb Add layer number to LayerMask UI 2024-05-04 18:08:53 -05:00
Tryibion d5cded8aaa Skip empty layers for LayerMask Editor 2024-05-04 17:51:27 -05:00
Tryibion 430b22d5d7 Dont unfocus game window while cursor is not visible unless the lock mode is none. 2024-05-04 17:37:32 -05:00
mafiesto4 5b2af6b3d5 Refactor Audio Backend to not depend on AudioListener object 2024-05-04 22:16:20 +02:00
mafiesto4 f604503566 Refactor Audio Backend to support single listener only 2024-05-04 21:47:47 +02:00
mafiesto4 388a0f4196 Add initial audio buffer support in video player 2024-05-03 14:32:23 +02:00
mafiesto4 754ed56119 Add FilePathEditor custom editor for path-based editing asset/url refs with a file picker 2024-05-03 12:26:03 +02:00
mafiesto4 dca8e391fa Rollback video thumbnail as generic for now 2024-05-02 18:48:49 +02:00
mafiesto4 9d830eb1e2 Fix crash when using scripting object as interface implementation in object property displayed in Editor
#2493
2024-05-02 18:31:30 +02:00
mafiesto4 7e3f84f95e Merge branch 'Tryibion-gg-keep-last-type' 2024-05-02 15:57:50 +02:00
mafiesto4 cddee38d71 Merge branch 'gg-keep-last-type' of https://github.com/Tryibion/FlaxEngine into Tryibion-gg-keep-last-type 2024-05-02 15:57:45 +02:00
mafiesto4 e030d0461b Merge branch 'Tryibion-smoothstep-node-width' 2024-05-02 15:57:31 +02:00
mafiesto4 4978c8e0d9 Merge branch 'smoothstep-node-width' of https://github.com/Tryibion/FlaxEngine into Tryibion-smoothstep-node-width 2024-05-02 15:57:20 +02:00
mafiesto4 dc7b7e6e10 Merge branch 'Tryibion-rename-trim' 2024-05-02 15:56:33 +02:00
mafiesto4 1e3eb11b94 Merge branch 'rename-trim' of https://github.com/Tryibion/FlaxEngine into Tryibion-rename-trim 2024-05-02 15:56:25 +02:00
mafiesto4 b15b231b85 Merge branch 'Tryibion-windows-hide-cursor' 2024-05-02 15:55:56 +02:00
mafiesto4 262992571a Merge branch 'windows-hide-cursor' of https://github.com/Tryibion/FlaxEngine into Tryibion-windows-hide-cursor 2024-05-02 15:55:50 +02:00
mafiesto4 352bf3f9a7 Merge branch 'Tryibion-fix-toolbox-panel-size' 2024-05-02 15:55:29 +02:00
Tryibion 9683868767 Add shift scroll for panels and textbox 2024-05-01 16:12:53 -05:00
Tryibion 40284fbbf8 Fix smooth step visject node width 2024-05-01 14:05:10 -05:00
Tryibion 0c86a900da Default gameplay global type selection to last selected type. 2024-05-01 13:54:41 -05:00
Tryibion c1e3eaeab1 Force windows cursor to show or hide based on cursor hidden value 2024-05-01 13:23:56 -05:00
Tryibion 3c487dff47 Trim actor name on rename. 2024-05-01 12:01:01 -05:00
Tryibion 2260d79e26 Trim content item name on rename 2024-05-01 11:54:07 -05:00
mafiesto4 863794d3c0 Add playback buttons and info label to Video Player actor editor 2024-05-01 01:30:03 +02:00
mafiesto4 0d8c9f6626 Add Video module 2024-05-01 01:25:16 +02:00
mafiesto4 8a45dda98c Add support for custom file proxies in Editor 2024-05-01 01:05:15 +02:00
Tryibion 3209320547 Add margin to item tree in toolbox 2024-04-30 15:05:58 -05:00
Tryibion d1db06a9bb Change text alignment to far on some control transform properties 2024-04-29 19:44:49 -05:00
Tryibion 1c1d2fd96f Fix still showing some control transform properties in wrong spot. 2024-04-29 19:38:36 -05:00
Tryibion 2e5ad8c48a Always set control transform under general tab 2024-04-29 18:28:04 -05:00
Tryibion 9a6f866956 Move control transform to be under general group in layout. 2024-04-29 18:24:01 -05:00
mafiesto4 c59bce3b58 Merge branch 'Tryibion-controls-toolbox' 2024-04-29 18:37:11 +02:00
mafiesto4 1185a9c06c Merge branch 'controls-toolbox' of https://github.com/Tryibion/FlaxEngine into Tryibion-controls-toolbox
# Conflicts:
#	Source/Editor/SceneGraph/GUI/ActorTreeNode.cs
2024-04-29 18:37:04 +02:00
Tryibion 026b69c544 Merge branch 'master' into controls-toolbox 2024-04-29 11:34:03 -05:00
mafiesto4 df7ece7655 Merge branch 'Tryibion-controls-toolbox' 2024-04-29 18:24:36 +02:00
mafiesto4 7e8f20bd9b Merge branch 'controls-toolbox' of https://github.com/Tryibion/FlaxEngine into Tryibion-controls-toolbox
# Conflicts:
#	Source/Editor/SceneGraph/GUI/ActorTreeNode.cs
2024-04-29 16:56:30 +02:00
mafiesto4 20aef27439 Merge branch 'Tryibion-watermark-attribute' 2024-04-29 12:23:06 +02:00
mafiesto4 12344cf725 Merge branch 'watermark-attribute' of https://github.com/Tryibion/FlaxEngine into Tryibion-watermark-attribute 2024-04-29 12:23:01 +02:00
mafiesto4 ebb2704726 Merge branch 'Tryibion-fix-caret' 2024-04-29 12:21:55 +02:00
mafiesto4 5f9d0140c7 Merge branch 'fix-caret' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-caret 2024-04-29 12:21:49 +02:00
mafiesto4 02a7f74993 Merge branch 'Tryibion-focus-window-on-spawn' 2024-04-29 10:44:16 +02:00
mafiesto4 452e12db45 Merge branch 'focus-window-on-spawn' of https://github.com/Tryibion/FlaxEngine into Tryibion-focus-window-on-spawn 2024-04-29 10:44:09 +02:00
mafiesto4 ac46c89904 Merge branch 'Tryibion-fix-actortype-drag-spawn' 2024-04-29 10:42:38 +02:00
mafiesto4 88acc772b3 Merge branch 'fix-actortype-drag-spawn' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-actortype-drag-spawn 2024-04-29 10:42:31 +02:00
mafiesto4 fbec80c801 Fix error when using undo after removing Multi Blend node 2024-04-29 10:35:32 +02:00
mafiesto4 1ef487a5cc Add removing selected blend space point with Delete key
#2505
2024-04-29 10:35:07 +02:00
mafiesto4 1e5861de25 Merge branch 'Tryibion-win-layout-name' 2024-04-29 10:19:48 +02:00
mafiesto4 07733a4efb Merge branch 'win-layout-name' of https://github.com/Tryibion/FlaxEngine into Tryibion-win-layout-name 2024-04-29 10:19:38 +02:00
mafiesto4 fee15846ba Merge branch 'GoaLitiuM-fix_treenode_rendering' 2024-04-29 10:18:06 +02:00
mafiesto4 7040da9a44 Merge branch 'fix_treenode_rendering' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-fix_treenode_rendering 2024-04-29 10:17:58 +02:00
GoaLitiuM a8a621df3b Fix TreeNode not rendering all nodes properly with invisible children 2024-04-28 20:30:41 +03:00
Tryibion 18660140b0 Add controls to the ActorToolbox in the GUI tab. Add dragging and dropping controls from toolbox into scene and prefab trees. 2024-04-27 15:55:25 -05:00
Tryibion 58cc53b44d Remove unused include 2024-04-27 11:10:27 -05:00
Tryibion d8bb831dd9 Add watermark attribute to add watermark to string fields in editor. Have watermark show even when textbox is focused . 2024-04-27 11:07:20 -05:00
Tryibion 0d770e3909 Focus prefab window on item spawn. 2024-04-27 09:56:51 -05:00
Tryibion 3641886ebf Fix textbox caret showing on empty string. 2024-04-27 09:16:03 -05:00
Tryibion 611dd7bad1 Change "Apply window layouts" to "Window layouts" 2024-04-27 09:01:46 -05:00
Tryibion 7db20e0411 Fix actor type drag spawn to correctly assign parent. 2024-04-27 08:44:20 -05:00
mafiesto4 e835b25637 Fix wired Vulkan validation cache errors on Linux
#2201 #1825
2024-04-26 21:47:51 +02:00
mafiesto4 0cdce9dba2 Upgrade GDK to 230305 and support v143 MSVC toolset 2024-04-25 23:09:18 +02:00
mafiesto4 97078cda7e Fix GPU Tasks queue to be executed on frame start, rather than end 2024-04-25 17:10:39 +02:00
mafiesto4 10c47b8c2a Fix missing namespace 2024-04-25 17:09:54 +02:00
mafiesto4 3ebf73ec22 Add video texture format YUY2 2024-04-25 10:26:23 +02:00
mafiesto4 ebe05d4a51 Refactor RenderToolsDX to support new pixel formats properly 2024-04-24 17:35:58 +02:00
mafiesto4 cdeb9a3b15 Merge remote-tracking branch 'origin/master' into 1.9
# 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/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/DefaultTerrainMaterial.flax
#	Content/Engine/SingleColorMaterial.flax
#	Content/Engine/SkyboxMaterial.flax
#	Source/Engine/Graphics/Materials/MaterialShader.h
2024-04-23 10:30:01 +02:00
mafiesto4 60e8d73079 Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts:
#	Source/Engine/Renderer/RenderList.cpp
#	Source/Engine/Renderer/RenderList.h
2024-04-17 09:58:59 +02:00
mafiesto4 cf23892bd4 Fix sun shadows invalidate when view rotates 2024-04-14 23:51:20 +02:00
mafiesto4 25f3cef8c3 Fix artifacts due to light shape culling and use depth test to improve perf 2024-04-14 23:44:08 +02:00
mafiesto4 00f2a0b825 Improve doc 2024-04-12 11:29:21 +02:00
mafiesto4 7342629a86 Add dynamic resolution for static shadow map tiles limited by current dynamic res 2024-04-11 18:47:32 +02:00
mafiesto4 5f860db6a5 Fix typo 2024-04-11 17:34:21 +02:00
mafiesto4 6233718b06 Update engine shaders 2024-04-11 17:33:42 +02:00
mafiesto4 62444315de Add METERS_TO_UNITS and impl metric units in shadows rendering 2024-04-11 16:38:43 +02:00
mafiesto4 a532ea7b42 Add InvalidateShadow for manual shadow cache refresh 2024-04-11 16:34:42 +02:00
mafiesto4 803249f126 Minor tweaks 2024-04-11 16:19:35 +02:00
mafiesto4 4e65b76b8c Optimize BoundingSphere.Intersects to be inlined by the compiler 2024-04-11 15:58:34 +02:00
mafiesto4 890b2da108 Add **shadows caching for static geometry** 2024-04-11 15:35:18 +02:00
mafiesto4 eac1d19a09 Add additional StaticFlagsCompare to Render View for dynamic or static only drawing 2024-04-11 10:21:13 +02:00
mafiesto4 c4949de28f Add new Static Flag Shadow for cached shadow maps 2024-04-11 10:20:21 +02:00
Menotdan 019230f6d9 Allow users to choose what type of widget they want to create. 2024-04-11 00:03:04 -04:00
Menotdan fe6c254a24 Support displaying "Widget" instead of "Prefab" in the type description. 2024-04-10 18:47:01 -04:00
Menotdan 8ef38178e6 Allow the user to pick prefab type upon creation of a prefab. 2024-04-10 18:13:27 -04:00
Menotdan 873ac347d4 Remove extra usings. 2024-04-10 16:30:39 -04:00
Menotdan 48400ff5ce Add better error handling to particle system creation. Add skinned model -> animation graph workflow, though a bit hacky. 2024-04-10 16:26:29 -04:00
mafiesto4 340ef194d3 Add grey out to obsolete/deprecated members in properties panel 2024-04-10 13:36:59 +02:00
Menotdan ad8bec40bb Add creating particle systems from particle emitters. 2024-04-10 05:04:36 -04:00
mafiesto4 b4547ec4d2 Minor fixes 2024-04-10 11:03:33 +02:00
mafiesto4 89f7e442f7 Fix point light seams due to missing shadow map borders 2024-04-10 11:03:18 +02:00
mafiesto4 e7bef5e880 Bring back Optimized PCF sampling for shadow maps
61323f8526
2024-04-09 17:55:29 +02:00
mafiesto4 ff7c986fb1 Add better stability to Cascaded Shadow Maps projection 2024-04-09 16:58:22 +02:00
Norite SC 137de0a8b2 forgotten how to do loops 🐛 😆 2024-04-08 01:27:58 +02:00
mafiesto4 708fba5136 Add variable rate update for shadow maps atlas based on distance to light 2024-04-08 00:04:57 +02:00
Norite SC 85f3fdd438 Update Vector3.cs 2024-04-07 23:29:19 +02:00
Norite SC 55be82a2c4 Update Vector3.cs 2024-04-07 03:23:52 +02:00
Norite SC 0b19d8639b changed float to Real 2024-04-07 03:02:47 +02:00
Norite SC 92b35ab3e7 GetClosest for vectos 2024-04-07 02:40:35 +02:00
mafiesto4 7d92779e99 Merge remote-tracking branch 'origin/master' into 1.9 2024-04-05 21:50:42 +02:00
mafiesto4 4c8528dcae Remove branch macro as it's just texture sample in lights shader 2024-04-05 12:48:34 +02:00
mafiesto4 3efd1e4e84 Optimize local lights sphere mesh rendering to match the area better 2024-04-05 12:48:09 +02:00
mafiesto4 0cc6669cbd Reimplement cascaded shadow maps blending via dithering 2024-04-05 10:59:34 +02:00
mafiesto4 8bd409e95d DIsable certain shader features in Volumetric Fog shader 2024-04-04 14:35:22 +02:00
mafiesto4 3d0d41ebff Add reducing shadows quality for smaller local lights 2024-04-04 13:29:38 +02:00
mafiesto4 61323f8526 Refactor shadows rendering to use Shadow Map Atlas 2024-04-04 12:54:07 +02:00
Norite SC 18d641e2aa correct spelling mistakes and doc's
Co-Authored-By: Menotdan <32620310+Menotdan@users.noreply.github.com>
2024-04-03 14:34:51 +02:00
mafiesto4 017def29d4 Rename ShadowSamplerPCF to ShadowSamplerLinear 2024-04-03 13:29:45 +02:00
Norite SC bfa3507cc6 missing cpp funcion 💩 2024-04-03 06:36:33 +02:00
Norite SC 137a60ccef will it explode ? 2024-04-03 06:34:22 +02:00
Norite SC 58d4bad400 Update Vector3.cpp 2024-04-03 06:16:46 +02:00
Norite SC f6f1f0023a fixed compile errors 2024-04-03 06:03:31 +02:00
Norite SC f6313b4427 Extended math lib
added
GetRotacionFromNormal
AlignRotacionToNormalAndSnapToGrid
SnapToRotatedGrid
SnapToRotatedGridWithOffset
2024-04-03 04:53:11 +02:00
mafiesto4 13a04c2941 Add stencilValue for stencil buffer clearing 2024-04-02 14:56:26 +02:00
mafiesto4 bc9cdf5cdb Update version 2024-04-02 14:34:43 +02:00
Menotdan d8ca8f5985 Attempt to fix compilation error. 2024-03-26 21:26:29 -04:00
Menotdan ac36297e27 Add basic support for log contexts. 2024-03-26 21:09:18 -04:00
mafiesto4 f7470af42d Optimize depth pass rendering to batch simple materials together 2024-03-26 18:04:08 +01:00
mafiesto4 5c356ec22a Fix Global Surface Atlas defragmentation flicker when atlas it nearly full 2024-03-26 16:50:58 +01:00
mafiesto4 06a35da0a8 Merge remote-tracking branch 'origin/master' into 1.9 2024-03-26 16:45:31 +01:00
mafiesto4 55af307c43 Optimize env probes data storage in renderer 2024-03-26 15:01:12 +01:00
mafiesto4 4ab572426d Various renamings 2024-03-26 14:27:10 +01:00
mafiesto4 01d91bf102 Optimize decals rendering 2024-03-26 14:05:24 +01:00
mafiesto4 2dfb1058b2 Optimize world matrix storage for drawable objects to use Matrix3x4 instead of full matrix 2024-03-26 11:29:01 +01:00
mafiesto4 cdbb2cc813 Refactor shader structures naming with a prefix 2024-03-25 17:52:48 +01:00
mafiesto4 0e00f1e0eb Refactor lights data in renderer storage 2024-03-25 17:13:40 +01:00
mafiesto4 d13621e631 Skip CloseFileHandles if file is not in use 2024-03-25 16:50:48 +01:00
z1dev 7fef21218e Alternative Rectangle function names for naming consistency. 2024-03-21 14:13:24 +01:00
GoaLitiuM 7aa4ae1782 Fix assigning null values into value types in Custom Editor
Resets back to previous value instead of setting the editor value to
empty.
2024-03-16 14:11:49 +02:00
GoaLitiuM dd7739f95e Avoid deserializing clipboard content in Custom Editor paste checks 2024-03-16 14:11:46 +02:00
ruan 203f5d06d1 Fix typo 2024-02-10 20:46:05 -04:00
ruan c6515da8c9 Improve rename window style and refactor 2024-02-10 20:36:42 -04:00
ruan 5d61e45ecd Add rename multiple actors 2024-02-04 10:42:29 -04:00
Menotdan 96ba3832d6 Re-add change allowing you to drag anywhere on the node. 2023-11-10 10:53:14 -05:00
Menotdan 14d14dd6f3 Merge branch 'master' into visject_grid_snap
Merged master.
2023-11-10 10:44:59 -05:00
Menotdan c9d7498bed Remove unneeded changes. 2023-10-12 13:57:38 -04:00
Menotdan 46e26e63ef Revert auto-resize feature to put in a different branch. 2023-10-12 13:54:03 -04:00
Menotdan 32614daebd Merge remote-tracking branch 'origin/master' into visject_grid_snap 2023-10-12 13:13:53 -04:00
Menotdan 6af9df79b2 Debug testing.. 2023-10-10 19:11:45 -04:00
Menotdan 075da66344 I am not a C# compiler. 2023-10-10 12:46:49 -04:00
Menotdan e273433d19 Merge branch 'master' into visject_grid_snap 2023-10-10 12:37:13 -04:00
Edu Garcia 2bec653b81 Add color picker option to accept changes on dismissal 2023-10-07 10:15:17 +01:00
Menotdan 074dc2c58d Merge branch 'FlaxEngine:master' into visject_grid_snap 2023-10-03 23:30:18 -04:00
Menotdan 1b12ccd180 Remove extra spacing on copyright notice. 2023-10-02 00:36:07 -04:00
Menotdan 8cf6134f8b Cleanup. 2023-10-02 00:34:14 -04:00
Menotdan 8ba1878657 Cleanup Logs. 2023-10-02 00:18:16 -04:00
Menotdan d9f3fe186d Implement function to properly get the size of the value editor for an InputBox. 2023-10-02 00:13:29 -04:00
Menotdan 032793d202 Merge branch 'visject_grid_snap' of https://github.com/Menotdan/FlaxEngine into visject_grid_snap
Merge master to bring everything up to date.
2023-10-01 23:32:27 -04:00
Menotdan 4e45ac6ef4 Merge branch 'FlaxEngine:master' into visject_grid_snap 2023-10-01 23:32:21 -04:00
Menotdan 081ef1fd81 More debug draws. It seems to be showing some weird issues with leftWidth/rightWidth size. 2023-09-25 14:20:35 -04:00
Menotdan 2696bc3704 Add debug view for collision boxes. 2023-09-22 12:26:11 -04:00
Menotdan 67653cc0e8 Increase the size of the bitwise node to accomodate for the "Result" text. 2023-09-20 01:45:49 -04:00
Menotdan b4d95a68f1 Apply patch from DutchDave on discord to make nodes selectable from any point on the node. 2023-09-19 23:08:57 -04:00
Menotdan 0fe1acdabc Update grid size to fit the Node Box positioning. 2023-09-19 23:00:55 -04:00
Menotdan a7d56c29b5 Update scaling setters. 2023-09-19 23:00:17 -04:00
Menotdan d83d510002 Update material size node to fit text.. 2023-09-19 22:59:38 -04:00
Menotdan b202573920 Scale node size to the next highest grid-aligned size. 2023-09-18 10:37:23 -04:00
Menotdan 83bf68a64f Make GridSize public. 2023-09-17 18:31:49 -04:00
Menotdan 02d68bc057 Add toggle button for grid snapping. 2023-09-17 18:20:50 -04:00
Menotdan 5571430e1b Move options out of VisjectSurface.Input to a different place. 2023-09-17 16:50:02 -04:00
Menotdan e38da7eb95 Factor Toolstrip setup out from the various Visject Windows. I made this it's own commit in case you don't like these changes, but if you want to undo you will have to add the new button I added to all three windows. 2023-09-17 16:48:41 -04:00
Menotdan 976faee8a3 Extract options from testing area and handle extra mouse deltas that were not processed during the previous movement frame. 2023-09-17 12:46:57 -04:00
Menotdan bd6ce4ae25 Very basic grip snap working. Need to add configuration. 2023-09-17 02:03:01 -04:00
1242 changed files with 69332 additions and 36190 deletions
+2 -5
View File
@@ -10,15 +10,12 @@ jobs:
# Editor
editor-linux:
name: Editor (Linux, Development x64)
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-24.04"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/*
sudo cp -f .github/workflows/build_linux_sources.list /etc/apt/sources.list
sudo apt-get update
sudo apt-get install 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
@@ -41,7 +38,7 @@ jobs:
# Game
game-linux:
name: Game (Linux, Release x64)
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-24.04"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -1,4 +0,0 @@
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
+2 -8
View File
@@ -76,7 +76,7 @@ jobs:
# Linux
package-linux-editor:
name: Editor (Linux)
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-24.04"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -86,9 +86,6 @@ jobs:
git lfs pull
- name: Install dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/*
sudo cp -f .github/workflows/build_linux_sources.list /etc/apt/sources.list
sudo apt-get update
sudo apt-get install 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
@@ -110,7 +107,7 @@ jobs:
path: Output/FlaxEditorLinux.zip
package-linux-game:
name: Game (Linux)
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-24.04"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -120,9 +117,6 @@ jobs:
git lfs pull
- name: Install dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/*
sudo cp -f .github/workflows/build_linux_sources.list /etc/apt/sources.list
sudo apt-get update
sudo apt-get install 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
+1 -4
View File
@@ -10,7 +10,7 @@ jobs:
# Tests on Linux
tests-linux:
name: Tests (Linux)
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-24.04"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -28,9 +28,6 @@ jobs:
git lfs pull
- name: Install dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/*
sudo cp -f .github/workflows/build_linux_sources.list /etc/apt/sources.list
sudo apt-get update
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Build
run: |
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.
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.
@@ -26,14 +26,12 @@ void PS_GBuffer(
)
{
Light = float4(0, 0, 0, 1);
MaterialInput materialInput = GetMaterialInput(input);
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
ClipLODTransition(materialInput);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
@@ -12,13 +12,12 @@
META_PS(USE_DISTORTION, FEATURE_LEVEL_ES2)
float4 PS_Distortion(PixelInput input) : SV_Target0
{
MaterialInput materialInput = GetMaterialInput(input);
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
ClipLODTransition(materialInput);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
@@ -16,7 +16,6 @@
#include "./Flax/ExponentialHeightFog.hlsl"
@2// Forward Shading: Constants
LightData DirectionalLight;
LightShadowData DirectionalLightShadow;
LightData SkyLight;
ProbeData EnvironmentProbe;
ExponentialHeightFogData ExponentialHeightFog;
@@ -26,9 +25,9 @@ LightData LocalLights[MAX_LOCAL_LIGHTS];
@3// Forward Shading: Resources
TextureCube EnvProbe : register(t__SRV__);
TextureCube SkyLightTexture : register(t__SRV__);
Texture2DArray DirectionalLightShadowMap : register(t__SRV__);
Buffer<float4> ShadowsBuffer : register(t__SRV__);
Texture2D<float> ShadowMap : register(t__SRV__);
@4// Forward Shading: Utilities
DECLARE_LIGHTSHADOWDATA_ACCESS(DirectionalLightShadow);
@5// Forward Shading: Shaders
// Pixel Shader function for Forward Pass
@@ -39,14 +38,12 @@ void PS_Forward(
)
{
output = 0;
MaterialInput materialInput = GetMaterialInput(input);
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
ClipLODTransition(materialInput);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
@@ -80,11 +77,8 @@ void PS_Forward(
// Calculate lighting from a single directional light
float4 shadowMask = 1.0f;
if (DirectionalLight.CastShadows > 0)
{
LightShadowData directionalLightShadowData = GetDirectionalLightShadowData();
shadowMask.r = SampleShadow(DirectionalLight, directionalLightShadowData, DirectionalLightShadowMap, gBuffer, shadowMask.g);
}
ShadowSample shadow = SampleDirectionalLightShadow(DirectionalLight, ShadowsBuffer, ShadowMap, gBuffer);
shadowMask = GetShadowMask(shadow);
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
// Calculate lighting from sky light
@@ -125,6 +119,20 @@ void PS_Forward(
float3 screenColor = sceneColorTexture.SampleLevel(SamplerPointClamp, hit.xy, 0).rgb;
reflections = lerp(reflections, screenColor, hit.z);
}
// Fallback to software tracing if possible
#if USE_GLOBAL_SURFACE_ATLAS && CAN_USE_GLOBAL_SURFACE_ATLAS
if (hit.z < REFLECTIONS_HIT_THRESHOLD)
{
float3 reflectWS = ScreenSpaceReflectionDirection(screenUV, gBuffer, ViewPos);
float4 surfaceAtlas;
if (TraceSDFSoftwareReflections(gBuffer, reflectWS, surfaceAtlas))
{
float3 screenColor = sceneColorTexture.SampleLevel(SamplerPointClamp, hit.xy, 0).rgb;
reflections = lerp(surfaceAtlas, float4(screenColor, 1), hit.z);
}
}
#endif
#endif
light.rgb += reflections * GetReflectionSpecularLighting(ViewPos, gBuffer) * light.a;
@@ -4,7 +4,6 @@
#define CAN_USE_LIGHTMAP 1
@1// Lightmap: Includes
@2// Lightmap: Constants
float4 LightmapArea;
@3// Lightmap: Resources
#if USE_LIGHTMAP
// Irradiance and directionality prebaked lightmaps
@@ -11,14 +11,15 @@
META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_MotionVectors(PixelInput input) : SV_Target0
{
#if USE_DITHERED_LOD_TRANSITION || MATERIAL_MASKED
MaterialInput materialInput = GetMaterialInput(input);
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
ClipLODTransition(materialInput);
#endif
#endif
#if MATERIAL_MASKED
// Perform per pixel clipping if material requries it
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
@@ -0,0 +1,36 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
@0// SDF Reflections: Defines
#define USE_GLOBAL_SURFACE_ATLAS 1
@1// SDF Reflections: Includes
#include "./Flax/GlobalSignDistanceField.hlsl"
#include "./Flax/GI/GlobalSurfaceAtlas.hlsl"
@2// SDF Reflections: Constants
GlobalSDFData GlobalSDF;
GlobalSurfaceAtlasData GlobalSurfaceAtlas;
@3// SDF Reflections: Resources
Texture3D<snorm float> GlobalSDFTex : register(t__SRV__);
Texture3D<snorm float> GlobalSDFMip : register(t__SRV__);
ByteAddressBuffer GlobalSurfaceAtlasChunks : register(t__SRV__);
ByteAddressBuffer RWGlobalSurfaceAtlasCulledObjects : register(t__SRV__);
Buffer<float4> GlobalSurfaceAtlasObjects : register(t__SRV__);
Texture2D GlobalSurfaceAtlasDepth : register(t__SRV__);
Texture2D GlobalSurfaceAtlasTex : register(t__SRV__);
@4// SDF Reflections: Utilities
bool TraceSDFSoftwareReflections(GBufferSample gBuffer, float3 reflectWS, out float4 surfaceAtlas)
{
GlobalSDFTrace sdfTrace;
float maxDistance = GLOBAL_SDF_WORLD_SIZE;
sdfTrace.Init(gBuffer.WorldPos, reflectWS, 0.0f, maxDistance);
GlobalSDFHit sdfHit = RayTraceGlobalSDF(GlobalSDF, GlobalSDFTex, GlobalSDFMip, sdfTrace, 2.0f);
if (sdfHit.IsHit())
{
float3 hitPosition = sdfHit.GetHitPosition(sdfTrace);
float surfaceThreshold = GetGlobalSurfaceAtlasThreshold(GlobalSDF, sdfHit);
surfaceAtlas = SampleGlobalSurfaceAtlas(GlobalSurfaceAtlas, GlobalSurfaceAtlasChunks, RWGlobalSurfaceAtlasCulledObjects, GlobalSurfaceAtlasObjects, GlobalSurfaceAtlasDepth, GlobalSurfaceAtlasTex, hitPosition, -reflectWS, surfaceThreshold);
return true;
}
return false;
}
@5// SDF Reflections: Shaders
@@ -33,8 +33,13 @@ struct TessalationDSToPS
MaterialInput GetMaterialInput(TessalationDSToPS input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
#if USE_PER_DRAW_CONSTANTS
output.Object = LoadObject(ObjectsBuffer, input.Geometry.ObjectIndex);
#else
LoadObjectFromCB(output.Object);
#endif
output.SvPosition = input.Position;
output.TwoSidedSign = WorldDeterminantSign;
output.TwoSidedSign = output.Object.WorldDeterminantSign;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = input.CustomVSToPS;
#endif
@@ -26,7 +26,7 @@ struct RibbonInput
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 WorldMatrix;
float4x3 WorldMatrix;
uint SortedIndicesOffset;
float PerInstanceRandom;
int ParticleStride;
@@ -45,7 +45,7 @@ int RibbonWidthOffset;
int RibbonTwistOffset;
int RibbonFacingVectorOffset;
uint RibbonSegmentCount;
float4x4 WorldMatrixInverseTransposed;
float4x3 WorldMatrixInverseTransposed;
@1META_CB_END
// Particles attributes buffer
@@ -138,7 +138,7 @@ MaterialInput GetMaterialInput(PixelInput input)
#if USE_INSTANCING
#define GetInstanceTransform(input) float4x4(float4(input.InstanceTransform1.xyz, 0.0f), float4(input.InstanceTransform2.xyz, 0.0f), float4(input.InstanceTransform3.xyz, 0.0f), float4(input.InstanceOrigin.xyz, 1.0f))
#else
#define GetInstanceTransform(input) WorldMatrix;
#define GetInstanceTransform(input) ToMatrix4x4(WorldMatrix);
#endif
// Removes the scale vector from the local to world transformation matrix (supports instancing)
@@ -264,12 +264,12 @@ float4 GetParticleVec4(uint particleIndex, int offset)
float3 TransformParticlePosition(float3 input)
{
return mul(float4(input, 1.0f), WorldMatrix).xyz;
return mul(float4(input, 1.0f), ToMatrix4x4(WorldMatrix)).xyz;
}
float3 TransformParticleVector(float3 input)
{
return mul(float4(input, 0.0f), WorldMatrixInverseTransposed).xyz;
return mul(float4(input, 0.0f), ToMatrix4x4(WorldMatrixInverseTransposed)).xyz;
}
@8
@@ -333,7 +333,7 @@ VertexOutput VS_Sprite(SpriteInput input, uint particleIndex : SV_InstanceID)
float2 spriteSize = GetParticleVec2(particleIndex, SpriteSizeOffset);
int spriteFacingMode = SpriteFacingModeOffset != -1 ? GetParticleInt(particleIndex, SpriteFacingModeOffset) : -1;
float4x4 world = WorldMatrix;
float4x4 world = ToMatrix4x4(WorldMatrix);
float3x3 eulerMatrix = EulerMatrix(radians(particleRotation));
float3x3 viewRot = transpose((float3x3)ViewMatrix);
float3 position = mul(float4(particlePosition, 1), world).xyz;
@@ -463,11 +463,12 @@ VertexOutput VS_Model(ModelInput input, uint particleIndex : SV_InstanceID)
}
// Read particle data
float4x4 worldMatrix = ToMatrix4x4(WorldMatrix);
float3 particlePosition = GetParticleVec3(particleIndex, PositionOffset);
float3 particleScale = GetParticleVec3(particleIndex, ScaleOffset);
float3 particleRotation = GetParticleVec3(particleIndex, RotationOffset);
int modelFacingMode = ModelFacingModeOffset != -1 ? GetParticleInt(particleIndex, ModelFacingModeOffset) : -1;
float3 position = mul(float4(particlePosition, 1), WorldMatrix).xyz;
float3 position = mul(float4(particlePosition, 1), worldMatrix).xyz;
// Compute final vertex position in the world
float3x3 eulerMatrix = EulerMatrix(radians(particleRotation));
@@ -506,7 +507,7 @@ VertexOutput VS_Model(ModelInput input, uint particleIndex : SV_InstanceID)
world = mul(world, scaleMatrix);
}
world = transpose(world);
world = mul(world, WorldMatrix);
world = mul(world, worldMatrix);
// Calculate the vertex position in world space
output.WorldPosition = mul(float4(input.Position, 1), world).xyz;
@@ -520,12 +521,12 @@ VertexOutput VS_Model(ModelInput input, uint particleIndex : SV_InstanceID)
#if USE_VERTEX_COLOR
output.VertexColor = input.Color;
#endif
output.InstanceOrigin = WorldMatrix[3].xyz;
output.InstanceOrigin = worldMatrix[3].xyz;
output.InstanceParams = PerInstanceRandom;
// Calculate tanget space to world space transformation matrix for unit vectors
half3x3 tangentToLocal = CalcTangentToLocal(input);
half3x3 tangentToWorld = CalcTangentToWorld(WorldMatrix, tangentToLocal);
half3x3 tangentToWorld = CalcTangentToWorld(worldMatrix, tangentToLocal);
output.TBN = tangentToWorld;
// Get material input params if need to evaluate any material property
@@ -625,12 +626,13 @@ VertexOutput VS_Ribbon(RibbonInput input, uint vertexIndex : SV_VertexID)
#if USE_VERTEX_COLOR
output.VertexColor = 1;
#endif
output.InstanceOrigin = WorldMatrix[3].xyz;
float4x4 world = ToMatrix4x4(WorldMatrix);
output.InstanceOrigin = world[3].xyz;
output.InstanceParams = PerInstanceRandom;
// Calculate tanget space to world space transformation matrix for unit vectors
half3x3 tangentToLocal = float3x3(tangentRight, tangentUp, cross(tangentRight, tangentUp));
half3x3 tangentToWorld = CalcTangentToWorld(WorldMatrix, tangentToLocal);
half3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
output.TBN = tangentToWorld;
// Get material input params if need to evaluate any material property
+62 -99
View File
@@ -3,6 +3,7 @@
#define MATERIAL 1
#define USE_PER_VIEW_CONSTANTS 1
#define USE_PER_DRAW_CONSTANTS 1
@3
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
@@ -10,17 +11,19 @@
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 WorldMatrix;
float4x4 PrevWorldMatrix;
float2 Dummy0;
float LODDitherFactor;
float PerInstanceRandom;
float3 GeometrySize;
float WorldDeterminantSign;
@1META_CB_END
// Shader resources
@2
Buffer<float4> ObjectsBuffer : register(t0);
#if USE_SKINNING
// The skeletal bones matrix buffer (stored as 4x3, 3 float4 behind each other)
Buffer<float4> BoneMatrices : register(t1);
#if PER_BONE_MOTION_BLUR
// The skeletal bones matrix buffer from the previous frame
Buffer<float4> PrevBoneMatrices : register(t2);
#endif
#endif
// Geometry data passed though the graphics rendering stages up to the pixel shader
struct GeometryData
{
@@ -32,12 +35,8 @@ struct GeometryData
#endif
float3 WorldNormal : TEXCOORD3;
float4 WorldTangent : TEXCOORD4;
nointerpolation float3 InstanceOrigin : TEXCOORD5;
nointerpolation float2 InstanceParams : TEXCOORD6; // x-PerInstanceRandom, y-LODDitherFactor
float3 PrevWorldPosition : TEXCOORD7;
nointerpolation float3 InstanceTransform1 : TEXCOORD8;
nointerpolation float3 InstanceTransform2 : TEXCOORD9;
nointerpolation float3 InstanceTransform3 : TEXCOORD10;
nointerpolation uint ObjectIndex : TEXCOORD8;
};
// Interpolants passed from the vertex shader
@@ -80,11 +79,8 @@ struct MaterialInput
float4 SvPosition;
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
float3 InstanceOrigin;
float2 InstanceParams;
float3 InstanceTransform1;
float3 InstanceTransform2;
float3 InstanceTransform3;
uint ObjectIndex;
ObjectData Object;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT];
#endif
@@ -103,11 +99,7 @@ MaterialInput GetGeometryMaterialInput(GeometryData geometry)
output.VertexColor = geometry.VertexColor;
#endif
output.TBN = CalcTangentBasis(geometry.WorldNormal, geometry.WorldTangent);
output.InstanceOrigin = geometry.InstanceOrigin;
output.InstanceParams = geometry.InstanceParams;
output.InstanceTransform1 = geometry.InstanceTransform1;
output.InstanceTransform2 = geometry.InstanceTransform2;
output.InstanceTransform3 = geometry.InstanceTransform3;
output.ObjectIndex = geometry.ObjectIndex;
return output;
}
@@ -143,11 +135,7 @@ GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, flo
output.WorldNormal = normalize(output.WorldNormal);
output.WorldTangent = p0.WorldTangent * w0 + p1.WorldTangent * w1 + p2.WorldTangent * w2;
output.WorldTangent.xyz = normalize(output.WorldTangent.xyz);
output.InstanceOrigin = p0.InstanceOrigin;
output.InstanceParams = p0.InstanceParams;
output.InstanceTransform1 = p0.InstanceTransform1;
output.InstanceTransform2 = p0.InstanceTransform2;
output.InstanceTransform3 = p0.InstanceTransform3;
output.ObjectIndex = p0.ObjectIndex;
return output;
}
@@ -156,7 +144,8 @@ GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, flo
MaterialInput GetMaterialInput(PixelInput input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.Object = LoadObject(ObjectsBuffer, input.Geometry.ObjectIndex);
output.TwoSidedSign = output.Object.WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.SvPosition = input.Position;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = input.CustomVSToPS;
@@ -164,16 +153,6 @@ MaterialInput GetMaterialInput(PixelInput input)
return output;
}
// Gets the local to world transform matrix
#define GetInstanceTransform(input) float4x4(float4(input.InstanceTransform1.xyz, 0.0f), float4(input.InstanceTransform2.xyz, 0.0f), float4(input.InstanceTransform3.xyz, 0.0f), float4(input.InstanceOrigin.xyz, 1.0f))
// Extarcts the world matrix and instancce transform vector
#if USE_INSTANCING
#define CalculateInstanceTransform(input) float4x4 world = GetInstanceTransform(input); output.Geometry.InstanceTransform1 = input.InstanceTransform1.xyz; output.Geometry.InstanceTransform2 = input.InstanceTransform2.xyz; output.Geometry.InstanceTransform3 = input.InstanceTransform3.xyz;
#else
#define CalculateInstanceTransform(input) float4x4 world = WorldMatrix; output.Geometry.InstanceTransform1 = world[0].xyz; output.Geometry.InstanceTransform2 = world[1].xyz; output.Geometry.InstanceTransform3 = world[2].xyz;
#endif
// Removes the scale vector from the local to world transformation matrix (supports instancing)
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
{
@@ -218,7 +197,7 @@ float3 TransformViewVectorToWorld(MaterialInput input, float3 viewVector)
// Transforms a vector from local space to world space
float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
float3x3 localToWorld = (float3x3)input.Object.WorldMatrix;
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localVector, localToWorld);
}
@@ -226,7 +205,7 @@ float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
// Transforms a vector from local space to world space
float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
float3x3 localToWorld = (float3x3)input.Object.WorldMatrix;
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localToWorld, worldVector);
}
@@ -234,30 +213,26 @@ float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
// Gets the current object position (supports instancing)
float3 GetObjectPosition(MaterialInput input)
{
return input.InstanceOrigin.xyz;
return input.Object.WorldMatrix[3].xyz;
}
// Gets the current object size (supports instancing)
float3 GetObjectSize(MaterialInput input)
{
float4x4 world = GetInstanceTransform(input);
return GeometrySize * float3(world._m00, world._m11, world._m22);
float4x4 world = input.Object.WorldMatrix;
return input.Object.GeometrySize * float3(world._m00, world._m11, world._m22);
}
// Get the current object random value (supports instancing)
float GetPerInstanceRandom(MaterialInput input)
{
return input.InstanceParams.x;
return input.Object.PerInstanceRandom;
}
// Get the current object LOD transition dither factor (supports instancing)
float GetLODDitherFactor(MaterialInput input)
{
#if USE_DITHERED_LOD_TRANSITION
return input.InstanceParams.y;
#else
return 0;
#endif
return input.Object.LODDitherFactor;
}
// Gets the interpolated vertex color (in linear space)
@@ -316,19 +291,22 @@ META_VS_IN_ELEMENT(NORMAL, 0, R10G10B10A2_UNORM, 1, ALIGN, PER_VERTEX, 0, true
META_VS_IN_ELEMENT(TANGENT, 0, R10G10B10A2_UNORM, 1, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(TEXCOORD, 1, R16G16_FLOAT, 1, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(COLOR, 0, R8G8B8A8_UNORM, 2, 0, PER_VERTEX, 0, USE_VERTEX_COLOR)
META_VS_IN_ELEMENT(ATTRIBUTE,0, R32G32B32A32_FLOAT,3, 0, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,1, R32G32B32A32_FLOAT,3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,2, R32G32B32_FLOAT, 3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,3, R32G32B32_FLOAT, 3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,4, R16G16B16A16_FLOAT,3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,0, R32_UINT, 3, 0, PER_INSTANCE, 1, USE_INSTANCING)
VertexOutput VS(ModelInput input)
{
VertexOutput output;
// Load object data
#if USE_INSTANCING
output.Geometry.ObjectIndex = input.ObjectIndex;
#else
output.Geometry.ObjectIndex = DrawObjectIndex;
#endif
ObjectData object = LoadObject(ObjectsBuffer, output.Geometry.ObjectIndex);
// Compute world space vertex position
CalculateInstanceTransform(input);
output.Geometry.WorldPosition = mul(float4(input.Position.xyz, 1), world).xyz;
output.Geometry.PrevWorldPosition = mul(float4(input.Position.xyz, 1), PrevWorldMatrix).xyz;
output.Geometry.WorldPosition = mul(float4(input.Position.xyz, 1), object.WorldMatrix).xyz;
output.Geometry.PrevWorldPosition = mul(float4(input.Position.xyz, 1), object.PrevWorldMatrix).xyz;
// Compute clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
@@ -338,22 +316,15 @@ VertexOutput VS(ModelInput input)
#if USE_VERTEX_COLOR
output.Geometry.VertexColor = input.Color;
#endif
output.Geometry.InstanceOrigin = world[3].xyz;
#if USE_INSTANCING
output.Geometry.LightmapUV = input.LightmapUV * input.InstanceLightmapArea.zw + input.InstanceLightmapArea.xy;
output.Geometry.InstanceParams = float2(input.InstanceOrigin.w, input.InstanceTransform1.w);
#else
#if CAN_USE_LIGHTMAP
output.Geometry.LightmapUV = input.LightmapUV * LightmapArea.zw + LightmapArea.xy;
output.Geometry.LightmapUV = input.LightmapUV * object.LightmapArea.zw + object.LightmapArea.xy;
#else
output.Geometry.LightmapUV = input.LightmapUV;
#endif
output.Geometry.InstanceParams = float2(PerInstanceRandom, LODDitherFactor);
#endif
// Calculate tanget space to world space transformation matrix for unit vectors
float3x3 tangentToLocal = CalcTangentToLocal(input);
float3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
float3x3 tangentToWorld = CalcTangentToWorld(object.WorldMatrix, tangentToLocal);
output.Geometry.WorldNormal = tangentToWorld[2];
output.Geometry.WorldTangent.xyz = tangentToWorld[0];
output.Geometry.WorldTangent.w = input.Tangent.w ? -1.0f : +1.0f;
@@ -361,10 +332,11 @@ VertexOutput VS(ModelInput input)
// Get material input params if need to evaluate any material property
#if USE_POSITION_OFFSET || USE_TESSELLATION || USE_CUSTOM_VERTEX_INTERPOLATORS
MaterialInput materialInput = GetGeometryMaterialInput(output.Geometry);
materialInput.TwoSidedSign = WorldDeterminantSign;
materialInput.TwoSidedSign = object.WorldDeterminantSign;
materialInput.SvPosition = output.Position;
materialInput.PreSkinnedPosition = input.Position.xyz;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
materialInput.Object = object;
Material material = GetMaterialVS(materialInput);
#endif
@@ -392,33 +364,27 @@ META_VS(true, FEATURE_LEVEL_ES2)
META_PERMUTATION_1(USE_INSTANCING=0)
META_PERMUTATION_1(USE_INSTANCING=1)
META_VS_IN_ELEMENT(POSITION, 0, R32G32B32_FLOAT, 0, 0, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(ATTRIBUTE,0, R32G32B32A32_FLOAT,3, 0, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,1, R32G32B32A32_FLOAT,3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,2, R32G32B32_FLOAT, 3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,3, R32G32B32_FLOAT, 3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,4, R16G16B16A16_FLOAT,3, ALIGN, PER_INSTANCE, 1, USE_INSTANCING)
META_VS_IN_ELEMENT(ATTRIBUTE,0, R32_UINT, 3, 0, PER_INSTANCE, 1, USE_INSTANCING)
float4 VS_Depth(ModelInput_PosOnly input) : SV_Position
{
// Load object data
#if USE_INSTANCING
float4x4 world = GetInstanceTransform(input);
uint objectIndex = input.ObjectIndex;
#else
float4x4 world = WorldMatrix;
uint objectIndex = DrawObjectIndex;
#endif
float3 worldPosition = mul(float4(input.Position.xyz, 1), world).xyz;
ObjectData object = LoadObject(ObjectsBuffer, objectIndex);
// Transform vertex position into the screen
float3 worldPosition = mul(float4(input.Position.xyz, 1), object.WorldMatrix).xyz;
float4 position = mul(float4(worldPosition, 1), ViewProjectionMatrix);
return position;
}
#if USE_SKINNING
// The skeletal bones matrix buffer (stored as 4x3, 3 float4 behind each other)
Buffer<float4> BoneMatrices : register(t0);
#if PER_BONE_MOTION_BLUR
// The skeletal bones matrix buffer from the previous frame
Buffer<float4> PrevBoneMatrices : register(t1);
float3x4 GetPrevBoneMatrix(int index)
{
float4 a = PrevBoneMatrices[index * 3];
@@ -497,6 +463,10 @@ META_VS_IN_ELEMENT(BLENDWEIGHT, 0, R16G16B16A16_FLOAT,0, ALIGN, PER_VERTEX, 0,
VertexOutput VS_Skinned(ModelInput_Skinned input)
{
VertexOutput output;
// Load object data
output.Geometry.ObjectIndex = DrawObjectIndex;
ObjectData object = LoadObject(ObjectsBuffer, output.Geometry.ObjectIndex);
// Perform skinning
float3x4 boneMatrix = GetBoneMatrix(input);
@@ -504,13 +474,12 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
float3x3 tangentToLocal = SkinTangents(input, boneMatrix);
// Compute world space vertex position
CalculateInstanceTransform(input);
output.Geometry.WorldPosition = mul(float4(position, 1), world).xyz;
output.Geometry.WorldPosition = mul(float4(position, 1), object.WorldMatrix).xyz;
#if PER_BONE_MOTION_BLUR
float3 prevPosition = SkinPrevPosition(input);
output.Geometry.PrevWorldPosition = mul(float4(prevPosition, 1), PrevWorldMatrix).xyz;
output.Geometry.PrevWorldPosition = mul(float4(prevPosition, 1), object.PrevWorldMatrix).xyz;
#else
output.Geometry.PrevWorldPosition = mul(float4(position, 1), PrevWorldMatrix).xyz;
output.Geometry.PrevWorldPosition = mul(float4(position, 1), object.PrevWorldMatrix).xyz;
#endif
// Compute clip space position
@@ -522,15 +491,9 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
output.Geometry.VertexColor = float4(0, 0, 0, 1);
#endif
output.Geometry.LightmapUV = float2(0, 0);
output.Geometry.InstanceOrigin = world[3].xyz;
#if USE_INSTANCING
output.Geometry.InstanceParams = float2(input.InstanceOrigin.w, input.InstanceTransform1.w);
#else
output.Geometry.InstanceParams = float2(PerInstanceRandom, LODDitherFactor);
#endif
// Calculate tanget space to world space transformation matrix for unit vectors
float3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
float3x3 tangentToWorld = CalcTangentToWorld(object.WorldMatrix, tangentToLocal);
output.Geometry.WorldNormal = tangentToWorld[2];
output.Geometry.WorldTangent.xyz = tangentToWorld[0];
output.Geometry.WorldTangent.w = input.Tangent.w ? -1.0f : +1.0f;
@@ -538,10 +501,11 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
// Get material input params if need to evaluate any material property
#if USE_POSITION_OFFSET || USE_TESSELLATION || USE_CUSTOM_VERTEX_INTERPOLATORS
MaterialInput materialInput = GetGeometryMaterialInput(output.Geometry);
materialInput.TwoSidedSign = WorldDeterminantSign;
materialInput.TwoSidedSign = object.WorldDeterminantSign;
materialInput.SvPosition = output.Position;
materialInput.PreSkinnedPosition = input.Position.xyz;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
materialInput.Object = object;
Material material = GetMaterialVS(materialInput);
#endif
@@ -568,12 +532,12 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
#if USE_DITHERED_LOD_TRANSITION
void ClipLODTransition(PixelInput input)
void ClipLODTransition(MaterialInput input)
{
float ditherFactor = input.Geometry.InstanceParams.y;
float ditherFactor = input.Object.LODDitherFactor;
if (abs(ditherFactor) > 0.001)
{
float randGrid = cos(dot(floor(input.Position.xy), float2(347.83452793, 3343.28371863)));
float randGrid = cos(dot(floor(input.SvPosition.xy), float2(347.83452793, 3343.28371863)));
float randGridFrac = frac(randGrid * 1000.0);
half mask = (ditherFactor < 0.0) ? (ditherFactor + 1.0 > randGridFrac) : (ditherFactor < randGridFrac);
clip(mask - 0.001);
@@ -586,14 +550,13 @@ void ClipLODTransition(PixelInput input)
META_PS(true, FEATURE_LEVEL_ES2)
void PS_Depth(PixelInput input)
{
MaterialInput materialInput = GetMaterialInput(input);
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
ClipLODTransition(materialInput);
#endif
#if MATERIAL_MASKED || MATERIAL_BLEND != MATERIAL_BLEND_OPAQUE
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Perform per pixel clipping
@@ -3,6 +3,7 @@
#define MATERIAL 1
#define USE_PER_VIEW_CONSTANTS 1
#define LoadObjectFromCB(var) var = GetObject()
@3
// Enables/disables smooth terrain chunks LOD transitions (with morphing higher LOD near edges to the lower LOD in the neighbour)
#define USE_SMOOTH_LOD_TRANSITION 1
@@ -17,7 +18,7 @@
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 WorldMatrix;
float4x3 WorldMatrix;
float3 WorldInvScale;
float WorldDeterminantSign;
float PerInstanceRandom;
@@ -28,6 +29,7 @@ float4 HeightmapUVScaleBias;
float4 NeighborLOD;
float2 OffsetUV;
float2 Dummy0;
float4 LightmapArea;
@1META_CB_END
// Terrain data
@@ -88,6 +90,7 @@ struct MaterialInput
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
float HolesMask;
ObjectData Object;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE];
#endif
@@ -147,9 +150,23 @@ GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, flo
#endif
ObjectData GetObject()
{
ObjectData object = (ObjectData)0;
object.WorldMatrix = ToMatrix4x4(WorldMatrix);
object.PrevWorldMatrix = object.WorldMatrix;
object.GeometrySize = float3(1, 1, 1);
object.PerInstanceRandom = PerInstanceRandom;
object.WorldDeterminantSign = WorldDeterminantSign;
object.LODDitherFactor = 0.0f;
object.LightmapArea = LightmapArea;
return object;
}
MaterialInput GetMaterialInput(PixelInput input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.Object = GetObject();
output.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.SvPosition = input.Position;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
@@ -194,7 +211,7 @@ float3 TransformViewVectorToWorld(MaterialInput input, float3 viewVector)
// Transforms a vector from local space to world space
float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
{
float3x3 localToWorld = (float3x3)WorldMatrix;
float3x3 localToWorld = (float3x3)ToMatrix4x4(WorldMatrix);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localVector, localToWorld);
}
@@ -202,7 +219,7 @@ float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
// Transforms a vector from local space to world space
float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
{
float3x3 localToWorld = (float3x3)WorldMatrix;
float3x3 localToWorld = (float3x3)ToMatrix4x4(WorldMatrix);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localToWorld, worldVector);
}
@@ -210,7 +227,7 @@ float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
// Gets the current object position
float3 GetObjectPosition(MaterialInput input)
{
return WorldMatrix[3].xyz;
return ToMatrix4x4(WorldMatrix)[3].xyz;
}
// Gets the current object size
@@ -365,7 +382,8 @@ VertexOutput VS(TerrainVertexInput input)
float3 position = float3(positionXZ.x, height, positionXZ.y);
// Compute world space vertex position
output.Geometry.WorldPosition = mul(float4(position, 1), WorldMatrix).xyz;
float4x4 worldMatrix = ToMatrix4x4(WorldMatrix);
output.Geometry.WorldPosition = mul(float4(position, 1), worldMatrix).xyz;
// Compute clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
@@ -389,12 +407,13 @@ VertexOutput VS(TerrainVertexInput input)
// Compute world space normal vector
float3x3 tangentToLocal = CalcTangentBasisFromWorldNormal(normal);
float3x3 tangentToWorld = CalcTangentToWorld(WorldMatrix, tangentToLocal);
float3x3 tangentToWorld = CalcTangentToWorld(worldMatrix, tangentToLocal);
output.Geometry.WorldNormal = tangentToWorld[2];
// Get material input params if need to evaluate any material property
#if USE_POSITION_OFFSET || USE_TESSELLATION || USE_CUSTOM_VERTEX_INTERPOLATORS
MaterialInput materialInput = (MaterialInput)0;
materialInput.Object = GetObject();
materialInput.WorldPosition = output.Geometry.WorldPosition;
materialInput.TexCoord = output.Geometry.TexCoord;
#if USE_LIGHTMAP
@@ -13,8 +13,8 @@
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 InverseViewProjectionMatrix;
float4x4 WorldMatrix;
float4x4 WorldMatrixInverseTransposed;
float4x3 WorldMatrix;
float4x3 WorldMatrixInverseTransposed;
float3 GridSize;
float PerInstanceRandom;
float Dummy0;
@@ -49,7 +49,7 @@ struct MaterialInput
#endif
};
#define GetInstanceTransform(input) WorldMatrix;
#define GetInstanceTransform(input) ToMatrix4x4(WorldMatrix);
// Removes the scale vector from the local to world transformation matrix (supports instancing)
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
@@ -170,12 +170,12 @@ float4 GetParticleVec4(uint particleIndex, int offset)
float3 TransformParticlePosition(float3 input)
{
return mul(float4(input, 1.0f), WorldMatrix).xyz;
return mul(float4(input, 1.0f), ToMatrix4x4(WorldMatrix)).xyz;
}
float3 TransformParticleVector(float3 input)
{
return mul(float4(input, 0.0f), WorldMatrixInverseTransposed).xyz;
return mul(float4(input, 0.0f), ToMatrix4x4(WorldMatrixInverseTransposed)).xyz;
}
@8
@@ -219,7 +219,7 @@ void PS_VolumetricFog(Quad_GS2PS input, out float4 VBufferA : SV_Target0, out fl
materialInput.ParticleIndex = ParticleIndex;
materialInput.TBN = float3x3(float3(1, 0, 0), float3(0, 1, 0), float3(0, 0, 1));
materialInput.TwoSidedSign = 1.0f;
materialInput.InstanceOrigin = WorldMatrix[3].xyz;
materialInput.InstanceOrigin = ToMatrix4x4(WorldMatrix)[3].xyz;
materialInput.InstanceParams = PerInstanceRandom;
materialInput.SvPosition = clipPos;
Material material = GetMaterialPS(materialInput);
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.
@@ -0,0 +1,5 @@
%copyright%using System;
using System.Collections.Generic;
using FlaxEngine;
namespace %namespace%;
+2 -2
View File
@@ -13,10 +13,10 @@ API_CLASS() class %module%%class% : public ISerializable
API_AUTO_SERIALIZATION();
DECLARE_SCRIPTING_TYPE_NO_SPAWN(%class%);
public:
// Custom float value.
// Custom float value.
API_FIELD(Attributes = "Range(0, 20), EditorOrder(0), EditorDisplay(\"Data\")")
float FloatValue = 20.0f;
// Custom vector data.
// Custom vector data.
API_FIELD(Attributes = "EditorOrder(1), EditorDisplay(\"Data\")")
Vector3 Vector3Value = Vector3(0.1f);
};
@@ -7,6 +7,6 @@ META_CB_END
META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_Fullscreen(Quad_VS2PS input) : SV_Target
{
// Solid color fill from the constant buffer passed from code
return Color;
// Solid color fill from the constant buffer passed from code
return Color;
}
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.
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.
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.
Binary file not shown.
+3 -3
View File
@@ -2,9 +2,9 @@
"Name": "Flax",
"Version": {
"Major": 1,
"Minor": 8,
"Revision": 1,
"Build": 6511
"Minor": 9,
"Revision": 0,
"Build": 6605
},
"Company": "Flax",
"Copyright": "Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.",
+1
View File
@@ -74,6 +74,7 @@
<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/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>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RPC/@EntryIndexedValue">RPC</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SDK/@EntryIndexedValue">SDK</s:String>
+4
View File
@@ -124,3 +124,7 @@ Install `.NET SDK`, `NuGet package manager` and `NuGet targets and build tasks`
Using Flax source code is strictly governed by the Flax Engine End User License Agreement. If you don't agree to those terms, as amended from time to time, you are not permitted to access or use Flax Engine.
We welcome any contributions to Flax Engine development through pull requests on GitHub. Most of our active development is in the master branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Flax coding standards. All contributions are governed by the terms of the [EULA](https://flaxengine.com/licensing/).
## SAST Tools
[PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.
+5 -25
View File
@@ -1,3 +1,5 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System;
using System.IO;
using FlaxEditor.Scripting;
@@ -94,30 +96,8 @@ public class AssetPickerValidator : IContentItemOwner
/// </summary>
public string SelectedPath
{
get
{
string path = _selectedItem?.Path ?? _selected?.Path;
if (path != null)
{
// Convert into path relative to the project (cross-platform)
var projectFolder = Globals.ProjectFolder;
if (path.StartsWith(projectFolder))
path = path.Substring(projectFolder.Length + 1);
}
return path;
}
set
{
if (string.IsNullOrEmpty(value))
{
SelectedItem = null;
}
else
{
var path = StringUtils.IsRelative(value) ? Path.Combine(Globals.ProjectFolder, value) : value;
SelectedItem = Editor.Instance.ContentDatabase.Find(path);
}
}
get => Utilities.Utils.ToPathProject(_selectedItem?.Path ?? _selected?.Path);
set => SelectedItem = string.IsNullOrEmpty(value) ? null : Editor.Instance.ContentDatabase.Find(Utilities.Utils.ToPathAbsolute(value));
}
/// <summary>
@@ -242,7 +222,7 @@ public class AssetPickerValidator : IContentItemOwner
/// <summary>
/// Initializes a new instance of the <see cref="AssetPickerValidator"/> class.
/// </summary>
/// <param name="assetType">The assets types that this picker accepts.</param>
/// <param name="assetType">The asset types that this picker accepts.</param>
public AssetPickerValidator(ScriptType assetType)
{
_type = assetType;
@@ -0,0 +1,173 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.GUI;
using Object = FlaxEngine.Object;
namespace FlaxEditor.Content.Create
{
/// <summary>
/// Prefab asset creating handler. Allows to specify base actor to use as the root.
/// </summary>
/// <seealso cref="FlaxEditor.Content.Create.CreateFileEntry" />
public class PrefabCreateEntry : CreateFileEntry
{
/// <summary>
/// The create options.
/// </summary>
public class Options
{
/// <summary>
/// The root actor.
/// </summary>
[TypeReference(typeof(FlaxEngine.Actor), nameof(IsValid))]
[Tooltip("The actor type of the root of the new Prefab.")]
public Type RootActorType = typeof(EmptyActor);
private static bool IsValid(Type type)
{
return (type.IsPublic || type.IsNestedPublic) && !type.IsAbstract && !type.IsGenericType;
}
}
private readonly Options _options = new Options();
/// <inheritdoc />
public override object Settings => _options;
/// <summary>
/// Initializes a new instance of the <see cref="PrefabCreateEntry"/> class.
/// </summary>
/// <param name="resultUrl">The result file url.</param>
public PrefabCreateEntry(string resultUrl)
: base("Settings", resultUrl)
{
}
/// <inheritdoc />
public override bool Create()
{
var actorType = new ScriptType(_options.RootActorType ?? typeof(EmptyActor));
Actor actor;
try
{
actor = actorType.CreateInstance() as Actor;
Object.Destroy(actor, 20.0f);
}
catch (Exception ex)
{
Editor.LogError("Failed to create prefab with root actor type: " + actorType.Name);
Editor.LogWarning(ex);
return true;
}
return PrefabManager.CreatePrefab(actor, ResultUrl, true);
}
}
/// <summary>
/// Widget asset creating handler. Allows to specify base UIControl to use as the root.
/// </summary>
/// <seealso cref="FlaxEditor.Content.Create.CreateFileEntry" />
public class WidgetCreateEntry : CreateFileEntry
{
/// <summary>
/// The create options.
/// </summary>
public class Options
{
/// <summary>
/// Which mode is used to initialize this widget.
/// </summary>
public enum WidgetMode
{
/// <summary>
/// Initialize the widget with a UICanvas.
/// </summary>
Canvas,
/// <summary>
/// Initialize the widget with a UIControl.
/// </summary>
Control
}
/// <summary>
/// The mode used to initialize the widget.
/// </summary>
[Tooltip("Whether to initialize the widget with a canvas or a control.")]
public WidgetMode WidgetInitializationMode = WidgetMode.Control;
bool ShowRoot => WidgetInitializationMode == WidgetMode.Control;
/// <summary>
/// The root control.
/// </summary>
[TypeReference(typeof(Control), nameof(IsValid))]
[Tooltip("The control type of the root of the new Widget's root control."), VisibleIf(nameof(ShowRoot))]
public Type RootControlType = typeof(Button);
private static bool IsValid(Type type)
{
return (type.IsPublic || type.IsNestedPublic) && !type.IsAbstract && !type.IsGenericType;
}
}
private readonly Options _options = new Options();
/// <inheritdoc />
public override object Settings => _options;
/// <summary>
/// Initializes a new instance of the <see cref="WidgetCreateEntry"/> class.
/// </summary>
/// <param name="resultUrl">The result file url.</param>
public WidgetCreateEntry(string resultUrl)
: base("Settings", resultUrl)
{
}
/// <inheritdoc />
public override bool Create()
{
Actor actor = null;
if (_options.WidgetInitializationMode == Options.WidgetMode.Control)
{
var controlType = new ScriptType(_options.RootControlType ?? typeof(Control));
Control control;
try
{
control = controlType.CreateInstance() as Control;
}
catch (Exception ex)
{
Editor.LogError("Failed to create widget with root control type: " + controlType.Name);
Editor.LogWarning(ex);
return true;
}
actor = new UIControl
{
Control = control,
Name = controlType.Name
};
}
else if (_options.WidgetInitializationMode == Options.WidgetMode.Canvas)
{
actor = new UICanvas();
}
if (actor == null)
{
Editor.LogError("Failed to create widget. Final actor was null.");
return true;
}
Object.Destroy(actor, 20.0f);
return PrefabManager.CreatePrefab(actor, ResultUrl, true);
}
}
}
+42 -3
View File
@@ -61,6 +61,8 @@ namespace FlaxEditor.Content.GUI
private bool _isRubberBandSpanning;
private Float2 _mousePressLocation;
private Rectangle _rubberBandRectangle;
private bool _isCutting;
private List<ContentItem> _cutItems = new List<ContentItem>();
private bool _validDragOver;
private DragActors _dragActors;
@@ -83,9 +85,9 @@ namespace FlaxEditor.Content.GUI
public event Action<List<ContentItem>> OnDelete;
/// <summary>
/// Called when user wants to paste the files/folders.
/// Called when user wants to paste the files/folders. Bool is for cutting.
/// </summary>
public event Action<string[]> OnPaste;
public event Action<string[], bool> OnPaste;
/// <summary>
/// Called when user wants to duplicate the item(s).
@@ -210,6 +212,12 @@ namespace FlaxEditor.Content.GUI
}),
new InputActionsContainer.Binding(options => options.Copy, Copy),
new InputActionsContainer.Binding(options => options.Paste, Paste),
new InputActionsContainer.Binding(options => options.Cut, Cut),
new InputActionsContainer.Binding(options => options.Undo, () =>
{
if (_isCutting)
UpdateContentItemCut(false);
}),
new InputActionsContainer.Binding(options => options.Duplicate, Duplicate),
});
}
@@ -462,6 +470,7 @@ namespace FlaxEditor.Content.GUI
/// </summary>
public void Duplicate()
{
UpdateContentItemCut(false);
OnDuplicate?.Invoke(_selection);
}
@@ -475,6 +484,7 @@ namespace FlaxEditor.Content.GUI
var files = _selection.ConvertAll(x => x.Path).ToArray();
Clipboard.Files = files;
UpdateContentItemCut(false);
}
/// <summary>
@@ -496,7 +506,36 @@ namespace FlaxEditor.Content.GUI
if (files == null || files.Length == 0)
return;
OnPaste?.Invoke(files);
OnPaste?.Invoke(files, _isCutting);
UpdateContentItemCut(false);
}
/// <summary>
/// Cuts the items.
/// </summary>
public void Cut()
{
Copy();
UpdateContentItemCut(true);
}
private void UpdateContentItemCut(bool cut)
{
_isCutting = cut;
// Add selection to cut list
if (cut)
_cutItems.AddRange(_selection);
// Update item with if it is being cut.
foreach (var item in _cutItems)
{
item.IsBeingCut = cut;
}
// Clean up cut items
if (!cut)
_cutItems.Clear();
}
/// <summary>
@@ -58,10 +58,10 @@ namespace FlaxEngine.Tools
FieldInfo[] fields = typeof(CustomMaxSizes).GetFields();
for (int i = 0; i < fields.Length; i++)
{
var field = fields[i];
if (field.Name.Equals("value__"))
var @field = fields[i];
if (@field.Name.Equals("value__"))
continue;
if (value == (int)field.GetRawConstantValue())
if (value == (int)@field.GetRawConstantValue())
return (CustomMaxSizes)value;
}
return CustomMaxSizes._8192;
+1 -1
View File
@@ -80,7 +80,7 @@ namespace FlaxEditor.Content
// Translate asset type name
var typeName = TypeName;
string[] typeNamespaces = typeName.Split('.');
if (typeNamespaces.Length != 0 && typeNamespaces.Length != 0)
if (typeNamespaces.Length != 0 && typeNamespaces[typeNamespaces.Length - 1].Length != 0)
{
typeName = Utilities.Utils.GetPropertyNameUI(typeNamespaces[typeNamespaces.Length - 1]);
}
@@ -5,7 +5,7 @@ using FlaxEngine;
namespace FlaxEditor.Content
{
/// <summary>
/// Content item that contains C# script file with source code.
/// Content item that contains C# file with source code.
/// </summary>
/// <seealso cref="FlaxEditor.Content.ScriptItem" />
public class CSharpScriptItem : ScriptItem
+12 -1
View File
@@ -182,6 +182,11 @@ namespace FlaxEditor.Content
/// </summary>
public const int DefaultHeight = (DefaultThumbnailSize + 2 * DefaultMarginSize + DefaultTextHeight);
/// <summary>
/// Whether the item is being but.
/// </summary>
public bool IsBeingCut;
private ContentFolder _parentFolder;
private bool _isMouseDown;
@@ -383,7 +388,7 @@ namespace FlaxEditor.Content
{
sb.Append("Type: ").Append(TypeDescription).AppendLine();
if (File.Exists(Path))
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((ulong)new FileInfo(Path).Length)).AppendLine();
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
}
@@ -747,6 +752,12 @@ namespace FlaxEditor.Content
Render2D.PushClip(ref textRect);
Render2D.DrawText(style.FontMedium, ShowFileExtension || view.ShowFileExtensions ? FileName : ShortName, textRect, style.Foreground, nameAlignment, TextAlignment.Center, TextWrapping.WrapWords, 1f, 0.95f);
Render2D.PopClip();
if (IsBeingCut)
{
var color = style.LightBackground.AlphaMultiplied(0.5f);
Render2D.FillRectangle(clientRect, color);
}
}
/// <inheritdoc />
+22
View File
@@ -11,6 +11,8 @@ namespace FlaxEditor.Content
/// <seealso cref="FlaxEditor.Content.JsonAssetItem" />
public sealed class PrefabItem : JsonAssetItem
{
private string _cachedTypeDescription = null;
/// <summary>
/// Initializes a new instance of the <see cref="PrefabItem"/> class.
/// </summary>
@@ -42,6 +44,26 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => SpriteHandle.Invalid;
/// <inheritdoc />
public override string TypeDescription
{
get
{
if (_cachedTypeDescription == null)
{
_cachedTypeDescription = "Prefab";
var prefab = FlaxEngine.Content.Load<Prefab>(ID);
if (prefab)
{
Actor root = prefab.GetDefaultInstance();
if (root is UIControl or UICanvas)
_cachedTypeDescription = "Widget";
}
}
return _cachedTypeDescription;
}
}
/// <inheritdoc />
public override bool IsOfType(Type type)
{
+28
View File
@@ -0,0 +1,28 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.Content
{
/// <summary>
/// Content item that contains video media file.
/// </summary>
/// <seealso cref="FlaxEditor.Content.JsonAssetItem" />
public sealed class VideoItem : FileItem
{
/// <summary>
/// Initializes a new instance of the <see cref="VideoItem"/> class.
/// </summary>
/// <param name="path">The file path.</param>
public VideoItem(string path)
: base(path)
{
}
/// <inheritdoc />
public override string TypeDescription => "Video";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}
}
@@ -100,12 +100,16 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public object GetValue(object obj)
{
if (!_type.Asset)
throw new TargetException("Missing Visual Script asset.");
return _type.Asset.GetScriptInstanceParameterValue(_parameter.Name, (Object)obj);
}
/// <inheritdoc />
public void SetValue(object obj, object value)
{
if (!_type.Asset)
throw new TargetException("Missing Visual Script asset.");
_type.Asset.SetScriptInstanceParameterValue(_parameter.Name, (Object)obj, value);
}
}
+1 -3
View File
@@ -30,9 +30,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Determines whether [is virtual proxy].
/// </summary>
/// <returns>
/// <c>true</c> if [is virtual proxy]; otherwise, <c>false</c>.
/// </returns>
/// <returns><c>true</c> if [is virtual proxy]; otherwise, <c>false</c>.</returns>
public bool IsVirtualProxy()
{
return IsVirtual && CanExport == false;
@@ -9,19 +9,15 @@ using FlaxEngine;
namespace FlaxEditor.Content
{
/// <summary>
/// Context proxy object for C# script files.
/// Proxy object for C# files
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpScriptProxy" />
[ContentContextMenu("New/C# Script")]
public class CSharpScriptProxy : ScriptProxy
/// /// <seealso cref="FlaxEditor.Content.ScriptProxy" />
public abstract class CSharpProxy : ScriptProxy
{
/// <summary>
/// The script files extension filter.
/// </summary>
public static readonly string ExtensionFiler = "*.cs";
/// <inheritdoc />
public override string Name => "C# Script";
public static readonly string ExtensionFilter = "*.cs";
/// <inheritdoc />
public override bool IsProxyFor(ContentItem item)
@@ -29,11 +25,23 @@ namespace FlaxEditor.Content
return item is CSharpScriptItem;
}
/// <summary>
/// Gets the path for the C# template.
/// </summary>
/// <param name="path">The path to the template</param>
protected abstract void GetTemplatePath(out string path);
/// <inheritdoc />
public override ContentItem ConstructItem(string path)
{
return new CSharpScriptItem(path);
}
/// <inheritdoc />
public override void Create(string outputPath, object arg)
{
// Load template
var templatePath = StringUtils.CombinePaths(Globals.EngineContentFolder, "Editor/Scripting/ScriptTemplate.cs");
GetTemplatePath(out var templatePath);
var scriptTemplate = File.ReadAllText(templatePath);
// Find the module that this script is being added (based on the path)
@@ -63,4 +71,38 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override Color AccentColor => Color.FromRGB(0x1c9c2b);
}
/// <summary>
/// Context proxy object for C# script files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpProxy" />
[ContentContextMenu("New/C#/C# Script")]
public class CSharpScriptProxy : CSharpProxy
{
/// <inheritdoc />
public override string Name => "C# Script";
/// <inheritdoc />
protected override void GetTemplatePath(out string path)
{
path = StringUtils.CombinePaths(Globals.EngineContentFolder, "Editor/Scripting/ScriptTemplate.cs");
}
}
/// <summary>
/// Context proxy object for empty C# files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpProxy" />
[ContentContextMenu("New/C#/C# Empty File")]
public class CSharpEmptyProxy : CSharpProxy
{
/// <inheritdoc />
public override string Name => "C# Empty File";
/// <inheritdoc />
protected override void GetTemplatePath(out string path)
{
path = StringUtils.CombinePaths(Globals.EngineContentFolder, "Editor/Scripting/CSharpEmptyTemplate.cs");
}
}
}
@@ -39,6 +39,16 @@ namespace FlaxEditor.Content
return false;
}
/// <summary>
/// Constructs the item for the file.
/// </summary>
/// <param name="path">The file path.</param>
/// <returns>Created item or null.</returns>
public virtual ContentItem ConstructItem(string path)
{
return null;
}
/// <summary>
/// Gets a value indicating whether this proxy if for assets.
/// </summary>
+10 -4
View File
@@ -11,7 +11,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Context proxy object for C++ files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpScriptProxy" />
/// <seealso cref="FlaxEditor.Content.ScriptProxy" />
public abstract class CppProxy : ScriptProxy
{
/// <summary>
@@ -74,7 +74,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Context proxy object for C++ script files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpScriptProxy" />
/// <seealso cref="FlaxEditor.Content.CppProxy" />
[ContentContextMenu("New/C++/C++ Script")]
public class CppScriptProxy : CppProxy
{
@@ -87,6 +87,12 @@ namespace FlaxEditor.Content
return item is CppScriptItem;
}
/// <inheritdoc />
public override ContentItem ConstructItem(string path)
{
return new CppScriptItem(path);
}
/// <inheritdoc />
protected override void GetTemplatePaths(out string headerTemplate, out string sourceTemplate)
{
@@ -98,7 +104,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Context proxy object for C++ Json Asset files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpScriptProxy" />
/// <seealso cref="FlaxEditor.Content.CppProxy" />
[ContentContextMenu("New/C++/C++ Function Library")]
public class CppStaticClassProxy : CppProxy
{
@@ -116,7 +122,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Context proxy object for C++ Json Asset files.
/// </summary>
/// <seealso cref="FlaxEditor.Content.CSharpScriptProxy" />
/// <seealso cref="FlaxEditor.Content.CppProxy" />
[ContentContextMenu("New/C++/C++ Json Asset")]
public class CppAssetProxy : CppProxy
{
+14
View File
@@ -20,12 +20,26 @@ namespace FlaxEditor.Content
return item is FileItem;
}
/// <inheritdoc />
public override ContentItem ConstructItem(string path)
{
return new FileItem(path);
}
/// <inheritdoc />
public override string FileExtension => string.Empty;
/// <inheritdoc />
public override EditorWindow Open(Editor editor, ContentItem item)
{
#if PLATFORM_WINDOWS
CreateProcessSettings settings = new CreateProcessSettings
{
ShellExecute = true,
FileName = item.Path
};
Platform.CreateProcess(ref settings);
#endif
return null;
}
@@ -166,6 +166,25 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override string Name { get; } = Utilities.Utils.GetPropertyNameUI(typeof(T).Name);
private SpriteHandle _thumbnail;
/// <summary>
/// Default Constructor.
/// </summary>
public SpawnableJsonAssetProxy()
{
_thumbnail = SpriteHandle.Invalid;
}
/// <summary>
/// Constructor with overriden thumbnail.
/// </summary>
/// <param name="thumbnail">The thumbnail to use.</param>
public SpawnableJsonAssetProxy(SpriteHandle thumbnail)
{
_thumbnail = thumbnail;
}
/// <inheritdoc />
public override bool CanCreate(ContentFolder targetLocation)
{
@@ -177,6 +196,12 @@ namespace FlaxEditor.Content
{
Editor.SaveJsonAsset(outputPath, new T());
}
/// <inheritdoc />
public override AssetItem ConstructItem(string path, string typeName, ref Guid id)
{
return _thumbnail.IsValid ? new JsonAssetItem(path, id, typeName, _thumbnail) : base.ConstructItem(path, typeName, ref id);
}
/// <inheritdoc />
public override string TypeName { get; } = typeof(T).FullName;
+4 -1
View File
@@ -94,7 +94,10 @@ namespace FlaxEditor.Content
_preview.Model = (Model)request.Asset;
_preview.Parent = guiRoot;
_preview.SyncBackbufferSize();
_preview.ViewportCamera.SetArcBallView(_preview.Model.GetBox());
var bounds = _preview.Model.GetBox();
var maxSize = Math.Max(0.001f, (float)bounds.Size.MaxValue);
_preview.ViewportCamera.SetArcBallView(bounds);
_preview.FarPlane = Mathf.Max(1000.0f, maxSize * 2 + 100.0f);
_preview.Task.OnDraw();
}
@@ -3,6 +3,9 @@
using System;
using FlaxEditor.Content.Create;
using FlaxEditor.Content.Thumbnails;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.GUI.Timeline;
using FlaxEditor.GUI.Timeline.Tracks;
using FlaxEditor.Viewport.Previews;
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
@@ -48,6 +51,63 @@ namespace FlaxEditor.Content
Editor.Instance.ContentImporting.Create(new ParticleEmitterCreateEntry(outputPath));
}
/// <inheritdoc />
public override void OnContentWindowContextMenu(ContextMenu menu, ContentItem item)
{
base.OnContentWindowContextMenu(menu, item);
if (item is BinaryAssetItem binaryAssetItem)
{
var button = menu.AddButton("Create Particle System", CreateParticleSystemClicked);
button.Tag = binaryAssetItem;
}
}
private void CreateParticleSystemClicked(ContextMenuButton obj)
{
var binaryAssetItem = (BinaryAssetItem)obj.Tag;
CreateParticleSystem(binaryAssetItem);
}
/// <summary>
/// Creates the particle system from the given particle emitter.
/// </summary>
/// <param name="emitterItem">The particle emitter item to use as a base for the particle system.</param>
public static void CreateParticleSystem(BinaryAssetItem emitterItem)
{
var particleSystemName = emitterItem.ShortName + " Particle System";
var particleSystemProxy = Editor.Instance.ContentDatabase.GetProxy<ParticleSystem>();
Editor.Instance.Windows.ContentWin.NewItem(particleSystemProxy, null, item => OnParticleSystemCreated(item, emitterItem), particleSystemName);
}
private static void OnParticleSystemCreated(ContentItem item, BinaryAssetItem particleItem)
{
var assetItem = (AssetItem)item;
var particleSystem = FlaxEngine.Content.LoadAsync<ParticleSystem>(assetItem.ID);
if (particleSystem == null || particleSystem.WaitForLoaded())
{
Editor.LogError("Failed to load created particle system.");
return;
}
ParticleEmitter emitter = FlaxEngine.Content.LoadAsync<ParticleEmitter>(particleItem.ID);
if (emitter == null || emitter.WaitForLoaded())
{
Editor.LogError("Failed to load base particle emitter.");
}
ParticleSystemPreview tempPreview = new ParticleSystemPreview(false);
ParticleSystemTimeline timeline = new ParticleSystemTimeline(tempPreview);
timeline.Load(particleSystem);
var track = (ParticleEmitterTrack)timeline.NewTrack(ParticleEmitterTrack.GetArchetype());
track.Asset = emitter;
track.TrackMedia.DurationFrames = timeline.DurationFrames;
track.Rename(particleItem.ShortName);
timeline.AddTrack(track);
timeline.Save(particleSystem);
}
/// <inheritdoc />
public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
{
+15 -22
View File
@@ -1,14 +1,13 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System;
using System.IO;
using FlaxEditor.Content.Create;
using FlaxEditor.Content.Thumbnails;
using FlaxEditor.Viewport.Previews;
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
using FlaxEngine.GUI;
using Object = FlaxEngine.Object;
namespace FlaxEditor.Content
{
@@ -73,6 +72,16 @@ namespace FlaxEditor.Content
return targetLocation.CanHaveAssets;
}
/// <inheritdoc />
public override bool CanReimport(ContentItem item)
{
if (item is not PrefabItem prefabItem)
return base.CanReimport(item);
var prefab = FlaxEngine.Content.Load<Prefab>(prefabItem.ID);
return prefab.GetDefaultInstance().GetScript<ModelPrefab>() != null;
}
/// <inheritdoc />
public override void Create(string outputPath, object arg)
{
@@ -80,14 +89,8 @@ namespace FlaxEditor.Content
var transform = Transform.Identity;
if (!(arg is Actor actor))
{
// Create default prefab root object
actor = new EmptyActor
{
Name = "Root"
};
// Cleanup it after usage
Object.Destroy(actor, 20.0f);
Editor.Instance.ContentImporting.Create(new PrefabCreateEntry(outputPath));
return;
}
else if (actor.HasScene)
{
@@ -241,18 +244,8 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override void Create(string outputPath, object arg)
{
// Create prefab with UI Control
var actor = new UIControl
{
Name = Path.GetFileNameWithoutExtension(outputPath),
StaticFlags = StaticFlags.None,
};
actor.Control = new Button
{
Text = "Button",
};
PrefabManager.CreatePrefab(actor, outputPath, false);
Object.Destroy(actor, 20.0f);
Editor.Instance.ContentImporting.Create(new WidgetCreateEntry(outputPath));
return;
}
}
}
@@ -2,6 +2,7 @@
using System;
using FlaxEditor.Content.Thumbnails;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.Viewport.Previews;
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
@@ -39,6 +40,59 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override Type AssetType => typeof(SkinnedModel);
/// <inheritdoc />
public override void OnContentWindowContextMenu(ContextMenu menu, ContentItem item)
{
base.OnContentWindowContextMenu(menu, item);
if (item is BinaryAssetItem binaryAssetItem)
{
var button = menu.AddButton("Create Animation Graph", CreateAnimationGraphClicked);
button.Tag = binaryAssetItem;
}
}
private void CreateAnimationGraphClicked(ContextMenuButton obj)
{
var binaryAssetItem = (BinaryAssetItem)obj.Tag;
CreateAnimationGraph(binaryAssetItem);
}
/// <summary>
/// Creates the animation graph from the given particle emitter.
/// </summary>
/// <param name="skinnedModelItem">The skinned model item to use as the base model for the animation graph.</param>
public static void CreateAnimationGraph(BinaryAssetItem skinnedModelItem)
{
var animationGraphName = skinnedModelItem.ShortName + " Graph";
var animationGraphProxy = Editor.Instance.ContentDatabase.GetProxy<AnimationGraph>();
Editor.Instance.Windows.ContentWin.NewItem(animationGraphProxy, null, item => OnAnimationGraphCreated(item, skinnedModelItem), animationGraphName);
}
private static void OnAnimationGraphCreated(ContentItem item, BinaryAssetItem skinnedModelItem)
{
var skinnedModel = FlaxEngine.Content.Load<SkinnedModel>(skinnedModelItem.ID);
if (skinnedModel == null)
{
Editor.LogError("Failed to load base skinned model.");
return;
}
// Hack the animation graph window to modify the base model of the animation graph.
// TODO: implement it without window logic (load AnimGraphSurface and set AnimationGraphWindow.BaseModelId to model)
AnimationGraphWindow win = new AnimationGraphWindow(Editor.Instance, item as AssetItem);
win.Show();
// Ensure the window knows the asset is loaded so we can save it later.
win.Asset.WaitForLoaded();
win.Update(0); // Call Update() to refresh the loaded flag.
win.SetBaseModel(skinnedModel);
win.Surface.MarkAsEdited();
win.Save();
win.Close();
}
/// <inheritdoc />
public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
{
+48
View File
@@ -0,0 +1,48 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
namespace FlaxEditor.Content
{
/// <summary>
/// A video media file proxy object.
/// </summary>
public class VideoProxy : ContentProxy
{
private readonly string _extension;
internal VideoProxy(string extension)
{
_extension = extension;
}
/// <inheritdoc />
public override string Name => "Video";
/// <inheritdoc />
public override string FileExtension => _extension;
/// <inheritdoc />
public override Color AccentColor => Color.FromRGB(0x11f7f1);
/// <inheritdoc />
public override bool IsProxyFor(ContentItem item)
{
return item is VideoItem;
}
/// <inheritdoc />
public override ContentItem ConstructItem(string path)
{
return new VideoItem(path);
}
/// <inheritdoc />
public override EditorWindow Open(Editor editor, ContentItem item)
{
return new VideoWindow(editor, (VideoItem)item);
}
}
}
+15 -6
View File
@@ -134,6 +134,12 @@ API_ENUM() enum class BuildPlatform
/// </summary>
API_ENUM(Attributes="EditorDisplay(null, \"iOS ARM64\")")
iOSARM64 = 14,
/// <summary>
/// Windows (ARM64)
/// </summary>
API_ENUM(Attributes = "EditorDisplay(null, \"Windows ARM64\")")
WindowsARM64 = 15,
};
/// <summary>
@@ -285,24 +291,22 @@ public:
/// <summary>
/// The total assets amount in the build.
/// </summary>
int32 TotalAssets;
int32 TotalAssets = 0;
/// <summary>
/// The cooked assets (TotalAssets - CookedAssets is amount of reused cached assets).
/// </summary>
int32 CookedAssets;
int32 CookedAssets = 0;
/// <summary>
/// The final output content size in MB.
/// The final output content size (in bytes).
/// </summary>
int32 ContentSizeMB;
uint64 ContentSize = 0;
/// <summary>
/// The asset type stats. Key is the asset typename, value is the stats container.
/// </summary>
Dictionary<String, AssetTypeStatistics> AssetStats;
Statistics();
};
/// <summary>
@@ -328,6 +332,11 @@ public:
/// </summary>
HashSet<Guid> Assets;
/// <summary>
/// The final files collection to include in build (valid only after CollectAssetsStep).
/// </summary>
HashSet<String> Files;
struct BinaryModuleInfo
{
String Name;
+15 -8
View File
@@ -148,6 +148,8 @@ const Char* ToString(const BuildPlatform platform)
return TEXT("Mac ARM64");
case BuildPlatform::iOSARM64:
return TEXT("iOS ARM64");
case BuildPlatform::WindowsARM64:
return TEXT("Windows ARM64");
default:
return TEXT("");
}
@@ -202,13 +204,6 @@ bool CookingData::AssetTypeStatistics::operator<(const AssetTypeStatistics& othe
return Count > other.Count;
}
CookingData::Statistics::Statistics()
{
TotalAssets = 0;
CookedAssets = 0;
ContentSizeMB = 0;
}
CookingData::CookingData(const SpawnParams& params)
: ScriptingObject(params)
{
@@ -307,6 +302,10 @@ void CookingData::GetBuildPlatformName(const Char*& platform, const Char*& archi
platform = TEXT("iOS");
architecture = TEXT("ARM64");
break;
case BuildPlatform::WindowsARM64:
platform = TEXT("Windows");
architecture = TEXT("ARM64");
break;
default:
LOG(Fatal, "Unknown or unsupported build platform.");
}
@@ -393,6 +392,9 @@ PlatformTools* GameCooker::GetTools(BuildPlatform platform)
case BuildPlatform::Windows64:
result = New<WindowsPlatformTools>(ArchitectureType::x64);
break;
case BuildPlatform::WindowsARM64:
result = New<WindowsPlatformTools>(ArchitectureType::ARM64);
break;
#endif
#if PLATFORM_TOOLS_UWP
case BuildPlatform::UWPx86:
@@ -554,7 +556,12 @@ void GameCooker::GetCurrentPlatform(PlatformType& platform, BuildPlatform& build
switch (PLATFORM_TYPE)
{
case PlatformType::Windows:
buildPlatform = PLATFORM_64BITS ? BuildPlatform::Windows64 : BuildPlatform::Windows32;
if (PLATFORM_ARCH == ArchitectureType::x64)
buildPlatform = BuildPlatform::Windows64;
else if (PLATFORM_ARCH == ArchitectureType::ARM64)
buildPlatform = BuildPlatform::WindowsARM64;
else
buildPlatform = BuildPlatform::Windows32;
break;
case PlatformType::XboxOne:
buildPlatform = BuildPlatform::XboxOne;
@@ -229,7 +229,7 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
}
// Copy fresh Gradle project template
if (FileSystem::CopyDirectory(data.OriginalOutputPath, platformDataPath / TEXT("Project"), true))
if (FileSystem::CopyDirectory(data.OriginalOutputPath, platformDataPath / TEXT("Project")))
{
LOG(Error, "Failed to deploy Gradle project to {0} from {1}", data.OriginalOutputPath, platformDataPath);
return true;
@@ -325,9 +325,7 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
const auto buildSettings = BuildSettings::Get();
if (buildSettings->SkipPackaging)
{
return false;
}
GameCooker::PackageFiles();
// Validate environment variables
@@ -365,7 +363,7 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
Platform::CreateProcess(procSettings);
}
#endif
const bool distributionPackage = buildSettings->ForDistribution;
const bool distributionPackage = buildSettings->ForDistribution || data.Configuration == BuildConfiguration::Release;
{
CreateProcessSettings procSettings;
procSettings.FileName = String::Format(TEXT("\"{0}\" {1}"), data.OriginalOutputPath / gradlew, distributionPackage ? TEXT("assemble") : TEXT("assembleDebug"));
@@ -146,7 +146,7 @@ bool GDKPlatformTools::OnPostProcess(CookingData& data, GDKPlatformSettings* pla
sb.Append(TEXT(" </ExecutableList>\n"));
sb.AppendFormat(TEXT(" <ShellVisuals DefaultDisplayName=\"{0}\"\n"), gameSettings->ProductName);
sb.AppendFormat(TEXT(" PublisherDisplayName=\"{0}\"\n"), platformSettings->PublisherDisplayName.HasChars() ? platformSettings->PublisherDisplayName : gameSettings->CompanyName);
sb.AppendFormat(TEXT(" BackgroundColor=\"#{0}\"\n"), platformSettings->BackgroundColor.ToHexString());
sb.AppendFormat(TEXT(" BackgroundColor=\"#{0}\"\n"), platformSettings->BackgroundColor.ToHexString().Left(6));
sb.AppendFormat(TEXT(" ForegroundText=\"{0}\"\n"), platformSettings->ForegroundText);
sb.Append(TEXT(" Square150x150Logo=\"Assets\\Square150x150Logo.png\"\n"));
sb.Append(TEXT(" Square480x480Logo=\"Assets\\Square480x480Logo.png\"\n"));
@@ -123,7 +123,7 @@ bool UWPPlatformTools::OnDeployBinaries(CookingData& data)
const auto srcAssetsPath = uwpDataPath / TEXT("Assets");
if (!FileSystem::DirectoryExists(dstAssetsPath))
{
if (FileSystem::CopyDirectory(dstAssetsPath, srcAssetsPath, true))
if (FileSystem::CopyDirectory(dstAssetsPath, srcAssetsPath))
{
data.Error(TEXT("Failed to copy Assets directory."));
return true;
@@ -203,7 +203,7 @@ bool iOSPlatformTools::OnPostProcess(CookingData& data)
return true;
// Copy fresh XCode project template
if (FileSystem::CopyDirectory(data.OriginalOutputPath, platformDataPath / TEXT("Project"), true))
if (FileSystem::CopyDirectory(data.OriginalOutputPath, platformDataPath / TEXT("Project")))
{
LOG(Error, "Failed to deploy XCode project to {0} from {1}", data.OriginalOutputPath, platformDataPath);
return true;
@@ -10,47 +10,26 @@
#include "Engine/Content/Assets/Shader.h"
#include "Engine/Content/Cache/AssetsCache.h"
bool CollectAssetsStep::Process(CookingData& data, Asset* asset)
{
// Skip virtual/temporary assets
if (asset->IsVirtual())
return false;
// Keep reference to the asset
AssetReference<Asset> ref(asset);
// Asset should have loaded data
if (asset->WaitForLoaded())
return false;
// Gather asset references
_references.Clear();
asset->Locker.Lock();
asset->GetReferences(_references);
asset->Locker.Unlock();
_assetsQueue.Add(_references);
return false;
}
bool CollectAssetsStep::Perform(CookingData& data)
{
LOG(Info, "Searching for assets to include in a build. Using {0} root assets.", data.RootAssets.Count());
data.StepProgress(TEXT("Collecting assets"), 0);
// Initialize assets queue
_assetsQueue.Clear();
_assetsQueue.EnsureCapacity(1024);
Array<Guid> assetsQueue;
assetsQueue.Clear();
assetsQueue.EnsureCapacity(1024);
for (auto i = data.RootAssets.Begin(); i.IsNotEnd(); ++i)
_assetsQueue.Add(i->Item);
assetsQueue.Add(i->Item);
// Iterate through the assets graph
AssetInfo assetInfo;
while (_assetsQueue.HasItems())
Array<Guid> references;
Array<String> files;
while (assetsQueue.HasItems())
{
BUILD_STEP_CANCEL_CHECK;
const auto assetId = _assetsQueue.Dequeue();
const Guid assetId = assetsQueue.Dequeue();
// Skip already processed or invalid assets
if (!assetId.IsValid()
@@ -69,14 +48,31 @@ bool CollectAssetsStep::Perform(CookingData& data)
}
// Load asset
const auto asset = Content::LoadAsync<Asset>(assetId);
AssetReference<Asset> asset = Content::LoadAsync<Asset>(assetId);
if (asset == nullptr)
continue;
// Process that asset
LOG_STR(Info, asset->GetPath());
data.Assets.Add(assetId);
Process(data, asset);
// Skip virtual/temporary assets
if (asset->IsVirtual())
continue;
// Asset should have loaded data
if (asset->WaitForLoaded())
continue;
// Gather asset references
references.Clear();
asset->Locker.Lock();
asset->GetReferences(references, files);
asset->Locker.Unlock();
assetsQueue.Add(references);
for (String& file : files)
{
if (file.HasChars())
data.Files.Add(MoveTemp(file));
}
}
data.Stats.TotalAssets = data.Assets.Count();
@@ -12,15 +12,7 @@ class Asset;
/// <seealso cref="GameCooker::BuildStep" />
class CollectAssetsStep : public GameCooker::BuildStep
{
private:
Array<Guid> _assetsQueue;
Array<Guid> _references;
bool Process(CookingData& data, Asset* asset);
public:
// [BuildStep]
bool Perform(CookingData& data) override;
};

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