Compare commits

...

2198 Commits

Author SHA1 Message Date
mafiesto4 c328d2b559 Increase maximum window width limit to 8k 2021-08-26 20:22:10 +02:00
mafiesto4 65747c9ddf Fix issue with MapTrack for actors 2021-08-26 20:22:02 +02:00
mafiesto4 d4a4ae996e Add vehicle telemetry logging debug option 2021-08-21 13:48:18 +02:00
mafiesto4 e312485a34 Bump up build number 2021-08-21 13:35:32 +02:00
mafiesto4 7dfe709196 Fix suspension force offset location 2021-08-21 13:16:19 +02:00
mafiesto4 759845c37b Add wheeled vehicle tire options 2021-08-21 13:16:14 +02:00
mafiesto4 5e3fe56aa7 Add digital steering option for a vehicle 2021-08-21 13:16:07 +02:00
mafiesto4 4b506560e9 Fix WheeledVehicle driving and suspension raycasts 2021-08-21 13:15:25 +02:00
mafiesto4 330c46b949 Add SuspensionForceOffset to vehicle wheel config 2021-08-21 13:15:10 +02:00
mafiesto4 b29d1f9902 Fix rare crashes due to selection not being empty on play mode start 2021-08-21 13:13:32 +02:00
mafiesto4 15f60b33b1 Optimize ticking disabled vehicles 2021-08-21 13:13:11 +02:00
mafiesto4 1a54ea82b5 Fix invalid rigidbody center of mass location 2021-08-21 13:12:47 +02:00
mafiesto4 949bc67354 Fix decal material normal vector blending 2021-08-21 13:12:36 +02:00
mafiesto4 d816af41b4 Fix invalid navmesh build for triggers 2021-08-21 13:12:26 +02:00
mafiesto4 a7880d73f3 Fix 2021-08-21 13:12:09 +02:00
mafiesto4 ac21c4d1e7 Adjust scene node context menu 2021-08-21 13:11:10 +02:00
mafiesto4 ed8a10f276 Add option to select scene asset from Scene tree window 2021-08-21 13:11:04 +02:00
mafiesto4 8b8a83eb20 Fix materials parameters display issues after editing 2021-08-21 13:10:44 +02:00
mafiesto4 890ea38470 Add -new command line arg to create a new project 2021-08-21 13:10:08 +02:00
mafiesto4 07d06c74b5 Fix context menu keyboard arrows navigation to skip disabled items 2021-08-21 13:09:49 +02:00
Erdroy ec18b01ef7 Fix ENet driver crash 2021-08-21 13:09:27 +02:00
mafiesto4 7a1817b099 Fix Custom Editor UI regression
3cf3f58db1
2021-08-21 13:09:09 +02:00
mafiesto4 a2782515a2 Fix compilation 2021-08-21 13:08:55 +02:00
mafiesto4 9deb021a5e Refactor Tracy source locations to be static
#597
2021-08-21 13:08:19 +02:00
mafiesto4 0bbb72e24d Fix some memory leaks 2021-08-21 13:07:29 +02:00
mafiesto4 7656cf541d Fix snap to the ground to use scene graph query instead of physics only raycast 2021-08-21 13:07:03 +02:00
mafiesto4 d77ad33583 Increase fog properties limits 2021-08-21 13:06:45 +02:00
mafiesto4 6f5605b7ca Fix window focus issue when removing actors 2021-08-21 13:06:26 +02:00
mafiesto4 718ae78036 Fix UI with list of null items when layout gets rebuilt at item level 2021-08-21 13:06:04 +02:00
mafiesto4 f6eef82864 Fix LocalizedString undo bug 2021-08-21 13:05:49 +02:00
mafiesto4 26d37103ba Fix some problems with LocalizedString serialization in C# 2021-08-21 13:05:25 +02:00
mafiesto4 d85c65bfc5 Add check to prevent double-free from native event in C# 2021-08-21 13:03:29 +02:00
mafiesto4 1943c64a33 Fix timeline background stops drawing to be ore readable
#519
2021-08-21 13:02:39 +02:00
mafiesto4 9c1fa7c0ce Add Zoom value box to timeline view context menu 2021-08-21 13:01:56 +02:00
mafiesto4 14068307d1 Add support for changing scenes via Editor during play mode 2021-08-21 13:01:42 +02:00
mafiesto4 670e48ec1c Add option to Scene context menu to unload it 2021-08-21 13:01:11 +02:00
mafiesto4 e288104472 Add helper tooltips for Scene Animation actions UI 2021-08-21 12:59:59 +02:00
mafiesto4 99b0cf71a8 Add better timeline UI positioning for improved viewport navigation 2021-08-21 12:59:47 +02:00
mafiesto4 2b7e6944e8 Add timeline view panning with right mouse button 2021-08-21 12:59:15 +02:00
mafiesto4 9e7ce69e9c Add Engine.HasGameViewportFocus to C# API 2021-08-21 12:57:57 +02:00
mafiesto4 8c97a645e9 Fix car wheel location by applying compression of the suspension spring 2021-08-21 12:57:31 +02:00
mafiesto4 d194a06e59 Add options for vehicle wheel suspension configuration and state 2021-08-21 12:56:47 +02:00
mafiesto4 783372c787 Fix pasting actors if cannot spawn a object (eg. type missing) to still paste valid objects 2021-08-21 12:56:13 +02:00
mafiesto4 51016949b8 Fix actor renaming on paste to keep previous name if can 2021-08-21 12:55:17 +02:00
mafiesto4 128cad49b9 Bump up version number 2021-08-08 21:46:24 +02:00
mafiesto4 65f9e9d0aa Fix error 2021-08-08 20:58:36 +02:00
mafiesto4 36df9757b1 Add creating Scene Graph nodes for actors inheriting from some shared custom types 2021-08-08 20:58:19 +02:00
mafiesto4 a0e1c7c37e Add support for creating custom BoxVolume type in C# 2021-08-08 20:19:43 +02:00
mafiesto4 847641f655 Fix crash when spawning C# object that inherits from abstract C++ class 2021-08-08 19:10:51 +02:00
mafiesto4 cdca5b4a28 Fix undo for missing actor children and scripts when doing Convert action 2021-08-08 18:38:26 +02:00
mafiesto4 6609425880 Fix creating prefab in Editor from selection in Prefab window 2021-08-08 17:25:18 +02:00
mafiesto4 6ac0d5d3f4 Merge branch 'blep-bugfix_crash_2riderinstall' 2021-08-08 16:40:56 +02:00
mafiesto4 bc46259286 Merge branch 'bugfix_crash_2riderinstall' of git://github.com/blep/FlaxEngine into blep-bugfix_crash_2riderinstall 2021-08-08 16:40:41 +02:00
mafiesto4 50bccd52e7 Fix startup failure on older CPUs that don't support invariant TSC
#580
2021-08-08 16:38:28 +02:00
mafiesto4 84cca1ae98 Fix missing mesh collider vertices transformation for navmesh building 2021-08-08 16:20:48 +02:00
mafiesto4 71cf758ccf Fix crash when cooking collision data for multi-mesh models 2021-08-08 16:18:29 +02:00
mafiesto4 edf98acae2 Undo unwanted change 2021-08-08 16:04:07 +02:00
mafiesto4 a085531fda Add build preset and target names to access for Game Cooker extending 2021-08-08 16:02:48 +02:00
mafiesto4 6b532d2fbc Add CookingData for C# editor to extend the cooking process 2021-08-08 16:01:58 +02:00
Baptiste Lepilleur 7862ff4670 Fixed crash on startup when 2 Rider installations are detected 2021-08-07 21:43:58 +02:00
mafiesto4 bc27890818 Merge branch 'marynate-PR-global-local-crash' 2021-08-07 16:52:48 +02:00
mafiesto4 1c5754beff Merge branch 'PR-global-local-crash' of git://github.com/marynate/FlaxEngine into marynate-PR-global-local-crash 2021-08-07 16:52:39 +02:00
mafiesto4 054def3d13 Fix crash in build tool if there is no valid project to pick 2021-08-07 16:46:39 +02:00
mafiesto4 e6d5d5330e Fix CharacterController minimum size checks to prevent crashes if values are too small 2021-08-07 15:52:49 +02:00
mafiesto4 f430803ecc Merge branch 'thallard-dev' 2021-08-07 15:33:12 +02:00
mafiesto4 fc762fdbdb Merge branch 'dev' of git://github.com/thallard/FlaxEngine into thallard-dev 2021-08-07 15:29:01 +02:00
marynate 6908aa4a8a Catch potential runtime error from locale::global 2021-08-07 14:20:38 +08:00
Erdroy 6c70f2e14f Fix editor crash on startup when Rider 2021.1 is installed 2021-08-06 18:58:19 +02:00
thallard 3bc489a7b5 Replace string variable check by an enum 2021-08-06 15:50:30 +02:00
mafiesto4 d22380c7cf Add warnings when cooking collision with empty mesh data 2021-08-06 15:07:50 +02:00
mafiesto4 c4102ba884 Fix compiling C#-only game scripts without native platform tools installed 2021-08-06 13:17:23 +02:00
thallard baee3a60a6 Added tick when a button is selected 2021-08-06 11:47:50 +02:00
thallard 5e2b4adff3 Removed useless static path thanks to @jb-perrier 2021-08-06 00:21:27 +02:00
thallard 78d668c599 Change enum and variable name 2021-08-06 00:07:44 +02:00
thallard e8b867430f Remplace string variable by enum 2021-08-05 23:38:08 +02:00
thallard 1426b4ca49 Removed useless debug logs 2021-08-05 23:05:27 +02:00
thallard 9682ac4643 Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into dev 2021-08-05 22:37:22 +02:00
thallard d95cd24b76 Added functionality to order items by name 2021-08-05 22:24:01 +02:00
mafiesto4 25f48a3469 Fix compilation with MSVC 140 tools 2021-08-05 21:01:36 +02:00
mafiesto4 1b3c74c3eb Fix showing context menu in Scene Tree window with scroll used
#576
2021-08-05 19:12:34 +02:00
mafiesto4 425c23fea1 Rename NewWindowMethod to NewWindowLocation and add handling for new asset windows too
#577
2021-08-05 18:56:55 +02:00
mafiesto4 16654fa639 Merge branch 'thallard-dev' 2021-08-05 18:52:41 +02:00
mafiesto4 8c010a8a96 Merge branch 'dev' of git://github.com/thallard/FlaxEngine into thallard-dev 2021-08-05 18:43:57 +02:00
mafiesto4 bf2171ed74 Add support for cooking collision data from model asset on main thread and fix issue if mesh is during streaming 2021-08-05 16:41:55 +02:00
mafiesto4 fae682e406 Implement DownloadDataCPU for Mesh and add result entries count 2021-08-05 16:40:28 +02:00
mafiesto4 c5b9654547 Fix crash when unloading scene that has been already unloaded 2021-08-05 13:14:57 +02:00
thallard a64d23b8ed Some tweaks 2021-08-05 12:46:29 +02:00
thallard b4d879960f Remove unused import 2021-08-05 12:42:46 +02:00
thallard 456a944482 Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into dev 2021-08-05 12:40:38 +02:00
HosRa 23e94a259b Create new option for open method window 2021-08-05 12:20:31 +02:00
mafiesto4 cb5c716fdb Add third camera shot preview (in a middle) 2021-08-04 17:42:03 +02:00
mafiesto4 980aa860fc Fix camera preview in scene animation 2021-08-04 17:35:42 +02:00
mafiesto4 080b3b1136 Fix camera previews placement on camera cuts track
#519
2021-08-04 16:58:24 +02:00
mafiesto4 fc8c8b5c25 Tweaks and improvements for curves editing
#519
2021-08-04 16:35:19 +02:00
mafiesto4 41b7897857 Split CurveEditor into separate files for easier navigation 2021-08-04 12:01:23 +02:00
mafiesto4 04c807aea5 Fix scrolling to selected actor in scene tree if parent is collapsed 2021-08-04 11:36:27 +02:00
mafiesto4 1c9abef342 Fix asset cache when loading asset from path with relative parts 2021-08-04 11:26:24 +02:00
mafiesto4 9464c509fa Improve keyframes and curves points moving with a mouse
#519
2021-08-04 10:59:43 +02:00
mafiesto4 6ee6c8e0be Fix arrows in AnimGraph state machine 2021-08-03 17:08:54 +02:00
mafiesto4 c9b87d9b76 Add option to use seconds for timeline/media duration 2021-08-03 12:05:47 +02:00
mafiesto4 b5d2b39c3e Fix Control.GetChildAtRecursive with overlapping controls 2021-08-03 11:14:17 +02:00
mafiesto4 d4817a95d7 Add MapTrack to SceneAnimationPlayer 2021-08-03 10:22:26 +02:00
mafiesto4 37cfe692f6 Add bone icon for Anim Graph connections with local skeleton nodes pose 2021-08-01 23:18:20 +02:00
mafiesto4 0e76bf22ed Fix crash when reading empty string from stream 2021-08-01 23:17:55 +02:00
mafiesto4 f06054bc9d Fix warnings 2021-07-30 16:33:10 +02:00
mafiesto4 9012397593 Add automatic resizing for the timeline track preview values for better readability
#519
2021-07-30 15:59:01 +02:00
mafiesto4 429223c7e3 Fix Label text positioning when using Auto Fit 2021-07-30 15:58:06 +02:00
mafiesto4 16c656cda2 Move member track preview value showing to be shared impl 2021-07-30 15:57:51 +02:00
mafiesto4 e1cac0b779 Add loading info text when opening scene animation window 2021-07-30 15:04:26 +02:00
mafiesto4 25487c17e3 Fix stack overflow when using recursion with nested scene animations
#519
2021-07-30 14:29:40 +02:00
mafiesto4 563eecebda Add support for Pack/Unpack Structure nodes and Enum constant in Anim Graph 2021-07-30 12:37:36 +02:00
mafiesto4 c2de55f005 Add support for Is Null, Is Valid, As, Is and Type Reference nodes in Anim Graph 2021-07-30 10:59:20 +02:00
mafiesto4 22551e9410 Fix crash when loading empty managed object data 2021-07-30 10:58:06 +02:00
mafiesto4 c4a0b1c4d6 Fix false-positive of Surface node value modification 2021-07-30 10:34:40 +02:00
mafiesto4 e970d53787 Fix using C#-only structures as Visual Script properties 2021-07-30 10:34:21 +02:00
mafiesto4 752dc30cc5 Fix error when loading Visject surface with an bug 2021-07-29 23:35:52 +02:00
mafiesto4 d8f555e8dc Add support for using structures as Visual Script and Anim Graph parameters 2021-07-29 23:35:30 +02:00
mafiesto4 24782bdd2f Fix Is Null and Is Valid nodes in Visual Script to handle managed instances comparison 2021-07-29 22:57:39 +02:00
mafiesto4 ee6ef85326 Fix creating reroute nodes in Visject during debugging 2021-07-29 22:56:53 +02:00
mafiesto4 22d547e87b Refactor Variant type ManagedObject serialization to be usable for Visual Scripting 2021-07-29 22:56:11 +02:00
mafiesto4 ad7f5cf720 Add support for object and enum properties in Anim Graph 2021-07-29 19:51:30 +02:00
mafiesto4 19da74f913 Drop byte from VS types 2021-07-29 19:45:33 +02:00
mafiesto4 1f59c43b04 Revert due to crashes (strange) 2021-07-29 19:45:09 +02:00
mafiesto4 f42d2b8a18 Tweaks and improvements 2021-07-29 15:41:58 +02:00
mafiesto4 92b1e067b1 Improve tooltips generation for scripting types 2021-07-29 14:30:13 +02:00
mafiesto4 84f48e4a6f Add full documentation tooltip to Visject new parameter type picker list 2021-07-29 14:06:05 +02:00
mafiesto4 fcd0841bc7 Hide various Editor types from scripting 2021-07-29 14:05:42 +02:00
mafiesto4 38249c362d Optimize memory allocations in Vulkan backend 2021-07-29 12:39:21 +02:00
mafiesto4 5186cec942 Improve animation preview usability for debugging 2021-07-29 10:33:21 +02:00
mafiesto4 d505160444 Optimize UI for complex timelines with many tracks 2021-07-29 10:25:58 +02:00
mafiesto4 3331753bcd Expose TypeUtils.GetType to public 2021-07-29 10:05:20 +02:00
mafiesto4 0d9852be27 Improve timeline frame labels displaying 2021-07-29 10:05:03 +02:00
mafiesto4 4c0435feef Add timeline position synchronization with animation playback in Editor preview 2021-07-29 09:56:33 +02:00
mafiesto4 efe898f151 Merge remote-tracking branch 'origin/master' 2021-07-27 16:38:56 +02:00
mafiesto4 a713899a36 Add support for disabling Vulkan timer queries per-platform via define 2021-07-27 16:38:52 +02:00
mafiesto4 277e31c5dd Add helper FindScript<T> and FindActor<T> to Actor 2021-07-26 21:32:00 +02:00
mafiesto4 2050429d6c Fixes for Vulkan Swapchain on some platforms 2021-07-26 13:39:27 +02:00
mafiesto4 6718b37ca1 Fixes and improvements 2021-07-24 23:38:05 +02:00
mafiesto4 caaae8af78 Add NoUndo attribute for properties without undo usage 2021-07-24 23:37:44 +02:00
mafiesto4 135c0636bf Add GPU profiler events to ProbesRenderer 2021-07-24 16:24:19 +02:00
mafiesto4 f49e20bdb5 Revert unneeded and breaking change from D3D11 context state clearing
Ref: f5a6a18232
2021-07-24 16:23:55 +02:00
mafiesto4 9476a75f40 Merge branch 'stefnotch-patch-11' 2021-07-23 16:26:01 +02:00
mafiesto4 974fb528e9 Merge branch 'patch-11' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-11 2021-07-23 16:25:57 +02:00
mafiesto4 9cde9b0743 Add tint to timeline navbar buttons 2021-07-23 16:25:29 +02:00
mafiesto4 91be427305 Fix typos 2021-07-23 16:25:12 +02:00
mafiesto4 46a65f99fa Add buttons for play/pause/stop Animation timeline in editor window 2021-07-23 16:18:11 +02:00
mafiesto4 a7a7d816ac Fixes for Vulkan extensions and layers init 2021-07-23 16:08:46 +02:00
stefnotch 970456da91 Update Time.h 2021-07-23 14:27:07 +02:00
mafiesto4 1e6d4026da Change WindowBase to allow for better code sharing for platforms without advanced windowing 2021-07-22 17:02:27 +02:00
mafiesto4 e92bdf164c Fix Mono init on Switch 2021-07-22 13:37:33 +02:00
mafiesto4 0bd41a748f Adjust normals/tangents preview length 2021-07-22 11:24:31 +02:00
mafiesto4 6eea2cc675 Add option to preview model meshes Normals and Tangents in Editor preview 2021-07-22 11:19:54 +02:00
mafiesto4 2bf736e351 Add MeshDataCache utility for async mesh data caching 2021-07-22 11:19:10 +02:00
mafiesto4 3a5c212985 Change CalculateTangents to false as default and calculate normals/tangents by default if missing 2021-07-22 10:25:01 +02:00
mafiesto4 383ea4d603 Fix crash when importing model mesh with multiple materials but no mapping on a Geometry
#572
2021-07-22 10:20:19 +02:00
mafiesto4 b7a7bc891a Minor tweaks 2021-07-21 15:42:04 +02:00
mafiesto4 d26eabe2bf Fix glitches on Android Vulkan 2021-07-21 14:13:44 +02:00
mafiesto4 5a6853ba32 Add optional location for Plugin Icon to be inside plugin project root 2021-07-21 11:49:11 +02:00
mafiesto4 99eb3447ef Fix paths in plugin projects root nodes in Content Database 2021-07-21 11:48:27 +02:00
mafiesto4 36456bfe74 Bump up version to 1.2 2021-07-20 16:50:38 +02:00
mafiesto4 cb21ff359b Fix checking min engine version for referenced projects too 2021-07-20 16:44:02 +02:00
mafiesto4 0794ab4ee5 Add support for bundling custom assets by GamePlugins 2021-07-20 16:32:55 +02:00
mafiesto4 88902bdb5d Add JsonSerializer.ParseID with return value 2021-07-20 16:29:34 +02:00
mafiesto4 669b99f8e4 Add CustomUpscale postFx to replace upscaler with a custom script 2021-07-20 15:33:12 +02:00
mafiesto4 929bd2a8c8 Add support for rendering percentage scale with upscaling to backbuffer 2021-07-20 11:06:25 +02:00
mafiesto4 5cbf091a7a Fix typos 2021-07-19 16:17:10 +02:00
mafiesto4 09c7642819 Add warning log in build tool when target is missing 2021-07-19 15:30:45 +02:00
mafiesto4 f7e47815ae Fix loading game binaries in Editor if they are still missing are recompile 2021-07-19 15:30:06 +02:00
mafiesto4 3207d2a706 Merge branch 'GoaLitiuM-rider_detection_improvements' 2021-07-19 14:21:35 +02:00
mafiesto4 2c68c4f9f2 Merge branch 'rider_detection_improvements' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rider_detection_improvements 2021-07-19 14:21:31 +02:00
mafiesto4 fc31565f12 Reimplement Temporal AA with less ghosting and better quality 2021-07-19 14:02:46 +02:00
GoaLitiuM 681c45dcbe Support Rider for Unreal Engine 2021-07-17 21:18:09 +03:00
GoaLitiuM ba266f74ed Improve detection of Rider installed via JetBrains Toolbox 2021-07-17 21:17:49 +03:00
mafiesto4 36f6463028 Fix AnimatedModel bounds calculation to use skeleton bones locations 2021-07-16 17:21:04 +02:00
mafiesto4 4d136af7dd Add culling and render mask check for models rendered via Custom Actors list 2021-07-16 17:13:44 +02:00
mafiesto4 dcd4a41f7d Add preview panel with skinned model to the Animation window 2021-07-16 16:18:34 +02:00
mafiesto4 590ef32165 Refactor animated model previews to unify features used by various windows 2021-07-16 15:24:18 +02:00
mafiesto4 cb59f2185c Add memory usage info to Animation details 2021-07-16 13:08:37 +02:00
mafiesto4 5f26fae19b Merge branch 'honzapatCZ-patch-8' 2021-07-16 12:34:33 +02:00
mafiesto4 af1c683917 Merge branch 'patch-8' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-8 2021-07-16 12:34:29 +02:00
Nejcraft 52ba7a7a08 I shouldn't code at 4 in the morning :D 2021-07-16 11:40:57 +02:00
mafiesto4 d0eed29f31 Fix rare crash when passing array to managed world with object refs inside structures 2021-07-16 11:02:49 +02:00
mafiesto4 5852887e7d Add option for preview a single mesh UVs 2021-07-16 10:21:22 +02:00
mafiesto4 41a39d5088 Fix range selection in Tree to skip invisible nodes 2021-07-16 10:21:22 +02:00
Nejcraft af8856188d Rectangle distance
Will be usefull for my UI nav
2021-07-16 04:32:47 +02:00
mafiesto4 8ae3c23ec8 Add Actor.RotateAround 2021-07-15 22:07:25 +02:00
mafiesto4 73c283fdd4 Increase items limit for Visject secondary context menu before scroll bar usage 2021-07-15 22:00:24 +02:00
mafiesto4 2354bc9f4d Increase scroll bars size for easier usage 2021-07-15 21:57:34 +02:00
mafiesto4 4f03acb149 Add support for creating virtual Anim Graph at runtime for a single animation playback 2021-07-15 16:58:26 +02:00
mafiesto4 2711bfdc82 Remove unused code 2021-07-15 16:56:39 +02:00
mafiesto4 fe2419cd11 Fix crash when reloading virtual asset 2021-07-15 16:56:11 +02:00
mafiesto4 27deeff079 Add widgets for animation preview play/pause and speed changing 2021-07-15 14:26:42 +02:00
mafiesto4 50ffdcd9ca Add UpdateSpeed to Animated Model for playback speed scaling 2021-07-15 13:50:50 +02:00
mafiesto4 1062c0b3a0 Fix missing Spline Model bounds refresh 2021-07-15 11:45:44 +02:00
mafiesto4 6f8e18f5b3 Add faked lighting to improve Debug Draw solid shapes rendering readability 2021-07-14 14:51:50 +02:00
mafiesto4 42f05a5072 Add Terrain physics collision debug drawing support 2021-07-14 14:51:20 +02:00
mafiesto4 04c6ecc963 Add Physics Colliders debug view mode to display physical world shapes (solid) 2021-07-14 14:49:41 +02:00
mafiesto4 151b478a97 Add more helper methods for batched debug shapes drawing 2021-07-14 13:40:58 +02:00
mafiesto4 4fc55f4849 Add DebugDraw::DrawTube 2021-07-14 13:40:34 +02:00
mafiesto4 5b595eb056 Add styling brush for progress bar 2021-07-14 12:27:14 +02:00
mafiesto4 d7cca59315 Add support for custom background brush to Button 2021-07-14 12:21:38 +02:00
mafiesto4 a7cb12f597 Fix Script deserialization if ParentID is not specified in stream 2021-07-14 11:39:32 +02:00
mafiesto4 8b961f7239 Update Newtonsoft.Json 2021-07-14 11:39:09 +02:00
mafiesto4 8a66bd74cf Tweak 2021-07-14 09:44:55 +02:00
mafiesto4 7c96961e92 Fix build tool clean command execution on Linux 2021-07-13 18:29:34 +02:00
mafiesto4 dc935a1a32 Add support for Tracy profiler on Linux 2021-07-13 18:29:02 +02:00
mafiesto4 caeeae6a32 Fix locale on Linux 2021-07-13 18:28:28 +02:00
mafiesto4 e0be4e202a Fix crash when resizing Dictionary to 0 2021-07-13 18:28:02 +02:00
mafiesto4 1ba84f55ae Fix handling invalid asset in AssetPicker instead of throwing exception 2021-07-13 13:19:51 +02:00
mafiesto4 120ebbb59a Fix handling invalid asset in AssetPicker instead of throwing exception 2021-07-13 13:18:59 +02:00
mafiesto4 0b9f33b4af Disable Tracy profiler on Android 2021-07-13 13:02:16 +02:00
mafiesto4 1c03b21a43 Fix textures converting when cooking 2021-07-13 12:51:28 +02:00
mafiesto4 38e2824415 Fix locale on Android 2021-07-13 12:51:04 +02:00
mafiesto4 16f7194f62 Fix crash when opening project fails 2021-07-13 11:50:01 +02:00
mafiesto4 ef163b80a7 Fix naming native threads on Linux and Android 2021-07-13 11:46:58 +02:00
mafiesto4 121b08801a Fix calling base class of overridden scripting object via vtable entry for method that has multiple parameters 2021-07-12 16:38:39 +02:00
mafiesto4 0a47477290 Add view snapping mode to Directional Light shadows for better stability 2021-07-12 11:25:46 +02:00
mafiesto4 716b726589 Fix loading EnumValue with different int32 2021-07-12 11:10:12 +02:00
mafiesto4 27345e62a7 Fix drawing shadows for particles that use Depth Fade node 2021-07-12 11:09:43 +02:00
mafiesto4 612d586e88 Fix adding particle emitter to a system timeline to have full duration 2021-07-12 10:56:44 +02:00
mafiesto4 a33b76f47f Merge branch 'GoaLitiuM-dialog_work_dir_fix' 2021-07-11 19:12:28 +02:00
mafiesto4 7d86aebf9c Merge branch 'dialog_work_dir_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dialog_work_dir_fix 2021-07-11 19:12:14 +02:00
mafiesto4 252b37ebfe Fix deprecated assertions from streamable assets (streaming uses job system now) 2021-07-11 12:03:56 +02:00
mafiesto4 1561eba6fb Add support for using library-style includes for build tool includes cache 2021-07-09 22:23:23 +02:00
mafiesto4 2783eb07b2 Add intermediate data folder removing on build tool clean command 2021-07-09 22:22:49 +02:00
mafiesto4 c6e320b4aa Fix missing symbols exposing for fmt data 2021-07-09 22:22:18 +02:00
mafiesto4 e95010b1b2 Add Foliage Density Scale option to Graphics Quality Window in Editor 2021-07-09 21:44:20 +02:00
mafiesto4 91cf85c50e Remove unused DictionaryInitialSize from MAssemblyOptions 2021-07-09 19:50:31 +02:00
GoaLitiuM 8a003fbe99 Prevent file dialogs from changing the working directory 2021-07-09 20:03:37 +03:00
mafiesto4 0da56856e0 Fix drawing transparent foliage when using prebatched draw calls 2021-07-09 17:17:50 +02:00
mafiesto4 7fc3e65849 Fix changing prefab root
#488 #544 #489
2021-07-09 17:17:21 +02:00
mafiesto4 4fee75cf55 Fix linux build (again) 2021-07-09 14:06:27 +02:00
mafiesto4 a59429c954 Fix importing model animations curves with scaled local bone TransformBuffer
#565
2021-07-09 12:06:47 +02:00
mafiesto4 a928032f44 Remove unneeded comments 2021-07-09 11:04:40 +02:00
mafiesto4 0515e41d89 Poorformance improvements for fmt lib compile time 2021-07-09 11:00:08 +02:00
mafiesto4 8da7a17a66 Fix compilation 2021-07-08 19:04:11 +02:00
mafiesto4 f052d788fe Update fmt to version 6.2.1 (9 May 2020) 2021-07-08 17:46:23 +02:00
mafiesto4 1eda04f695 Fix compilation on Linux 2021-07-08 13:30:51 +02:00
mafiesto4 929476a322 Optimize various engine code 2021-07-08 12:59:45 +02:00
mafiesto4 e6ffcfb60d Fix missing operators and constructor in Pair 2021-07-08 11:05:10 +02:00
mafiesto4 d5db9dd00c Optimize physics simulation collisions pair cache 2021-07-08 10:10:19 +02:00
mafiesto4 d86dfbb973 Fix crash when updating object during scene disposing 2021-07-08 00:39:29 +02:00
mafiesto4 38bf3d87ed Optimize renderer memory allocations with RenderListAllocation (mem pooling) 2021-07-08 00:34:51 +02:00
mafiesto4 4765e1af12 Add support for allocator type in Dictionary 2021-07-08 00:34:50 +02:00
mafiesto4 f5e5686853 Optimize includes in ThreadLocal.h 2021-07-08 00:34:49 +02:00
mafiesto4 446458d20c Add PLATFORM_THREADS_LIMIT for maximum concurrency limiting 2021-07-08 00:34:48 +02:00
mafiesto4 29be6b0068 Fix ThreadLocal to use atomic operations and prevent rare race conditions 2021-07-08 00:34:48 +02:00
mafiesto4 254ce569fa Optimize Foliage rendering with manual instanced draw calls batching 2021-07-08 00:34:47 +02:00
mafiesto4 a3b3e6c799 Remove unused HashFunction 2021-07-08 00:34:46 +02:00
Erdroy b149d91c35 Cleanup native NetworkMessage write and read string char size 2021-07-07 18:11:59 +02:00
Erdroy e62c76b0fb Add NetworkMessage Guid write and read methods 2021-07-07 18:11:20 +02:00
Erdroy 7e9f648a05 Fix NetworkMessage UTF-16 string write and read 2021-07-07 18:03:54 +02:00
Erdroy f41e4c5fe1 Allow unsafe code in FlaxEngine.Tests project 2021-07-07 17:27:15 +02:00
mafiesto4 d1b7b2d26d Optimize flushing active transform of physically simulated actors 2021-07-07 16:45:35 +02:00
mafiesto4 d7b47d7d05 Fix Linux build 2021-07-07 15:38:55 +02:00
mafiesto4 6938821467 Add even more profiler events 2021-07-07 15:15:33 +02:00
mafiesto4 afc5bb5731 Add support for C# Profiler events to be visible in Tracy 2021-07-07 15:14:52 +02:00
mafiesto4 ec40a9ba75 Add more profiler events 2021-07-07 13:46:33 +02:00
mafiesto4 3ae4a800cf Optimize Foliage instances serialization by using raw json value write 2021-07-07 13:42:49 +02:00
mafiesto4 ecff38d58d Add preloading initial Editor scene to improve startup performance 2021-07-07 12:25:04 +02:00
mafiesto4 2865cecca9 Fix crash if audio gets disposed before content 2021-07-07 12:02:29 +02:00
mafiesto4 d17a4af72e Tweaks 2021-07-07 10:15:22 +02:00
mafiesto4 3cfdf8871f Add Streaming.Stats for resources streaming statistics 2021-07-07 10:15:21 +02:00
mafiesto4 7985196155 Add Content.Stats for assets statistics (replaces Content.AssetCount) 2021-07-07 10:15:21 +02:00
Erdroy 6471f880ac Fix NetworkMessage.WriteBytes 2021-07-06 20:33:22 +02:00
Erdroy 6a2e833fca Fix NetworkMessage typo 2021-07-06 20:19:25 +02:00
Erdroy e44bca597c Fix NetworkMessage.ReadBytes 2021-07-06 20:14:29 +02:00
mafiesto4 248e35c121 Optimize Foliage::OnFoliageTypeModelLoaded to rebuild only single foliage type clusters 2021-07-06 16:17:56 +02:00
mafiesto4 9f9e5b49cc Add more profile events 2021-07-06 16:17:11 +02:00
mafiesto4 bf67c62311 Add GPUContextVulkan::CopySubresource 2021-07-06 15:47:39 +02:00
mafiesto4 a165b4aa79 Add safety checks to material constants binding code to prevent invalid memory access 2021-07-06 15:41:16 +02:00
mafiesto4 9f9d946d69 Fixes 2021-07-06 15:33:28 +02:00
mafiesto4 1c012a202e Fix buffer overrun crash in ForwardShadingFeature 2021-07-06 15:26:45 +02:00
mafiesto4 43e5805e50 Tweaks 2021-07-06 11:13:43 +02:00
mafiesto4 687fa325fa Merge remote-tracking branch 'origin/master' 2021-07-06 09:29:51 +02:00
mafiesto4 2585c02b68 Tweaks 2021-07-05 21:52:34 +02:00
mafiesto4 a84afc207e Disable tracy mem allocs recording in Editor due to too big impact on profiler buffers usage 2021-07-05 14:59:27 +02:00
mafiesto4 347bd7346a Add automatic Game Settings setup after adding new settings asset for the first time 2021-07-05 10:36:10 +02:00
mafiesto4 a9acf733d9 Update Newtonsoft.Json 2021-07-05 10:05:04 +02:00
mafiesto4 44c4ab6580 Optimize Foliage rendering with manual draw calls submission 2021-07-04 11:25:55 +02:00
mafiesto4 fe2e17e353 Optimize Foliage with quad-tree clustering per foliage type 2021-07-04 11:25:54 +02:00
mafiesto4 c93c811375 Fix error from disabling drawable object 2021-07-04 11:25:54 +02:00
mafiesto4 ba725f5456 Implement missing code in ChunkedArray 2021-07-04 11:25:53 +02:00
mafiesto4 2deac50c53 Various changes 2021-07-04 11:25:52 +02:00
mafiesto4 d7332509f7 Optimize Scene Rendering (cache drawable bounds and layers for culling with less cache misses) 2021-07-04 11:25:52 +02:00
mafiesto4 e61ebaa71b Add SceneNavigation for scene data for navigation system 2021-07-04 11:25:51 +02:00
Erdroy d9fe1b257f Fix monolithic build linking 2021-07-03 19:14:08 +02:00
Erdroy 93838b4f25 Fix Switch runtime setup 2021-07-03 19:13:41 +02:00
Erdroy 98d29ff5dc Fix Switch audio setup 2021-07-03 19:12:40 +02:00
Erdroy 85398cbf3d Add support for separate native and managed code in packaged build 2021-07-03 19:12:23 +02:00
mafiesto4 2556edb8d3 Fix crash wen using Anim Graph debugging with lots of animated models simulated at once in async 2021-07-02 18:15:30 +02:00
mafiesto4 b367be2b12 Optimize DateTime include in StreamableResource 2021-07-02 15:39:48 +02:00
mafiesto4 891961b03b Optimize Streaming service with Task Graph to use async update on a Job System 2021-07-02 14:56:46 +02:00
mafiesto4 22f4137703 Add profiler Sleep event to Editor sleeping phrase when out of focus 2021-07-02 14:48:45 +02:00
mafiesto4 18b35517aa Optimize ContentStorageManager with Task Graph to use async update on a Job System 2021-07-02 14:43:19 +02:00
mafiesto4 57285ee3b5 Fix building for Switch and PS4 2021-07-02 14:07:14 +02:00
mafiesto4 404891fe01 Fix building for Xbox Scarlett 2021-07-02 10:53:38 +02:00
mafiesto4 7e8ebd758b Merge branch 'Erdroy-lowlevel-networking' 2021-07-02 09:53:11 +02:00
mafiesto4 18075bf34a Merge branch 'lowlevel-networking' of git://github.com/Erdroy/FlaxEngine into Erdroy-lowlevel-networking 2021-07-02 09:53:05 +02:00
Erdroy 15b14349f9 Fix linux build 2021-07-01 22:58:45 +02:00
Erdroy 2f9147c36c Fix all merge suggestions/issues 2021-07-01 19:47:04 +02:00
Erdroy bfd50851f8 Move implementation from NetworkMessage source file into header file 2021-07-01 19:46:01 +02:00
Erdroy e41139d1fa Delete NetworkConnection.cpp 2021-07-01 19:45:39 +02:00
Erdroy 73c745b7fe Update enet build license type 2021-07-01 19:37:40 +02:00
mafiesto4 63400247eb Update missing materials 2021-07-01 12:39:40 +02:00
mafiesto4 9e3d7cbbc9 Fix Blend Space 2D to use corrected additive blending
#561
2021-07-01 12:39:26 +02:00
mafiesto4 36367c04af Update engine materials to the latest version 2021-06-30 15:56:04 +02:00
mafiesto4 560d7153ae Fix very rare cases of deadlocks in Asset::WaitForLoaded 2021-06-30 15:52:58 +02:00
mafiesto4 e0a2904dbf Fix terrain normal mapping issue
#562
2021-06-30 14:13:37 +02:00
mafiesto4 419f8db538 Optimize BoundingSphere::FromBox 2021-06-30 13:42:22 +02:00
mafiesto4 c4fc7b7e5d Fix UI Canvas visible in PrefabPreview when using IsActive
#559
2021-06-30 12:02:23 +02:00
mafiesto4 72599b18ce Fix crash with too big blur strength used in Render2D
#558
2021-06-30 11:56:42 +02:00
mafiesto4 ae58de44e3 Fix instance creation UI refresh for FontReference 2021-06-30 11:31:53 +02:00
mafiesto4 bdefa77226 Fix using nested types in Visual Script 2021-06-30 10:34:36 +02:00
mafiesto4 2b891483a5 Code tweaks for Array 2021-06-29 16:17:17 +02:00
mafiesto4 a3dfb1c5d3 Add support for using per-texture group sampler in Materials 2021-06-29 16:16:56 +02:00
mafiesto4 add88a783b Tweaks 2021-06-28 16:18:03 +02:00
mafiesto4 3c1fd427eb Add support for programmable samplers in shaders 2021-06-28 15:56:32 +02:00
mafiesto4 971449bef1 Cleanup some GPU code 2021-06-28 14:08:44 +02:00
mafiesto4 ef831b8559 Merge branch 'stefnotch-patch-10' 2021-06-27 12:49:57 +02:00
mafiesto4 0c0a319499 Merge branch 'patch-10' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-10 2021-06-27 12:49:53 +02:00
mafiesto4 2e7b1d588e Optimize C# Actor.GetChildren<T>() and Actor.GetScripts<T>() 2021-06-27 12:47:25 +02:00
mafiesto4 fca4f4ba40 Optimize CPU particles sorting with Radix sort 2021-06-27 12:30:49 +02:00
Erdroy 742b73f774 Cleanup NetworkMessage header XML comments 2021-06-27 12:26:11 +02:00
Erdroy 95c86efd31 Improve Write/ReadString implementation and comments 2021-06-27 12:25:45 +02:00
Erdroy a6ccbe3876 Remove NetworkManager and move peer creation/shutdown to NetworkPeer class 2021-06-26 21:30:11 +02:00
Erdroy 6aece4e388 Add note about required message recycle after message-event 2021-06-21 22:00:09 +02:00
Erdroy 25fe03f5a5 Rename NetworkTransportType to NetworkDriverType 2021-06-21 21:40:48 +02:00
Erdroy c6a8488fe1 Add XML comments 2021-06-21 21:40:27 +02:00
Erdroy d9aa9d1832 Remove UTF8 and UTF32 in favor of UTF16 strings to be consistent with C++ API 2021-06-21 21:34:21 +02:00
Erdroy 7692aaf547 Rename *Host functions to *Peer functions 2021-06-21 21:02:48 +02:00
Erdroy 3a722acc62 Cleanup 2021-06-21 20:32:02 +02:00
Erdroy 5234ae7a0d Fix NetworkPeer instance memory leak 2021-06-21 20:10:15 +02:00
Erdroy 6772d447fa Cleanup 2021-06-21 20:10:03 +02:00
stefnotch 0f505f56ad Improve privacy
We don't need the computer name or user name in the log files by default
2021-06-20 19:07:39 +02:00
mafiesto4 bf1a30c5c6 Attempt to fix build tool running on system with different locales
#554
2021-06-18 21:54:31 +02:00
Erdroy bb75ee81d5 Merge remote-tracking branch 'upstream/master' into lowlevel-networking 2021-06-18 20:46:53 +02:00
Erdroy 9d7bba04cb Rename NetworkHost to NetworkPeer as it seems more appropriate 2021-06-18 20:45:30 +02:00
Erdroy 040c024dff Refactor most NetworkManager functionality into NetworkHost 2021-06-18 20:43:17 +02:00
mafiesto4 94f50ce8cb Cleanup some headers in Graphics module 2021-06-18 16:38:44 +02:00
mafiesto4 f5a6a18232 Fix stability on exit or when doing heavy resources streaming stress tests 2021-06-18 15:20:39 +02:00
mafiesto4 4681d8da56 Fix texture streaming minimum mips to load for block compressed textures 2021-06-18 14:42:09 +02:00
mafiesto4 f582ca5051 Add dynamic textures streaming based on visibility 2021-06-18 14:41:44 +02:00
mafiesto4 41f0554484 Add texture groups preview to Graphics Quality window in editor 2021-06-18 11:57:51 +02:00
mafiesto4 dc38a55218 Add option to open all selected assets in content window 2021-06-18 11:57:22 +02:00
mafiesto4 47da355878 Add api to force refresh streaming 2021-06-18 11:57:08 +02:00
mafiesto4 a7f018a4da Fix Linux game build 2021-06-18 11:07:21 +02:00
mafiesto4 3b31fd7c71 Add support for editing texture group in editor (without reimporting) 2021-06-18 10:49:04 +02:00
mafiesto4 2d88ed17d4 Add dedicated editor for Texture Group picking 2021-06-18 09:43:35 +02:00
Erdroy f40bb309d5 Fix host id issue, cleanup 2021-06-17 18:42:42 +02:00
Erdroy e0d41ab683 Fix host shutdown issue 2021-06-17 18:42:27 +02:00
mafiesto4 801e3c26d4 Merge remote-tracking branch 'origin/master' 2021-06-17 16:01:04 +02:00
mafiesto4 289515a78b Add support for stripping texture resolution for target platform when cooking game 2021-06-17 16:01:01 +02:00
mafiesto4 4744fa05ef Refactor Streaming with new settings and textures streaming configuration 2021-06-17 15:33:34 +02:00
mafiesto4 64501a8645 Fix enum deserialization from string 2021-06-17 14:22:08 +02:00
mafiesto4 1fedad5dfe Add missing changes 2021-06-17 14:17:36 +02:00
mafiesto4 b510e3fcc5 Add support for loading C# dictionaries in native json reader 2021-06-17 14:17:04 +02:00
mafiesto4 99012725dc Adjust includes 2021-06-17 14:15:19 +02:00
mafiesto4 aa83af477a Add GetStringAnsiView to json value 2021-06-17 14:14:10 +02:00
mafiesto4 5ca2729a56 Fix UI after editing Dictionary key value 2021-06-17 14:11:25 +02:00
mafiesto4 f0cb979c5e Add Nameof helper utility 2021-06-17 14:09:01 +02:00
mafiesto4 30457d9af6 Merge branch 'master' of https://gitlab.flaxengine.com/flax/flaxengine 2021-06-16 23:41:30 +02:00
mafiesto4 1237946a8d Fix synchronization for dbg symbols on Windows 2021-06-16 23:39:05 +02:00
mafiesto4 c2590fc0d9 Optimize multiple dispatches on JobSystem done via TaskGraph 2021-06-16 19:02:02 +02:00
mafiesto4 4de3d134c9 Fix generating includes list in c++ glue code for script (non-pod and variant wrappers can produce additional includes) 2021-06-16 17:40:00 +02:00
mafiesto4 e8348f2c7a Fix default value generation for numbers and enums in scripting api 2021-06-16 12:06:39 +02:00
mafiesto4 1e08ed177b Fix parsing doc comments in scripting api with inlined summary tag 2021-06-16 12:05:56 +02:00
mafiesto4 2068a58414 Fix using custom allocator on array field in scripting class 2021-06-16 11:23:12 +02:00
mafiesto4 d895789296 Add async particles updating via Task Graph 2021-06-15 23:49:45 +02:00
mafiesto4 1dfcfb8aa9 Fix d3d12 compilation with older Win10 SDK version 2021-06-15 23:49:44 +02:00
mafiesto4 bf70a42d86 Change TaskGraphSystem ordering 2021-06-15 23:49:43 +02:00
mafiesto4 d2d8a83461 Add support for multi-threaded CPU particles simulation 2021-06-15 23:49:43 +02:00
mafiesto4 2a73d18d14 Fix typo 2021-06-15 23:49:42 +02:00
mafiesto4 c91c8b66ce Add Category attribute for types grouping in editor dialogs 2021-06-15 16:39:15 +02:00
mafiesto4 8816e4403d Remove UI Controls from Json Asset picker dialog 2021-06-15 16:38:21 +02:00
mafiesto4 a75e403b35 Fixes 2021-06-15 13:51:16 +02:00
mafiesto4 f5cdb0abfd Add Delay node to Visual Scripting 2021-06-14 16:10:08 +02:00
mafiesto4 90105c421d Fix Visual Script method override node auto-size 2021-06-14 14:30:54 +02:00
mafiesto4 bbbcfb707d Fix crash on null type 2021-06-14 14:28:16 +02:00
mafiesto4 e455ada90a Optimize Debug Draw wireframe sphere to use auto-LOD 2021-06-14 14:22:46 +02:00
mafiesto4 da0c8ffff9 Optimize Debug Draw for large amount of single-frame debug shapes and lines 2021-06-14 13:29:47 +02:00
mafiesto4 428c43e707 Optimize Debug Log window new entries adding (manual placement instead of full layout) 2021-06-14 12:04:49 +02:00
mafiesto4 a8b0612a7f Add new icons and tweaks
#550
2021-06-14 11:08:47 +02:00
mafiesto4 e090d699ef Merge branch 'W2Wizard-IconPatch' 2021-06-14 10:47:26 +02:00
mafiesto4 bb39e1d220 Merge branch 'IconPatch' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-IconPatch 2021-06-14 10:47:20 +02:00
mafiesto4 aec071689a Fix game build 2021-06-14 10:44:46 +02:00
mafiesto4 22c62439ee Fixes and tweaks for profiler window 2021-06-14 10:41:51 +02:00
mafiesto4 5ad222e896 Merge branch 'master' of https://gitlab.flaxengine.com/flax/flaxengine 2021-06-14 09:31:32 +02:00
mafiesto4 b225622eaa Fix typo 2021-06-14 09:31:19 +02:00
W2Wizard 83e6319643 Adjust debug log tab icon 2021-06-13 22:37:47 +02:00
W2Wizard 5408898e15 Increase BoxSize & overhaul debug log icons 2021-06-13 20:16:06 +02:00
W2Wizard 8e781ccf7b Apply asset new icons
Apply the Icons for SwitchSettings, LocalizationSettings and Json Asset.
2021-06-13 17:33:58 +02:00
W2Wizard 7e3b64b328 Adjust track icon size
Go down from 20 to 18 instead.
2021-06-13 16:46:08 +02:00
W2Wizard 96089d5396 Fix timeline track icons 2021-06-13 16:20:23 +02:00
W2Wizard eb6e3a7e8e Replace clickable images with actual buttons
With the new icons the clickable images for adding functions for the Visject surface got too small and unreadable. Instead using more visible buttons should counteract this.
2021-06-13 14:49:10 +02:00
mafiesto4 63ef1e544a Merge branch 'stefnotch-perf-buildtool' 2021-06-12 23:20:30 +02:00
mafiesto4 23709a1b11 Merge branch 'perf-buildtool' of git://github.com/stefnotch/FlaxEngine into stefnotch-perf-buildtool 2021-06-12 23:20:24 +02:00
mafiesto4 4a92850d9a Add async animations updating via Task Graph 2021-06-12 23:20:12 +02:00
mafiesto4 360f498e47 Add Engine::UpdateGraph for async engine/game update 2021-06-12 23:20:11 +02:00
mafiesto4 d7e7dcc823 Add Task Graph 2021-06-12 23:20:10 +02:00
mafiesto4 25c00a0d55 Fix C# profiler events from other threads 2021-06-12 23:20:10 +02:00
mafiesto4 93cdb7ce8f Bump up build number 2021-06-12 23:20:09 +02:00
mafiesto4 47af31a8c4 Tweaks 2021-06-12 23:20:09 +02:00
mafiesto4 41ad835d86 Refactor AnimGraph to support asynchronous execution 2021-06-12 23:20:08 +02:00
mafiesto4 b8ad4bdd2a Refactor AnimGraph debug flows to use scripting API event 2021-06-12 23:20:07 +02:00
mafiesto4 544cb1ff6d Finish job system 2021-06-12 23:20:07 +02:00
mafiesto4 07ad94de13 Optimize Animated Model bones matrices buffer update 2021-06-12 23:20:06 +02:00
mafiesto4 982b22b4b1 Add Job System 2021-06-12 23:20:05 +02:00
mafiesto4 e0b587251a Add RingBuffer template 2021-06-12 23:20:05 +02:00
mafiesto4 cdc85a1961 Add profiler entry for Audio Source update 2021-06-12 23:20:04 +02:00
mafiesto4 4cd31ce2b4 Remove some unsued lines 2021-06-12 23:20:04 +02:00
mafiesto4 7c9e170a40 Tweaks 2021-06-11 16:49:30 +02:00
mafiesto4 8f78ccf414 Add pooling for timeline table row controls in profiler 2021-06-11 16:49:12 +02:00
mafiesto4 81fd026313 Add pooling for timeline event controls in profiler 2021-06-11 16:44:26 +02:00
mafiesto4 9c7378cf5b Optimize Profiler window update to refresh only visible tab UI 2021-06-11 12:03:01 +02:00
mafiesto4 3a51320ea6 Increase profiler samples length to 10s at 60hz 2021-06-11 09:53:43 +02:00
mafiesto4 dfa6f5c75f Fix profiler shutdown issue on end 2021-06-10 17:01:24 +02:00
mafiesto4 3d4309457b Improve stability of Vulkan and D3D12 backends on large worlds 2021-06-10 17:01:07 +02:00
mafiesto4 14bc9501c7 Cleanup some code 2021-06-10 16:59:59 +02:00
mafiesto4 90d9f83f8c Fix crash due to SamplesBuffer::Add bug 2021-06-10 15:59:01 +02:00
mafiesto4 82a39e5d98 Fix Asset::ToString() to not depend on refs count and look simpler 2021-06-10 15:58:32 +02:00
mafiesto4 101e803ca6 Fix WeakAssetReference handling asset unload 2021-06-10 11:07:36 +02:00
mafiesto4 907f289ea7 Cleanup asset references code 2021-06-10 11:01:35 +02:00
mafiesto4 9fd62cf9aa Add support for using references in scripting API events 2021-06-10 10:26:57 +02:00
mafiesto4 05d095b35e Add support for using pointers in scripting API events 2021-06-09 17:15:32 +02:00
mafiesto4 5a710ccd7a Hide GetPxShape impl 2021-06-09 14:49:36 +02:00
mafiesto4 4764ab17bf Merge branch 'GoaLitiuM-uwp_fixes' 2021-06-09 13:31:54 +02:00
mafiesto4 ba7332f55c Merge branch 'uwp_fixes' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-uwp_fixes 2021-06-09 13:31:47 +02:00
mafiesto4 c38b81d682 Fix errors when changing UIControl type in prefab
#548
2021-06-09 13:27:37 +02:00
mafiesto4 384172050d Add missing doc comment 2021-06-09 13:25:04 +02:00
mafiesto4 f237d5d87d Post merge fixes to font reference as class
#420
2021-06-09 12:16:50 +02:00
mafiesto4 3c2b1a232c Merge commit '4bb703e9bfadf44c562f69bab069fd8be26eda97' 2021-06-09 12:04:12 +02:00
mafiesto4 a6ff0c3ed1 Fix selecting multiple different UI controls in Editor
#548
2021-06-09 11:22:13 +02:00
mafiesto4 79b03f6b5c Fix cached font usage to use proper unmanaged object validation check (not only managed object ref)
#546
2021-06-09 11:11:32 +02:00
mafiesto4 9614b7b014 Fix scripts projects opening to support adync open when uisng Editor menu option 2021-06-09 10:59:15 +02:00
mafiesto4 484bc409d4 Add support for NotNullItems option in collections editors
#542
2021-06-09 10:58:54 +02:00
mafiesto4 0ba4a0cabc Merge branch 'Crawcik-fix-collections' 2021-06-09 09:54:32 +02:00
mafiesto4 ebcf584117 Merge branch 'fix-collections' of git://github.com/Crawcik/FlaxEngine into Crawcik-fix-collections 2021-06-09 09:54:28 +02:00
mafiesto4 2bc6ca089f Add HasTypedUAVLoad to GPULimits (use for GPU lightmaps support baking detection)
#526
2021-06-08 16:11:27 +02:00
mafiesto4 39f50726a6 Fix lightmaps bake on D3D12 2021-06-08 15:21:37 +02:00
mafiesto4 4c6fd783e1 Add Bokeh DoF rendering on D3D12 (works fine after fixes) 2021-06-08 15:18:33 +02:00
mafiesto4 b300793009 Add UAV slots dimensions to cache for D3D12 validation 2021-06-08 15:18:04 +02:00
mafiesto4 e0b5558399 Fix spline model visibility after enable if was disabled on start 2021-06-08 14:13:26 +02:00
mafiesto4 cfac2db5d2 Add depth test for point/spot lights rendering to optimize far lights rendering 2021-06-08 14:12:56 +02:00
mafiesto4 9d9ecb3ba8 Fix D3D12 resource state transitions barriers 2021-06-08 14:12:31 +02:00
mafiesto4 ab55c145f1 Add DRED and optional GPU-Based Validation for D3D12 2021-06-07 14:55:08 +02:00
mafiesto4 f7957be3e7 Fix GPU synchronization on D3D12 2021-06-07 14:53:53 +02:00
mafiesto4 4b42e17372 Increase D3D12 resources safe-frames timeout 2021-06-07 13:10:09 +02:00
mafiesto4 36c4c3c86a Fix lightmaps baking on D3D12 2021-06-07 13:09:52 +02:00
mafiesto4 3872d74bd2 Fix missing UAV barriers on D3D12 2021-06-07 13:09:24 +02:00
mafiesto4 39698c7694 Fix descriptors bindings to shaders on D3D12 2021-06-07 13:08:39 +02:00
mafiesto4 f4c8808d19 Add SRV slots isage info for D3D12 shaders cache 2021-06-07 12:19:49 +02:00
mafiesto4 fa1cd56a0d Optimize Vulkan shader compiler memory allocation 2021-06-07 11:56:41 +02:00
mafiesto4 cc47cb85e4 Cleanup renderer code 2021-06-07 11:56:04 +02:00
stefnotch 3c48484870 Use Stopwatch instead of DateTime.Now for increased accuracy
DateTime.Now is decent, but not accurate enough for timings involving only a few milliseconds.
2021-06-06 21:52:29 +02:00
GoaLitiuM 474add9d12 Fix input related compile errors in UWP platform 2021-06-06 17:17:29 +03:00
GoaLitiuM f3652697ae Fix building UWP platform with Visual Studio 2019 2021-06-06 17:17:25 +03:00
mafiesto4 dfee74ad1f Add missing name some for GPU resources 2021-06-04 12:38:44 +02:00
mafiesto4 3a6b7ea80b Add support for Function<> as method parameter in scripting 2021-06-03 15:19:00 +02:00
Crawcik 9b55ffdf6c Adding collections background color in global settings 2021-06-03 14:29:42 +02:00
Crawcik e459707b0d Custom background color for collections 2021-06-03 13:45:07 +02:00
Crawcik a1f985bc7d Adding NotNullItem 2021-06-03 13:44:21 +02:00
mafiesto4 9629c48d99 Revert CSharp only project build optimization to fix game cooking
#539 #529
2021-06-03 12:53:18 +02:00
Crawcik 46e7e6173a Rebuilding parrent collections layout 2021-06-02 18:42:28 +02:00
mafiesto4 33b31f9155 Fix using Keyboard and Mouse in C# scripting 2021-06-02 09:48:02 +02:00
mafiesto4 398fc4be37 Add Keyboard.IsAnyKeyDown 2021-06-02 09:47:37 +02:00
mafiesto4 d111b2ba03 Tweaks 2021-06-01 21:20:00 +02:00
mafiesto4 0aa9c865ca Fix renaming selected actor in scene tree after creation and use editor shortcut 2021-06-01 21:10:57 +02:00
mafiesto4 0f01683c06 Fix build settings limits 2021-06-01 15:49:02 +02:00
mafiesto4 bcca8c9291 Add printing full object path for some warning logs 2021-06-01 14:57:32 +02:00
mafiesto4 c30e338f0a Fix gizmos debug draw shapes 2021-06-01 14:38:24 +02:00
mafiesto4 accbef6841 Fix missing mipIndex when clearing lightmap textures with a buffer on baking start 2021-06-01 13:29:42 +02:00
mafiesto4 c5405183c9 Fix tooltips to be constrained by monitor bounds instead of virtual desktop or parent window bounds
#470 #540
2021-06-01 12:14:04 +02:00
mafiesto4 8a942922fe Merge remote-tracking branch 'origin/master' 2021-06-01 11:55:44 +02:00
mafiesto4 772172ed6b Fix bounding box calculations for Animated Models 2021-06-01 11:55:35 +02:00
mafiesto4 9b0b11f08f Missing change
9618a57432
2021-06-01 11:54:56 +02:00
mafiesto4 9618a57432 Add BoundingBox.MakeScaled 2021-06-01 11:54:41 +02:00
mafiesto4 f701e35c50 Add option to show bounds of the model in Editor preview 2021-06-01 10:45:23 +02:00
mafiesto4 1789e879bf Add option to show bounds of the animated model in Editor preview 2021-06-01 10:36:13 +02:00
mafiesto4 a730c3b1af Add using immediate DebugDraw for animated model skeleton drawing in Editor preview 2021-06-01 10:27:57 +02:00
mafiesto4 623299e59f Add support for AssetPreview to use debug drawing if needed 2021-06-01 10:27:30 +02:00
mafiesto4 6877e14b04 Rename ParticleManager to Particles 2021-05-31 22:40:41 +02:00
mafiesto4 760b687b02 Rename AnimationManager to Animations and expose to public 2021-05-31 19:32:35 +02:00
mafiesto4 2c2c7744eb Add AuxTool to AOT pipeline in Game Cooker 2021-05-31 16:05:35 +02:00
mafiesto4 2c6f0be3cc Merge branch 'GoaLitiuM-toolchain_definitions_fix' 2021-05-31 16:04:13 +02:00
mafiesto4 4ffda55071 Merge branch 'toolchain_definitions_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-toolchain_definitions_fix 2021-05-31 16:04:11 +02:00
GoaLitiuM 5e8da3ba5f Include toolchain preprocessor definitions in binding generation 2021-05-31 16:58:38 +03:00
mafiesto4 d436b71ef5 Fix CharacterController still colliding after being disabled at runtime 2021-05-31 13:30:45 +02:00
mafiesto4 8eadd912f7 Add ClosestPointPointLine for Vector3 to C# 2021-05-31 10:26:15 +02:00
mafiesto4 a74f978f89 Fix lag from single axis gizmo usage on large distance 2021-05-31 10:25:55 +02:00
mafiesto4 d8cb1d15c7 Fix warning 2021-05-31 09:35:52 +02:00
mafiesto4 d2f339dba1 Optimize scripting object data deserialziation 2021-05-30 14:12:41 +02:00
mafiesto4 3c72abad37 Refactor FileSystemWatcher interface to make it simpler 2021-05-30 14:12:17 +02:00
mafiesto4 2a3a15533c Add ignoring memory allocations from profiling tools in Editor Profiler 2021-05-30 14:11:49 +02:00
mafiesto4 9c66ac4656 Add MemoryCompare, MemoryClear and MemoryCopy for direct memory access in C# 2021-05-30 14:11:25 +02:00
mafiesto4 1bd109395a Optimize managed memory allocations 2021-05-30 14:09:24 +02:00
mafiesto4 8a5f50dc49 Merge branch 'GoaLitiuM-cpu_idle_sleep' 2021-05-30 12:11:58 +02:00
mafiesto4 4e65215b57 Merge branch 'cpu_idle_sleep' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-cpu_idle_sleep 2021-05-30 12:11:42 +02:00
mafiesto4 4a08ab11ad Merge branch 'jb-perrier-viewpoint-shortcuts' 2021-05-30 11:57:53 +02:00
mafiesto4 99c1b60493 Merge branch 'viewpoint-shortcuts' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-viewpoint-shortcuts 2021-05-30 11:57:47 +02:00
mafiesto4 97de7a627e Add order for Margin properties 2021-05-30 10:53:34 +02:00
GoaLitiuM e06200926f Sleep between frames to save CPU cycles 2021-05-30 02:01:37 +03:00
GoaLitiuM cc60814334 Increase accuracy of Windows Sleep function
Windows 10 version 1803 (build 17134) and later versions support
high-resolution waitable timer, which offers much better accuracy over
Sleep function without the need of increasing the global timer
resolution. For older versions of Windows, we reduce the timer
resolution to 1ms and use normal waitable timer for sleeping.
2021-05-30 01:48:15 +03:00
GoaLitiuM c01a140077 Refactor Windows version logging, log Windows build number 2021-05-30 01:48:14 +03:00
Erdroy 23794c8875 Add NetworkHost id and comparison operator 2021-05-29 20:19:09 +02:00
Erdroy 97a5daf7e6 Fix NetworkMessage read/write asserts 2021-05-29 20:18:07 +02:00
Erdroy 1e22d8e3f8 Add ENet kick/connection disconnect impl 2021-05-29 19:50:28 +02:00
Erdroy 61af4c94bd Add usage of address specified in config for ENet driver 2021-05-29 19:42:22 +02:00
Erdroy 6719e0b326 Cleanup 2021-05-29 19:41:39 +02:00
jb-perrier ccef5f0d73 Fix viewpoints. 2021-05-29 18:53:30 +02:00
jb-perrier 03014dcf08 Register viewpoint shortcuts binding in EditViewport. 2021-05-29 18:51:03 +02:00
jb-perrier 241238d2d7 Add viewpoint shortcuts options. 2021-05-29 18:49:56 +02:00
mafiesto4 e6074149e5 Fix Margin loading 2021-05-29 13:48:38 +02:00
mafiesto4 2bdebdb2ef Improve Margin editing 2021-05-29 13:48:26 +02:00
mafiesto4 44433bf3b4 Add 9-slicking support for UI to draw sprites and textures
#155
2021-05-29 13:48:00 +02:00
mafiesto4 bf32034d91 Fix Margin serialization 2021-05-29 10:14:17 +02:00
mafiesto4 beb79f6107 Use network for UWP from Win32 impl 2021-05-28 19:43:15 +02:00
mafiesto4 518e248494 Add support for focusing on model when painting its vertices 2021-05-28 15:57:40 +02:00
mafiesto4 b1572ecb91 Add support for focusing on foliage instance bounds when editing it 2021-05-28 15:54:54 +02:00
mafiesto4 845198ebe3 Refactor focusing on selection logic in Editor 2021-05-28 15:51:28 +02:00
mafiesto4 e41dfe738b Add support for moving object with transform gizmo when mouse moves outside the viewport during usage 2021-05-28 14:24:19 +02:00
mafiesto4 94ee82b58d Fix Editor UI tree control click to handle selection update before
#533
2021-05-28 12:09:26 +02:00
mafiesto4 77f9010b06 Fix exception in Editor UI is model has invalid material slot index assigned 2021-05-28 11:54:11 +02:00
mafiesto4 29860b838e Fix camera position when changing Editor view EditorViewport
#531
2021-05-28 11:30:28 +02:00
mafiesto4 969db604e5 Fix gizmo in top down view on Z-axis movement (and other combination of perpendicular views)
Fix gizmo stability when using single axis

#530
2021-05-28 11:01:13 +02:00
mafiesto4 b9321a72b6 Merge branch 'GoaLitiuM-binding_generator_doc_fixes' 2021-05-28 09:54:05 +02:00
mafiesto4 a3f0f8ad8c Merge branch 'binding_generator_doc_fixes' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-binding_generator_doc_fixes 2021-05-28 09:53:59 +02:00
mafiesto4 c327cba735 Merge branch 'GoaLitiuM-rider_2021_support' 2021-05-28 09:49:06 +02:00
mafiesto4 a467c96e00 Merge branch 'rider_2021_support' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rider_2021_support 2021-05-28 09:49:03 +02:00
mafiesto4 b4860cee69 Merge branch 'herocrab-add_windows_vulkan_to_readme' 2021-05-28 09:48:48 +02:00
mafiesto4 2abaa89907 Merge branch 'add_windows_vulkan_to_readme' of git://github.com/herocrab/FlaxEngine into herocrab-add_windows_vulkan_to_readme 2021-05-28 09:48:45 +02:00
mafiesto4 96e0842d27 Merge branch 'GoaLitiuM-build_csharp_bindings_only' 2021-05-28 09:35:11 +02:00
mafiesto4 2db2d27f12 Merge branch 'build_csharp_bindings_only' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-build_csharp_bindings_only 2021-05-28 09:35:03 +02:00
mafiesto4 a08e1576ce Merge remote-tracking branch 'origin/master' 2021-05-28 09:12:30 +02:00
mafiesto4 d5a129cb1b Add mono building for Switch 2021-05-28 09:12:15 +02:00
mafiesto4 9a9b97998c Fix loading native dependencies for binary modules from other folders than engine binaries or project root 2021-05-28 00:12:54 +02:00
mafiesto4 810623be61 Add automatic namespoace usings collecting when generating scripting bindings glue code for csharp 2021-05-27 23:36:07 +02:00
mafiesto4 b3d9ec687d Refactor base types initialization to be done during API processing 2021-05-27 23:34:55 +02:00
mafiesto4 2a6f1df76e Fix undo errors in editor on Margin property serialization 2021-05-26 23:26:41 +02:00
mafiesto4 42dfc56bae Fix checking paths when opening Visual Studio project items to prevent dummy files creation 2021-05-26 23:24:16 +02:00
mafiesto4 2b7b9e4d5a Fix typo in wheel type name 2021-05-26 22:40:09 +02:00
GoaLitiuM d1fbe42443 Use verbatim strings in tooltip descriptions
Additionally escapes backslashes in the tooltip string. Only character
that needs to be manually escaped is the double quotation marks.
2021-05-26 22:08:55 +03:00
GoaLitiuM a6ed117088 Add support for Rider 2021, use latest detected version of Rider
Handles additional registry location where installation paths are stored
for Rider 2021. The detected installations are now sorted by version, so
the latest detected version is always used when opening the scripts
project.
2021-05-26 20:07:34 +03:00
herocrab 3031e3937c Add how-to context for building Windows + Vulkan. 2021-05-25 10:25:25 -06:00
mafiesto4 64a8408600 Add focus to game window on play 2021-05-24 18:42:15 +02:00
mafiesto4 bdab3b55bc Merge branch 'jb-perrier-game-arg' 2021-05-24 18:35:20 +02:00
mafiesto4 c33d4a9bfb Merge branch 'game-arg' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-game-arg 2021-05-24 18:35:13 +02:00
mafiesto4 2c7d62bb8e Add support for custom drag&drop into level/prefab viewports from custom asset items 2021-05-24 18:34:19 +02:00
GoaLitiuM 327ccec4cb Only build bindings for project references with C#-only projects 2021-05-24 18:57:05 +03:00
Erdroy 3c939bbf40 Merge remote-tracking branch 'origin/master' into lowlevel-networking 2021-05-23 19:40:33 +02:00
jb-perrier 2f12642405 Rename -game to -play & Fix when play not used. 2021-05-23 19:34:16 +02:00
jb-perrier 1f3a86dca9 Fix -play not working with compilation at start. 2021-05-23 19:33:36 +02:00
jb-perrier ce3caede6c Remove skipcompile when -play is used. 2021-05-23 19:32:45 +02:00
jb-perrier 566756ecf2 Remove duplicate IsInitialized. 2021-05-23 19:31:44 +02:00
mafiesto4 c78fb7995e Add more indentation to scene tree items to make it more readable 2021-05-23 12:09:35 +02:00
mafiesto4 198d9d9dd5 Ignore ReSharper warnings in low-level cpu particles code 2021-05-23 11:44:14 +02:00
mafiesto4 1a4277994b Fix crash on Font invalidate 2021-05-22 22:34:35 +02:00
mafiesto4 c1f0fb750d Code style 2021-05-22 22:26:36 +02:00
mafiesto4 4b67a24c66 Merge branch 'GoaLitiuM-csc_compiler_server' 2021-05-22 22:25:00 +02:00
Erdroy ba4979cfc2 Add NetworkConfig::Address validation 2021-05-22 19:45:44 +02:00
Erdroy cd04007a71 Add address string for Listening/Connecting 2021-05-22 19:45:31 +02:00
Erdroy 5355e8c802 Merge branch 'master' into lowlevel-networking 2021-05-22 19:26:34 +02:00
GoaLitiuM d401f57080 Use Roslyn C# compiler server to improve script compilation times 2021-05-22 16:43:40 +03:00
jb-perrier 6eb3bc0577 Tweak. 2021-05-21 18:18:20 +02:00
jb-perrier 3a68e2891e Add null check. 2021-05-21 18:18:11 +02:00
mafiesto4 a9609c7993 Fix typo 2021-05-20 23:13:44 +02:00
mafiesto4 94adc01f35 Use daily builds with option for manual trigger 2021-05-20 23:13:02 +02:00
mafiesto4 b4533211a7 Tweak build for test 2021-05-20 22:53:10 +02:00
jb-perrier 320a1a984e Fix. 2021-05-20 20:08:08 +02:00
jb-perrier 9e2867ed7d Tweak. 2021-05-20 20:07:39 +02:00
jb-perrier 8ac8f9a6d1 Tweaks. 2021-05-20 20:05:44 +02:00
jb-perrier 8eb6fd2b6b Fix. 2021-05-20 20:03:58 +02:00
jb-perrier 316590ec59 Tweak. 2021-05-20 17:37:05 +02:00
jb-perrier 62b47fa65b Comments. 2021-05-20 17:30:43 +02:00
jb-perrier 9fb2952996 Tweaks / Cleanup. 2021-05-20 17:28:55 +02:00
jb-perrier 66c1201786 Load scene specified in -game argument. 2021-05-20 17:21:45 +02:00
jb-perrier d7f03d2c7d Handle game argument. 2021-05-20 17:20:00 +02:00
jb-perrier c01cd78225 RequestStartPlay glue code. 2021-05-20 17:19:24 +02:00
jb-perrier 5601be630e RequestStartPlay glue code. 2021-05-20 17:18:48 +02:00
jb-perrier 2293bd5fe0 Expose Simulation.RequestStartPlay() to cpp. 2021-05-20 17:17:53 +02:00
jb-perrier d3b920dfc1 Prevent Mesh being rendered while uninitialised ( async task not executed yet ). 2021-05-20 17:16:02 +02:00
jb-perrier ec3972d511 Add -game command line argument. 2021-05-20 17:14:01 +02:00
jb-perrier a69fa0b00d Add optional command line argument define. 2021-05-20 17:13:36 +02:00
mafiesto4 91672b55d8 Fix disabling VertexSnapping for 3D UI rendering
#368
2021-05-20 09:36:02 +02:00
mafiesto4 09577d3021 Use custom output for packaged builds in CD 2021-05-19 21:48:34 +02:00
mafiesto4 9215ea4861 Add support for custom build configurations for engine deploy 2021-05-19 21:23:01 +02:00
mafiesto4 b25ba6b229 Add support for custom package output directory for engine deploy 2021-05-19 21:19:27 +02:00
mafiesto4 3540e91cc4 Add preserving package output directory across sequential package builds 2021-05-19 21:18:54 +02:00
mafiesto4 ce6fb185f4 Merge branch 'honzapatCZ-patch-7' 2021-05-19 21:11:27 +02:00
mafiesto4 b925843baa Merge branch 'patch-7' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-7 2021-05-19 21:11:20 +02:00
mafiesto4 9c2c401669 Remove empty spaces 2021-05-19 21:11:08 +02:00
mafiesto4 7f6f50cf29 Merge branch 'jb-perrier-scripting-int16-support' 2021-05-19 19:50:11 +02:00
mafiesto4 7edf3e5b36 Merge branch 'scripting-int16-support' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-scripting-int16-support 2021-05-19 19:50:06 +02:00
mafiesto4 62cca0682c Add option to use Point sampling when drawing textures and sprites in UI via Brushes 2021-05-19 19:48:39 +02:00
mafiesto4 1a55e7c734 Fix copying missing dependency files for C#-only binary modules build 2021-05-19 16:55:35 +02:00
mafiesto4 d7e2ee986b Add Network impl for PS4 2021-05-19 14:49:10 +02:00
mafiesto4 3363f6ac0d Add Network impl for Switch 2021-05-19 10:14:19 +02:00
mafiesto4 3e3b0e7951 Fix game plugins initialization order in Editor play mode to mock the standalone game
#458
2021-05-18 23:32:50 +02:00
mafiesto4 19bb7c2293 Fix typo 2021-05-18 21:45:41 +02:00
mafiesto4 2eeefebcb2 Bump up build number 2021-05-18 21:18:49 +02:00
GoaLitiuM 4bb703e9bf Change FontReference to reference type
FontReference is mutating itself by storing the cached font for later
reuse, but this is not working as intended because FontReference is
returned as a value type in UIControls so the cached font is actually
stored in a copy of the FontReference and not in the original property.
2021-05-18 18:29:09 +03:00
mafiesto4 1ec55ee088 Add missing shader file change 2021-05-18 11:56:39 +02:00
mafiesto4 ead65f01ff Optimize Vulkan Framebuffer when not using color blending 2021-05-18 11:56:21 +02:00
mafiesto4 7f6a6f9fff Fix showing Game Plugins in editor plugins window 2021-05-18 11:41:49 +02:00
mafiesto4 2e93a7fd08 Add support for Geometry Shaders on Vulkan
#136
2021-05-18 11:41:18 +02:00
mafiesto4 9cba6bad6d Add support for rendering into 3d textures on Vulkan
#136
2021-05-18 11:40:38 +02:00
mafiesto4 5a7efe9019 Fix Volumetric Fog particle material CB0 binding issue 2021-05-17 13:51:14 +02:00
Nejcraft d0a75375f7 xd oh those path namings 2021-05-17 13:47:31 +02:00
mafiesto4 0a25b71437 Fix GPU particles on Vulkan
#478
2021-05-17 13:41:08 +02:00
Nejcraft 267c5566d8 Possibly Linux 2021-05-17 13:33:22 +02:00
Nejcraft 988d8bc2c5 Update cd_windows.yml 2021-05-17 12:19:51 +02:00
Nejcraft 33a53bd510 cd 2021-05-17 10:51:07 +02:00
mafiesto4 ec806a2009 Update shaders 2021-05-17 10:22:40 +02:00
mafiesto4 ae970cf2c8 Merge branch 'jb-perrier-indirect-vulkan' 2021-05-17 10:19:35 +02:00
mafiesto4 fb7d2831cb Merge branch 'indirect-vulkan' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-indirect-vulkan 2021-05-17 10:19:23 +02:00
mafiesto4 224de66c49 Add missing attributes for AlphaPanel panel
#430
2021-05-17 10:15:57 +02:00
Nejcraft 7956ee1e2c revert the viewed types back 2021-05-17 10:15:57 +02:00
honzapatCZ bd2af64a7e moving back 2021-05-17 10:15:56 +02:00
honzapatCZ 388ec655bf alpha+showcont 2021-05-17 10:15:56 +02:00
mafiesto4 4392e07cd6 Fix error when actor from unloaded scene is selected
#486
2021-05-17 10:15:55 +02:00
mafiesto4 4b0967b45e Fix Linux executable file renaming check 2021-05-17 10:15:54 +02:00
jb-perrier fd3d6abd61 Fix docs. 2021-05-16 21:39:30 +02:00
mafiesto4 3553d2f16b Fix Linux build error 2021-05-16 19:15:12 +02:00
mafiesto4 9a617c630b Fix api error 2021-05-16 18:54:40 +02:00
jb-perrier 95a951a453 Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into indirect-vulkan 2021-05-16 17:41:10 +02:00
jb-perrier 3599de7eb8 Fix revert indirect draw count. 2021-05-16 17:30:15 +02:00
jb-perrier b4a870933a Revert IndirectDrawCount. 2021-05-16 17:23:52 +02:00
mafiesto4 5e401b6a78 Refactor Network api, add more dcos, expose it to scripting 2021-05-16 14:28:54 +02:00
mafiesto4 a89d5d1817 Add skipping generating structure fields accessors for private fields in scripting 2021-05-15 23:21:16 +02:00
mafiesto4 506df8c516 Fix using fixed array initializers in scripting API field 2021-05-15 23:20:34 +02:00
mafiesto4 d1b142db08 Fix error in context menu search on fail 2021-05-15 16:34:38 +02:00
mafiesto4 c32add161b Add option to copy/paste value from Visject box via context menu 2021-05-15 16:33:32 +02:00
mafiesto4 dbb42e9805 Fix minor warnings in shaders 2021-05-15 14:19:40 +02:00
mafiesto4 def45ce8bb Add monolog info 2021-05-15 13:40:23 +02:00
mafiesto4 82c9586846 Merge branch 'GoaLitiuM-richtextboxbase_oobfix' 2021-05-15 13:02:29 +02:00
mafiesto4 6c93643f19 Merge branch 'richtextboxbase_oobfix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-richtextboxbase_oobfix 2021-05-15 13:02:24 +02:00
mafiesto4 1adf14ca2b Fix auto-focus for dock window on right-click to prevent Game Window mouse steal when using context menu 2021-05-15 13:00:25 +02:00
mafiesto4 6232b8d557 Add option to show Debug Draw shapes in Game Viewport 2021-05-15 12:58:39 +02:00
mafiesto4 cc8e098183 Fix duplicated Debug Draw inoke for actors 2021-05-15 12:53:54 +02:00
GoaLitiuM 78ee671607 Fix out of bound access to RichTextBoxBase internal buffer 2021-05-15 13:39:19 +03:00
mafiesto4 46b1fd944e Fix catching mouse focus in Editor play mode with game is paused 2021-05-15 11:01:11 +02:00
mafiesto4 fb7ef90fce Add option to hide GUI in Game Viewport 2021-05-15 11:00:42 +02:00
mafiesto4 8e31c49f1c Add automatic tooltip for ComboBox baed on selected item tooltip 2021-05-15 10:42:28 +02:00
mafiesto4 8f1f88b3ba Fix running Flax on Windows with STD console output 2021-05-14 21:44:13 +02:00
mafiesto4 16e67780ad Add -debugwait cmd line arg to wait for C# debugger attach on engine start 2021-05-14 19:25:31 +02:00
mafiesto4 5745e4e522 Refactor settings assets proxies 2021-05-14 18:48:35 +02:00
mafiesto4 67aa41afb1 Fix base method calls handling in scripting vtable overrides
#507
2021-05-14 16:07:46 +02:00
mafiesto4 12aa5f0b65 Fix bindings code issue 2021-05-14 15:37:05 +02:00
mafiesto4 5f851d2433 Fix reparenting actors in editor to preserve world position
#500
2021-05-14 13:01:25 +02:00
mafiesto4 fbb9fa065a Add more profile events to assets data loading 2021-05-14 13:00:03 +02:00
mafiesto4 401bd1c125 Add incremental actors naming when spawning them in viewport
#501
2021-05-14 12:37:20 +02:00
mafiesto4 2dff188eac Add automatic slider speed for float value input fields with limits specified
#499
2021-05-14 12:24:43 +02:00
mafiesto4 303b9da684 Fix Linxu build 2021-05-14 11:23:05 +02:00
mafiesto4 42461f1b4a Fix crash when drawing 2d sprite with invalid atlas specified 2021-05-14 11:02:42 +02:00
mafiesto4 f9b979f1c6 Add new icons atlas
#456
2021-05-14 11:02:22 +02:00
mafiesto4 26dd1afd32 Merge branch 'W2Wizard-IconOverhaul' 2021-05-14 10:48:24 +02:00
mafiesto4 11704740fe Merge branch 'IconOverhaul' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-IconOverhaul 2021-05-14 10:48:18 +02:00
mafiesto4 443bd83b6f Merge branch 'jb-perrier-script-name' 2021-05-14 10:42:31 +02:00
mafiesto4 255255e45c Merge branch 'script-name' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-script-name 2021-05-14 10:42:28 +02:00
mafiesto4 fdf6306060 Fix asset paths lookup in build 2021-05-14 10:33:08 +02:00
mafiesto4 c95e5b0611 Fix assets load error regression 2021-05-14 10:32:55 +02:00
mafiesto4 8dc9834f48 Fix compilation for Linux 2021-05-14 09:31:10 +02:00
jb-perrier 465cdae564 Comments. 2021-05-13 17:58:44 +02:00
jb-perrier 41447d4ba0 Add name restriction for scripts, no digits at start. 2021-05-13 17:55:15 +02:00
jb-perrier 41905f9810 Add name restrictions based on proxy. 2021-05-13 17:54:52 +02:00
jb-perrier 2065b949b0 Add IsFileNameValid in ContentProxy. 2021-05-13 17:54:23 +02:00
mafiesto4 fd3553f668 Add support for Tracy on Android 2021-05-13 16:24:35 +02:00
mafiesto4 13a6de8645 Fix Linux build 2021-05-13 16:23:24 +02:00
W2.Wizard 887b52c18a Merge branch '1.2' into IconOverhaul 2021-05-13 15:21:36 +02:00
W2Wizard d54efc73f1 Adapt to new spritehandle names
Lots of files! However only change was renaming the icons overall.
2021-05-13 15:16:45 +02:00
mafiesto4 b2ecceab44 Fix text processing with wrapping enabled if layout bounds width equals the line width
#518
2021-05-13 15:00:40 +02:00
mafiesto4 fb5c45f474 Add SetMasterPoseModel to Animated Model for modular characters 2021-05-13 14:41:43 +02:00
mafiesto4 899e749d2d Fix missing call to OnAnimationUpdated when using custom skeleton pose 2021-05-13 13:15:09 +02:00
mafiesto4 e00e9d1552 Add SetCurrentPose to Animated Model 2021-05-13 13:09:06 +02:00
mafiesto4 9a3884636b Add AnimationUpdated event to Animated Model 2021-05-13 13:00:57 +02:00
mafiesto4 e267583bad Add FindClosestNode to Animated Model 2021-05-13 12:34:42 +02:00
mafiesto4 32806e8f4e Remove unused transient param from profile events 2021-05-13 12:04:10 +02:00
mafiesto4 389eee22e3 Add support for using animated model with anim graph using different skinned model 2021-05-13 11:59:47 +02:00
mafiesto4 9fcac44faf Merge branch 'GoaLitiuM-convex_mesh_queries' 2021-05-12 21:35:37 +02:00
jb-perrier 03c95b5597 Add , to enum. 2021-05-12 18:38:17 +02:00
GoaLitiuM 1f6fc02c24 Add physics queries for convex meshes 2021-05-12 17:51:28 +03:00
mafiesto4 94e0b3a747 Fix includes type in scripts templates 2021-05-12 16:21:04 +02:00
mafiesto4 94476783da Add option to Delete Sprite in Editor 2021-05-12 16:20:44 +02:00
mafiesto4 480947e0a9 Fix sprite atlas serialization after editing 2021-05-12 16:19:59 +02:00
mafiesto4 a4a3074bb6 Fix naming new sprites in Editor 2021-05-12 14:06:05 +02:00
mafiesto4 36d06ccaa3 Fix crash when reimporting sprite atlas
#494
2021-05-12 13:58:23 +02:00
mafiesto4 0509f9710f Fix crashes during deserialization of invalid data
#514
2021-05-12 13:42:07 +02:00
mafiesto4 f71d58a081 Merge branch 'Vizepi-master' 2021-05-12 13:14:55 +02:00
mafiesto4 ba95ae5191 Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-05-12 13:14:51 +02:00
mafiesto4 4c2465466c Merge branch 'stefnotch-patch-9' 2021-05-12 13:13:01 +02:00
mafiesto4 6db156513c Merge branch 'patch-9' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-9 2021-05-12 13:12:59 +02:00
mafiesto4 6f55e01846 Merge branch 'W2Wizard-patch-2' 2021-05-12 13:12:20 +02:00
mafiesto4 6343922b16 Merge branch 'patch-2' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-patch-2 2021-05-12 13:12:16 +02:00
mafiesto4 7d7ad06b80 Merge branch 'GoaLitiuM-rigidbody_addforceatposition' 2021-05-12 13:06:10 +02:00
mafiesto4 90f06e74a8 Merge branch 'rigidbody_addforceatposition' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rigidbody_addforceatposition 2021-05-12 13:06:05 +02:00
mafiesto4 d302675d7e Fix TypeSearchPopup showing types that base type is hidden 2021-05-12 12:42:48 +02:00
mafiesto4 9195e37a23 Refactor cpp script templates after new features 2021-05-12 12:42:24 +02:00
mafiesto4 b6f33d1d45 Merge branch 'LCRW-master' 2021-05-12 12:22:59 +02:00
mafiesto4 0950ef1a20 Merge branch 'master' of git://github.com/LCRW/FlaxEngine into LCRW-master 2021-05-12 12:22:23 +02:00
mafiesto4 ac2e9cbcff Use custom sources for GH Actions build on Ubuntu 2021-05-12 12:15:15 +02:00
mafiesto4 d8d514cec7 Use custom sources for GH Actions build on Ubuntu 2021-05-12 12:08:37 +02:00
mafiesto4 c222838325 Use custom sources for GH Actions build on Ubuntu 2021-05-12 11:52:51 +02:00
mafiesto4 9a28e02fc6 Merge branch 'jb-perrier-no-setter-show' 2021-05-12 11:07:40 +02:00
mafiesto4 4cb47251b3 Merge branch 'no-setter-show' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-no-setter-show 2021-05-12 11:07:33 +02:00
mafiesto4 a8f0035b8b Fix regression in win32 filesystem api using potential substring of StringView
#516 #510
2021-05-12 10:19:31 +02:00
jb-perrier 03cd86b4d7 Fix. 2021-05-11 16:16:37 +02:00
jb-perrier 166f7c2728 Refactor. 2021-05-11 16:09:27 +02:00
jb-perrier 31a446cfab Fix getter only properties not showing. 2021-05-11 14:57:07 +02:00
jb-perrier 95c4004ad8 Uint16 & Int16 Mono glue code. 2021-05-10 22:59:10 +02:00
jb-perrier 7506142dbb Uint16 & Int16 CPP serialization. 2021-05-10 22:57:49 +02:00
jb-perrier 4764e7914d Int16 & Uint16 NearEqual, Lerp, Hash. 2021-05-10 22:57:26 +02:00
jb-perrier 97338d61d2 Uint16 & Int16 Variant Cast. 2021-05-10 22:56:48 +02:00
jb-perrier 78ed675eda Uint16 & Int16 Variant CanCast. 2021-05-10 22:55:43 +02:00
jb-perrier 954a11a1b0 Uint16 & Int16 Variant CanCast. 2021-05-10 22:55:17 +02:00
jb-perrier a5ec9d749b Uint16 & Int16 Variant CanCast. 2021-05-10 22:54:52 +02:00
jb-perrier ab3de4777c Uint16 & Int16 Variant ToString. 2021-05-10 22:53:40 +02:00
jb-perrier 08ca326571 Uint16 & Int16 more cast. 2021-05-10 22:52:48 +02:00
jb-perrier ab5d789732 Uint16 & Int16 Variant cast. 2021-05-10 22:52:13 +02:00
jb-perrier cff8c57dba Uint16 & int16 op overload. 2021-05-10 22:51:18 +02:00
jb-perrier 7ed39ef375 Uint16 & Int16 ToString, Typename. 2021-05-10 22:50:35 +02:00
jb-perrier c59b617106 Int16 & Uint16 Variant ctor. 2021-05-10 22:50:07 +02:00
jb-perrier 98ca916197 Int16 & Uint16 C# serialization. 2021-05-10 22:48:33 +02:00
jb-perrier 74916dddfd Add Uint16 & Int16 names. 2021-05-10 22:47:02 +02:00
jb-perrier 0d6f81904d Uint16 & Int16 ScriptType ToString. 2021-05-10 22:46:24 +02:00
LcrW 62394b4b1d Update CppStaticClassTemplate.h 2021-05-10 21:37:01 +01:00
jb-perrier 9eaa6e622b Uint16 & Int16 Scripting support. 2021-05-10 22:24:35 +02:00
LcrW f9e1dc3ffb New Features 2021-05-10 21:04:52 +01:00
LcrW 08a9a00330 Update ScriptTemplate.cs 2021-05-10 18:30:46 +01:00
LcrW 62b095dde6 Merge remote-tracking branch 'upstream/master' 2021-05-10 18:25:07 +01:00
jb-perrier 0a32e6bf7d Add digit check at asset creation. 2021-05-10 18:20:58 +02:00
GoaLitiuM c8f8b33bd9 Implement AddForceAtPosition for Rigidbodies 2021-05-09 17:40:43 +03:00
LcrW 30624e7320 Merge branch 'master' of https://github.com/LCRW/FlaxEngine 2021-05-05 20:28:04 +01:00
mafiesto4 2c51f79c0a Add automatic profiler events for Visual Script methods invocation 2021-05-04 00:30:49 +02:00
mafiesto4 e4de83f2ed Add automatic profiler events for C# methods invocation 2021-05-04 00:17:27 +02:00
mafiesto4 17e3625e5d Add support for ANSI name and variable name for named profiler events 2021-05-04 00:17:01 +02:00
mafiesto4 aa7c467679 Fix some profile event names 2021-05-04 00:16:01 +02:00
mafiesto4 f6137831ee Fix POD structure check in scripting api if contains array field 2021-05-04 00:15:22 +02:00
mafiesto4 b57c0a9db1 Fix String::Resize to support buffer growing 2021-05-03 21:04:40 +02:00
mafiesto4 c4c1655f76 Fixes and tweaks 2021-05-03 19:25:03 +02:00
mafiesto4 4e94c7c88c Optimize C# method invoke in bindings via direct Mono invoke 2021-05-03 19:24:48 +02:00
mafiesto4 c36d1a5680 Add automatic profile events for engine services events 2021-05-03 19:23:16 +02:00
mafiesto4 b984276bc6 Fix compile error 2021-05-02 12:30:34 +02:00
mafiesto4 28969a7de4 Fix EnumComboBox to support negative items as a cost of lack of uint64 support 2021-05-02 12:04:14 +02:00
mafiesto4 05c6a2214b Cleanup concurrentqueue.h 2021-05-02 11:57:18 +02:00
mafiesto4 71fc8c63fe Fix compiler errors and warnings 2021-05-02 11:39:24 +02:00
mafiesto4 543d1a3c0e Add Tracy profiler support 2021-05-02 11:27:10 +02:00
mafiesto4 1a261597c5 Cleanup DataContainer 2021-05-02 11:27:04 +02:00
mafiesto4 09671823e4 Optimize String usage with StringView for basic file paths operations 2021-05-02 11:25:42 +02:00
mafiesto4 fd595863dc Fix asset paths to be from project rather than packages 2021-05-02 11:25:41 +02:00
mafiesto4 05f919c50f Optimization and tweaks 2021-05-02 11:25:33 +02:00
mafiesto4 e2789214ae Refactor Editor Utils into separate VariantUtils 2021-05-02 11:24:51 +02:00
mafiesto4 51e5dc0c00 Add SceneTicking to engine API 2021-05-02 11:24:50 +02:00
mafiesto4 7d9d6eb272 Fix compiler warnings for UWP 2021-05-02 11:24:50 +02:00
mafiesto4 167f7e268d Fix Linux build 2021-04-30 17:03:40 +02:00
mafiesto4 c785f9106b Fix Linux build 2021-04-30 16:42:13 +02:00
mafiesto4 0e75dba142 Optimize C++ compilation time 2021-04-30 16:27:57 +02:00
Vizepi 2f07b11bb6 [CLEAN] Add missing include and undef redefined macro
The missing include defined the inline macro used in the class
2021-04-30 10:16:58 +02:00
stefnotch 346d0e3111 Improve quotes? 2021-04-29 21:28:36 +02:00
Mr L Watson 288bde7925 Merge pull request #1 from FlaxEngine/master
Update
2021-04-29 18:52:01 +01:00
W2.Wizard f35902ed85 Add missing '/' to XML docs 2021-04-29 17:23:18 +02:00
mafiesto4 05ba9b8d45 Fix models uvs preview drawing 2021-04-29 16:39:26 +02:00
mafiesto4 c996476a28 Fix ScreenSpace UICanvas order in Prefab preview (move back to prevent editor widgets occlusion) 2021-04-29 16:21:29 +02:00
mafiesto4 eaa5716d6a Fix editor viewport input when using ScreenSpace canvas in a prefab 2021-04-29 16:17:40 +02:00
mafiesto4 2e5b89aa84 Fix ScreenSpace UICanvas prefab preview activate/deactivate 2021-04-29 15:49:57 +02:00
mafiesto4 d2ac0429d3 Fix order when pasting UI Controls
#487
2021-04-29 15:22:36 +02:00
mafiesto4 c2afe0b6b2 Fix synchronizing ActorTreeNode order after actor duplicate
#487
2021-04-29 15:22:10 +02:00
mafiesto4 a9b5c5d32d Fix initial label ands button text values 2021-04-29 11:33:13 +02:00
mafiesto4 238d0f42b1 Merge branch 'GoaLitiuM-capsule_trace_fix' 2021-04-29 10:15:45 +02:00
mafiesto4 4f97ae35bb Merge branch 'capsule_trace_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-capsule_trace_fix 2021-04-29 10:15:43 +02:00
mafiesto4 4479035595 Merge branch 'W2Wizard-MathStuff' 2021-04-29 10:14:32 +02:00
mafiesto4 c745e6f29b Merge branch 'MathStuff' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-MathStuff 2021-04-29 10:14:31 +02:00
mafiesto4 f63849ed56 Fix panels filenames 2021-04-29 10:12:56 +02:00
mafiesto4 23d5a5e238 Merge branch 'honzapatCZ-patch-2' 2021-04-29 10:12:38 +02:00
mafiesto4 9b226926ed Merge branch 'patch-2' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-2 2021-04-29 10:12:33 +02:00
mafiesto4 4ad8b8bb19 Add support for VisibleIf on value editors using group panel
#484
2021-04-28 16:49:15 +02:00
mafiesto4 cbea62ceb9 Fix structured uav/srv buffer usage on Vulkan 2021-04-28 15:53:17 +02:00
mafiesto4 cf799c2198 Fix BitonicSort constant buffer size error on Vulkan due to structure padding 2021-04-28 15:53:12 +02:00
mafiesto4 f3be30a55e Merge branch 'MiheevN-master' 2021-04-28 11:41:52 +02:00
mafiesto4 c4fa30d39c Add sorting for used namespaces in bindings and include nested types checks
#477
2021-04-28 11:41:46 +02:00
mafiesto4 a02b5b8b57 Merge branch 'master' of git://github.com/MiheevN/FlaxEngine into MiheevN-master
# Conflicts:
#	Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs
2021-04-28 11:21:30 +02:00
mafiesto4 6988333a8e Merge branch 'stefnotch-fix-textbox-bugs' 2021-04-28 10:40:29 +02:00
mafiesto4 3eef855c31 Merge branch 'fix-textbox-bugs' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-textbox-bugs 2021-04-28 10:40:27 +02:00
mafiesto4 d9f3915186 Merge branch 'Vizepi-master' 2021-04-28 10:28:42 +02:00
mafiesto4 19941c3e88 Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-04-28 10:28:36 +02:00
mafiesto4 877a6e6913 Merge branch 'Crawcik-master' 2021-04-28 10:26:09 +02:00
mafiesto4 2051a724ae Merge branch 'master' of git://github.com/Crawcik/FlaxEngine into Crawcik-master 2021-04-28 10:26:05 +02:00
mafiesto4 774c4b65fe Fix error when platform culture is invalid 2021-04-28 10:01:33 +02:00
mafiesto4 3ef41e1e23 Merge branch 'master' into localization 2021-04-27 16:54:49 +02:00
mafiesto4 b96f0efd9c Fix using Delegate<> in API event
(cherry picked from commit 7b2c034fba)
2021-04-27 16:52:48 +02:00
mafiesto4 801587ab6c Fix case sensitivity check for StartsWith and EndsWith in StringView
(cherry picked from commit 752e7e73bc)
2021-04-27 16:52:26 +02:00
mafiesto4 df1dfbec36 Add support for object reference wrappers usage in hash maps and dictionaries
(cherry picked from commit eab3631c33)
2021-04-27 16:51:50 +02:00
mafiesto4 59af92bfc4 Fix format string errors assertions into soft checks
(cherry picked from commit c01e5efe43)
2021-04-27 16:50:55 +02:00
mafiesto4 35f06bbf6e Fix using TextBoxBase with child controls
(cherry picked from commit 2b41c8d24f)
2021-04-27 16:50:34 +02:00
mafiesto4 766a79af12 Remove unused include 2021-04-27 14:29:01 +02:00
mafiesto4 17467c81a4 Add LocalizedString support for UI 2021-04-27 14:28:42 +02:00
mafiesto4 5fc2f12139 Add helper method for CultureInfo to change language in VS 2021-04-27 12:58:16 +02:00
mafiesto4 ae846debd4 Add C++ current culture sync with localization system 2021-04-27 12:21:01 +02:00
mafiesto4 c01e5efe43 Fix format string errors assertions into soft checks 2021-04-27 10:57:07 +02:00
mafiesto4 06be726a6f Add C# current culture sync with localization system 2021-04-27 10:22:29 +02:00
mafiesto4 bdde0af771 Fix typos 2021-04-27 10:22:06 +02:00
mafiesto4 c76f1f2432 Add profile events to LocalizationSettingsEditor 2021-04-27 10:14:37 +02:00
mafiesto4 ed4eeee647 Fix undo for custom serialized objects (eg. LocalizedString) 2021-04-27 10:14:19 +02:00
mafiesto4 8c79c21e61 Add custom editor for LocalizedString 2021-04-27 10:13:48 +02:00
mafiesto4 ca56c5f9d0 Add formatting of localized plural string 2021-04-26 15:15:44 +02:00
mafiesto4 a22d5887bb Add LocalizedString.Empty 2021-04-26 15:15:30 +02:00
mafiesto4 2b41c8d24f Fix using TextBoxBase with child controls 2021-04-26 15:15:17 +02:00
mafiesto4 c519c00678 Add CreateSearchPopup to editor utils 2021-04-26 15:14:46 +02:00
jb-perrier 4c130bcba1 Merge branch '1.2' of https://github.com/FlaxEngine/FlaxEngine into indirect-vulkan 2021-04-24 14:29:51 +02:00
jb-perrier 3fc7073046 DrawInstancedIndirect & DrawIndexedInstanceIndirect impl. 2021-04-24 14:29:38 +02:00
mafiesto4 b73ff9aaf6 Merge branch '1.1' into 1.2
# Conflicts:
#	Source/Platforms/DotNet/Newtonsoft.Json.dll
#	Source/Platforms/DotNet/Newtonsoft.Json.pdb
#	Source/Platforms/UWP/Binaries/Newtonsoft.Json.dll
#	Source/Platforms/XboxOne/Binaries/Newtonsoft.Json.dll
2021-04-24 12:32:17 +02:00
stefnotch 3c2c95d670 Fix textbox selection when deleting
See https://forum.flaxengine.com/t/renaming-items-in-the-content-area-problem/334
2021-04-24 10:31:00 +02:00
stefnotch 37ed8afb30 Fix selecting and then pasting text
Now the caret isn't off by 1 character anymore
2021-04-24 10:30:52 +02:00
Николай Михеев 51a90dcd28 Adding the namespace of a field from another module. 2021-04-24 14:13:07 +07:00
mafiesto4 23e722a9fb Add timeout check for drag&drop on Linux to prevent deadlock 2021-04-23 22:58:09 +02:00
mafiesto4 27fbd896f7 Fix Win32 stack traces issue due to invalid search path for debug symbols
#457
2021-04-23 21:53:10 +02:00
Erdroy 0b16490719 Add full C# NetworkMessage API 2021-04-23 21:09:15 +02:00
mafiesto4 d36a36d439 Fix Win32 stack traces issue due to invalid search path for debug symbols
#457
2021-04-23 16:35:18 +02:00
Crawcik ac33ba432d Adding private protected access modifier 2021-04-23 14:02:16 +02:00
Vizepi 6e885ece34 [CLEAN] Added missing includes in headers 2021-04-23 13:59:02 +02:00
mafiesto4 826581cb77 Add support for searching for localization strings in scenes and prefabs 2021-04-23 13:57:16 +02:00
mafiesto4 d533dc5f5e Skip empty Value in LocalizedString serialization 2021-04-23 12:57:45 +02:00
mafiesto4 66fac52905 Add tooltips 2021-04-23 12:50:38 +02:00
mafiesto4 c28215b93e Fix UTF-8 encoding read in 2 places 2021-04-23 12:47:17 +02:00
mafiesto4 bbfd80dcb1 Add support for searching for localization strings in C#/C++ code 2021-04-23 12:46:32 +02:00
mafiesto4 81efa49951 Add button to update localization dashboard 2021-04-23 10:58:43 +02:00
mafiesto4 dc62586314 Fix missing asset register for new json resources 2021-04-23 10:53:27 +02:00
mafiesto4 6a1b4e547c Add support for exporting localized strings for translation 2021-04-23 10:52:51 +02:00
Crawcik d3c974a838 Access modifier detection fix 2021-04-23 08:31:00 +02:00
mafiesto4 2b698ca8b0 Add support for fixed-array fields in scripting 2021-04-22 21:03:40 +02:00
mafiesto4 3e945fbe34 Bump up version number 2021-04-22 20:24:21 +02:00
GoaLitiuM 8409f9d2d4 Fix missing rotation parameters in capsule physics queries 2021-04-22 20:53:24 +03:00
mafiesto4 6821e3c370 Fix progress bar drawing precision and stability
#471
2021-04-22 19:25:01 +02:00
mafiesto4 d4a27f38ff Add support for adding new culture to game localization 2021-04-22 17:09:27 +02:00
mafiesto4 ace8295ab7 Merge remote-tracking branch 'origin/master' into localization
# Conflicts:
#	Source/Platforms/DotNet/Newtonsoft.Json.dll
#	Source/Platforms/DotNet/Newtonsoft.Json.pdb
#	Source/Platforms/UWP/Binaries/Newtonsoft.Json.dll
#	Source/Platforms/XboxOne/Binaries/Newtonsoft.Json.dll
2021-04-22 16:10:36 +02:00
mafiesto4 c23d2ad2c4 Improve LocalizationSettings editor 2021-04-22 16:10:20 +02:00
mafiesto4 b5e19d95bd Add undo support for Json Asset editor window 2021-04-22 14:21:07 +02:00
mafiesto4 af34bafc5a Improve LocalizedStringTable editor 2021-04-22 13:28:52 +02:00
mafiesto4 aa07d3b2fa Add CultureInfo editor with picker 2021-04-22 13:28:28 +02:00
mafiesto4 f7837f99c2 Fix handling spacing in collection editors to align label in a proper way with margin 2021-04-22 10:59:35 +02:00
mafiesto4 04836f037d Fix json proxy regression for Generic json assets 2021-04-22 10:58:52 +02:00
mafiesto4 64b6b4ebc9 Fix byte array deserialization from base64 encoded string 2021-04-22 10:58:25 +02:00
mafiesto4 2f1aeb6897 Fix API_AUTO_SERIALZIATION usage if base type is not serializable 2021-04-22 10:58:01 +02:00
mafiesto4 d11a9d4d8f Fix typo 2021-04-21 23:47:28 +02:00
mafiesto4 3ed55c89f0 Add drag&drop support for Linux 2021-04-21 23:47:28 +02:00
mafiesto4 9381d0f5f1 Add automatic destination folder creation when saving Json asset 2021-04-21 23:47:27 +02:00
mafiesto4 a7a6dc7671 Add path utils to support StringView 2021-04-21 23:47:27 +02:00
mafiesto4 02856273ad Add error message box on Editor Options saving error 2021-04-21 23:47:27 +02:00
mafiesto4 8ba1affe9e Fix PrefabSpritesRenderer from script list 2021-04-21 10:14:59 +02:00
mafiesto4 ba2b7939a3 Merge branch 'TaylerMauk-fix-issue-468' 2021-04-21 10:12:08 +02:00
mafiesto4 7739078aad Merge branch 'fix-issue-468' of git://github.com/TaylerMauk/FlaxEngine into TaylerMauk-fix-issue-468 2021-04-21 10:12:05 +02:00
mafiesto4 851c6d972c Merge branch 'TaylerMauk-fix-issue-460' 2021-04-21 10:04:38 +02:00
Tayler Mauk 3410bd5380 Standardize variable names 2021-04-20 22:31:15 -07:00
Tayler Mauk dc0f77ae2a Fix issue #468 2021-04-20 22:24:37 -07:00
Tayler Mauk 3e73f40c0f Fix issue #460 2021-04-20 21:23:42 -07:00
W2Wizard 7cfcacf0cd Remove Unit Direction method 2021-04-20 18:21:27 +02:00
mafiesto4 28c0552e0a Fix diff-serialization and deserialization of C# lists
#347
2021-04-20 16:06:32 +02:00
mafiesto4 9857fb12c4 Fix crash when using C# script that inherits from C++ script 2021-04-20 11:47:32 +02:00
mafiesto4 5b31a8222c Fix crash when using C# script that inherits from C++ script 2021-04-20 11:47:21 +02:00
mafiesto4 1eacb36256 Minor tweaks 2021-04-20 10:58:14 +02:00
mafiesto4 eabab8301d Fix compilation of bindings code with API_EVENT in some cases
#459
2021-04-20 10:35:09 +02:00
mafiesto4 20331bc858 Fix crash when using Actor GetScript or GetChild with invalid index
#462
2021-04-20 10:12:57 +02:00
mafiesto4 6387e87a30 Merge branch 'stefnotch-fix-get-child-at' 2021-04-20 10:05:31 +02:00
mafiesto4 221c4f0648 Merge branch 'W2Wizard-initlist' into 1.2 2021-04-20 09:46:09 +02:00
jb-perrier 52815a4ab0 Refactor using GPUDrawIndirectArgs. 2021-04-19 22:02:59 +02:00
jb-perrier 203d1d79dc Add drawCount to GPU indirect draw cmds. 2021-04-19 21:41:34 +02:00
mafiesto4 480783b7fa Add LocalizedString to TextRender 2021-04-19 16:25:44 +02:00
mafiesto4 3781228dd2 Add support for using generic class value types in scripting API bindings code 2021-04-19 16:24:51 +02:00
mafiesto4 983190b9a0 Add LocalizedString 2021-04-19 16:24:14 +02:00
W2Wizard 4e01d110a1 Add UnitDirection & Goldenratio
Additional simplification
2021-04-19 15:37:39 +02:00
stefnotch 08d08133c1 GetChildAt should do it in reverse order to respect z order 2021-04-18 09:49:25 +02:00
W2.Wizard b1ad70b6b2 Add include 2021-04-17 20:29:48 +02:00
W2Wizard 6e9b5225d2 Add init functions 2021-04-17 20:08:10 +02:00
mafiesto4 0d422ec169 Remove unused include 2021-04-17 19:38:31 +02:00
mafiesto4 c5dd3674c1 Optimize WriteStream::WriteText 2021-04-17 19:38:23 +02:00
mafiesto4 cf0a16e875 Fix handling crash when loading scripting api bindings cache during build 2021-04-17 19:37:51 +02:00
mafiesto4 841a336581 Fix using AssetsCache in game code 2021-04-17 19:37:11 +02:00
mafiesto4 b2729e35c2 Fixes for UWP build 2021-04-17 19:36:38 +02:00
Erdroy e7f899309c Add simple SendMessage with single target 2021-04-16 22:08:59 +02:00
Erdroy ed82787093 Fix compilation issues & cleanup 2021-04-16 22:03:35 +02:00
Erdroy acb4a10fd5 Add IsServer checks for message sending 2021-04-16 21:18:12 +02:00
Erdroy 9927209293 Add message sending to clients 2021-04-16 21:17:43 +02:00
Erdroy d5bc9b5e46 Add NetworkConnection to ENetPeer map 2021-04-16 21:16:26 +02:00
Erdroy 8aaa0a2d6b Add Timeout event 2021-04-16 21:15:20 +02:00
Erdroy ba8d506c14 Add explicit ctor to NetworkConnection 2021-04-16 21:14:54 +02:00
mafiesto4 f1b82b788b Add string localization API 2021-04-16 15:58:31 +02:00
mafiesto4 029566b2ff Add localization string tables caching for current language 2021-04-16 15:48:27 +02:00
mafiesto4 35aaacd61b Add support for importing .po files with strings localization 2021-04-16 15:47:59 +02:00
mafiesto4 eab3631c33 Add support for object reference wrappers usage in hash maps and dictionaries 2021-04-16 15:47:26 +02:00
mafiesto4 cca8200794 Fix JsonAssetProxy.IsProxyFor 2021-04-16 15:47:01 +02:00
mafiesto4 0fb02a5aff Add LocalizationSettings 2021-04-16 15:46:42 +02:00
mafiesto4 7448383079 Add LocalizedStringTable 2021-04-16 15:39:31 +02:00
mafiesto4 e9215c1a9e Tweaks 2021-04-16 11:34:10 +02:00
mafiesto4 69d3cb5b2b Add support for nesting Array inside Dictionary in scripting API 2021-04-16 10:13:15 +02:00
mafiesto4 e4d3989b71 Add support for nesting Array inside Dictionary in scripting API 2021-04-16 10:12:40 +02:00
mafiesto4 f9c6166b46 Minor tweak 2021-04-15 16:57:16 +02:00
mafiesto4 ee691469b4 Fix natvis display for string views 2021-04-15 16:56:49 +02:00
mafiesto4 752e7e73bc Fix case sensitivity check for StartsWith and EndsWith in StringView 2021-04-15 16:56:07 +02:00
mafiesto4 a9ec4566e7 Add support for custom asset type factory in game code 2021-04-15 16:55:03 +02:00
mafiesto4 653cdd8654 Add support for importing assets into custom formats with AssetsImportingManager 2021-04-15 16:48:01 +02:00
mafiesto4 18901ba66f Rename event 2021-04-14 13:13:35 +02:00
mafiesto4 7bc0e3c14d Fix dummy locale on Linux 2021-04-14 12:27:48 +02:00
mafiesto4 7b2c034fba Fix using Delegate<> in API event 2021-04-14 12:23:50 +02:00
mafiesto4 7dd2a8fac9 Add Localization 2021-04-14 12:22:48 +02:00
W2.Wizard 00cb802363 Add missing doc 2021-04-14 11:34:43 +02:00
mafiesto4 698ce4c0ce Fix crash on bokeh in dof on d3d12 2021-04-13 19:03:04 +02:00
W2.Wizard 325433aaf8 Add GameSettings icon 2021-04-13 16:09:35 +02:00
W2.Wizard 7877f77242 Add Scalar Icon, PS & XBox
A separate scalar icon for the value box
2021-04-13 10:41:04 +02:00
mafiesto4 ac1eb8d58d Merge branch 'master' into 1.2 2021-04-13 09:52:03 +02:00
mafiesto4 b2ae91e3b9 Fix warnings 2021-04-13 09:51:55 +02:00
mafiesto4 898a7002eb Merge branch 'jb-perrier-intx' into 1.2 2021-04-13 09:38:51 +02:00
mafiesto4 5d0da2c8c2 Merge branch 'intx' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-intx 2021-04-13 09:38:43 +02:00
mafiesto4 df07529f21 Fix game build 2021-04-13 09:34:23 +02:00
mafiesto4 bc7660fbf8 Merge branch 'TaylerMauk-bugfix-3d-audio-placement' 2021-04-13 09:32:10 +02:00
mafiesto4 857b7e522f Merge branch 'bugfix-3d-audio-placement' of git://github.com/TaylerMauk/FlaxEngine into TaylerMauk-bugfix-3d-audio-placement 2021-04-13 09:32:05 +02:00
mafiesto4 af9962c30f Fix render layers mask usage for shadows rendering 2021-04-13 09:28:34 +02:00
Tayler Mauk a7e29c5784 Fix 3D audio placement for XAudio2 and OpenAL
Corrected inverted x-axis for XAudio2
Corrected inverted z-axis for OpenAL
2021-04-12 22:06:01 -07:00
mafiesto4 3a03fe5f7f Format code 2021-04-12 23:26:49 +02:00
mafiesto4 f1eebd3835 Merge branch 'jb-perrier-pxupvector' 2021-04-12 23:25:32 +02:00
mafiesto4 40ed499889 Merge branch 'pxupvector' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-pxupvector 2021-04-12 23:25:24 +02:00
mafiesto4 55155630ca Fix duplicating spline
#452
2021-04-12 21:06:34 +02:00
W2.Wizard 1e2a15d6c1 Initial Setup
Expose all settings as individual items and overhaul all icons.

Sorted all SpriteHandle fields alphabetically.
2021-04-12 20:07:47 +02:00
mafiesto4 3bfeb1db76 Add BoxBrush::SetMaterial 2021-04-12 19:07:18 +02:00
mafiesto4 b2d041c9b3 Merge branch 'stefnotch-tweak-random-byte' 2021-04-12 18:37:22 +02:00
mafiesto4 e5ab536db4 Merge branch 'tweak-random-byte' of git://github.com/stefnotch/FlaxEngine into stefnotch-tweak-random-byte 2021-04-12 18:37:14 +02:00
mafiesto4 c572d75d1d Format code 2021-04-12 15:45:58 +02:00
mafiesto4 f1bc3f58e2 Merge branch 'stefnotch-tweak-quaternion-editing' into 1.2 2021-04-12 15:44:05 +02:00
mafiesto4 d774cb496a Merge branch 'tweak-quaternion-editing' of git://github.com/stefnotch/FlaxEngine into stefnotch-tweak-quaternion-editing 2021-04-12 15:44:03 +02:00
mafiesto4 ed1f0b8881 Merge branch 'jb-perrier-this-node' into 1.2 2021-04-12 15:43:05 +02:00
mafiesto4 0dafa2f562 Expose TickData to scripting API 2021-04-12 13:24:59 +02:00
mafiesto4 5ab554f61c Fix using Camera refs 2021-04-12 12:57:15 +02:00
mafiesto4 8a725ec243 Fix natvis for StringBuilder 2021-04-12 12:51:26 +02:00
mafiesto4 cd1f57b634 Fix doc comments 2021-04-12 12:51:10 +02:00
mafiesto4 c47db14c83 Fix using Sorting in C++ game code 2021-04-12 12:50:59 +02:00
mafiesto4 81305a10cf Fix crash on relocation in BitArray 2021-04-12 12:50:46 +02:00
stefnotch a58645da0f Slightly improve the random byte generation code 2021-04-12 10:46:00 +02:00
jb-perrier cd707eb5a4 Fix "This" node output type. 2021-04-11 12:16:03 +02:00
mafiesto4 27400cffe4 Merge branch 'stefnotch-fix-spline-precision' 2021-04-10 11:12:48 +02:00
stefnotch 5b1c5824c8 Fix #408 by being more precise in some places
IEEE floating point numbers are fun ™️
2021-04-10 09:13:19 +02:00
stefnotch c4af8ce0ca Super smooth quaternion editing
Downside: I have no idea if this is a good implementation
2021-04-09 14:28:02 +02:00
mafiesto4 3e080c44c6 Fix using curl lib on Linux (use self compiled static lib) 2021-04-08 22:12:55 +02:00
jb-perrier eff5d0899d Order + Attributes + Return _up. 2021-04-08 20:35:01 +02:00
jb-perrier 992f4b2303 Add IntX write stream support. 2021-04-08 19:00:40 +02:00
jb-perrier 8e7ff6f657 Add IntX stream read support. 2021-04-08 19:00:25 +02:00
jb-perrier 4e86f1c776 Add WriteVariant support. 2021-04-08 19:00:03 +02:00
jb-perrier 4b78551765 Add WriteVariant support. 2021-04-08 18:59:38 +02:00
jb-perrier 3579b86980 Add WriteCommonValue support. 2021-04-08 18:59:19 +02:00
jb-perrier 3f39212b7b Add ReadVariant support. 2021-04-08 18:59:05 +02:00
jb-perrier b0b6aeccd8 Add ReadVariantType support. 2021-04-08 18:58:45 +02:00
jb-perrier 5b6a0a8d7f Add ReadVariantScriptType support. 2021-04-08 18:58:29 +02:00
jb-perrier 3bbeae15f2 Add ReadCommonValue support. 2021-04-08 18:58:13 +02:00
jb-perrier f6a6e298e0 Add ToVariantType support. 2021-04-08 18:57:47 +02:00
jb-perrier b4b41d6773 Add IntX to VairantType. 2021-04-08 18:57:28 +02:00
jb-perrier 274dde0a7e Add IntX support De/Serialize. 2021-04-08 18:57:05 +02:00
jb-perrier 7a5e5a63e1 Add IntX support Deserialize. 2021-04-08 18:56:36 +02:00
jb-perrier e55dd16b72 Add IntX support Serialize. 2021-04-08 18:56:20 +02:00
jb-perrier 054b2cb9c7 Add C++ Serialization IntX support. Header. 2021-04-08 18:55:48 +02:00
jb-perrier fed5805fcc Add Int4 Min/Max. 2021-04-08 18:55:07 +02:00
jb-perrier e9c5ffa736 Add Int3 Min/Max. 2021-04-08 18:54:55 +02:00
jb-perrier e912590bc6 Add Int2 Min/Max. 2021-04-08 18:54:35 +02:00
jb-perrier 9d3861ace2 Add Int2 funcs. 2021-04-08 18:54:20 +02:00
jb-perrier 0b1c1b3a8d Refactor Int2 operation. 2021-04-08 18:54:09 +02:00
jb-perrier 4b22503ea2 Add Int3 operators + funcs. 2021-04-08 18:53:39 +02:00
jb-perrier 54786a001a Add Int4 operators + funcs. 2021-04-08 18:53:20 +02:00
jb-perrier 9cf6120b39 Add Int2 constructors. 2021-04-08 18:52:42 +02:00
jb-perrier 21f1930c2d Add Int3 constructors. 2021-04-08 18:52:34 +02:00
jb-perrier 053d55bf81 Add Int4 constructors. 2021-04-08 18:52:21 +02:00
jb-perrier 563ec32f06 Add Int4 Min/Max support. 2021-04-08 18:52:01 +02:00
jb-perrier f8bc124752 Add Int3 Min/Max support. 2021-04-08 18:51:54 +02:00
jb-perrier 529beaad08 Add Int2 Min/Max support. 2021-04-08 18:51:46 +02:00
jb-perrier efbc7976b0 Add Int3.cpp. 2021-04-08 18:51:17 +02:00
jb-perrier 048612c65c Add Int3.cpp. 2021-04-08 18:51:09 +02:00
jb-perrier 866105631e Add Int4.cpp. 2021-04-08 18:50:59 +02:00
jb-perrier 6c4ca6c01a Delete unused pre-decl. 2021-04-08 18:50:16 +02:00
jb-perrier a04d19d9f7 Delete unused pre-decl. 2021-04-08 18:50:09 +02:00
jb-perrier f470a9aaf4 Delete unused pre-decl. 2021-04-08 18:50:04 +02:00
jb-perrier 0bb1982bcd Delete VectorInt.h. 2021-04-08 18:49:18 +02:00
jb-perrier d2cc4051ad Convert Int2 to generated type. 2021-04-08 18:47:14 +02:00
jb-perrier 224937cd09 Convert Int3 to generated type. 2021-04-08 18:46:56 +02:00
jb-perrier 8661c2af18 Convert Int4 to generated type. 2021-04-08 18:46:28 +02:00
jb-perrier 854b2492dd Add Variant "As" support for IntX. 2021-04-08 18:45:02 +02:00
jb-perrier 0f6e204c76 Add Variant operator support for IntX. 2021-04-08 18:44:26 +02:00
jb-perrier 1e4c07f94c Add Variant constructors for IntX. 2021-04-08 18:43:39 +02:00
jb-perrier 3185691077 Add IntX to VariantType. 2021-04-08 18:42:40 +02:00
jb-perrier 42075f7b2a Add Vector2 constructors for IntX. 2021-04-08 18:42:04 +02:00
jb-perrier a746e0c995 Add Vector3 constructor for IntX. 2021-04-08 18:41:38 +02:00
jb-perrier ca0135724c Add Vector4 constructors for IntX. 2021-04-08 18:41:11 +02:00
jb-perrier fa82555149 Add IntX support for JsonWriter. 2021-04-08 18:39:08 +02:00
mafiesto4 9a90b2fa42 Add check for null ref 2021-04-08 13:10:03 +02:00
mafiesto4 a3012d0b27 Add warning when using Triangle Mesh collider under RigidBody 2021-04-08 11:21:12 +02:00
mafiesto4 7f482330ca Add support for Vector2/3/4 and Quaternion constants for default value attribute in C# scripting api 2021-04-08 10:43:51 +02:00
mafiesto4 810691d540 Add support for string constants as defaults in scripting API 2021-04-08 10:03:01 +02:00
mafiesto4 eb24c29f7e Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json 2021-04-08 10:02:08 +02:00
mafiesto4 9a17f2141b Add lock for Gameplay Globals access 2021-04-07 22:21:37 +02:00
mafiesto4 d073a13f57 Fix removing Gameplay Globals
#427
2021-04-07 21:10:09 +02:00
mafiesto4 7e622a69a6 Fix AutoFocus saved in data for controls 2021-04-07 20:53:18 +02:00
mafiesto4 6001eb88fa Fix Dropdown control
#334
2021-04-07 20:52:22 +02:00
mafiesto4 438135975f Add DefaultQueryExtent to navmesh properties 2021-04-07 17:17:41 +02:00
jb-perrier 1610af3f3f Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into pxupvector 2021-04-07 17:01:52 +02:00
jb-perrier 60e926a62f Serialize UpDirection. 2021-04-07 17:01:37 +02:00
mafiesto4 25a9dcad8a Move JsonConverters to a separate file 2021-04-07 14:46:49 +02:00
mafiesto4 1243927ad0 Fix typo 2021-04-07 14:00:15 +02:00
mafiesto4 fee47a99b3 Add additional info text and pivot location preview to anchors editor 2021-04-07 13:47:31 +02:00
mafiesto4 7c54bb0155 Add support for reusing UIControlControlEditor and AnchorPresetsEditorPopup in Editor plugins 2021-04-07 12:53:07 +02:00
mafiesto4 9a0e3a7b6c Merge branch 'honzapatCZ-ui-achorpopup-shiftctrl-modes' into 1.2 2021-04-07 12:05:25 +02:00
honzapatCZ ff4f1277e7 invert preserveBounds back 2021-04-07 11:45:12 +02:00
Nejcraft 6fba1a4ab9 Delete Control.Bounds.cs.rej 2021-04-07 11:22:45 +02:00
Nejcraft f24cb34e3f Merge branch '1.2' into ui-achorpopup-shiftctrl-modes 2021-04-07 11:20:20 +02:00
mafiesto4 772af752d2 Fix regression from dff1374378 2021-04-07 11:10:51 +02:00
mafiesto4 dff1374378 Post-merge tweaks
#417
2021-04-07 10:57:17 +02:00
mafiesto4 7e5fd8e384 Merge branch 'honzapatCZ-ui-localPosition' into 1.2 2021-04-07 10:31:43 +02:00
mafiesto4 95ba2e9bab Merge branch 'ui-localPosition' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-ui-localPosition 2021-04-07 10:31:41 +02:00
honzapatCZ 41a873450e should work now 2021-04-06 16:54:22 +02:00
honzapatCZ 7f5869e257 Merge remote-tracking branch 'origin/1.2' into ui-achorpopup-shiftctrl-modes 2021-04-06 16:44:45 +02:00
mafiesto4 c8c215abfd Add support for custom value propagation in CustomEditor 2021-04-06 15:47:00 +02:00
mafiesto4 ecc055d8b8 Fix compilation warnings 2021-04-06 12:40:24 +02:00
mafiesto4 2622482b12 Change libcurl dependency on Linux 2021-04-06 12:17:32 +02:00
mafiesto4 ca6a075d8c Fix typos and code style 2021-04-06 11:46:30 +02:00
mafiesto4 ca3d4a84ad Fix text wrapping when no scene is loaded 2021-04-06 11:46:23 +02:00
mafiesto4 6eec0b396d Merge branch 'GoaLitiuM-capsule_physics_queries' 2021-04-06 11:42:20 +02:00
mafiesto4 2d6f8cc406 Change default Update FPS in time settings to 60
#414
2021-04-06 10:42:11 +02:00
mafiesto4 80fc3d82b0 Merge branch 'honzapatCZ-patch-4' into 1.2 2021-04-06 09:51:37 +02:00
mafiesto4 1bb64fdf5d Merge branch 'patch-4' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-4 2021-04-06 09:51:34 +02:00
GoaLitiuM e7edb9d38c Add sweep and overlap physics queries for capsule shapes 2021-04-05 19:36:36 +03:00
honzapatCZ c4dd5ef5c8 anchor preset popup shift + ctrl 2021-04-02 17:47:39 +02:00
honzapatCZ 73e92e33fd local positions 2021-04-02 17:38:30 +02:00
mafiesto4 3a5c3cabba Add missing doc comment 2021-04-02 16:51:12 +02:00
mafiesto4 0b4408bc78 Fix Transform Node/Bone in replace mode when transform is identity 2021-04-01 14:16:16 +02:00
mafiesto4 2f42321551 Merge branch 'stefnotch-dpi-scale-tool-windows' 2021-03-31 23:54:08 +02:00
mafiesto4 98da5525f3 Merge branch 'dpi-scale-tool-windows' of git://github.com/stefnotch/FlaxEngine into stefnotch-dpi-scale-tool-windows 2021-03-31 23:54:02 +02:00
mafiesto4 20f9bdc209 Fix regression in adding model material slots 2021-03-31 21:25:12 +02:00
Nejcraft df6dc6b21f Bump up default Update FPS
This cant possibly do any harm as if it is too much it will get skipped and work like it is on these FPSs while remaining to work consistantly, while if it is possible to get to the 60 fps, things like scripted camera, ChracterController etc. will move more better.
2021-03-31 16:51:11 +02:00
mafiesto4 df10d6560b Fix dead-lock 2021-03-31 15:42:10 +02:00
mafiesto4 a2825eac87 Add support uint64 values in EnumComboBox 2021-03-31 12:15:57 +02:00
mafiesto4 51926f517e Add support for masking Material Slots when cooking Collision Data 2021-03-31 12:15:38 +02:00
mafiesto4 382a35aabf Fix regression in adding model material slots 2021-03-31 10:12:05 +02:00
stefnotch 93f23af92e Scale dockwindow size by DPI scale
For those gangstas with 4k screens ;)
2021-03-30 23:03:56 +02:00
mafiesto4 d8a4814542 Merge branch 'jb-perrier-overwriteprompt' 2021-03-30 22:30:43 +02:00
mafiesto4 6c37673787 Merge branch 'overwriteprompt' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-overwriteprompt 2021-03-30 22:30:41 +02:00
mafiesto4 77f9716932 Fix selecting spline points
#409
2021-03-30 22:27:24 +02:00
mafiesto4 ece77065ca Merge branch 'stefnotch-patch-8' 2021-03-30 22:10:44 +02:00
mafiesto4 15186cafe0 Merge branch 'patch-8' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-8 2021-03-30 22:10:39 +02:00
mafiesto4 b35795f1ff Merge branch 'stefnotch-dpi-root-window-fix' 2021-03-30 22:09:24 +02:00
mafiesto4 d667084d11 Merge branch 'dpi-root-window-fix' of git://github.com/stefnotch/FlaxEngine into stefnotch-dpi-root-window-fix 2021-03-30 22:09:18 +02:00
mafiesto4 f8d6f8ffb5 Fix using references to projects outside the main project
#397
2021-03-30 22:07:40 +02:00
jb-perrier a3ca6b0dca Add overwrite prompt for SaveDialog. 2021-03-30 21:47:18 +02:00
jb-perrier 2524d93f6b Add Set/Get Up direction. 2021-03-30 21:43:03 +02:00
Nejcraft 4f690c17fa mario went missing 2021-03-30 20:36:39 +02:00
Nejcraft 7af125b453 Added some qutoes
As by discord
2021-03-30 20:35:13 +02:00
mafiesto4 b0fe4e9945 Merge remote-tracking branch 'origin/master' into 1.2 2021-03-30 17:58:29 +02:00
mafiesto4 a6d488c4ef Add support for generating Collision Data from Skinned Models 2021-03-30 17:58:24 +02:00
mafiesto4 e01a0585a8 Add MeshBase as shared impl part for Mesh and SkinnedMesh 2021-03-30 17:57:53 +02:00
mafiesto4 3e1356ba2d Remove unused LimitAttribute into simple Limit 2021-03-30 12:28:33 +02:00
mafiesto4 9581f7b10e Fix using cross-module references inside C++ game project 2021-03-29 20:37:43 +02:00
mafiesto4 a83ee4014e Expose more wheel settings in vehicle 2021-03-29 17:07:17 +02:00
mafiesto4 4264a36dd0 Fix tooltip attribute generation for multi line xml doc comments 2021-03-29 16:49:26 +02:00
mafiesto4 dd00c83f74 Add clutch strength option 2021-03-29 16:48:59 +02:00
mafiesto4 6ad8e8b133 Expose Setup on WheeledVehicle 2021-03-29 16:40:06 +02:00
mafiesto4 f17e347a15 Add differential settings to WheeledVehicle 2021-03-29 16:25:25 +02:00
mafiesto4 d95d3efe33 Fix 2021-03-29 15:38:04 +02:00
mafiesto4 d21ccac63e Add engine settings to WheeledVehicle 2021-03-29 15:36:55 +02:00
mafiesto4 427541b488 Fix using cross-module references inside C++ game project 2021-03-29 14:41:29 +02:00
mafiesto4 b27c832cb7 Add error log when trying to load bytes from file data that is too big 2021-03-29 13:49:49 +02:00
mafiesto4 3162d4e770 Add option for WheeledVehicle drive type 2021-03-29 13:41:25 +02:00
stefnotch 2abb215034 Update CONTRIBUTING.md 2021-03-29 12:06:24 +02:00
stefnotch 12fd7274a9 Fix DPI regression: use the overrideable RootWindow instead of _root 2021-03-29 10:54:48 +02:00
mafiesto4 7456bf38f7 Fix for editor on linux 2021-03-28 23:26:08 +02:00
mafiesto4 d85a020971 Fix picking game binaries target when EditorTarget is not SetupTargetEnvironment
#398
2021-03-28 23:25:52 +02:00
mafiesto4 6f83330321 Fix building game for linux on windows 2021-03-28 21:31:21 +02:00
mafiesto4 0a7f2fc043 Improve deploy of editor on linux 2021-03-28 21:14:03 +02:00
mafiesto4 c32e869c56 Fix packaging Editor on Linux 2021-03-28 20:11:24 +02:00
mafiesto4 23d38fc387 Fix regression in Bezier curve tangents calculation for Quaternions
85167b2d4b
2021-03-28 18:45:10 +02:00
mafiesto4 6d2092f9e8 Fix rendering volumetric fog influence from local lights with shadows 2021-03-27 20:06:57 +01:00
mafiesto4 0754434295 Fix UWP build 2021-03-27 19:27:22 +01:00
mafiesto4 732f74e5c9 Fix assertion on engine close due to rare invalid storage object refs count 2021-03-27 19:27:04 +01:00
mafiesto4 7de7c8806e Update particle assets (sprite rendering module values change) 2021-03-27 12:22:17 +01:00
mafiesto4 ebf2b0a2f3 Fix asset path used in registry
#394
2021-03-26 22:24:44 +01:00
mafiesto4 97fd733c3e Fix issue when spline point is deleted externally while being selected
#393
2021-03-26 22:00:15 +01:00
mafiesto4 c191815b82 Use static linking for Assimp on Linux, strip it from unused symbols and formats support 2021-03-26 21:30:30 +01:00
mafiesto4 e21c9d24de Add proper vehicle setup after editing wheel colliders 2021-03-26 17:11:26 +01:00
mafiesto4 2ce14b5e9c Increase physics solver iterations counts for vehicles to have more stability and quality 2021-03-26 16:14:06 +01:00
mafiesto4 3f68a0576d Reorder properties and add center of mass debug drawing 2021-03-26 15:47:00 +01:00
mafiesto4 f216528f40 Tweak comment 2021-03-26 15:14:12 +01:00
mafiesto4 4562dde31f Add Vehicles support 2021-03-26 15:11:07 +01:00
mafiesto4 7cf464aabb Tweak 2021-03-25 23:44:55 +01:00
mafiesto4 1a8456ea57 Tweak 2021-03-25 23:16:04 +01:00
mafiesto4 4847479dae Add Editor for Linux to Github Actions 2021-03-25 22:55:13 +01:00
mafiesto4 dbe5886ffe Possible fix for Editor build on Linux 2021-03-25 22:31:18 +01:00
mafiesto4 16a4b0dd8a Update libs for linux build 2021-03-25 22:23:25 +01:00
mafiesto4 0be815cddd Possible fix for missing include 2021-03-25 21:50:16 +01:00
mafiesto4 9f79d0e3c4 Add support for vertical and horizontal panels to arrange children based on the child anchor
#385
2021-03-25 21:45:29 +01:00
mafiesto4 d3bdc3cf8b Fix UI not being updated with particular panels used when changing child control anchors
#385
2021-03-25 21:27:42 +01:00
mafiesto4 5c495b987b Add Shift+Home shortcut to Text Boxes
#386
2021-03-25 21:14:37 +01:00
mafiesto4 2b741cae58 Fix navmesh tiles set resizing
#369
2021-03-25 20:52:58 +01:00
mafiesto4 44fc1f9d05 Fix using nested types in scripting api 2021-03-24 22:08:49 +01:00
mafiesto4 6982997a2b Fixes for serialization problems with custom structures 2021-03-24 22:08:40 +01:00
mafiesto4 de2db94b85 Add DrawCylinder and DrawWireCylinder to DebugDraw 2021-03-24 22:08:15 +01:00
mafiesto4 3f230415c4 Merge branch 'stefnotch-patch-7' 2021-03-24 22:04:37 +01:00
mafiesto4 b79f090364 Merge branch 'patch-7' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-7 2021-03-24 22:04:30 +01:00
mafiesto4 9db2feb674 Add passing custom compiler switch when invoking child Flax.Build process during deployment 2021-03-24 19:32:10 +01:00
mafiesto4 624d24d209 Remove unused using declaration 2021-03-24 19:31:42 +01:00
mafiesto4 3dbbcc3a8c Add support for using automated codesign for binaries in deployment 2021-03-24 19:31:22 +01:00
stefnotch 2c0520cc9d Update Matrix3x3.cs 2021-03-24 11:08:41 +01:00
mafiesto4 5ca717a231 Merge remote-tracking branch 'origin/master' into 1.2 2021-03-23 12:32:04 +01:00
mafiesto4 e2f9646b8f Fix using nested types in scripting api 2021-03-23 12:31:30 +01:00
mafiesto4 b5e324673e Fixes for serialization problems with custom structures 2021-03-23 12:29:25 +01:00
mafiesto4 20b65a08d9 Add DrawCylinder and DrawWireCylinder to DebugDraw 2021-03-23 12:21:07 +01:00
mafiesto4 c0d0083cc2 Fix using orientation around selection in prefab window
#276
2021-03-23 11:06:13 +01:00
mafiesto4 934258aadb Fix UICanvas to face camera plane instead of camera position
#371
2021-03-23 10:25:31 +01:00
mafiesto4 16f81cc184 Fix updating Label layout after font change when using automatic size
#380
2021-03-23 09:32:12 +01:00
mafiesto4 e8c9856665 Fix Vertical/Horizontal panels issue with anchored child controls
#378
2021-03-23 09:24:56 +01:00
mafiesto4 fad1e6fdfc Fix regression from d65ae8de96 2021-03-23 09:17:45 +01:00
mafiesto4 fcd86bccf5 Fix scripting reload without scenes loaded
#375
2021-03-22 23:41:21 +01:00
mafiesto4 319bee0838 Fix Debug Log window info label 2021-03-22 23:29:54 +01:00
mafiesto4 f92dd5d34a Fix missing attribute 2021-03-22 20:15:34 +01:00
mafiesto4 d65ae8de96 Fix saving assets with path containing invalid slashes 2021-03-22 20:05:15 +01:00
mafiesto4 40c537d114 Merge branch 'master' into 1.2
# Conflicts:
#	Source/Engine/Platform/Network.h
2021-03-22 11:26:36 +01:00
mafiesto4 39a6d0d292 Add Unix network impl for Android 2021-03-22 11:23:25 +01:00
mafiesto4 78f8066d4d Fix code style 2021-03-22 10:24:22 +01:00
mafiesto4 b3e16a6b66 Fix material not updating on connection removal
#372
2021-03-22 10:24:15 +01:00
mafiesto4 cb96a87659 Fix crash when material is generated at 2 threads at once 2021-03-21 20:25:25 +01:00
mafiesto4 22812ad21e Fix game build 2021-03-21 15:34:15 +01:00
mafiesto4 a3eddd5b3b Fix bindings cache to rely on project name and version 2021-03-21 14:19:34 +01:00
mafiesto4 e095b610fd Bump the version number 2021-03-21 14:19:14 +01:00
mafiesto4 851fd1a6d0 Tweaks for prefabs first selection 2021-03-21 14:00:23 +01:00
mafiesto4 3bfb0e6cac Merge branch 'honzapatCZ-prefab-first' into 1.1 2021-03-21 13:46:59 +01:00
mafiesto4 cec4db1531 Merge branch 'prefab-first' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-prefab-first 2021-03-21 13:46:33 +01:00
mafiesto4 1c140a5b0e Fix crash in navmesh builder when scene gets unloaded after navmesh tile gets dirty 2021-03-21 13:44:30 +01:00
mafiesto4 f413431667 Add error check to prevent changing parent of the Scene actor 2021-03-21 13:27:45 +01:00
mafiesto4 160dfa5dc7 Fix Label text alignment in auto size text
#308
2021-03-20 18:49:31 +01:00
mafiesto4 0d12ccef64 Fix invalid Timeline layout UI when opening timeline data 2021-03-20 18:43:31 +01:00
mafiesto4 40a3fb96a2 Fix ParticleSystemWindow overlapping text bug
#239
2021-03-20 18:40:06 +01:00
mafiesto4 fac7c8aa6a Fix possible exception in actor editor bounds getters
#286
2021-03-20 17:56:55 +01:00
mafiesto4 7dd67b5ae3 Fix Label auto-height and auto-width when text overflows the lines and it's wrapped
#358
2021-03-20 13:06:35 +01:00
mafiesto4 59b975499f Fix WorldSpaceFaceCamera bug
#370
2021-03-20 12:15:50 +01:00
mafiesto4 7010c52af3 Fix missing selection type in CustomEditorPresenter 2021-03-19 17:15:18 +01:00
mafiesto4 29e06eb696 Add WorldSpaceFaceCamera mode to UICanvas
#359
2021-03-19 15:46:33 +01:00
mafiesto4 7ff5ebb45d Fix using scale mode Gizmo 2021-03-19 12:21:09 +01:00
mafiesto4 54753a49ed Add support for spawning Collision Data as Mesh Collider in viewport drag&drop 2021-03-19 12:15:50 +01:00
mafiesto4 4efd411045 Add improvements for objects spawning in editor viewport
#367
2021-03-19 12:15:13 +01:00
mafiesto4 b5845d2e12 Merge branch 'jb-perrier-canvasculling' into 1.1 2021-03-19 10:15:47 +01:00
mafiesto4 f1b100841d Merge branch 'canvasculling' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-canvasculling 2021-03-19 10:15:42 +01:00
mafiesto4 8626350e5f Fix possible issue for prefab reference value for default value object that might be deleted on prefab apply 2021-03-19 10:14:58 +01:00
mafiesto4 4ae3fccfd9 Improve focusing on selected object in Editor
#328
2021-03-18 22:20:27 +01:00
mafiesto4 255b2c85c8 Add bounds calculation for Spline 2021-03-18 21:51:15 +01:00
mafiesto4 8ef8b89fd5 Add constructor to BoundingBox for single point empty box construction 2021-03-18 21:50:05 +01:00
honzapatCZ f70b116fcb renamed 2021-03-18 19:18:59 +01:00
jb-perrier e0ae2984ae UICanvas frustum culling. 2021-03-18 18:59:32 +01:00
mafiesto4 544a11562c Add mouse centering in Editor Viewport if initial location is too close to the edge 2021-03-18 18:23:58 +01:00
honzapatCZ f688cd0c69 prefab first 2021-03-18 18:23:17 +01:00
mafiesto4 f32ea92336 Fix editor viewport camera orbiting issues
#354
2021-03-18 18:23:11 +01:00
mafiesto4 66c1b73635 Add F to focus camera view in asset previews 2021-03-18 17:55:07 +01:00
mafiesto4 759dc98737 Fix Rename Popup direction near screen edges
#317
2021-03-18 16:48:07 +01:00
mafiesto4 ac511cbadc Improve documentation comments for Control properties that are based on Pivot property 2021-03-18 16:34:54 +01:00
mafiesto4 7a12a6c280 Fix updating UICanvas when using World/Camera Space
#361
2021-03-18 15:59:01 +01:00
mafiesto4 abe635ad9b Fix exception in Custom Editors UI due to invalid reference value processing
#325
2021-03-18 15:12:25 +01:00
mafiesto4 960a122550 Revert children clipping to be called outside DrawChildren (regression from #355) 2021-03-18 14:26:00 +01:00
mafiesto4 922201d1c0 Fix bug with Vector Parameters in Animation Graph
#272
2021-03-18 14:18:40 +01:00
mafiesto4 5c171c8b58 Fix control Offsets updating for control bounds when changing anchors
#312
2021-03-18 13:16:17 +01:00
mafiesto4 6a6eb96793 Fix code style 2021-03-18 11:15:27 +01:00
mafiesto4 968f536cdb Merge branch 'jb-perrier-ui' into 1.1 2021-03-18 11:09:32 +01:00
mafiesto4 8078b9543d Merge branch 'ui' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-ui 2021-03-18 11:09:28 +01:00
mafiesto4 00842e89cb Merge branch 'master' into 1.1 2021-03-18 11:04:25 +01:00
mafiesto4 8c021b0252 Merge branch 'stefnotch-patch-6' 2021-03-18 11:03:14 +01:00
mafiesto4 56b0d885a6 Merge branch 'stefnotch-tweak-camera-projectpoint' into 1.1 2021-03-18 10:59:59 +01:00
mafiesto4 1f7a7a5488 Merge branch 'tweak-camera-projectpoint' of git://github.com/stefnotch/FlaxEngine into stefnotch-tweak-camera-projectpoint 2021-03-18 10:59:54 +01:00
mafiesto4 845da14e6a Fix UIControl setup on IsActive changes
#326
2021-03-18 10:56:48 +01:00
mafiesto4 a21f6d1b9f Fix order of new objects in Prefab after apply
#357
2021-03-18 09:20:47 +01:00
mafiesto4 42366ee66a Fix synchronizing nested prefabs when adding new ObjectsLookupIdMapping
#351
2021-03-18 00:04:58 +01:00
stefnotch 1940707b06 Update documentation comment for ClosestPointPointLine 2021-03-17 22:27:15 +01:00
jb-perrier c8b57d417c Convert Control to ContainerControl. 2021-03-17 20:53:42 +01:00
jb-perrier fb70368c8d Fix image ordering. 2021-03-17 20:22:27 +01:00
jb-perrier 5af3a22fd0 Add DrawSelf. 2021-03-17 20:22:06 +01:00
mafiesto4 df497bf684 Fix UIControl invalid showing in prefab window using nested prefab with UI 2021-03-17 19:25:12 +01:00
mafiesto4 675bb93fd5 Fix missing prefab instanced actors events sending on changes apply (regression) 2021-03-17 19:24:29 +01:00
mafiesto4 960268f756 Fix UICanvas state synchronization when working with prefabs 2021-03-17 19:23:54 +01:00
mafiesto4 92cfcbff8c Fix actor layer editor setup 2021-03-17 18:29:53 +01:00
mafiesto4 0c74e2ff9d Fix crash on prefab sync on instance with missing objects 2021-03-17 18:29:15 +01:00
mafiesto4 f194004ebf Fix synchronizing ActiveInTreeChanged property with event after prefab changes apply 2021-03-17 17:15:37 +01:00
mafiesto4 30615e842d Fix crash on Actor deserialization if parentId is missing but actor already has a parent 2021-03-17 17:14:57 +01:00
mafiesto4 c4d457d7b7 Fix control Offsets margin diff deserialziation 2021-03-17 17:01:10 +01:00
mafiesto4 518df5e62b Add skipping textbox scrolling if it has no selection 2021-03-17 13:44:38 +01:00
mafiesto4 e6d3242670 Fix invalid UIControl event blocking for prefab editor 2021-03-17 11:58:26 +01:00
mafiesto4 2a2d9f54de Fix UIControl location deserialization when using prefabs and anchors
#218
2021-03-17 11:55:17 +01:00
mafiesto4 0122bf68bf Fix skipping UICanvas diff serialization for Size property if render mode is ScreenSpace 2021-03-17 11:54:36 +01:00
mafiesto4 aa1c200bf8 Fix exception on engine closing in some cases 2021-03-17 11:12:20 +01:00
mafiesto4 8fb27e6f83 Fix missing UICanvas linkage in prefab preview
#218
2021-03-17 11:12:08 +01:00
mafiesto4 4eeadf87fb Fix warning 2021-03-17 10:28:14 +01:00
mafiesto4 a479f1daf6 Fix preserving objects order in prefab instances on apply (based on the prefab)
Fixes #346
2021-03-17 00:24:29 +01:00
mafiesto4 691df4cb80 Fix Dpi issues when RootWindow is null
Fix #344
2021-03-17 00:04:16 +01:00
mafiesto4 878fee505f Fix updating UI layout after changing control order 2021-03-16 23:38:56 +01:00
mafiesto4 1262243af9 Fix compilation 2021-03-16 23:14:29 +01:00
mafiesto4 b9ca496aff Fix compilation 2021-03-16 22:32:02 +01:00
mafiesto4 1567f8723d Fix typo 2021-03-16 22:31:51 +01:00
mafiesto4 3e56cd2c70 Add Network implementation for Unix 2021-03-16 22:15:46 +01:00
mafiesto4 bb6bbe9793 Tweaks for network impl on Win32 2021-03-16 22:15:46 +01:00
mafiesto4 ec7d892412 Add stripping binaries for editor distribution build 2021-03-16 22:15:46 +01:00
mafiesto4 5cad37fa50 Fix packaged editor usage 2021-03-16 22:15:46 +01:00
mafiesto4 de02131d0a Update 2021-03-16 16:07:08 +01:00
mafiesto4 b3887c0874 Add support for separate data and code output directories in Game Cooker 2021-03-16 16:06:59 +01:00
stefnotch 1d0faddd2a Fix game build 2021-03-15 21:22:41 +01:00
Erdroy d99aa3ef46 Finish ReadBytes/WriteBytes C# API 2021-03-15 20:37:31 +01:00
Erdroy a90b3bd7f6 Add message sending to server 2021-03-15 20:28:41 +01:00
stefnotch fb28cae2b4 Move ScreenToGameViewport from Engine to Screen
And make it accessible from the C# side
2021-03-15 20:18:53 +01:00
stefnotch 97ab226d7e Update Camera.ProjectPoint documentation to be clearer 2021-03-15 20:18:13 +01:00
Erdroy 77461e45c0 Remove fragmented channel type 2021-03-15 20:07:52 +01:00
Erdroy 99135759e3 Use only one channel for ENet 2021-03-15 20:00:30 +01:00
mafiesto4 4dbc770d75 Merge branch 'stefnotch-fix-dpi-issues-2' into 1.1 2021-03-15 18:40:28 +01:00
stefnotch b151ab497f Fix UICanvas high DPI issues 2021-03-15 17:30:35 +01:00
mafiesto4 3fb0b56c10 Add Vulkan support on Switch 2021-03-15 15:47:54 +01:00
stefnotch 85ab871d48 Call the correct DPI getter
See also https://github.com/FlaxEngine/FlaxEngine/pull/267
2021-03-15 15:40:32 +01:00
mafiesto4 c930d32b2b Add support for cooking game for Switch 2021-03-15 14:32:10 +01:00
mafiesto4 c7c339957b Merge remote-tracking branch 'origin/1.1' into 1.2
# Conflicts:
#	Source/Editor/Editor.Build.cs
2021-03-15 09:38:58 +01:00
mafiesto4 afea02d92f Allow lack of Game Settings in Editor 2021-03-14 23:58:19 +01:00
mafiesto4 b2c824b77e Fix various memory leaks on exit 2021-03-14 23:58:03 +01:00
mafiesto4 76e056698b Fix memory leak for Mono image refs 2021-03-14 23:57:37 +01:00
mafiesto4 1d575f51b6 Fix code style and optimize 2021-03-14 19:35:50 +01:00
mafiesto4 3abea4ec23 Merge branch 'honzapatCZ-patch-declarationSort' into 1.1 2021-03-14 19:29:07 +01:00
mafiesto4 146dffa732 Merge branch 'patch-declarationSort' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-declarationSort 2021-03-14 19:29:02 +01:00
mafiesto4 54c10dd78d Fix code style 2021-03-14 19:27:49 +01:00
mafiesto4 c3c28413d7 Merge branch 'jb-perrier-ortho' into 1.1 2021-03-14 19:24:28 +01:00
mafiesto4 802893a214 Merge branch 'ortho' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-ortho 2021-03-14 19:24:24 +01:00
mafiesto4 97e44aee61 Merge branch 'jb-perrier-fullscreen' into 1.1 2021-03-14 19:18:43 +01:00
mafiesto4 3c5bbe5075 Merge branch 'fullscreen' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-fullscreen 2021-03-14 19:18:38 +01:00
mafiesto4 9ed0138a17 Fix crash on using Space char in font with no font atlases initialized 2021-03-14 19:01:42 +01:00
mafiesto4 bdd8242a0f Fix rotation gizmo
Revert 74d4bb8dc6
2021-03-14 19:01:08 +01:00
mafiesto4 2a8dc0ddba Re-add libs 2021-03-14 17:49:47 +01:00
mafiesto4 ecb788b28a Remove annoying link 2021-03-14 17:49:20 +01:00
mafiesto4 82a0039926 Fix binaries deploy in cooker 2021-03-13 12:49:13 +01:00
mafiesto4 722861b929 Add script to package editor for linux 2021-03-13 12:49:13 +01:00
mafiesto4 1d6240aca5 Fix output executable file flag 2021-03-13 12:49:13 +01:00
mafiesto4 437f7e6f9c Add libs 2021-03-13 12:49:13 +01:00
mafiesto4 c18e5f522a Fix link files usage to prevent issues with git changes status 2021-03-13 12:49:12 +01:00
Erdroy 5afe51d1b4 Add NetworkMessage read/write functions (WIP) 2021-03-12 20:01:03 +01:00
Erdroy 082d56f89a Add multi-host support 2021-03-12 19:29:20 +01:00
mafiesto4 544a043c56 Fix crash for empty text in Text Render
Fixes #327
2021-03-12 15:33:09 +01:00
mafiesto4 a2be4bb74a Fix deserialization of UTF-8 string for C# object properties
Closes #320
2021-03-12 13:50:03 +01:00
mafiesto4 4d85a5ac3d Fix importing models with Assimp 2021-03-11 22:58:00 +01:00
mafiesto4 8db1a9b9ca Add support for exporting compressed textures in Editor on Linux using detex lib 2021-03-11 22:40:01 +01:00
mafiesto4 b4dcaef61a Add support for Game Cooker on Linux 2021-03-11 22:39:03 +01:00
mafiesto4 b04321bdd2 Fix bug in shader generator on Linux 2021-03-11 21:03:58 +01:00
Erdroy 6b7ca47f26 Add basic ENet driver implementation (WIP) 2021-03-11 20:30:37 +01:00
Erdroy 00d5a40443 Fix PopEvent API signature 2021-03-11 20:30:03 +01:00
Erdroy 87754f12ff Add proper NetworkEvent data 2021-03-11 20:04:25 +01:00
Erdroy e7d99057ba Expose CreateMessage/RecycleMessage to the API 2021-03-11 20:04:10 +01:00
mafiesto4 a1a9dfa6a2 Use color in linear format in TextureTool sampler operations 2021-03-11 19:59:34 +01:00
mafiesto4 6b614d5d57 Add support for importing textures with options in TextureTool with stb 2021-03-11 19:59:34 +01:00
mafiesto4 1eafae8888 Add support for converting textures in TextureTool with stb 2021-03-11 19:59:34 +01:00
mafiesto4 03f4e78158 Add support for compressing textures in TextureTool with stb 2021-03-11 19:59:34 +01:00
Erdroy 339e5a5d91 Add ENet thirdparty 2021-03-11 19:23:10 +01:00
Erdroy 2db1438ef4 Add note about end points 2021-03-11 19:11:40 +01:00
Erdroy 42d31c0c65 Fix warning about double to float conversion 2021-03-11 19:11:23 +01:00
Erdroy 64a5b01bd9 Add logs 2021-03-11 19:11:04 +01:00
Erdroy ea7cdd00bd Add ENet stubs 2021-03-11 18:47:15 +01:00
Erdroy 43e8a54e57 Use enum instead interface reference for now 2021-03-11 18:47:05 +01:00
Erdroy 393595ea2d Fix message index pool 2021-03-11 18:46:28 +01:00
Erdroy b9f13804e0 Add Networking namespace 2021-03-11 18:08:12 +01:00
Erdroy 1c511d112d Fix compilation & APIGen issues 2021-03-11 18:08:12 +01:00
Erdroy f86e22ba87 Add networking build script 2021-03-11 18:08:12 +01:00
Erdroy c87feb69c4 Add INetworDriver full API 2021-03-11 18:08:12 +01:00
Erdroy 75a02beda0 Cleanup 2021-03-11 18:08:12 +01:00
Erdroy 7106dc738b Add proper ctor to NetworkMessage 2021-03-11 18:08:12 +01:00
Erdroy 7525bf6435 Add network message recycle implementation 2021-03-11 18:08:12 +01:00
Erdroy 8f653fa699 Add basic network classes and message pooling 2021-03-11 18:08:11 +01:00
jb-perrier ba75cabdda Enable ALT+ENTER DX12. 2021-03-11 18:02:55 +01:00
jb-perrier cc5849100b Fix DX12 Fullscreen. 2021-03-11 18:02:17 +01:00
jb-perrier 6813cb607e Fix Fullscreen switch. 2021-03-11 17:58:25 +01:00
jb-perrier 74280b7411 Enable ALT+ENTER. 2021-03-11 17:57:26 +01:00
mafiesto4 4072796e54 Switch impl progress 2021-03-11 17:22:06 +01:00
mafiesto4 e09f4eb6dc Switch impl progress 2021-03-09 19:18:40 +01:00
mafiesto4 f82117c6fb Remove unused WindowsManager::CalcCenteredWinPos 2021-03-09 14:32:53 +01:00
mafiesto4 48ae338fb2 Move default AllocatePages/FreePages impl from Unix to PlatformBase 2021-03-09 14:32:24 +01:00
mafiesto4 cc201e198d Add Switch platform 2021-03-09 14:26:30 +01:00
jb-perrier ee33c97db6 Refactoring, docs. 2021-03-09 00:03:32 +01:00
mafiesto4 d672826808 Merge branch 'stefnotch-ui-fixes' into 1.1 2021-03-08 22:36:49 +01:00
mafiesto4 0bf4ab9cb6 Merge branch 'ui-fixes' of git://github.com/stefnotch/FlaxEngine into stefnotch-ui-fixes 2021-03-08 22:36:46 +01:00
mafiesto4 84265322d5 Post merge fixes, tweaks, cleanup and improvements 2021-03-08 22:30:49 +01:00
mafiesto4 7fbb008ddd Merge branch 'honzapatCZ-better-uicontrol-editor' into 1.1 2021-03-08 22:01:38 +01:00
mafiesto4 d06433deed Merge branch 'better-uicontrol-editor' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-better-uicontrol-editor 2021-03-08 22:01:30 +01:00
mafiesto4 7b02a4b33b Merge branch 'GoaLitiuM-label_text_clip_margin_fix' into 1.1 2021-03-08 21:53:41 +01:00
mafiesto4 b7814e119b Merge branch 'label_text_clip_margin_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-label_text_clip_margin_fix 2021-03-08 21:53:35 +01:00
mafiesto4 0db1f5e965 Fix selection in high dpi 2021-03-08 20:57:35 +01:00
mafiesto4 33e88acf90 Merge branch 'GoaLitiuM-textbox_dpi_fix' into 1.1 2021-03-08 20:52:14 +01:00
mafiesto4 fcc0ca1772 Merge branch 'textbox_dpi_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-textbox_dpi_fix 2021-03-08 20:52:12 +01:00
mafiesto4 4502d29710 Merge branch 'stefnotch-fix-per-window-dpi' 2021-03-08 20:50:52 +01:00
mafiesto4 81f3a65a5f Merge branch 'fix-per-window-dpi' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-per-window-dpi
# Conflicts:
#	Source/Editor/Utilities/Utils.cs
#	Source/Editor/Windows/Assets/MaterialWindow.cs
#	Source/Editor/Windows/Assets/ParticleEmitterWindow.cs
#	Source/Engine/Platform/Linux/LinuxWindow.cpp
#	Source/Engine/Platform/Windows/WindowsWindow.cpp
2021-03-08 20:50:31 +01:00
mafiesto4 044234a55b Improve warning messages 2021-03-08 13:12:28 +01:00
mafiesto4 2f7a84822a Fix importing models with custom UnitScaleFactor 2021-03-08 13:12:15 +01:00
mafiesto4 aa28f9ef52 Optimize material shaders binding by caching time param once per draw pass 2021-03-08 12:47:14 +01:00
mafiesto4 c1b9dc4b2e Add support for using Level.SpawnActor to add scene from code 2021-03-08 12:27:05 +01:00
mafiesto4 fc13351a2b Fix crash on exit when loading storage file fails 2021-03-08 11:33:41 +01:00
mafiesto4 5f7830d09e Fixes and code cleanup for Flax Storage types 2021-03-08 11:33:19 +01:00
mafiesto4 30b71b9d65 Fix crash on close when using Vulkan/D3D12 rendering backend with async task being canceled 2021-03-08 11:32:47 +01:00
mafiesto4 f0e737fd4b Fix crash due to missing inlined buffer size in StringConverter 2021-03-08 10:31:37 +01:00
mafiesto4 5de2998774 Format code 2021-03-08 09:30:52 +01:00
mafiesto4 85c29c3d2b Merge branch 'network' of git://github.com/jb-perrier/FlaxEngine into 1.1
# Conflicts:
#	Source/Engine/Platform/Win32/Win32Network.cpp
2021-03-08 09:30:25 +01:00
mafiesto4 0a59c61100 Merge branch 'honzapatCZ-patch-3' into 1.1 2021-03-08 09:23:55 +01:00
mafiesto4 d9a516206c Merge branch 'patch-3' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-3 2021-03-08 09:23:51 +01:00
honzapatCZ cbe97ef3f0 typo 2021-03-07 22:42:14 +01:00
mafiesto4 77b21de534 Fix UTF-8 and UTF-16 encoding support usage in Json resources
Closes #310
Closes #27
2021-03-07 21:30:01 +01:00
mafiesto4 400cc97100 Add StringUtils::ConvertUTF162UTF8 2021-03-07 21:05:19 +01:00
mafiesto4 2b42e9256c Cleanup and optimize StringUtils::ConvertUTF82UTF16 2021-03-07 18:09:26 +01:00
mafiesto4 862c02da6a Move some String methods impl into source from header 2021-03-07 16:57:40 +01:00
GoaLitiuM 4795ffdf3d Fix text not getting clipped in Label with negative margins 2021-03-07 15:45:34 +02:00
honzapatCZ 406db6704f Now its an editor option 2021-03-07 11:30:18 +01:00
mafiesto4 7cb0ac3603 Fix marking asset as edited when using Multi Blend node positions in Anim Graph
Closes #251
2021-03-07 10:31:31 +01:00
mafiesto4 b8d03636dc Merge branch 'master' into 1.1
# Conflicts:
#	.gitignore
2021-03-07 10:04:44 +01:00
honzapatCZ 2e687edd99 ui editor 2021-03-06 15:09:45 +01:00
jb-perrier a82c669504 Tweaks again ... 2021-03-06 13:19:49 +01:00
mafiesto4 8f4d88d607 Merge branch 'honzapatCZ-elementContainers' into 1.1 2021-03-05 19:06:35 +01:00
mafiesto4 28fea66282 Merge branch 'elementContainers' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-elementContainers 2021-03-05 19:06:28 +01:00
mafiesto4 268db124d9 Fix crash if actor in ViewportIconsRenderer::DrawIcons is null 2021-03-05 19:00:45 +01:00
mafiesto4 180efe86e6 Fix culling for Volumetric Fog particles to include particle radius 2021-03-05 14:36:59 +01:00
mafiesto4 dd1dd2ef8a Add Particle Radius to in-built particle attributes 2021-03-05 14:33:31 +01:00
mafiesto4 dbc88af339 Update Volumetric Fog asset 2021-03-05 14:23:45 +01:00
mafiesto4 89c966fee6 Merge branch 'GoaLitiuM-vscode_solution_files' into 1.1 2021-03-05 14:19:19 +01:00
mafiesto4 9f4c916016 Merge branch 'vscode_solution_files' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vscode_solution_files 2021-03-05 14:19:16 +01:00
mafiesto4 86f3007887 Optimize particle attributes offsets binding to shader 2021-03-05 13:58:17 +01:00
mafiesto4 758f260574 Add instancing as required for Volumetric Fog 2021-03-05 13:58:17 +01:00
mafiesto4 2e17a94216 Fix material Sphere Mask node if radius is specified as integer 2021-03-05 13:58:16 +01:00
mafiesto4 96cd3e560c Fix sampling particle position/velocity in material for emitters simulated in Local space 2021-03-05 13:58:16 +01:00
mafiesto4 1dee615d6e Add Volumetric Fog support for particles to modify local fog 2021-03-05 13:58:15 +01:00
mafiesto4 dfb502621d Fix crash in InputQueue handling when window object is deleted 2021-03-05 13:58:15 +01:00
honzapatCZ 06f3d68716 sub folder for element containers + horizontal panel + shorthands for horizontal and vertical panel 2021-03-04 23:39:38 +01:00
mafiesto4 d7bf276deb Merge branch 'stefnotch-patch-5' 2021-03-04 22:59:00 +01:00
mafiesto4 117008babd Merge branch 'patch-5' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-5 2021-03-04 22:58:55 +01:00
mafiesto4 68991d1222 Merge branch 'W2Wizard-patch-1' 2021-03-04 22:51:23 +01:00
honzapatCZ d09bd12e5b declaration at end 2021-03-04 19:57:15 +01:00
honzapatCZ 4593e4c669 declaration order sorting 2021-03-04 19:46:27 +01:00
mafiesto4 3cba76277b Fix CSG build crash
Closes #289
2021-03-04 09:45:58 +01:00
stefnotch a7d0853519 Update .gitignore 2021-03-03 18:58:53 +01:00
honzapatCZ e04f482e52 kinda mandatory 2021-03-03 18:32:52 +01:00
jb-perrier ae3ce49b92 Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into ortho 2021-03-02 18:27:33 +01:00
jb-perrier 512df5f673 Tweaks. 2021-03-02 18:27:14 +01:00
GoaLitiuM 69a3587f5d Set solution file as default launch solution for Omnisharp 2021-03-02 18:40:12 +02:00
GoaLitiuM 9f1c55edce Generate Visual Studio solution files for VSCode solutions 2021-03-02 18:38:05 +02:00
GoaLitiuM 8ccb4f5857 Support generating multiple project formats at once 2021-03-02 17:35:52 +02:00
mafiesto4 9c80354acf Fix dock window icon rectangle calculation if icon is used 2021-03-02 13:44:16 +01:00
mafiesto4 835cb93261 Add integration with Rider IDE 2021-03-02 13:43:50 +01:00
W2.Wizard 2193dfcbc1 Use remap function instead 2021-03-02 00:10:43 +01:00
jb-perrier 1deadf84b1 Tweaks. 2021-03-01 16:25:08 +01:00
jb-perrier 8a9f86705b Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into ortho
 Conflicts:
	Source/Editor/Viewport/EditorViewport.cs
2021-03-01 16:21:58 +01:00
jb-perrier 111eaf1cf9 Tweaks. 2021-03-01 16:19:00 +01:00
mafiesto4 d6b566a3fe Add support for accessing Game Settings and related assets in C# API in game build 2021-03-01 16:17:01 +01:00
mafiesto4 e218cc417f Fix findRandomPointAroundCircle in Detour lib to return points inside circle 2021-03-01 14:37:19 +01:00
mafiesto4 99bc3289e8 Add FindRandomPoint and FindRandomPointAroundCircle to the navigation utilities 2021-03-01 14:32:35 +01:00
mafiesto4 31d1932d55 Fix debug shapes leftovers update in editor after playmode
Fixes #223
2021-03-01 14:32:06 +01:00
mafiesto4 8f633523cd Update Recast navigation lib to e75adf86f91eb3082220085e42dda62679f9a3ea 2021-03-01 14:31:28 +01:00
mafiesto4 21d96c6baf Fix loading game assets in cooked build via path relative to the project folder 2021-03-01 13:00:07 +01:00
mafiesto4 489e8ddc42 Format code 2021-03-01 11:55:31 +01:00
mafiesto4 113fe30d5a Merge branch 'jb-perrier-render2dtint' into 1.1 2021-03-01 11:52:26 +01:00
mafiesto4 0ccffb7691 Merge branch 'render2dtint' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-render2dtint 2021-03-01 11:52:23 +01:00
mafiesto4 8750b61221 Merge branch 'honzapatCZ-patch-1' into 1.1 2021-03-01 11:50:59 +01:00
mafiesto4 db921bad10 Merge branch 'patch-1' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-1 2021-03-01 11:50:54 +01:00
mafiesto4 e0c6f7e8b2 Fix placement and usage of the new instance creation button in GenericEditor 2021-03-01 11:44:18 +01:00
mafiesto4 b4e09a9d55 Fix adding items in Array/List editors if element type is reference (eg. class) 2021-03-01 11:43:46 +01:00
mafiesto4 dbec1389e8 Fix using Scripts in async 2021-03-01 10:46:06 +01:00
mafiesto4 a7bb25b7d5 Add support for resizing textures with stb in TextureTool 2021-02-28 19:14:30 +01:00
mafiesto4 90e385c3c3 Update stb lib 2021-02-28 19:13:05 +01:00
jb-perrier ce45070d63 Tweaks. 2021-02-28 17:45:38 +01:00
mafiesto4 1be5815df3 Add alpha channel detection in stb texture importer 2021-02-28 17:16:45 +01:00
mafiesto4 51e62c7e9d Fix file copy on unix systems 2021-02-28 17:02:02 +01:00
mafiesto4 b3fdc9eddd Add ShowFileExplorer on Linux 2021-02-28 16:45:16 +01:00
mafiesto4 08a428416c Fix 2021-02-28 16:41:58 +01:00
jb-perrier aaecb6f7fd Cleanup. 2021-02-28 16:28:41 +01:00
jb-perrier eb1a520986 Support focus actor in orthographic mode ( F key ), preserve camera direction. 2021-02-28 16:27:57 +01:00
mafiesto4 7ec57f8ddb Add support for opening url links on Linux 2021-02-28 16:15:20 +01:00
mafiesto4 957b92eac7 Fix windows cleanup to prevent unmapped leftovers on Linux X11 2021-02-28 16:11:59 +01:00
jb-perrier 19bf30558b Typo. 2021-02-28 15:56:19 +01:00
mafiesto4 a0740c162a Fix using bundled mono for VS Code build tasks 2021-02-28 15:03:51 +01:00
mafiesto4 98a753267f Linux support improvements 2021-02-28 14:56:57 +01:00
mafiesto4 657de4b62c Fix Linxu build 2021-02-28 13:28:33 +01:00
mafiesto4 a293265058 Add more files to ignore for watchers in VS Code project 2021-02-28 13:22:39 +01:00
Nejcraft a1e7f4f689 some quotes from discord 2021-02-28 09:26:54 +01:00
jb-perrier a1e8056070 Missing empty line. 2021-02-28 00:41:38 +01:00
jb-perrier 86ce671c0d Add doc. 2021-02-28 00:40:41 +01:00
jb-perrier 16056a00e0 Add inherit param. 2021-02-28 00:37:30 +01:00
jb-perrier 89538cb5cd Use wheel option, and tweaks/fixes. 2021-02-27 23:38:56 +01:00
jb-perrier 39e41d8528 Add Mouse Wheel Sensitivity option. 2021-02-27 23:38:06 +01:00
jb-perrier 0d82be3ac8 Current tint mult by previous one. 2021-02-27 22:43:56 +01:00
mafiesto4 f999f337b5 Merge branch 'jb-perrier-orientation' into 1.1 2021-02-27 20:51:38 +01:00
mafiesto4 af792ff677 Merge branch 'orientation' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-orientation 2021-02-27 20:51:31 +01:00
mafiesto4 fbecd01435 Merge branch 'visject-improvements-6' of git://github.com/stefnotch/FlaxEngine into stefnotch-visject-improvements-6 2021-02-27 20:44:29 +01:00
mafiesto4 8d40ab5883 Add more info for mono usage 2021-02-27 20:36:01 +01:00
jb-perrier 4972092150 Fix when no focus. 2021-02-27 20:35:34 +01:00
jb-perrier 3472daf97d Add ortho scale on MouseScroll. 2021-02-27 20:27:06 +01:00
jb-perrier f939eec924 Tweak Render2D Tint. 2021-02-27 18:18:34 +01:00
jb-perrier ab77e5ef31 Add Tint to Render2D. 2021-02-27 18:14:20 +01:00
jb-perrier 20edcdc64b Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into orientation 2021-02-27 17:02:42 +01:00
mafiesto4 93541b6ed5 Merge branch 'master' into 1.1 2021-02-27 16:42:53 +01:00
mafiesto4 ca3948ad69 Format code 2021-02-27 16:29:30 +01:00
mafiesto4 88db7c2d5f Merge branch 'honzapatCZ-patch-2' into 1.1 2021-02-27 16:25:59 +01:00
mafiesto4 8857a7a0ae Merge branch 'patch-2' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-2 2021-02-27 16:25:55 +01:00
jb-perrier 1d5f98a730 Fix camera orientations. 2021-02-27 15:39:26 +01:00
Nejcraft 84015f78fc Ported Vecctor3 ClampLength to others and remade it using refs 2021-02-27 12:07:26 +01:00
mafiesto4 6cea33caea Merge branch 'GoaLitiuM-textboxbase_changes' into 1.1 2021-02-27 00:59:25 +01:00
mafiesto4 233bffdf63 Merge branch 'textboxbase_changes' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-textboxbase_changes 2021-02-27 00:59:22 +01:00
mafiesto4 3bc664df37 Format code 2021-02-27 00:55:49 +01:00
mafiesto4 05eac5aeb6 Merge branch 'honzapatCZ-patch-1' into 1.1 2021-02-27 00:53:46 +01:00
mafiesto4 26244df222 Merge branch 'patch-1' of git://github.com/honzapatCZ/FlaxEngine into honzapatCZ-patch-1 2021-02-27 00:53:40 +01:00
mafiesto4 c3e3e70f96 Add minor tweaks for debug code and add mono dev docs 2021-02-27 00:39:12 +01:00
mafiesto4 cdf66372e6 Add write barriers for Mono GC in bindings glue code 2021-02-27 00:38:42 +01:00
mafiesto4 bcf86d9d9f Add StringBuilder::ToStringView() 2021-02-27 00:00:28 +01:00
mafiesto4 86c1823d4a Fix typo 2021-02-27 00:00:02 +01:00
stefnotch f3c608f2f3 Improve arrow key navigation 2021-02-26 19:09:59 +01:00
stefnotch 09f8ad948a Prevent multiple connections on reroute node 2021-02-26 19:08:25 +01:00
mafiesto4 8b4a001641 Move Win32 GetBatteryInfo into Windows and UWP platforms impl 2021-02-26 15:42:46 +01:00
mafiesto4 b402232a47 Move IES profile importer into ContentImporters module 2021-02-26 15:41:04 +01:00
mafiesto4 327fa6718e Refactor AssetsContainer 2021-02-26 15:40:44 +01:00
mafiesto4 e1497bcfe2 Optimize DebugLog stack trace formatting 2021-02-26 14:08:53 +01:00
mafiesto4 0a54b9e77e Add newest dbghelp.dll lib 2021-02-26 13:59:06 +01:00
mafiesto4 ff70c16051 Add support for capturing stack trace of called DebugLog from C++ 2021-02-26 13:58:42 +01:00
mafiesto4 a45b71617d Add separate Platform::GetStackTrace and Platform::GetStackFrames 2021-02-26 13:58:02 +01:00
stefnotch ebfa3822ef Fixes for the reroute node 2021-02-26 13:19:53 +01:00
stefnotch 0334329c50 Handle lost connections in reroute nodes
An alternative solution to that problem
2021-02-26 12:55:32 +01:00
mafiesto4 e1387e92a3 Fix Debug Log stack trace collecting in Editor
Fixes #51
2021-02-26 12:49:33 +01:00
mafiesto4 13cc6eb7b9 Cleanup DebugLog internal calls 2021-02-26 11:50:05 +01:00
stefnotch 70b0aa25b6 Undo-able reroute node adding 2021-02-26 11:14:22 +01:00
stefnotch 69162ad8d9 Fix visject connections redo
Previously, it would create double connections
2021-02-26 10:43:31 +01:00
stefnotch 9ed0ace01e Tweak DrawFPS documentation comment 2021-02-26 09:14:16 +01:00
stefnotch fd802e54fb Implement reroute node code 2021-02-25 22:01:45 +01:00
stefnotch 9265f23681 Basic reroute nodes 2021-02-25 20:22:54 +01:00
mafiesto4 e9adaa7c87 Update project instructions for Linux devs 2021-02-25 16:41:55 +01:00
mafiesto4 27d53b69dc Fix some minor issues with materials previews in Editor 2021-02-25 16:38:08 +01:00
mafiesto4 4d73b271b8 Fix some minor issues with materials previews in Editor 2021-02-25 16:38:05 +01:00
mafiesto4 26607c1d09 Add more utilities to LayersMask 2021-02-25 15:46:10 +01:00
mafiesto4 5d2fe5908b Add editor window outline color to match the status bar color 2021-02-25 14:46:17 +01:00
mafiesto4 43d578deb2 Add support for borderless window style on Windows that supports system docking and aero shadow 2021-02-25 14:46:16 +01:00
mafiesto4 529a82234b Add support for using ThirdPartyModule in game/project scripting 2021-02-25 13:02:48 +01:00
mafiesto4 6f12dc8567 Add improved dll import/export attributes injection when building binary modules 2021-02-25 13:02:13 +01:00
mafiesto4 b193a7abc4 Add support for binary modules with native-code only 2021-02-25 13:01:15 +01:00
mafiesto4 d41daee94c Fix warning 2021-02-25 11:14:42 +01:00
stefnotch bcc036f808 Hover over connections 2021-02-25 09:55:17 +01:00
mafiesto4 3da6f9186c Add clipboard support on Linux 2021-02-24 21:19:14 +01:00
stefnotch 1dbbbeced1 Specialized Visject Connection Broadphase Intersection 2021-02-24 21:05:10 +01:00
mafiesto4 d4b2171c19 Fix warnings 2021-02-24 20:12:13 +01:00
Nejcraft 5d7940f784 Unified 2021-02-24 14:25:49 +01:00
mafiesto4 6f3e7bc253 Fix compilation errors on CI 2021-02-24 01:06:29 +01:00
mafiesto4 e66045029f Fix compilation errors on CI 2021-02-24 00:51:19 +01:00
mafiesto4 bc1b666b83 Fix compilation errors on CI 2021-02-24 00:34:41 +01:00
mafiesto4 4cc7ec0461 Fix compilation errors on CI 2021-02-24 00:21:02 +01:00
mafiesto4 706c4bd677 Fixes for generated project files on Linux 2021-02-24 00:01:38 +01:00
mafiesto4 6ec58664e4 Make DotNet build task verbose about compiled C# lib output path 2021-02-23 23:38:39 +01:00
mafiesto4 463251a7fa Restore Linux build on Github Actions 2021-02-23 23:38:12 +01:00
mafiesto4 f688f3ce20 Tweak git ignored files 2021-02-23 23:28:41 +01:00
mafiesto4 a21d1a91fc Fix compilation warnings under Clang 10 2021-02-23 23:28:28 +01:00
mafiesto4 c0f81a6f0a Add support for Clang 6, 8, 9 and 10 when building for Linux 2021-02-23 23:28:06 +01:00
mafiesto4 84ee882439 Post merge fixes 2021-02-23 22:43:07 +01:00
mafiesto4 5a9ca6f130 Merge remote-tracking branch 'origin/1.1' into linux-editor
# Conflicts:
#	Source/Engine/Core/Math/BoundingSphere.cs
#	Source/Engine/Debug/DebugDraw.cpp
#	Source/Engine/Platform/Win32/Win32Platform.cpp
#	Source/Engine/Platform/Win32/Win32Platform.h
2021-02-23 22:32:17 +01:00
mafiesto4 cf3ac7a26e Merge remote-tracking branch 'origin/master' into linux-editor
# Conflicts:
#	Source/Engine/Core/Math/Color.cs
#	Source/Engine/Navigation/Navigation.cpp
#	Source/Engine/Platform/Win32/Win32Platform.cpp
2021-02-23 22:29:07 +01:00
mafiesto4 747a9bcb98 Fix shared library building on Linux for proper loading at runtime with default soname 2021-02-23 22:24:24 +01:00
mafiesto4 63a6b704df Compile Linux deps with -fPIC 2021-02-23 22:23:58 +01:00
mafiesto4 e160d719a9 Add support for C++ scripting on platforms that don't support referencing executable file when linking shared library (eg. Linux) 2021-02-23 22:23:03 +01:00
mafiesto4 87a290b45c Fix UWP build setup messing with FlaxGame target output type 2021-02-23 18:38:57 +01:00
mafiesto4 3387da92ed Optimize 2021-02-23 18:17:18 +01:00
mafiesto4 12725ca4e1 Fix Graphics module warnings to be sent once 2021-02-23 18:10:57 +01:00
mafiesto4 6f40c66b31 Add WarningOnce, ErrorOnce, InfoOnce, VerboseOnce to Flax.Build logger 2021-02-23 18:10:40 +01:00
mafiesto4 3ddd64df2a Add support for drawing SpriteHandle in Sprite Render 2021-02-23 13:57:51 +01:00
mafiesto4 24d31d024d Add Mask ZW node to all Visject surfaces 2021-02-23 13:57:34 +01:00
mafiesto4 d01365d416 Tweak comments to use less lines 2021-02-23 13:23:33 +01:00
mafiesto4 19c83e3b6e Add Sprite Render actor for sprites drawing 2021-02-23 13:23:22 +01:00
stefnotch 81fa876940 Drop unused boxes in Visject serialization 2021-02-23 11:33:51 +01:00
mafiesto4 7fd542950f Add BoundingSphere::Transform method 2021-02-23 09:53:44 +01:00
mafiesto4 e4794c5754 Add Absolute and Negative to Vector3 C# API 2021-02-23 09:53:00 +01:00
mafiesto4 9d35068514 Fix crash when calling navigation system before navmesh init (eg. in build) 2021-02-22 23:16:12 +01:00
stefnotch a2f01ba638 Add more descriptive "no scene" message
This is worthwhile, since this is one of the first messages a newcomer will see
2021-02-22 19:27:16 +01:00
mafiesto4 07f7fee4a8 Fix collecting binary modules for targets with Modular linkage 2021-02-22 17:18:03 +01:00
mafiesto4 f3216a9c96 Add layers and tags updating 2021-02-22 11:22:44 +01:00
stefnotch 0a9e9e6695 Address review comments 2021-02-21 20:50:21 +01:00
stefnotch 7f5903584e Properly place the main window
(Wohoo, I fixed one really irritating bug!)
2021-02-21 20:49:40 +01:00
mafiesto4 1ead4b1649 Fix MaterialParams sync bug 2021-02-21 20:20:32 +01:00
mafiesto4 279d168b35 Merge branch 'W2Wizard-CodeCleanUp' 2021-02-21 20:19:12 +01:00
mafiesto4 09651fa0fd Merge branch 'CodeCleanUp' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-CodeCleanUp 2021-02-21 20:19:07 +01:00
mafiesto4 3844aceba1 Fix CPU particles data initialization bug
Fixes #226
2021-02-21 20:14:21 +01:00
mafiesto4 170d018f88 Merge branch 'Vizepi-master' 2021-02-21 19:50:37 +01:00
mafiesto4 4c587ce870 Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-02-21 19:50:33 +01:00
W2.Wizard 89734760fa Revert previous checks, revert switch intend 2021-02-21 19:48:23 +01:00
Vizepi 00b3760fbd [C++] Added auto serialization by default in C++ script template 2021-02-21 19:46:32 +01:00
stefnotch 2498d1d4f2 Tweak items matching priority 2021-02-21 19:44:47 +01:00
mafiesto4 2a3003101e Fix automatic tooltip generation error
Fixes #265
2021-02-21 19:39:53 +01:00
W2.Wizard 35b687bf3d Additional cleanup
Cleaned up some additional stuff that I found
2021-02-21 18:17:35 +01:00
mafiesto4 6683cb299e Merge branch 'stefnotch-ui-dockwindow-icons' into 1.1 2021-02-21 17:50:39 +01:00
mafiesto4 e79321241c Merge branch 'ui-dockwindow-icons' of git://github.com/stefnotch/FlaxEngine into stefnotch-ui-dockwindow-icons 2021-02-21 17:50:30 +01:00
mafiesto4 d018478255 Merge branch 'Erdroy-pagealloc_utils' into 1.1 2021-02-21 17:41:34 +01:00
mafiesto4 f2dc7346ad Merge branch 'pagealloc_utils' of git://github.com/Erdroy/FlaxEngine into Erdroy-pagealloc_utils 2021-02-21 17:41:30 +01:00
mafiesto4 919bd4ee1b Fix MaterialParams sync bug 2021-02-21 17:40:37 +01:00
W2.Wizard 8b3fc9842d Apply review changes
Applied review changes and one additional skip of an unused variable
2021-02-21 17:03:58 +01:00
mafiesto4 a1d4e50e98 Fix 2021-02-21 16:49:30 +01:00
mafiesto4 506ce69f53 Fix batching draw calls after recent refactor 2021-02-21 16:49:19 +01:00
mafiesto4 67dd80e40d Fix shader error when using LOD dither transition 2021-02-21 15:37:04 +01:00
GoaLitiuM 9752bfabee Allow overriding most of the methods in TextBoxBase 2021-02-21 16:07:02 +02:00
GoaLitiuM cfb02692df Fix TextBox caret and selection size with custom DPI 2021-02-21 16:05:37 +02:00
mafiesto4 3bc99c0949 Fix error on starting task to continue if it has been canceled 2021-02-21 15:01:03 +01:00
mafiesto4 12c503646d Add more separators to TextBoxBase 2021-02-21 15:00:45 +01:00
Erdroy 1b234fd32b Update AllocatePages comment to point to the correct page size API 2021-02-21 14:45:31 +01:00
Erdroy 5bdf4dc74e Fix Unix platform 2021-02-21 14:44:47 +01:00
Erdroy 15028c60ba Remove GetDefaultPageSize
Duplicate. We already have the API for this: `Platform::GetCPUInfo().PageSize`.
2021-02-21 14:44:16 +01:00
W2.Wizard 3c603d7f09 Final Changes 2021-02-21 14:38:01 +01:00
mafiesto4 07f680eed2 Fix compilation of Flax.Build with older C# compiler 2021-02-21 14:32:40 +01:00
W2.Wizard 68f6e0251c Cleanup 8 2021-02-21 14:27:44 +01:00
mafiesto4 8e0493ee97 Merge branch 'GoaLitiuM-font_linespacing_fix' into 1.1 2021-02-21 14:16:55 +01:00
mafiesto4 085186cfff Merge branch 'font_linespacing_fix' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-font_linespacing_fix 2021-02-21 14:16:52 +01:00
mafiesto4 9454f96e0b Merge branch 'GoaLitiuM-textboxbase_changes' into 1.1 2021-02-21 14:15:05 +01:00
mafiesto4 1745984d5a Merge branch 'textboxbase_changes' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-textboxbase_changes 2021-02-21 14:15:00 +01:00
mafiesto4 e98380e0fa Merge branch 'GoaLitiuM-fix_windows_platform_toolset_req' into 1.1 2021-02-21 14:12:16 +01:00
mafiesto4 68b4fdb9c3 Fix exception when loading Android NDKs with invalid version folder
Fixes #255
2021-02-21 14:10:51 +01:00
W2.Wizard a4409c729b Fix Gizmo issue
For some reason the cleanup changed TransformGizmo to TransformGizmoBase in a few files.
2021-02-21 14:08:11 +01:00
W2.Wizard 597a9c537d Cleanup 7 2021-02-21 13:50:25 +01:00
mafiesto4 ae44ef0a79 Merge branch 'W2Wizard-HSVToRGB' 2021-02-21 13:48:59 +01:00
mafiesto4 fec787b96b Merge branch 'HSVToRGB' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-HSVToRGB 2021-02-21 13:48:57 +01:00
stefnotch 22b798928a Add icon to content window 2021-02-21 12:58:45 +01:00
stefnotch 1fb07a01d2 Basic icon for log window
It also clears the icon when you click on the window
2021-02-21 12:53:08 +01:00
W2.Wizard d87f0df2a6 Cleanup 6 2021-02-21 12:05:40 +01:00
W2.Wizard 694b20148d Cleanup 5 2021-02-21 11:50:30 +01:00
W2.Wizard ee76440477 Cleanup 4 2021-02-21 11:41:30 +01:00
stefnotch 74d4bb8dc6 Fix mouse jittering when pressing both mouse buttons simultaneously 2021-02-21 11:27:18 +01:00
W2.Wizard 20ba37e223 Cleanup 3 2021-02-21 11:09:04 +01:00
W2.Wizard 92fafe877c Cleanup 2 2021-02-21 10:23:01 +01:00
W2.Wizard 52bc268ee7 Cleanup 1 2021-02-21 10:05:47 +01:00
Ari Vuollet 49a0d66bfe Fix font character and hit location calculations with line spacing 2021-02-20 23:14:09 +02:00
Ari Vuollet e2590b5f11 Allow overriding most of the methods in TextBoxBase 2021-02-20 23:07:21 +02:00
stefnotch 8fe656b88f Always focus tab on click 2021-02-20 22:07:15 +01:00
mafiesto4 05d5fd4fec Optimize compilation time for Win32 platforms 2021-02-20 19:45:58 +01:00
Ari Vuollet cd7642eeec Fix building engine with latest Windows platform toolset only 2021-02-20 19:10:04 +02:00
Nejcraft b133539c40 Add Vector3 Clamp 2021-02-20 16:24:48 +01:00
W2.Wizard c475e83aa3 Added RGBToHSV 2021-02-20 15:44:06 +01:00
jb-perrier 78c5644de0 Tweak default value. 2021-02-20 15:28:46 +01:00
Nejcraft db3552509a How many times can I fuck up? 2021-02-20 14:59:42 +01:00
Nejcraft 3da17918aa Overloaded 2021-02-20 14:58:05 +01:00
Nejcraft 2f0c96abe2 now it'll work 2021-02-20 14:52:02 +01:00
Nejcraft 5de034f073 Add some defaults to Quaternion helpers 2021-02-20 14:20:26 +01:00
Erdroy 161e9bd373 Add page allocation utility functions 2021-02-19 21:47:17 +01:00
stefnotch e176ea749c Technically, reversing a unicode string involves unicode stuff
Like this
2021-02-19 20:31:47 +01:00
W2.Wizard da24a474ea Add HSVToRGB 2021-02-19 18:23:23 +01:00
mafiesto4 09be8994e9 Add Render Layers to Camera and Render View for masking objects during rendering 2021-02-19 17:26:41 +01:00
mafiesto4 d866526dd8 Optimize Serialization.h to have separate SerializationFwd.h for more lightweight types serialization impl 2021-02-19 17:07:24 +01:00
mafiesto4 6d7bd78816 Optimize automatic navmesh rebuild in editor for navmesh relevant actors only 2021-02-19 13:02:27 +01:00
stefnotch 3964fc7795 Automatic rename UIControl Items
See #213
2021-02-19 12:55:22 +01:00
mafiesto4 9f80b9853c Merge remote-tracking branch 'origin/master' into 1.1 2021-02-19 12:31:58 +01:00
mafiesto4 2f12e67356 Fix handling errors when saving scripting API parsing cache 2021-02-19 12:25:53 +01:00
mafiesto4 ce9df56a97 Fix particles view information in Editor when Game window is unused 2021-02-19 11:23:18 +01:00
mafiesto4 cc980fd70d Optimize MAssembly::GetClass(MonoClass* monoClass) search via assembly image early out 2021-02-19 11:04:29 +01:00
mafiesto4 fe1d1b20f8 Fix MAssembly::GetClass(MonoClass* monoClass) for generic classes 2021-02-19 11:03:56 +01:00
mafiesto4 c86508ef57 Add support for updating particle effects in editor view when editing 2021-02-19 11:01:21 +01:00
mafiesto4 c25abfda65 Remove ProjectInfo.h include from Editor.h 2021-02-19 09:36:23 +01:00
jb-perrier cc0fe5bc28 Use Platform::Allocate/Free. + tweaks. 2021-02-18 23:04:45 +01:00
mafiesto4 115d6e46a8 Merge branch 'jb-perrier-tooltip-custom-style' 2021-02-18 22:49:29 +01:00
mafiesto4 5a03ef8e89 Merge branch 'tooltip-custom-style' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-tooltip-custom-style 2021-02-18 22:49:21 +01:00
mafiesto4 4aabb81c1f Use constructors for random generation methods 2021-02-18 22:43:46 +01:00
jb-perrier bdfdb422fa Fix. 2021-02-18 22:41:43 +01:00
jb-perrier 81bb322fd2 Refactor NetworkSocketOption to support user defined size. 2021-02-18 22:41:05 +01:00
mafiesto4 915ac0122f Merge branch 'W2Wizard-RandomFuncs' 2021-02-18 22:39:41 +01:00
jb-perrier 7b0717094b Fix. 2021-02-18 22:39:41 +01:00
mafiesto4 64d7684551 Merge branch 'RandomFuncs' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-RandomFuncs 2021-02-18 22:39:33 +01:00
jb-perrier 431c21caa8 Refactor ClearGroup. 2021-02-18 19:45:16 +01:00
jb-perrier d1f30a973d Add RemoveSocketFromGroup. 2021-02-18 19:40:45 +01:00
jb-perrier 94381f356c Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into network 2021-02-18 19:35:21 +01:00
jb-perrier 0be22bf4b6 Tweaks. 2021-02-18 18:07:24 +01:00
jb-perrier 4ec2381716 Add GetSocketFromGroup. 2021-02-18 18:07:12 +01:00
jb-perrier 4408e3bb3b Add socket option TYPE. 2021-02-18 18:06:36 +01:00
jb-perrier af0fb6c6fa Add NetworkAddress. 2021-02-18 18:05:45 +01:00
mafiesto4 dc352edce7 Add DebugDraw::DrawText for drawing 3D debug text in the world 2021-02-18 15:16:10 +01:00
mafiesto4 74823a8bcf Add DebugDraw::DrawText for drawing 2D debug text on a screen 2021-02-18 12:39:53 +01:00
mafiesto4 32c5a84576 Revert "Fix right-click context menu for Visject Nodes"
This reverts commit a4763f630e.

It has been superseded by
https://github.com/FlaxEngine/FlaxEngine/pull/107/commits/ef2dbb7818e8fc38b6a49a1f512be07a00e37c1a
2021-02-18 11:32:11 +01:00
mafiesto4 161917977c Add reusing created collision data for model when UI requests it 2021-02-18 11:12:36 +01:00
mafiesto4 9ee6104706 Add Add mesh collider option to Static Model context menu 2021-02-18 11:12:09 +01:00
mafiesto4 96846ea255 Fixes for actor converting feature 2021-02-18 10:35:24 +01:00
mafiesto4 f8290ea0c1 Merge branch 'jb-perrier-convertactor' into 1.1 2021-02-18 10:18:27 +01:00
mafiesto4 5507fea29d Merge branch 'convertactor' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-convertactor 2021-02-18 10:18:25 +01:00
mafiesto4 18095d5adc Merge branch 'jb-perrier-render2d' into 1.1 2021-02-18 10:04:09 +01:00
mafiesto4 f50022e88e Merge branch 'render2d' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-render2d 2021-02-18 10:03:10 +01:00
stefnotch 0b54691f07 Basic Visject box arrow key navigation 2021-02-17 22:36:11 +01:00
mafiesto4 7ad64d0284 Add support for viewport icons rendering in prefab editor window 2021-02-17 17:42:40 +01:00
mafiesto4 978ee84aea Add support for debug shapes preview in prefab editor window 2021-02-17 17:23:43 +01:00
mafiesto4 580e08b6ab Silence warning 2021-02-17 16:10:15 +01:00
mafiesto4 88b575539a Add more utilities to SceneReference 2021-02-17 16:05:59 +01:00
mafiesto4 c8a70ffda6 Add passing compiler to the build commands from generated projects 2021-02-17 15:58:52 +01:00
mafiesto4 2609f9c21a Add support for copy/pasting script properties 2021-02-17 15:25:45 +01:00
jb-perrier 622e608d76 Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into render2d 2021-02-17 14:39:51 +01:00
jb-perrier cd0a1a5fdd Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into convertactor 2021-02-17 14:30:11 +01:00
mafiesto4 ed04eece8a Add support for mapping objects in SceneAnimationPlayer to reuse it for different objects 2021-02-17 13:02:47 +01:00
mafiesto4 cae0b5e91e Add info group for selected Rigidbody in play mode (display speed, velocity, angular velocity, etc.) 2021-02-17 12:51:39 +01:00
jb-perrier 1c1e9bb105 Fix re-drawing the background when alpha > 0 . 2021-02-17 12:44:44 +01:00
mafiesto4 d88335c51f Add support for audio clip playback preview in editor window 2021-02-17 12:31:30 +01:00
mafiesto4 62bfc94f24 Add EditorScene for using gameplay logic in editor preview windows 2021-02-17 12:31:03 +01:00
jb-perrier d896f4f699 Fix script error on undo. 2021-02-17 11:38:42 +01:00
mafiesto4 57e4831a5f Update readme for new setup 2021-02-17 11:17:34 +01:00
mafiesto4 d6546fb41c Update VulkanMemoryAllocator to 3.0.0-development (2021-02-16) 2021-02-17 11:00:48 +01:00
mafiesto4 7cc5560adf Fix compilation warnings 2021-02-17 10:59:08 +01:00
mafiesto4 25f61e931e Add support for using other VC++ toolset for Window and add cmd arg for selecting compiler manually 2021-02-17 10:58:58 +01:00
W2.Wizard 654285e57f Separated NextVector and NextUnitVector, refactoring
While I was at it I made some slight refactoring making it much more readable and establish consistency
2021-02-17 00:30:24 +01:00
mafiesto4 bcc3b2bd59 Fixes, tweaks and improvements for Linux support 2021-02-16 20:21:23 +01:00
mafiesto4 6fd1580d67 Fix building on linux after merge 2021-02-16 19:01:00 +01:00
mafiesto4 fc4dc8cb50 Merge remote-tracking branch 'origin/1.1' into linux-editor
# Conflicts:
#	Source/FlaxEngine.Gen.cs
#	Source/Tools/Flax.Build/Utilities/Utilities.cs
2021-02-16 18:54:25 +01:00
mafiesto4 489672d346 Fix warning when building editor for linux 2021-02-16 18:46:37 +01:00
jb-perrier 1c5b779ae9 Add Convert docs. 2021-02-16 18:27:02 +01:00
jb-perrier bc229d0bb6 Support converting actor with scripts. 2021-02-16 18:25:44 +01:00
mafiesto4 c7894d7e54 Merge branch 'jb-perrier-render2d' 2021-02-16 18:02:37 +01:00
jb-perrier f4a587faf9 Support undo. 2021-02-16 17:36:23 +01:00
jb-perrier 9144f6dcc9 Remove Array include. 2021-02-16 16:08:20 +01:00
jb-perrier bc073b73cc Add check. 2021-02-16 16:05:48 +01:00
jb-perrier 588ad86f8e Fix Span Count -> length. 2021-02-16 16:05:34 +01:00
mafiesto4 1530f91944 Update material assets 2021-02-16 15:55:18 +01:00
mafiesto4 d05204cb91 Fix missing lightmap uvs calc in vertex shader 2021-02-16 15:55:10 +01:00
mafiesto4 c902e33d8a Add Build Actions option to editor settings for build button configuration 2021-02-16 15:54:22 +01:00
mafiesto4 28a67f65b4 Fix build tool log file access 2021-02-16 13:55:19 +01:00
mafiesto4 f66b7ff785 Add support for Custom Define in Game Cooker for build scripts configuration 2021-02-16 13:54:57 +01:00
mafiesto4 b742d0c326 Add support for custom defines for build system via Flax.Build command line 2021-02-16 13:09:50 +01:00
mafiesto4 a98f867bd8 Fix compiler warning 2021-02-16 11:47:39 +01:00
mafiesto4 5f04f32097 Merge branch 'network' of git://github.com/jb-perrier/FlaxEngine into 1.1 2021-02-16 11:24:05 +01:00
mafiesto4 3658611e0f Fix compilation 2021-02-16 11:23:47 +01:00
mafiesto4 537dde594d Update Actor docs for GetScripts to be more precise about search method 2021-02-16 11:00:08 +01:00
mafiesto4 7221f7167f Add profiler events to LocalExecutor thread workers 2021-02-16 10:59:17 +01:00
mafiesto4 fa332a3785 Optimize scripting API bindings generation if loaded API from valid cache 2021-02-16 10:42:56 +01:00
jb-perrier 653e9609e4 Span + Naming 2021-02-16 10:14:42 +01:00
mafiesto4 f11686a7b7 Add support for caching scripting API bindings during build 2021-02-16 09:42:11 +01:00
mafiesto4 0841f5b479 Refactor Pre Rotation from spline model and spline collider into Pre Transform for more control 2021-02-15 22:09:05 +01:00
mafiesto4 81be73ad82 Fix spline model not drawing when using invalid material 2021-02-15 22:08:37 +01:00
jb-perrier 44afa732f1 Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into convertactor 2021-02-15 21:43:46 +01:00
jb-perrier 26e3400a92 Typo. 2021-02-15 20:54:00 +01:00
jb-perrier a2e1346029 Docs tweak. 2021-02-15 20:53:53 +01:00
jb-perrier bc6281ee63 Add MTU option. 2021-02-15 20:53:07 +01:00
jb-perrier 134aec2d15 Simplified name NetworkProtocol. 2021-02-15 20:52:35 +01:00
jb-perrier b1f867f107 Add DrawVertices & FillTriangle funcs. 2021-02-15 19:33:25 +01:00
jb-perrier 674e09e72b Add WriteTri helpers funcs. 2021-02-15 19:32:43 +01:00
mafiesto4 6987834b2d Fix default actor bounds 2021-02-15 19:20:24 +01:00
mafiesto4 4e19b85e00 Add support for multi-threaded profile events in build tool 2021-02-15 15:04:37 +01:00
mafiesto4 5714741a5d Add support for multi-threaded scripting API headers parsing 2021-02-15 15:04:23 +01:00
mafiesto4 cdd68c9a89 Add MaxConcurrency and ConcurrencyProcessorScale options for Flax.Build cmd line 2021-02-15 13:32:38 +01:00
mafiesto4 29f0834cc4 Optimize build tool 2021-02-15 13:23:09 +01:00
mafiesto4 788907f3b1 Remove deprecated and unused ISceneObject and ITransformable 2021-02-15 12:09:46 +01:00
mafiesto4 b6557cb15c Fix showing shader source code window over a calling window 2021-02-15 12:02:25 +01:00
mafiesto4 cd2a02a5c8 Add -shaderdebug cmd line switch to Editor for shaders debugging 2021-02-15 11:55:31 +01:00
mafiesto4 c9ea812a24 Optimize DrawCall to pack indirect draw arg and graphics draw data with union 2021-02-15 11:52:06 +01:00
mafiesto4 e42a6b0ccc Fix default actor bounds 2021-02-15 10:53:49 +01:00
mafiesto4 312e4ad010 Merge branch 'master' into 1.1
# Conflicts:
#	Source/Engine/Content/JsonAsset.h
#	Source/Engine/Core/Config/Settings.h
2021-02-15 10:40:59 +01:00
mafiesto4 2357b60d0e Merge branch 'stefnotch-fix-ui-issues' 2021-02-15 10:23:04 +01:00
mafiesto4 3e608e6dec Merge branch 'fix-ui-issues' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-ui-issues 2021-02-15 10:22:55 +01:00
mafiesto4 9cccdc1e89 Fix build scripts assembly compilation on Linux (duplicated mscorlib reference) 2021-02-14 23:05:52 +01:00
mafiesto4 025ae99901 Implement process starting on Linux platform 2021-02-14 23:05:23 +01:00
mafiesto4 c68e3af566 Use bundled mono on Linux for C# compilation 2021-02-14 23:04:42 +01:00
mafiesto4 ff44622624 Add support for editor game target on Linux 2021-02-14 23:04:11 +01:00
mafiesto4 da943f7604 Update mono for Linux 2021-02-14 23:03:49 +01:00
mafiesto4 b4bf488e3c Fix double-click mouse event not setting mouse button down
Fixes #235
2021-02-14 18:41:28 +01:00
mafiesto4 f82ef8c065 Fix AssetPicker buttons usage without mouse down click over the control
Fixes #233
2021-02-14 18:18:58 +01:00
mafiesto4 865f2b871d Fix default frame rate for fbx imported clips to 14
https://github.com/nem0/OpenFBX/commit/2650de730d3f2d41b5042992f9443affd58e3553
2021-02-14 18:09:29 +01:00
mafiesto4 a947dc0cc3 Fix properties names formatting for UI with 2 character words
Fixes #229
2021-02-14 17:12:29 +01:00
mafiesto4 17a738d2ce Merge branch 'Vizepi-master' 2021-02-14 16:58:33 +01:00
mafiesto4 a9ac758abd Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-02-14 16:58:29 +01:00
mafiesto4 3bbda838a2 Fix error when spawning prefab with rigidbody 2021-02-14 16:50:35 +01:00
mafiesto4 6bdc31df5a Fix using get_Control getter method from UIControl in Visual Script 2021-02-14 15:53:08 +01:00
mafiesto4 ed1a3c2964 Update mono 2021-02-14 14:54:56 +01:00
mafiesto4 a485622c2a Merge branch 'GoaLitiuM-windowsplatform_log_crash' 2021-02-14 14:04:47 +01:00
stefnotch ac8c185056 Fix TreeNode hovering with collapsed children
and also set DefaultNodeOffsetY to get rid of the spaces between the nodes
2021-02-14 08:43:50 +01:00
GoaLitiuM ccc60af4b6 Fix crash in Windows platform logging with long lines 2021-02-13 01:03:08 +02:00
stefnotch 311793dd7e Fix StartMouseCapture(true) with secondary monitors on the left
Yes, negative mouse coordinates are a thing
2021-02-12 22:50:47 +01:00
mafiesto4 bd5897eaab Fixes and tweaks to SplineRopeBody 2021-02-12 17:18:32 +01:00
mafiesto4 55194edd2c Fix missing NavMesh node type 2021-02-12 15:28:45 +01:00
mafiesto4 8661091337 Add Spline Rope Body actor for ropes, chains and cables physics 2021-02-12 15:16:04 +01:00
mafiesto4 34b6cfebc3 Fix navmesh update on some spline editing operations 2021-02-12 12:20:58 +01:00
mafiesto4 74c1ac89c8 Add DebugDraw.DrawWireTriangles for wireframe geometry debug drawing 2021-02-12 11:43:46 +01:00
mafiesto4 4dd8e19f79 Fix Scene Queries to lock scene access 2021-02-12 11:27:47 +01:00
mafiesto4 9fd5e8928c Add missing scene graph nodes types mapping 2021-02-12 11:27:30 +01:00
mafiesto4 17d0f40e1c Add automatic navmesh update when editing spline with navmesh-relevant collider 2021-02-12 11:27:13 +01:00
mafiesto4 0e78d13146 Add support for navmesh on spline collider 2021-02-12 11:15:51 +01:00
mafiesto4 80e2aee92b Fixes and tweaks 2021-02-12 10:57:45 +01:00
mafiesto4 5a23df6478 Fix missing saving Pre Rotation 2021-02-12 10:34:50 +01:00
mafiesto4 62acae10a5 Fix compile error 2021-02-11 16:48:21 +01:00
mafiesto4 04b650cbc3 Add Pre Rotation to Spline Model and Spline Collider 2021-02-11 16:48:10 +01:00
mafiesto4 4ba82047e0 Improve CollisionCooking 2021-02-11 16:47:50 +01:00
mafiesto4 49758fbfff Add Spline Collider 2021-02-11 16:47:43 +01:00
mafiesto4 8158c94d26 Fix low-level WindowsPlatform::Log to not print invalid characters 2021-02-10 23:13:16 +01:00
mafiesto4 4c673bec9b Add BAGUETTE 2021-02-10 22:59:40 +01:00
mafiesto4 2263b3db52 Add ScriptingTypeHandle debugger view to flax.natvis 2021-02-10 22:59:32 +01:00
Vizepi 3a3c66b916 [EDITOR] Fixed layer matrix order ( issue #153 ) 2021-02-10 20:32:32 +01:00
mafiesto4 6c253ce892 Fix DebugDraw DrawTriangles crash 2021-02-10 17:20:05 +01:00
mafiesto4 29521b1b03 Remove Spline init from OnEnable to prevent double setup on SplineModel and SplineCollider 2021-02-10 17:19:45 +01:00
mafiesto4 8bce445ab0 Refactor Collider base class to improve code sharing across collider shape types 2021-02-10 14:33:16 +01:00
mafiesto4 5cb2322270 Add default Deformable material for splines 2021-02-10 11:37:34 +01:00
mafiesto4 81e41d51c8 Remove Unlink from asset reference 2021-02-10 11:37:14 +01:00
mafiesto4 adbb467206 Add support for mutable keyword on API_FIELD 2021-02-10 11:29:07 +01:00
mafiesto4 191694725a Add SoftObjectReference for lazy references to assets and objects 2021-02-10 11:12:05 +01:00
mafiesto4 73efa35008 Add Level.GetActors and Level.GetScripts 2021-02-09 23:31:23 +01:00
mafiesto4 b8420feed1 Merge branch 'Vizepi-master' 2021-02-09 22:58:41 +01:00
mafiesto4 cad7887957 Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-02-09 22:58:36 +01:00
stefnotch 01f2cc1dcc Fix #128 and fix #120 2021-02-09 22:10:43 +01:00
mafiesto4 6906db499e Add VS Code as default code editor on Linux 2021-02-09 21:52:50 +01:00
mafiesto4 8fe04d6db4 Fix window auto-focus on Linux 2021-02-09 21:52:34 +01:00
mafiesto4 4ce6882fc0 Add support for using VS Code as IDE for scripts on Linux 2021-02-09 21:01:05 +01:00
mafiesto4 dc63d908b8 Fix resizing and maximizing window on Linux 2021-02-09 19:54:46 +01:00
Vizepi 6673d70d0a [C++] Add missing header forcing client code to include two headers instead of one 2021-02-09 18:20:20 +01:00
Vizepi cb6b96dea6 [C++] Added FLAXENGINE_API macro on SettingsBase class so static symbol are retrieved by linker 2021-02-09 18:08:50 +01:00
W2.Wizard 042694f45e Added random enum 2021-02-09 17:11:44 +01:00
mafiesto4 d4f959b681 Add support for Deformable material preview 2021-02-09 16:46:10 +01:00
mafiesto4 15c4b7df54 Update materials 2021-02-09 16:08:51 +01:00
mafiesto4 311dad7b82 Add Spline Model 2021-02-09 16:04:47 +01:00
mafiesto4 2b962e4389 Fix invalid comment 2021-02-09 10:58:13 +01:00
stefnotch 05a7b911f1 Fix screen size getting
The game window size should *not* be DPI adjusted
2021-02-09 10:29:29 +01:00
mafiesto4 e8dc48690e Improve VS Code project launch tasks file for better debugging 2021-02-08 23:43:55 +01:00
mafiesto4 be7024784e Fix PathRemoveRelativeParts for rooted paths 2021-02-08 23:17:50 +01:00
mafiesto4 b30ab38ef2 Window impl on Linux progress 2021-02-08 22:53:32 +01:00
mafiesto4 dfe7963436 Fix window maximize on Linux if it's not shown yet 2021-02-08 22:19:18 +01:00
mafiesto4 034890ee7c Window impl on Linux progress 2021-02-08 21:33:38 +01:00
mafiesto4 58350c87e2 Fix missing CharacterController bounds if controller is missing 2021-02-08 20:20:39 +01:00
mafiesto4 c9860f21ec Fix scripting object issue 2021-02-08 19:42:04 +01:00
mafiesto4 85167b2d4b Fix using Bezier curve for Transform 2021-02-08 15:45:39 +01:00
mafiesto4 8e87c98644 Cleanup material shaders code 2021-02-08 15:45:22 +01:00
mafiesto4 da784e98e5 Add Deformable material domain 2021-02-08 15:44:38 +01:00
stefnotch 20d9c7181f Untested cross platform implementation 2021-02-08 10:07:47 +01:00
stefnotch 8f8f0266ce Add DpiScale to RootWindow 2021-02-08 09:48:57 +01:00
stefnotch c7feeb624d Tweaks 2021-02-08 09:48:46 +01:00
mafiesto4 57f9e42486 Fix Editor timeline editor controls API visible in Visual Scripting 2021-02-07 21:41:46 +01:00
mafiesto4 103d630d80 Fix tooltips generation for native properties to reflect getter and setter docsa 2021-02-07 21:41:17 +01:00
mafiesto4 2f34bfbeff Merge branch 'Evildea-master' 2021-02-07 21:12:45 +01:00
mafiesto4 57fab6a7f7 Merge branch 'master' of git://github.com/Evildea/FlaxEngine into Evildea-master 2021-02-07 21:12:39 +01:00
mafiesto4 2325de3ddc Fix missing terrain bounds update after modifying terrain
Fixes #5
2021-02-07 21:11:04 +01:00
mafiesto4 96f1d9e820 Add UIControl outlines drawing in Prefab window 2021-02-07 20:19:21 +01:00
mafiesto4 04bb83fe31 Fixes 2021-02-07 20:19:10 +01:00
mafiesto4 5768eefe49 Optimize Texture::DownloadData for staging textures 2021-02-07 20:06:44 +01:00
mafiesto4 8c1f56b7db Fixes for scripting objects 2021-02-07 19:28:57 +01:00
mafiesto4 9f3be80f9c Fix VS debugger config for Dictionary and HashSet to show only Occupied buckets 2021-02-07 19:28:23 +01:00
mafiesto4 6ea897b0f5 Update Mono for Windows 2021-02-07 19:27:54 +01:00
stefnotch f9deb97229 Fix custom title bar high dpi issues
Fix #4
2021-02-07 18:03:23 +01:00
stefnotch f5b48e03e9 Per window DPI 2021-02-07 17:26:41 +01:00
mafiesto4 ca6afc0c2d Fix HorizontalPanel and VerticalPanel auto-sizing if child control is using anchors
Fixes #203
2021-02-07 16:49:44 +01:00
mafiesto4 08abc798cc Fix FindActor and FindScript in Level 2021-02-07 16:31:30 +01:00
mafiesto4 0f4edbcc6f Merge branch 'W2Wizard-DebugDrawFix' 2021-02-07 13:08:50 +01:00
mafiesto4 5529bd7bc0 Merge branch 'DebugDrawFix' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-DebugDrawFix 2021-02-07 13:08:46 +01:00
mafiesto4 0242e29873 Fix painting foliage on inactive objects
Fixes #209
2021-02-07 13:06:33 +01:00
mafiesto4 a246825b3d Merge branch 'intolerantape-Missing-FLAXENGINE_API-Macro' 2021-02-07 12:56:11 +01:00
mafiesto4 8d3f4aa9d9 Merge branch 'Missing-FLAXENGINE_API-Macro' of git://github.com/intolerantape/FlaxEngine into intolerantape-Missing-FLAXENGINE_API-Macro 2021-02-07 12:56:08 +01:00
mafiesto4 6e5a13111a Fix auto-importing materials and textures from model file with invalid path characters used in name
Fixes #208
2021-02-07 12:49:14 +01:00
mafiesto4 9ddb077e7c Merge branch 'SilentCLD-win-btf' 2021-02-07 12:19:56 +01:00
mafiesto4 46b15551b4 Merge branch 'win-btf' of git://github.com/SilentCLD/FlaxEngine into SilentCLD-win-btf 2021-02-07 12:19:45 +01:00
W2.Wizard 522e1eb769 Inverted condition 2021-02-06 20:10:22 +01:00
intolerantape 633357cc9b Added FLAXENGINE_API macro to class JsonAsset. 2021-02-06 09:52:30 -08:00
mafiesto4 5cb0da3340 Move GPU particles generator code to be more compact 2021-02-06 15:58:33 +01:00
mafiesto4 25f35b22be Add safety checks for particles data to prevent division by 0 2021-02-06 15:58:12 +01:00
W2.Wizard f5d1ad5a9b Use ThrowException instead 2021-02-06 13:32:04 +01:00
W2.Wizard 5b32756536 Remove empty space
Just noticed it, so bye bye.
2021-02-06 11:32:58 +01:00
W2.Wizard 8a567f0849 Fix issue #214 2021-02-06 11:29:48 +01:00
mafiesto4 d27edbf5a9 Format code 2021-02-05 21:18:21 +01:00
mafiesto4 1e811324eb Merge branch 'W2Wizard-FolderDeleteFix' 2021-02-05 21:17:54 +01:00
mafiesto4 42393eb316 Merge branch 'FolderDeleteFix' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-FolderDeleteFix 2021-02-05 21:17:49 +01:00
mafiesto4 6b660c846b Fix updating prefab object reference values after apply in prefab editor 2021-02-05 21:12:14 +01:00
mafiesto4 43692f514a Fix 2021-02-05 21:11:41 +01:00
mafiesto4 78e4ba2f17 Add support for UICanvas preview in Prefab Viewport
Fixes #157
2021-02-05 21:11:35 +01:00
W2.Wizard 2fbfe61f2c Restore comment
Co-Authored-By: VNC <52937757+VNNCC@users.noreply.github.com>
2021-02-05 15:59:35 +01:00
W2.Wizard 0e57b32082 Fixed issue #210
This will fix the issue described in #210.

Co-Authored-By: VNC <52937757+VNNCC@users.noreply.github.com>
2021-02-05 15:49:01 +01:00
mafiesto4 5a561b1278 Update materials 2021-02-05 15:30:01 +01:00
mafiesto4 d8304a2178 Refactor material shaders generator to use modular features as extensions 2021-02-05 14:54:29 +01:00
mafiesto4 300f948515 Refactor material shaders generator to use modular features as extensions 2021-02-05 13:57:00 +01:00
mafiesto4 2da9ed4556 Fix crash when using Find/FindLast on empty String 2021-02-05 11:55:21 +01:00
mafiesto4 089f0dab3a Refactor material shaders generator to use modular features as extensions 2021-02-05 11:55:02 +01:00
mafiesto4 01777a2c1b Refactor material shaders generator to use modular features as extensions 2021-02-05 11:22:47 +01:00
mafiesto4 3661b19d6c Fix some prefabs issues 2021-02-04 23:34:44 +01:00
mafiesto4 db55f5ea3f Fix crash when changing prefab root object 2021-02-04 22:59:13 +01:00
mafiesto4 ae785267c2 Fix scaling rotated objects in world space
Fixes #200
2021-02-04 22:32:37 +01:00
SilentCLD 7868c6505d [Editor/Docking] Bring window to front on focus 2021-02-04 17:49:54 +00:00
mafiesto4 b5847eb0d6 Refactor material shaders generator to use modular features as extensions 2021-02-04 15:27:38 +01:00
mafiesto4 9e6243adcc Refactor material shaders generator to use modular features as extensions 2021-02-04 14:58:01 +01:00
mafiesto4 2a3b6edf50 Refactor material shaders generator to use modular features as extensions 2021-02-04 10:43:04 +01:00
mafiesto4 7e612d89cb Merge branch 'W2Wizard-ShaderNodes' 2021-02-03 23:14:00 +01:00
mafiesto4 21b311df17 Merge branch 'ShaderNodes' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-ShaderNodes 2021-02-03 23:13:55 +01:00
mafiesto4 880a8c9f58 Add support for parsing exponential (scientific) notation numbers in input fields 2021-02-03 23:10:36 +01:00
mafiesto4 e3142e6408 Fix updating input fields on editing end without changes
Fixes #197
2021-02-03 22:34:11 +01:00
W2.Wizard 4949ea4b3b Applied review changes 2021-02-03 22:24:08 +01:00
mafiesto4 9c348b284f Fixes for UI control sync 2021-02-03 22:00:12 +01:00
mafiesto4 85c219369d Fix updating UI layout when adding control
Fixes #190
2021-02-03 21:59:21 +01:00
mafiesto4 6ffa497c0a Fixes for Render2D 2021-02-03 21:52:49 +01:00
mafiesto4 ba0f07b57e Fix BlurPanel rendering
Fixes #192
2021-02-03 21:52:29 +01:00
mafiesto4 a572e581e5 Fix HorizontalPanel children layout
Fixes 191
2021-02-03 21:30:33 +01:00
mafiesto4 c3b36062ed Fix error 2021-02-03 19:24:47 +01:00
mafiesto4 8e4a0e9e97 Fix drawing UI Control outline in Game Window (#194) 2021-02-03 19:09:41 +01:00
mafiesto4 a560b19cbc Refactor draw calls and instancing logic to be more modular 2021-02-03 09:33:48 +01:00
mafiesto4 28f53339e7 Fix crash when loading string property in json that is not a string
Fixes #178
2021-02-02 23:33:42 +01:00
mafiesto4 0c17ca82b7 Merge branch 'stefnotch-patch-4' 2021-02-02 23:20:50 +01:00
mafiesto4 f048254d82 Merge branch 'patch-4' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-4 2021-02-02 23:20:43 +01:00
mafiesto4 fb74aef541 Add check for C++ bindings generator for property getter and setter method value types to match 2021-02-02 23:14:21 +01:00
mafiesto4 81cc8cf69c Add Matrix3x4 2021-02-02 15:44:14 +01:00
mafiesto4 00fab5cfd6 Add event to spline for updating custom data 2021-02-02 12:53:18 +01:00
mafiesto4 85a6f485f1 Fixes and tweaks 2021-02-02 12:52:37 +01:00
mafiesto4 d2dba5680b Fix calling OnParentChanged in Actor load 2021-02-02 12:52:21 +01:00
mafiesto4 c00b32364a Add SceneGraphNode.OnContextMenu for customizations 2021-02-02 12:51:36 +01:00
mafiesto4 23652d1bc5 Merge remote-tracking branch 'origin/master' into 1.1
# Conflicts:
#	Source/Engine/Input/Input.cpp
2021-02-02 10:29:52 +01:00
mafiesto4 5d535fad6a Move Mouse and Keyboard impl from headers to Input.cpp 2021-02-01 23:53:32 +01:00
mafiesto4 1a11f1a231 Merge branch 'jb-perrier-inputtext' 2021-02-01 23:48:17 +01:00
mafiesto4 107edfb958 Merge branch 'inputtext' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-inputtext 2021-02-01 23:48:12 +01:00
mafiesto4 2fe6129fcd Simplify code 2021-02-01 23:41:23 +01:00
mafiesto4 7ddcf8507a Merge branch 'VNNCC-fix-issue-158' 2021-02-01 23:40:04 +01:00
mafiesto4 1aab96676d Merge branch 'fix-issue-158' of git://github.com/VNNCC/FlaxEngine into VNNCC-fix-issue-158 2021-02-01 23:39:56 +01:00
mafiesto4 1bd639c86d Fix including CharacterController.h in game code 2021-02-01 23:38:16 +01:00
stefnotch 62f2ccb942 Fix conversion to degrees in Vector3.Angle 2021-02-01 22:40:19 +01:00
mafiesto4 e2cefc7407 Fix Quaternion comparison epsilon to reduce error rate 2021-02-01 16:58:01 +01:00
mafiesto4 efea842486 Fix warning 2021-02-01 16:23:57 +01:00
mafiesto4 1ae898918c Add auto-select for spawned actors in the level 2021-02-01 16:21:05 +01:00
mafiesto4 c3d9c52f1f Add support for spline point duplicate via Transform gizmo 2021-02-01 16:04:20 +01:00
mafiesto4 b22805f866 Add support for custom duplicate of SceneGraphNode 2021-02-01 16:03:33 +01:00
mafiesto4 d69b005792 Move Curve data serialization to binary format into CurveSerialization.h 2021-02-01 14:16:32 +01:00
mafiesto4 69790f3576 Add support for deleting selected spline points (with undo) 2021-02-01 13:51:37 +01:00
mafiesto4 bab236c081 Add support for custom SceneGraphNode to handle delete with undo 2021-02-01 13:51:32 +01:00
mafiesto4 bf80827bfd Add more Spline API for curve editing 2021-02-01 13:50:56 +01:00
mafiesto4 283714a39f Fix PhysX header usage in public API 2021-02-01 11:40:50 +01:00
mafiesto4 fecf7d7804 Add virtual to Camera GetMatrices for custom cameras 2021-02-01 11:18:46 +01:00
mafiesto4 011b5f3e51 Add SceneRenderTask.PreRender 2021-02-01 11:14:59 +01:00
mafiesto4 5c2d3cbe7b Fix mouse down/up position on Linux 2021-02-01 10:34:13 +01:00
mafiesto4 f2ac6a970c Move LinuxInput to LinuxPlatform 2021-02-01 10:22:45 +01:00
mafiesto4 ed10c15069 Fix mono compile 2021-02-01 09:59:25 +01:00
mafiesto4 f77d0cc8fc Add Assimp lib for Linux 2021-02-01 09:58:54 +01:00
mafiesto4 d059027a47 Fixes for WIndow impl on Linux 2021-01-31 21:05:39 +01:00
mafiesto4 7fca8ae4bb Add Mono for Linux Editor 2021-01-31 21:05:14 +01:00
W2.Wizard 28d16fd620 Add notice 2021-01-30 23:32:35 +01:00
W2.Wizard bc6de6932b Update MaterialGenerator.Material.cpp
Already evaluate calculation instead
2021-01-30 23:28:53 +01:00
W2.Wizard e75ca148c0 Added blackbody 2021-01-30 23:21:41 +01:00
jb-perrier a5d6db6a18 Fix InputText & Typo. 2021-01-30 19:58:45 +01:00
VNC 33ce17c3fa Set minimum width and height for texture description in motion blur
The calculation `motionVectorsWidth / tileSize` can return a result of 0.

Set minimum width and height to 1.
2021-01-29 16:18:00 +01:00
mafiesto4 f15f7ff59f Bump up version 2021-01-29 00:36:15 +01:00
mafiesto4 0d0279a1f8 Merge branch 'stefnotch-fix-asset-viewports' 2021-01-28 23:30:11 +01:00
mafiesto4 bb8a6e5c8d Merge branch 'fix-asset-viewports' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-asset-viewports 2021-01-28 23:30:05 +01:00
mafiesto4 beecbffdc3 Fix error when opening Anim Graph with node name not existing in skeleton anymore
Fixes #176
2021-01-28 21:59:30 +01:00
stefnotch 06f07c2903 Fix EditorViewport zooming
Fix #162
Also improves cases like LeftMouseDown + Scroll
2021-01-28 17:17:17 +01:00
stefnotch 164da0f87a Fix spelling error 2021-01-28 16:24:36 +01:00
stefnotch a250a23259 Fix TexturePreview zooming
Fix #164
2021-01-28 16:13:45 +01:00
mafiesto4 50f6a01f83 Fix plane model normals 2021-01-28 01:28:13 +01:00
W2.Wizard bd18286fbd Refactoring and Node implementation
Refactored all recently added nodes to maintain consistency.
2021-01-28 01:26:57 +01:00
mafiesto4 aedc619009 Fix crash when opening prefab that fails to load root ObjectsLookupIdMapping
Fixes #126
2021-01-28 01:11:02 +01:00
mafiesto4 a226ff8762 Fix plane model incorrect rotation in material preview (#165) 2021-01-28 00:52:06 +01:00
mafiesto4 a1cee0f0bf Fix crash when applying changes to prefab 2021-01-28 00:38:08 +01:00
mafiesto4 bb84ad0f79 Add missing doc comment 2021-01-28 00:10:41 +01:00
mafiesto4 0de380ad3a Optimize Variant typename loading if length is zero 2021-01-28 00:02:37 +01:00
mafiesto4 4b11725226 Fix crash when creating Empty particle emitter
Fixes #174
2021-01-27 23:59:24 +01:00
mafiesto4 971ab7b8e7 Merge branch 'stefnotch-improve-first-time-setup' 2021-01-27 23:36:59 +01:00
mafiesto4 b57ce2bd56 Merge branch 'improve-first-time-setup' of git://github.com/stefnotch/FlaxEngine into stefnotch-improve-first-time-setup 2021-01-27 23:36:54 +01:00
mafiesto4 876a728b41 Fix scene animation rendering issue with game window is not selected tab
Fixes #170
2021-01-27 23:27:19 +01:00
mafiesto4 b411539717 Merge branch 'stefnotch-fix-disable-ctrl-w-ingame' 2021-01-27 22:41:28 +01:00
mafiesto4 4cb5574a2e Merge branch 'fix-disable-ctrl-w-ingame' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-disable-ctrl-w-ingame 2021-01-27 22:41:24 +01:00
mafiesto4 1aceab3783 Merge branch 'W2Wizard-DDX-DDY-Nodes' 2021-01-27 22:39:23 +01:00
mafiesto4 c583b6a1a7 Merge branch 'DDX-DDY-Nodes' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-DDX-DDY-Nodes 2021-01-27 22:39:19 +01:00
mafiesto4 3c3b47f5b4 Fix Get Node Transform ndoe in anim graph 2021-01-27 22:37:25 +01:00
mafiesto4 36bd398136 Fix error when animated model skeleton has duplicated node name 2021-01-27 22:37:19 +01:00
stefnotch c820e87d4a Slightly tweak the key processing code 2021-01-27 22:08:17 +01:00
stefnotch f00ae7fb21 Disable CTRL+W during the game
Fix #96
2021-01-27 21:30:22 +01:00
stefnotch 18e3d51914 Check LFS using file size 2021-01-27 18:08:38 +01:00
mafiesto4 7c85ac61b8 Add new Spline actor initialization when spawning in editor 2021-01-27 15:39:38 +01:00
mafiesto4 9cdbbf590a Add spline points tangents gizmos and debug drawing 2021-01-27 15:29:33 +01:00
mafiesto4 bd93e46624 Tweaks for ActorChildNode 2021-01-27 15:29:14 +01:00
mafiesto4 f0c7fbb0cf Add more utilities for Spline 2021-01-27 15:28:26 +01:00
mafiesto4 560b6cf5da Fix error when animated model skeleton has duplicated node name 2021-01-27 15:12:29 +01:00
mafiesto4 c0e8b735ad Fix Get Node Transform ndoe in anim graph 2021-01-27 15:12:02 +01:00
mafiesto4 5a402df3ff Add Add/Subtract methods to Transform 2021-01-27 15:07:02 +01:00
stefnotch 691d9d9b88 Document the GitHub basics 2021-01-27 14:34:38 +01:00
stefnotch 81865bd97e Move Flax plugin up, since it's currently required 2021-01-27 14:32:25 +01:00
stefnotch 80e0b0b0e5 Document the "set as startup project" 2021-01-27 14:32:10 +01:00
stefnotch da3a54d184 Pause on error
On Windows, because people using Windows will double click on the file
2021-01-27 14:06:36 +01:00
mafiesto4 3dc6afef62 Improve selecting spline gizmos and add highlight sphere 2021-01-27 12:38:03 +01:00
mafiesto4 590fcebaec Fix drawing spline when spline point gizmo is selected 2021-01-27 12:33:46 +01:00
mafiesto4 37e3a85080 Optimize splines debug rendering performance 2021-01-27 12:33:32 +01:00
mafiesto4 fd96957819 Add gizmo handles for spline points 2021-01-27 12:13:00 +01:00
mafiesto4 d0c0259ee2 Add setter methods for spline points 2021-01-27 12:12:40 +01:00
mafiesto4 53601d8a85 Optimize and improve ActorChildNodes handling 2021-01-27 12:11:59 +01:00
mafiesto4 1d19d38c38 Merge remote-tracking branch 'origin/master' into 1.1
# Conflicts:
#	Source/Editor/Surface/SurfaceNode.cs
2021-01-27 10:39:44 +01:00
mafiesto4 cd2ae08da0 Fixes and tweaks to the networking impl 2021-01-27 10:37:15 +01:00
mafiesto4 a876e56339 Merge branch 'jb-perrier-network' into 1.1 2021-01-27 09:49:44 +01:00
W2.Wizard 1925fe5724 Added DDX / DDY nodes 2021-01-27 01:39:50 +01:00
Richard c8b0773661 Fixed a bug 2021-01-27 11:07:36 +11:00
mafiesto4 f1763840c9 Fix exporting textures in format R10G10B10A2 and R11G11B10 on Windows 2021-01-27 00:28:38 +01:00
mafiesto4 bbeab83b29 Merge branch 'GoaLitiuM-folder_dialog' 2021-01-27 00:27:41 +01:00
mafiesto4 cb8ba2d757 Fix WindowsFileSystem::ShowBrowseFolderDialog path length 2021-01-27 00:27:32 +01:00
mafiesto4 1679458094 Merge branch 'folder_dialog' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-folder_dialog 2021-01-27 00:05:57 +01:00
mafiesto4 c9992ef7d0 Merge branch 'GoaLitiuM-faster_dev_builds' 2021-01-26 23:47:10 +01:00
mafiesto4 02dde50071 Merge branch 'faster_dev_builds' of git://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-faster_dev_builds 2021-01-26 23:02:59 +01:00
mafiesto4 854d0147dd Fix Visject Node layout when adding boxes from code 2021-01-26 22:52:35 +01:00
mafiesto4 59858ecb27 Fix Visual Script invoke method node signature check for output params passed via reference 2021-01-26 22:52:08 +01:00
mafiesto4 269f1fc8c1 Fix ResizeAuto in SurfaceNode to include custom controls 2021-01-26 22:16:19 +01:00
mafiesto4 4330eb5e4a Merge branch 'W2Wizard-UVTilingOffset' 2021-01-26 21:48:14 +01:00
jb-perrier 5f85e9ae96 Reset state. 2021-01-26 20:07:35 +01:00
jb-perrier 09049990bd Default value. 2021-01-26 20:07:09 +01:00
jb-perrier 674d1fbcc5 Handle error. 2021-01-26 20:06:47 +01:00
W2.Wizard db17c80e0a Use approriate fields instead 2021-01-26 19:41:29 +01:00
W2.Wizard 62b3f7c9c2 Adjusted node size 2021-01-26 19:37:06 +01:00
W2.Wizard 96e5e20e66 Added Node 2021-01-26 19:26:38 +01:00
jb-perrier 254bdacc73 Cleanup. 2021-01-26 17:07:37 +01:00
jb-perrier 0c68cd8a10 Merge branch '1.1' of https://github.com/FlaxEngine/FlaxEngine into network 2021-01-26 15:58:12 +01:00
jb-perrier c20f0fa430 Remove Init & Exit, logic is now in Win32Platform.cpp. 2021-01-26 15:55:51 +01:00
jb-perrier 54b9eaa969 Move static var to local. 2021-01-26 15:48:48 +01:00
jb-perrier aaac0aec96 Brace to the next line. 2021-01-26 15:46:27 +01:00
jb-perrier af1dfc0d08 Remove "Place holder" comments. 2021-01-26 15:45:35 +01:00
jb-perrier 15d24308e8 Fix "Returns true on error, otherwise false." & Return"s". 2021-01-26 15:44:08 +01:00
jb-perrier 8ac0e7491a Typo Initialize -> Initializes, and so on ... 2021-01-26 15:41:39 +01:00
jb-perrier 2bcbf23bca All base functions return true. 2021-01-26 15:37:33 +01:00
mafiesto4 01a3a80103 Fix compilation 2021-01-26 15:34:57 +01:00
jb-perrier 2119075240 Fix. 2021-01-26 14:51:01 +01:00
jb-perrier 1df47bd8c5 Add partial docs. 2021-01-26 14:50:45 +01:00
jb-perrier a51d47a4bb Add partial docs. 2021-01-26 14:29:53 +01:00
jb-perrier 1b2dd0aff5 Fixes. 2021-01-26 14:14:27 +01:00
jb-perrier ecb20afaa4 Reimpl. SiReadable & IsWriteable. 2021-01-26 13:52:38 +01:00
jb-perrier 45ba154877 Add NetworkSocketGroup window impl. 2021-01-26 13:41:44 +01:00
jb-perrier 51a2c1e868 Add NetworkSocketGroup. 2021-01-26 13:41:23 +01:00
mafiesto4 8180877269 Add support for copy/paste/rever values for groups in Custom Editor (eg. array editor) 2021-01-26 12:52:03 +01:00
mafiesto4 aa2eeb8243 Add GetSplineDirection util to Spline 2021-01-26 12:32:35 +01:00
mafiesto4 937248794a Add first derivative calculation utilities for Curve 2021-01-26 12:32:16 +01:00
mafiesto4 b674aae970 Fix spline length calculation to include bezier shape 2021-01-26 12:12:16 +01:00
mafiesto4 dda5f26d89 Add Transform.LocalToWorldVector and Transform.WorldToLocalVector 2021-01-26 12:11:41 +01:00
mafiesto4 023cdced0a Add utility to make spline curve linear or smooth 2021-01-26 09:32:41 +01:00
mafiesto4 054aa18e31 Merge branch 'W2Wizard-RemapMaterialNode' 2021-01-26 00:16:17 +01:00
mafiesto4 b6fe228b85 Merge branch 'RemapMaterialNode' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-RemapMaterialNode 2021-01-26 00:16:13 +01:00
W2.Wizard c703064add Added also tryGetValue to ShaderGraph
Since @mafiesto4 requested in the review to use tryGetValye in the VisjectGraph to get the bool param I also did it to the shader one
2021-01-26 00:12:43 +01:00
mafiesto4 4be7e2ad46 Fix 2021-01-26 00:11:25 +01:00
mafiesto4 5260efc7b8 Fixes for editor viewport View context menu 2021-01-26 00:11:20 +01:00
W2.Wizard 44d636520b Applied review changes 2021-01-26 00:04:04 +01:00
mafiesto4 c5934e0dfe Merge branch 'Vizepi-master' 2021-01-26 00:02:12 +01:00
mafiesto4 571c802d49 Merge branch 'master' of git://github.com/Vizepi/FlaxEngine into Vizepi-master 2021-01-26 00:02:08 +01:00
mafiesto4 d098c6cee7 Merge branch 'W2Wizard-SphereMaskNode' 2021-01-25 23:59:14 +01:00
mafiesto4 31e53d5efa Merge branch 'SphereMaskNode' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-SphereMaskNode 2021-01-25 23:59:10 +01:00
mafiesto4 ca32d0d825 Add Mesh::UpdateMesh methods similar to C# API 2021-01-25 23:52:29 +01:00
mafiesto4 5b4dbfa121 Fix name (was causing docs build warning) 2021-01-25 23:52:07 +01:00
W2.Wizard 602fb44a23 Formatting 2021-01-25 22:30:55 +01:00
W2.Wizard 5845bc3fca Added Spheremask node 2021-01-25 22:03:30 +01:00
W2.Wizard f331191e3d Refactored 2021-01-25 19:31:12 +01:00
jb-perrier 029d9acaa2 Fixes. 2021-01-25 17:55:22 +01:00
jb-perrier bbabd09983 Non-Blocking handling. 2021-01-25 17:54:52 +01:00
jb-perrier 67a8246077 Revamp IsReadable & IsWriteable. 2021-01-25 17:54:16 +01:00
jb-perrier 330a588260 Get rid off getnameinfo. 2021-01-25 17:52:11 +01:00
jb-perrier 8e2a8c045c Get rid off getnameinfo. 2021-01-25 17:51:52 +01:00
jb-perrier a32658beea Add GetErrorMessage(). 2021-01-25 14:02:55 +01:00
jb-perrier c2af9164d6 Typo. 2021-01-25 13:34:18 +01:00
jb-perrier 27a62f4411 Add error. 2021-01-25 13:32:17 +01:00
jb-perrier 6dd699cbab Remove dead code. 2021-01-25 13:19:50 +01:00
jb-perrier 206461e80e Refactor duplicate code. 2021-01-25 13:17:04 +01:00
jb-perrier 5bc1773dc5 Refactor sock option translation. 2021-01-25 13:13:57 +01:00
jb-perrier baa273f589 Remove old comment. 2021-01-25 13:07:02 +01:00
jb-perrier dae366f04c Cleanup. 2021-01-25 12:40:08 +01:00
W2.Wizard c0c2da34d7 Specified variants 2021-01-25 12:37:42 +01:00
jb-perrier 075b049bb1 Fixes. 2021-01-25 12:25:20 +01:00
mafiesto4 fe78fa7575 Add Spline 2021-01-25 10:41:53 +01:00
W2.Wizard ee166bafed Added initial remap node 2021-01-25 00:51:47 +01:00
Richard 6ef65734cd Optimisied Blend Normal Node
I've also added a getNormalZero to get a normal that has zeroed out, i.e. it faces directly outwards from the face. This enables the user to not have to input a vector for either the Base or Additional Normal inputs and still get a result that is acceptable. This is handy if you want to "wash out" a normal.
2021-01-25 09:35:22 +11:00
mafiesto4 f6085c7479 Fix crash when reloading scripts with opened custom json asset 2021-01-24 23:31:24 +01:00
jb-perrier ad621b824a Add some const. 2021-01-24 22:59:57 +01:00
jb-perrier 6e193d4d0d Add Set/Get sockoption, refactor CreateSocket. 2021-01-24 22:54:44 +01:00
mafiesto4 f714afc180 Tweak Rotator node 2021-01-24 19:01:25 +01:00
mafiesto4 f6065c4463 Merge branch 'W2Wizard-RotationMaterialNode' 2021-01-24 18:57:53 +01:00
mafiesto4 1824715626 Merge branch 'RotationMaterialNode' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-RotationMaterialNode
# Conflicts:
#	Source/Engine/Tools/MaterialGenerator/MaterialGenerator.Material.cpp
2021-01-24 18:57:44 +01:00
mafiesto4 b59008182f Merge branch 'stefnotch-document-index-order' 2021-01-24 18:52:13 +01:00
mafiesto4 e99c4abe5e Merge branch 'document-index-order' of git://github.com/stefnotch/FlaxEngine into stefnotch-document-index-order 2021-01-24 18:52:10 +01:00
mafiesto4 f9ba789af3 Add missing node type comment 2021-01-24 18:51:26 +01:00
stefnotch 6f0a556af8 Document the clockwise order of the indices 2021-01-24 16:42:13 +01:00
W2.Wizard bcb38dc2ca Added rotator node 2021-01-24 15:10:38 +01:00
mafiesto4 3a33d6ff84 Fix code style 2021-01-24 14:14:30 +01:00
mafiesto4 cb0518d75a Merge branch 'Evildea-master' 2021-01-24 14:11:58 +01:00
mafiesto4 31ae464d93 Merge branch 'master' of git://github.com/Evildea/FlaxEngine into Evildea-master 2021-01-24 14:11:55 +01:00
mafiesto4 8ff12d079c Merge branch 'W2Wizard-patch-1' 2021-01-24 14:06:17 +01:00
mafiesto4 1969854ed0 Merge branch 'patch-1' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-patch-1 2021-01-24 14:06:13 +01:00
mafiesto4 4c05f8a222 Merge branch 'TalkingWallnut-patch-1' 2021-01-24 14:04:59 +01:00
mafiesto4 6313c8520c Merge branch 'patch-1' of git://github.com/TalkingWallnut/FlaxEngine into TalkingWallnut-patch-1 2021-01-24 14:04:54 +01:00
mafiesto4 f1819ee35c Fix code style 2021-01-24 14:01:42 +01:00
mafiesto4 2563409e6f Merge branch 'intolerantape-CollisionsHelper-Enhancement' 2021-01-24 13:57:51 +01:00
mafiesto4 f64eead2d7 Merge branch 'CollisionsHelper-Enhancement' of git://github.com/intolerantape/FlaxEngine into intolerantape-CollisionsHelper-Enhancement 2021-01-24 13:57:47 +01:00
mafiesto4 67b0e0410c Merge branch 'stefnotch-fix-fade-distance' 2021-01-24 13:55:51 +01:00
mafiesto4 6a6e7195f5 Merge branch 'fix-fade-distance' of git://github.com/stefnotch/FlaxEngine into stefnotch-fix-fade-distance 2021-01-24 13:55:48 +01:00
mafiesto4 b04e1381dc Fix Unsigned Integer value field to prevent negative values 2021-01-24 13:30:48 +01:00
mafiesto4 47bff456e0 Fix foot offset in Character Controller 2021-01-24 13:09:40 +01:00
Richard 7de56304c8 Remove change as it only works for the editor 2021-01-24 22:40:03 +11:00
Richard 843a04604d Added Material Node to Blend Normals 2021-01-24 22:31:45 +11:00
Vizepi 018e751bf6 Added option to invert panning direction in editor viewport 2021-01-24 12:03:38 +01:00
jb-perrier b4f791e0ca Remove comment. 2021-01-24 11:42:11 +01:00
jb-perrier 9b2c940896 Switch type. 2021-01-24 11:39:59 +01:00
GoaLitiuM 4457bcf4a7 Use more modern file dialog for browsing folders 2021-01-24 02:33:08 +02:00
jb-perrier 3ab54bd7e1 Add listen implementation. 2021-01-24 00:02:24 +01:00
Erdroy 9b300fe074 Cleanup 2021-01-23 21:33:06 +01:00
jb-perrier 86b5fa9321 Remove old comment. 2021-01-23 21:32:07 +01:00
jb-perrier 261aeb9245 Fix leak. 2021-01-23 21:22:38 +01:00
jb-perrier b3388d6fc7 Replace error code by error strings. 2021-01-23 21:17:14 +01:00
jb-perrier c9bab2c521 Remove issue comment, resolved by commit #c9655ee. 2021-01-23 21:07:19 +01:00
jb-perrier 4a71fe6727 Fix crash. 2021-01-23 20:21:58 +01:00
jb-perrier 3250ca9fad Add error code to logs. 2021-01-23 20:21:44 +01:00
jb-perrier c9655eee8f Add bindable argument. 2021-01-23 20:21:06 +01:00
jb-perrier 54da2c8de0 Fix type. 2021-01-23 20:19:21 +01:00
jb-perrier 3c1a69eb6f Replace old getaddrinfo by unicode one. 2021-01-23 20:15:13 +01:00
jb-perrier a60e1ab8bb Place holder for other platforms. 2021-01-23 17:37:43 +01:00
W2.Wizard bf147ba13a Sentence restructuring 2021-01-23 17:15:46 +01:00
TalkingWallnut 9674f276d3 Fixed the issue when slope limit was set to 90 degrees flax crashed.
I fixed the issue when slope limit was set to 90 degrees flax would commit suicide (crash) (: . I just changed the clamp limit from 90 to 89 degrees.
2021-01-23 15:56:18 +01:00
jb-perrier c53fe681f5 Add network header. 2021-01-23 15:36:02 +01:00
jb-perrier 125b4347da Add windows typedef. 2021-01-23 15:35:41 +01:00
jb-perrier aa97296123 Add windows implementation. 2021-01-23 15:35:22 +01:00
jb-perrier d76c167ad9 Add NetworkBase. 2021-01-23 15:34:40 +01:00
Richard 71110c9f29 Fixed issue High DPI Issue 2021-01-23 23:39:24 +11:00
intolerantape 54e544a0f2 In CollisionsHelper, added versions of functions with output parameters that return the outputs as said.
Also added a 3D version of ClosestPointPointLine() because why wasn't that a thing?
2021-01-23 03:47:01 -08:00
intolerantape f3f25836e2 Added 3D version of CollisionsHelper::ClosestPointPointLine(). 2021-01-23 03:46:34 -08:00
GoaLitiuM 1a51752ca4 Disable whole program optimization and enable incremental linking in development builds 2021-01-23 12:40:54 +02:00
GoaLitiuM 8c6dbf2e30 Disable linker optimizations with incremental linking 2021-01-23 12:40:53 +02:00
GoaLitiuM d901c11570 Add compile flag for whole program optimization 2021-01-23 12:40:53 +02:00
stefnotch b208b7066b Fix fade distance (use input box as well) 2021-01-23 11:35:50 +01:00
W2.Wizard 83ceb31967 Added contribution guidelines
Since there were no set out guidelines for contributing, I decided to add them.

The guidelines overall are very straightforward.
2021-01-23 01:37:46 +01:00
mafiesto4 049450e31b Fix node widths for anim nodes 2021-01-22 23:45:19 +01:00
mafiesto4 e4fced44a9 Merge branch 'W2Wizard-AnimationArchetypeFix' 2021-01-22 23:42:11 +01:00
mafiesto4 19c65bec33 Merge branch 'AnimationArchetypeFix' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-AnimationArchetypeFix 2021-01-22 23:42:08 +01:00
mafiesto4 0db0fb24c9 Merge branch 'stefnotch-visject-improvements-5' 2021-01-22 23:35:13 +01:00
mafiesto4 704d42869d Merge branch 'visject-improvements-5' of git://github.com/stefnotch/FlaxEngine into stefnotch-visject-improvements-5 2021-01-22 23:35:09 +01:00
W2.Wizard 236a5a2f6f Update Animation.cs 2021-01-22 14:13:45 +01:00
mafiesto4 6cbeac6537 Merge remote-tracking branch 'origin/master' into 1.1
# Conflicts:
#	Source/Engine/Navigation/NavMesh.cpp
#	Source/Engine/Navigation/NavMeshBuilder.cpp
2021-01-22 11:31:22 +01:00
mafiesto4 cbbfb16628 Add scripting API events in Visual Script 2021-01-22 10:55:13 +01:00
mafiesto4 4042d466d3 Add support for Events in Scripting API reflection in Editor 2021-01-21 14:40:53 +01:00
mafiesto4 c2f745397a Fix ResizeAuto in SurfaceNode to include custom controls 2021-01-21 14:28:44 +01:00
mafiesto4 a4763f630e Fix right-click context menu for Visject Nodes 2021-01-21 14:28:02 +01:00
mafiesto4 178f0b9e3a Fix Dictionary to call ctor/dtor for Buckets when needed 2021-01-21 14:27:26 +01:00
mafiesto4 d93a2803cc Fix MAssembly classes dictionary cache allocation to be during assembly load 2021-01-21 14:26:52 +01:00
mafiesto4 57d7508e25 Fix some editor UI controls visible in Visual Scripting 2021-01-21 14:26:22 +01:00
mafiesto4 8680aba897 Fix missing public empty constructor for UICanvas 2021-01-20 13:45:49 +01:00
mafiesto4 8dce3c0fb7 Fix missing animated model parameter error 2021-01-20 13:38:42 +01:00
mafiesto4 f236338311 Merge branch 'stefnotch-patch-1' 2021-01-20 13:19:55 +01:00
mafiesto4 0b1ac3d0fe Merge branch 'patch-1' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-1 2021-01-20 13:19:52 +01:00
mafiesto4 ec4ccaeba5 Merge branch 'intolerantape-bugfixes' 2021-01-20 13:18:49 +01:00
mafiesto4 214ae3c440 Merge branch 'bugfixes' of git://github.com/intolerantape/FlaxEngine into intolerantape-bugfixes 2021-01-20 13:18:46 +01:00
mafiesto4 ef5e98efaa Fix assertion during engine shutdown after crash during rendering 2021-01-20 13:12:11 +01:00
mafiesto4 ea489fbf2a Fix crash in motion blur tile size calculation 2021-01-20 13:11:45 +01:00
mafiesto4 9ae79b8307 Add IFunctionDependantNode for Visject nodes 2021-01-20 11:13:09 +01:00
mafiesto4 f8bf87e0b1 Fixes 2021-01-20 09:14:30 +01:00
intolerantape 75d197cb84 Spelling fixes. 2021-01-19 23:02:33 -08:00
mafiesto4 6b5ce8c6e2 Merge branch 'stefnotch-patch-2' 2021-01-19 21:53:10 +01:00
mafiesto4 db6a02e20f Merge branch 'patch-2' of git://github.com/stefnotch/FlaxEngine into stefnotch-patch-2 2021-01-19 21:53:07 +01:00
mafiesto4 0a0c856a64 Add more splash screen quotes 2021-01-19 21:10:45 +01:00
stefnotch bd7a681700 Add more descriptive error message 2021-01-19 21:08:26 +01:00
mafiesto4 c4e6d013c1 Add more splash screen quotes 2021-01-18 22:47:31 +01:00
mafiesto4 d17d93c8a5 Merge branch 'jb-perrier-nearequalnode' 2021-01-18 21:10:09 +01:00
mafiesto4 6caffdc23f Merge branch 'nearequalnode' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-nearequalnode 2021-01-18 21:10:05 +01:00
mafiesto4 99b011df8b Merge branch 'W2Wizard-AboutFlaxAdjustment' 2021-01-18 21:07:53 +01:00
mafiesto4 c02faf51a0 Merge branch 'AboutFlaxAdjustment' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-AboutFlaxAdjustment 2021-01-18 21:07:49 +01:00
mafiesto4 ef240ce986 Add culling for decals (via DrawMinScreenSize property) 2021-01-18 15:53:15 +01:00
mafiesto4 e58332723a Fix compilation 2021-01-18 15:32:40 +01:00
mafiesto4 81daaf663b Fix Assimp on Linux 2021-01-18 15:27:57 +01:00
mafiesto4 a9e4d6d908 Fix exposing Mono API when using dynamic linking 2021-01-18 15:26:55 +01:00
mafiesto4 5f7f53304d Fix crash on GPUDeviceVulkan dispose if compute queue was using graphics queue 2021-01-18 15:26:45 +01:00
mafiesto4 3e0b753498 Refactor mono on Linux to use dynamic linking 2021-01-18 15:26:40 +01:00
mafiesto4 4bd76b70f2 Fix UseNativeWindowSystem option to be Windows-only 2021-01-18 15:26:28 +01:00
mafiesto4 d19c31555b Add support for dynamic updating navmesh when moving NavModifierVolume 2021-01-18 15:08:00 +01:00
mafiesto4 e0f1f18998 Move Actor static flags helper methods to be manually implemented (less bindings) 2021-01-18 15:07:39 +01:00
mafiesto4 f80c33f381 Add Actor.HasStaticFlag 2021-01-18 15:07:01 +01:00
mafiesto4 2bfcc15f66 Add invoking BoxVolume::OnBoundsChanged after transform changed 2021-01-18 15:00:35 +01:00
mafiesto4 fdc8e371c4 Add support for using NavAreas for navigation 2021-01-18 13:18:26 +01:00
mafiesto4 ba050b9eaa Add default spacing for CollectionEditor to 10 for cleaner UI when working with arrays and lists in Editor 2021-01-18 11:42:50 +01:00
mafiesto4 c1216a4318 Add NavAreaProperties 2021-01-18 11:42:17 +01:00
mafiesto4 2ae78b9afd Fix navmesh tiles build 2021-01-18 10:51:55 +01:00
mafiesto4 f33a2d8fe5 Remove assimp file 2021-01-17 22:14:37 +01:00
mafiesto4 1943de62e9 Add icon for Editor on Linux 2021-01-17 22:14:16 +01:00
mafiesto4 fcc4b371b9 Fix using dynamic libraries resolving path on Linux 2021-01-17 21:50:58 +01:00
mafiesto4 837174582b Fixes for Editor on Linux 2021-01-17 21:48:15 +01:00
mafiesto4 6b0d34a21d Fix C# assemblies id generation to use cross-platform hash code impl 2021-01-17 21:44:37 +01:00
jb-perrier 50f87c8bfb Remove unused (). 2021-01-17 12:36:53 +01:00
jb-perrier edb103f8e7 Fix NearEqual (GPU Particle) missing implementation. 2021-01-17 12:13:48 +01:00
W2.Wizard 8fd0af3f39 Fixed Typos and padding 2021-01-17 10:18:30 +01:00
stefnotch 4db3c6ca71 Increase default distance between nodes 2021-01-16 19:23:35 +01:00
stefnotch aa4ecab271 Improve Visject bracket positioning 2021-01-16 19:20:36 +01:00
stefnotch 3356013858 Improve empty space finding 2021-01-16 18:16:48 +01:00
stefnotch 8003055ba6 Improve node layout algorithm 2021-01-15 20:23:40 +01:00
stefnotch c112274666 Add additional comments to the formatting algorithm 2021-01-15 19:51:23 +01:00
mafiesto4 01a30faa62 Add NavMesh Modifier Volume actor type 2021-01-15 16:46:40 +01:00
mafiesto4 070faf12da Fixes for the rotated navmeshes building 2021-01-15 12:48:22 +01:00
mafiesto4 65d3883f03 Add support for masking navmesh agents in NavMeshBoundsVolume 2021-01-15 11:59:21 +01:00
mafiesto4 2c2c1af97f Add NavAgentMask 2021-01-15 11:59:04 +01:00
mafiesto4 f80f7cdd33 Fix crash on Android if GPU doesn't support linear sampling of the shadow map 2021-01-14 22:23:22 +01:00
mafiesto4 b76d5d34ea Fix lambda 2021-01-14 21:21:08 +01:00
mafiesto4 d7949b5405 Remove deprecated comment 2021-01-14 14:29:27 +01:00
mafiesto4 f8624ae768 Fix crash during navmesh build when actor gets removed 2021-01-14 14:18:40 +01:00
mafiesto4 98d272a903 Add support for SphereCollider and CapsuleCollider for navmesh 2021-01-14 14:18:22 +01:00
W2.Wizard 00c40e279c Update Extensions.cs 2021-01-14 13:56:10 +01:00
mafiesto4 7835259a83 Add TestPath utility to navigation system 2021-01-14 13:11:32 +01:00
mafiesto4 93aa265b20 Add support for rotated navmeshes 2021-01-14 13:08:53 +01:00
W2.Wizard 8e44e6b23c Applied additional review changes
Moved out the random Color created via HSV to its own function as @stefnotch suggested.

Added + 1 to the max value in NextByte to include max as a possible value.
2021-01-14 12:28:51 +01:00
W2.Wizard 437018e614 Applied review changes
Applied almost all review changes.
2021-01-14 11:50:03 +01:00
W2.Wizard 75c3388c00 Corrected comments 2021-01-14 01:12:13 +01:00
W2.Wizard 31dd5b852e Update Extensions.cs 2021-01-13 22:04:16 +01:00
W2.Wizard 6649f0d4c2 Removed unnecessary overload
Same can be achieved by  specifiying max.
2021-01-13 21:58:16 +01:00
W2.Wizard 604c583c36 Moved all methods to Extension.cs
Moved the methods for RandomUtils.cs to Extension.cs instead.
2021-01-13 21:16:17 +01:00
mafiesto4 b2a2652b56 Fix not using hardcoded order for showing Actor main properties in editor 2021-01-13 15:35:53 +01:00
mafiesto4 af692605ab Add option to hide navmesh in editor debug view 2021-01-13 15:21:50 +01:00
mafiesto4 d1a282e228 Fix removing unused navmesh tiles on whole scene rebuild 2021-01-13 14:50:43 +01:00
mafiesto4 88bddfb141 Add navmesh name to logs for better debugging 2021-01-13 14:49:50 +01:00
mafiesto4 29c3e2d54b Fix Color doc comments 2021-01-13 14:28:58 +01:00
mafiesto4 27ed23c1b9 Add support for multiple navmeshes on a scene 2021-01-13 14:28:46 +01:00
mafiesto4 9e3c413c91 Fix crash when using Byte, Int16 or UInt16 as VS parameters 2021-01-13 00:22:52 +01:00
mafiesto4 fd6158e1a9 Fix loading VariantType.Blob 2021-01-12 23:36:50 +01:00
mafiesto4 932de300e4 Fix missing focus for SliderControl 2021-01-12 23:07:20 +01:00
W2.Wizard 783b910700 Added XML comments 2021-01-12 20:29:32 +01:00
mafiesto4 a3fa8ff9f0 Optimize some includes 2021-01-12 19:17:08 +01:00
mafiesto4 259c419c36 Fix crash when resizing existing MaterialSlots collection for model 2021-01-12 19:09:42 +01:00
mafiesto4 d7696c4765 Split VectorInt into separate files for Int2, Int3 and Int4 2021-01-12 19:09:22 +01:00
mafiesto4 89f25516fc Add inline for float16 compression and add code reference note 2021-01-12 19:05:17 +01:00
mafiesto4 fd268f4e15 Add missing FLAXENGINE_API expose macro to engine math types 2021-01-12 19:00:54 +01:00
mafiesto4 dba43c4e9f Add support for using ObsoleteAttribute to upgrade old C# asset/script data format after refactor 2021-01-12 15:33:17 +01:00
W2.Wizard eaba489ba2 Initial Random class
First Commit

Static class that inhabits basic and common random functions, allows it to be used in visual scripting as well.
2021-01-12 15:08:45 +01:00
mafiesto4 40c7fe3f77 Add support for automatic DefaultValue attributes generation for fields in scripting API 2021-01-12 14:14:35 +01:00
mafiesto4 a6d5fb318a Fix default field value parsing to skip whitespaces 2021-01-12 14:14:08 +01:00
mafiesto4 d20cbf434f Add default values initialization for structures and new array entries when resizing 2021-01-12 13:49:26 +01:00
stefnotch 5679d86683 Fix tracking mouse offset on high DPI screens 2021-01-12 12:04:30 +01:00
mafiesto4 45211fa61c Merge remote-tracking branch 'origin/master' into navigation-features 2021-01-12 12:04:20 +01:00
mafiesto4 6252c111b4 Tweak BatteryInfo 2021-01-11 16:38:12 +01:00
stefnotch ab4195ab6c Fix right clicking on Visject boxes
Previously, the primary context menu would get triggered when right clicking on a box, causing some issues
2021-01-11 16:24:41 +01:00
mafiesto4 1d2e2e5575 Merge branch 'jb-perrier-batteryinfo' 2021-01-11 16:13:21 +01:00
mafiesto4 7de0010772 Merge branch 'batteryinfo' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-batteryinfo 2021-01-11 16:13:17 +01:00
mafiesto4 ebe0b9c8c9 Merge branch 'jb-perrier-opendialog' 2021-01-11 15:39:09 +01:00
mafiesto4 fa3b2af0ca Merge branch 'opendialog' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-opendialog 2021-01-11 15:39:06 +01:00
mafiesto4 b446790438 Update shaders 2021-01-11 15:38:22 +01:00
mafiesto4 7ddf98abaa Merge branch 'W2Wizard-typo-fix' 2021-01-11 15:34:46 +01:00
mafiesto4 fb84aa2c4b Merge branch 'typo-fix' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-typo-fix 2021-01-11 15:34:41 +01:00
mafiesto4 023c4f4726 Merge branch 'VNNCC-typo-fix' 2021-01-11 15:33:49 +01:00
mafiesto4 ba1a246a90 Merge branch 'typo-fix' of git://github.com/VNNCC/FlaxEngine into VNNCC-typo-fix 2021-01-11 15:33:45 +01:00
mafiesto4 a664e27772 Add missing event unregister for foliage/terrain tabs 2021-01-11 15:13:47 +01:00
mafiesto4 75b8e0a0f2 Merge branch 'VNNCC-fix-create-terrain-check' 2021-01-11 15:06:48 +01:00
mafiesto4 fc38aff46b Merge branch 'fix-create-terrain-check' of git://github.com/VNNCC/FlaxEngine into VNNCC-fix-create-terrain-check 2021-01-11 15:06:39 +01:00
mafiesto4 1ca31224e2 Fix code style 2021-01-11 15:03:23 +01:00
mafiesto4 c89479b5e7 Merge branch 'jb-perrier-windowstartpos' 2021-01-11 15:00:52 +01:00
mafiesto4 a691f15e1f Merge branch 'windowstartpos' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-windowstartpos 2021-01-11 15:00:48 +01:00
mafiesto4 f0f1863124 Fix code style and move Camera Orientation widget below 2021-01-11 14:58:46 +01:00
mafiesto4 0823e00dfe Merge branch 'jb-perrier-cameraviews' 2021-01-11 14:52:23 +01:00
mafiesto4 43631ceb93 Merge branch 'cameraviews' of git://github.com/jb-perrier/FlaxEngine into jb-perrier-cameraviews 2021-01-11 14:52:19 +01:00
mafiesto4 4bd383f412 Merge branch 'W2Wizard-GoldenRatio' 2021-01-11 14:50:48 +01:00
mafiesto4 caa426767c Merge branch 'GoldenRatio' of git://github.com/W2Wizard/FlaxEngine into W2Wizard-GoldenRatio 2021-01-11 14:50:45 +01:00
stefnotch 7112160de5 Fix dragging existing connection
Undo stack
2021-01-11 13:00:24 +01:00
mafiesto4 f8feccc27d Fixes for unix directories list with path filter 2021-01-10 22:58:34 +01:00
mafiesto4 0dc9d3a59a Add ShowOpenFileDialog on Linux 2021-01-10 22:40:07 +01:00
mafiesto4 7bbf089e9f Add curl for Editor on Linux 2021-01-10 22:15:13 +01:00
mafiesto4 8d7d2431df Add glslang for Linux 2021-01-10 19:57:01 +01:00
mafiesto4 09720ee758 Fix linking Assimp on Linux and strip the lib 2021-01-10 18:58:55 +01:00
stefnotch 419ca4e630 Reduce width of mask nodes 2021-01-10 09:56:10 +01:00
mafiesto4 ee1b7bad56 Fix Editor build on Linux 2021-01-10 09:46:37 +01:00
mafiesto4 c7547b3a46 Merge remote-tracking branch 'origin/master' into linux-editor 2021-01-10 09:14:03 +01:00
jb-perrier 01e904e702 Fixing Windows position (on startup) being always on the top left corner. 2021-01-10 00:17:47 +01:00
jb-perrier d2888d0007 Adding Convert feature to Actor context menu. 2021-01-09 23:21:31 +01:00
stefnotch 9e1c1ecb9a Implement basic node formatter 2021-01-09 21:46:41 +01:00
jb-perrier cd5db384a4 Adding Camera Orientation to editor view menu. 2021-01-09 19:40:06 +01:00
mafiesto4 d586f828b2 Disable Linux CI for now 2021-01-09 18:39:56 +01:00
mafiesto4 f073e07de7 Fix error on CI running on Linux machine 2021-01-09 18:37:05 +01:00
mafiesto4 3f278b603d Fix path separators 2021-01-09 18:24:19 +01:00
mafiesto4 6d0f2b9083 Add CI build action for Linux 2021-01-09 18:21:09 +01:00
mafiesto4 3060a2664d Add executable flag for scripts 2021-01-09 18:20:47 +01:00
mafiesto4 698cfd0c0a Fix BlurPanel crashes due to slider for BlurStrength 2021-01-09 18:09:39 +01:00
mafiesto4 e6bffde301 Merge branch 'gh-actions' 2021-01-09 18:09:09 +01:00
mafiesto4 1b0e57408c Separate checkout steps 2021-01-09 17:43:07 +01:00
mafiesto4 442135047f Use manual LFS checkout 2021-01-09 17:41:56 +01:00
stefnotch ef2dbb7818 Fix double context menu invokation
SurfaceNode.cs already takes care of opening the context menu
2021-01-09 11:26:29 +01:00
W2.Wizard 2d2d45f568 Increased precision by 5 digits 2021-01-08 23:14:09 +01:00
mafiesto4 617e25eb4c Add lfs t repo clone 2021-01-08 23:08:51 +01:00
mafiesto4 24874376c3 Add initial build script for Windows editor and game 2021-01-08 23:00:08 +01:00
W2.Wizard 0d0340e11a Added golden ratio value 2021-01-08 12:06:17 +01:00
VNC 2252cd73f9 Removed unnecessary check 2021-01-07 00:06:43 +01:00
VNC 6deb64e587 Fix to disable terrain and foliage buttons if no scene is present
This will fix the issues described in #99.
2021-01-07 00:02:04 +01:00
mafiesto4 0e768694b5 Add using additional temporary temp param in scripting bindings glue code for array parameters using BytesContainer 2021-01-07 00:01:53 +01:00
mafiesto4 dca6736a6f Inline Vulkan func 2021-01-06 23:53:22 +01:00
W2.Wizard 6f727aa483 Corrected additional typos 2021-01-06 22:20:16 +01:00
VNC 6da5c704b1 Change 'for' to 'to' 2021-01-06 01:03:19 +01:00
mafiesto4 efa5d05f5f Fixes for building editor for Linux 2021-01-05 16:23:02 +01:00
mafiesto4 153cfad507 Merge remote-tracking branch 'origin/1.0' into 1.1 2021-01-05 14:16:23 +01:00
mafiesto4 d7224670c5 Fix PCF shadow uvs vector trunc warning 2021-01-05 14:16:17 +01:00
mafiesto4 31bab88a5b Fix PlatformSettings typedef on Android 2021-01-05 14:15:49 +01:00
mafiesto4 1e383fde5c Fix using AssetRefEditor for editing asset reference on Guid property 2021-01-05 14:15:42 +01:00
mafiesto4 f5b9a95522 Fix null character at shader sources at during game cooking 2021-01-05 14:15:32 +01:00
mafiesto4 199683897a Update DirectXShaderCompiler to 1.6 2021-01-05 14:15:22 +01:00
mafiesto4 be319c446d Refactor settings types to use scripting API 2021-01-05 14:14:34 +01:00
W2.Wizard 4d8cc9aef7 Fixed additional typos
Went through the source with VNNCC to correct as many found typos as possible

Co-Authored-By: VNC <52937757+VNNCC@users.noreply.github.com>
2021-01-05 02:14:21 +01:00
VNC 6ab300025b Fixed a ton of typos 2021-01-05 02:13:15 +01:00
W2.Wizard f7c17d96ce Fixed a typo 2021-01-05 01:06:42 +01:00
jb-perrier f5ac18915a Fixing open save dialog. 2021-01-04 22:44:40 +01:00
jb-perrier ed92489a60 Fixing open file dialog. 2021-01-04 21:59:57 +01:00
mafiesto4 cc8e78b505 Merge remote-tracking branch 'origin/master' into navigation-features
# Conflicts:
#	Source/Editor/Content/Settings/NavigationSettings.cs
#	Source/Engine/Engine/PhysicalMaterial.cs
#	Source/Tools/Flax.Build/Bindings/BindingsGenerator.Api.cs
2021-01-04 14:31:56 +01:00
mafiesto4 b38ccb0fbd Remove submodules 2021-01-04 14:30:33 +01:00
mafiesto4 953f8da84d Update copyright year 2021-01-04 14:25:21 +01:00
mafiesto4 cd8a27ca26 Fix typo 2021-01-04 14:20:00 +01:00
mafiesto4 c5568c8eae Add support for loading JsonAsset instance objects if they implement ISerializable interface 2021-01-04 14:19:51 +01:00
mafiesto4 8dc5b11f51 Add API_INTERFACE to scripting API bindings for implementing interfaces 2021-01-04 14:18:59 +01:00
stefnotch 10cdbc8fbc Add dragging existing connection from input box 2021-01-04 12:33:29 +01:00
jb-perrier 21ec0f103e Implementing GetBatteryInfo() in PlatformBase. 2021-01-02 18:41:00 +01:00
jb-perrier 3ed2e010fa Bumping new file copyright to 2021. 2021-01-02 14:55:30 +01:00
jb-perrier e9f72dbbbf Adding ACLineStatus enum. 2021-01-02 13:15:15 +01:00
jb-perrier 624ab4b8dd Implementing GetBatteryInfo() to Win32Platform. 2021-01-02 12:54:16 +01:00
jb-perrier a4607385fd Adding GetBatteryInfo() to PlatformBase. 2021-01-02 12:53:20 +01:00
jb-perrier 0f2e579674 Create BatteryInfo struct. 2021-01-02 12:51:32 +01:00
mafiesto4 e4936547e3 Fixes for building editor for Linux 2020-12-23 21:54:21 +01:00
mafiesto4 429b71b63f Add Editor config for Linux 2020-12-23 21:28:44 +01:00
mafiesto4 969367dc3e Add Assimp for Linux 2020-12-23 21:27:29 +01:00
mafiesto4 e242dbf89f Add missing code for ScriptingType copy/move 2020-12-23 12:58:31 +01:00
mafiesto4 ce6c360d29 Add proper typeInfo generation for non-scripting API classes 2020-12-23 12:55:53 +01:00
mafiesto4 07fb8e034f Merge remote-tracking branch 'origin/master' into navigation-features 2020-12-23 11:04:09 +01:00
mafiesto4 16cd75d179 Fix code style 2020-12-22 12:57:00 +01:00
mafiesto4 4665e8fbdb Add support for basic classes to Scripting Type (without scripting object as a base) 2020-12-22 12:55:57 +01:00
mafiesto4 f25064fae8 Merge remote-tracking branch 'origin/master' into navigation-features 2020-12-22 12:13:26 +01:00
mafiesto4 5e77925492 Fix crash when using Physical Material with missing instance 2020-12-22 11:18:00 +01:00
mafiesto4 7798a7f6d5 Refactor PhysicalMaterial to use API bindings 2020-12-21 15:39:14 +01:00
mafiesto4 41b938b3cd Refactor NavigationSettings to use API bindings 2020-12-21 14:53:54 +01:00
mafiesto4 4d2d801bf4 Fix typos 2020-12-21 14:53:33 +01:00
mafiesto4 cea1a67749 Refactor game settings to support using API bindings 2020-12-21 14:53:27 +01:00
mafiesto4 aa7711dc31 Fix loaded asset verification error for json assets that have the scripting type 2020-12-21 14:03:53 +01:00
mafiesto4 585c752d72 Add more objects types checks and casting utilities to ScriptingObject 2020-12-21 14:03:15 +01:00
mafiesto4 3a314d97eb Add ScriptingTypeHandle debugger view to flax.natvis 2020-12-21 13:29:52 +01:00
mafiesto4 0e6ead938e Add support for API class not using ScriptingObject as a base 2020-12-17 23:09:09 +01:00
mafiesto4 93c35a19f5 Add NavMeshProperties 2020-12-16 10:24:18 +01:00
mafiesto4 a36a54adcd Tweaks 2020-12-15 17:43:46 +01:00
mafiesto4 4c0c7cc394 Add NavAgentProperties and NavigationTypes.h 2020-12-15 17:15:29 +01:00
mafiesto4 4a79df860d Refactor NavMesh into NavMeshRuntime and make it internal 2020-12-15 15:48:42 +01:00
2263 changed files with 144914 additions and 58393 deletions
+43
View File
@@ -0,0 +1,43 @@
name: Build Linux
on: [push, pull_request]
jobs:
# Editor
editor-linux:
name: Editor (Linux, Development x64)
runs-on: "ubuntu-20.04"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
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: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxEditor
# Game
game-linux:
name: Game (Linux, Release x64)
runs-on: "ubuntu-20.04"
steps:
- name: Install dependencies
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Release -buildtargets=FlaxGame
@@ -0,0 +1,4 @@
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
+34
View File
@@ -0,0 +1,34 @@
name: Build Windows
on: [push, pull_request]
jobs:
# Editor
editor-windows:
name: Editor (Windows, Development x64)
runs-on: "windows-latest"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxEditor
# Game
game-windows:
name: Game (Windows, Release x64)
runs-on: "windows-latest"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Release -buildtargets=FlaxGame
+100
View File
@@ -0,0 +1,100 @@
name: Continuous Deployment
on:
schedule:
- cron: '15 4 * * *'
workflow_dispatch:
jobs:
# Windows
package-windows-editor:
name: Editor (Windows)
runs-on: "windows-latest"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Windows-Editor
path: Output/Editor.zip
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Windows-EditorDebugSymbols
path: Output/EditorDebugSymbols.zip
package-windows-game:
name: Game (Windows)
runs-on: "windows-latest"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Windows-Game
path: Output/Windows.zip
# Linux
package-linux-editor:
name: Editor (Linux)
runs-on: "ubuntu-20.04"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
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: |
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Linux-Editor
path: Output/FlaxEditorLinux.zip
package-linux-game:
name: Game (Linux)
runs-on: "ubuntu-20.04"
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Checkout LFS
run: |
git lfs version
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: |
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Linux-Game
path: Output/Linux.zip
+3 -40
View File
@@ -7,7 +7,9 @@ Cache/
Binaries/
Logs/
Source/*.csproj
/Package_*/
!Source/Engine/Debug
/Source/Platforms/Editor/Linux/Mono/etc/mono/registry
# User-specific files
*.suo
@@ -22,11 +24,6 @@ Source/*.csproj
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# NuGet Packages Directory
packages/**/*
!packages/repositories.config
@@ -56,9 +53,6 @@ packages/**/*
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
@@ -72,12 +66,6 @@ ipch/
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
@@ -100,9 +88,6 @@ _NCrunch_*
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
@@ -149,32 +134,9 @@ ClientBin/
*.publishsettings
node_modules/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project files
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml
# IDE files
*.VC.db
enc_temp_folder/
@@ -185,3 +147,4 @@ obj/
*.vcxproj.filters
.vscode/
*.code-workspace
+50
View File
@@ -0,0 +1,50 @@
# How to contribute to the FlaxEngine
For any questions, suggestions or help join our discord!
<a href="https://flaxengine.com/discord"><img src="https://discordapp.com/api/guilds/437989205315158016/widget.png"/></a>
Want to see whats planned for Flax?
Go check out our [Trello](https://trello.com/b/NQjLXRCP/flax-roadmap).
## **Found a bug?**
* Avoid opening any new issues without having checked if your problem has already been reported. If there are no currently open issues that fit your problem's description, feel free to [add it](https://github.com/FlaxEngine/FlaxEngine/issues/new).
* When writing an issue make sure to include a clear title and description as well as having filled out all the necessary information, depending on the severity of the issue also include the necessary log files and minidump.
* Try to following the given template when writing a new issue if possible.
## **Want to contribute?**
* Fork the FlaxEngine, create a new branch and push your changes there. Then, create a pull request.
* When creating a PR for fixing an issue/bug make sure to describe as to what led to the fix for better understanding, for small and obvious fixes this is not really needed.
However make sure to mention the relevant issue where it was first reported if possible.
* For feature PR's the first thing you should evaluate is the value of your contribution, as in, what would it bring to this engine? Is it really required?
If its a small change you could preferably suggest it to us on our discord, else feel free to open up a PR for it.
* Ensure when creating a PR that your contribution is well explained with a adequate description and title.
* Generally, good code quality is expected, make sure your contribution works as intended and is appropriately commented where necessary.
Thank you for taking interest in contributing to Flax!
## **Common issues**
Below are some common issues that someone working with the FlaxEngine source code might run into. Hopefully some of those issues will get fixed in the future. If you know how, please contribute!
* Missing MSVC toolset
* Install it through the Visual Studio Installer
* Building or attaching fails
* Run `GenerateProjectFiles.bat`
* Rebuild `Flax.Build`
* Make sure that there isn't a stray FlaxEngine process running in the background
* First start Flax and then attach the C# debugger
* Configure the C# FlaxEngine project by going into the project properties, then the debug tab and selecting "Start external program" `Flax\FlaxEngine\Binaries\Editor\Win64\Debug\FlaxEditor.exe`
* Then you can also set command line arguments such as `-project "C:\Users\PROFILE\Documents\Flax Projects\FlaxSamples\BasicTemplate"`
* Git LFS
* Push with `git push --no-verify`
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.
@@ -108,15 +108,14 @@ float4 GetVertexColor(MaterialInput input)
return 1;
}
@8
// Get material properties function (for pixel shader)
Material GetMaterialPS(MaterialInput input)
{
@4
}
// Fix line for errors/warnings for shader code from template
#line 1000
// Input macro specified by the material: DECAL_BLEND_MODE
#define DECAL_BLEND_MODE_TRANSLUCENT 0
@@ -195,19 +194,21 @@ void PS_Decal(
Out2 = float4(material.Emissive, material.Opacity);
#if USE_NORMAL
// GBuffer1
Out3 = float4(material.WorldNormal * 0.5f + 0.5f, 1);
Out3 = float4(material.WorldNormal * 0.5f + 0.5f, material.Opacity);
#endif
#elif USE_NORMAL
// GBuffer1
Out2 = float4(material.WorldNormal * 0.5f + 0.5f, 1);
Out2 = float4(material.WorldNormal * 0.5f + 0.5f, material.Opacity);
#endif
#elif DECAL_BLEND_MODE == DECAL_BLEND_MODE_STAIN
Out0 = float4(material.Color, material.Opacity);
#elif DECAL_BLEND_MODE == DECAL_BLEND_MODE_NORMAL
Out0 = float4(material.WorldNormal * 0.5f + 0.5f, 1);
Out0 = float4(material.WorldNormal * 0.5f + 0.5f, material.Opacity);
#elif DECAL_BLEND_MODE == DECAL_BLEND_MODE_EMISSIVE
Out0 = float4(material.Emissive * material.Opacity, material.Opacity);
#else
#error "Invalid decal blending mode"
#endif
}
@9
@@ -0,0 +1,377 @@
// File generated by Flax Materials Editor
// Version: @0
#define MATERIAL 1
@3
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 ViewProjectionMatrix;
float4x4 WorldMatrix;
float4x4 LocalMatrix;
float4x4 ViewMatrix;
float3 ViewPos;
float ViewFar;
float3 ViewDir;
float TimeParam;
float4 ViewInfo;
float4 ScreenSize;
float3 Dummy0;
float WorldDeterminantSign;
float MeshMinZ;
float Segment;
float ChunksPerSegment;
float PerInstanceRandom;
float4 TemporalAAJitter;
float3 GeometrySize;
float MeshMaxZ;
@1META_CB_END
// Shader resources
@2
// The spline deformation buffer (stored as 4x3, 3 float4 behind each other)
Buffer<float4> SplineDeformation : register(t0);
// Geometry data passed though the graphics rendering stages up to the pixel shader
struct GeometryData
{
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
#if USE_VERTEX_COLOR
half4 VertexColor : COLOR;
#endif
float3 WorldNormal : TEXCOORD2;
float4 WorldTangent : TEXCOORD3;
};
// Interpolants passed from the vertex shader
struct VertexOutput
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
#if USE_TESSELLATION
float TessellationMultiplier : TESS;
#endif
};
// Interpolants passed to the pixel shader
struct PixelInput
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
bool IsFrontFace : SV_IsFrontFace;
};
// Material properties generation input
struct MaterialInput
{
float3 WorldPosition;
float TwoSidedSign;
float2 TexCoord;
#if USE_VERTEX_COLOR
half4 VertexColor;
#endif
float3x3 TBN;
float4 SvPosition;
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT];
#endif
};
// Extracts geometry data to the material input
MaterialInput GetGeometryMaterialInput(GeometryData geometry)
{
MaterialInput output = (MaterialInput)0;
output.WorldPosition = geometry.WorldPosition;
output.TexCoord = geometry.TexCoord;
#if USE_VERTEX_COLOR
output.VertexColor = geometry.VertexColor;
#endif
output.TBN = CalcTangentBasis(geometry.WorldNormal, geometry.WorldTangent);
return output;
}
#if USE_TESSELLATION
// Interpolates the geometry positions data only (used by the tessallation when generating vertices)
#define InterpolateGeometryPositions(output, p0, w0, p1, w1, p2, w2, offset) output.WorldPosition = p0.WorldPosition * w0 + p1.WorldPosition * w1 + p2.WorldPosition * w2 + offset
// Offsets the geometry positions data only (used by the tessallation when generating vertices)
#define OffsetGeometryPositions(geometry, offset) geometry.WorldPosition += offset
// Applies the Phong tessallation to the geometry positions (used by the tessallation when doing Phong tess)
#define ApplyGeometryPositionsPhongTess(geometry, p0, p1, p2, U, V, W) \
float3 posProjectedU = TessalationProjectOntoPlane(p0.WorldNormal, p0.WorldPosition, geometry.WorldPosition); \
float3 posProjectedV = TessalationProjectOntoPlane(p1.WorldNormal, p1.WorldPosition, geometry.WorldPosition); \
float3 posProjectedW = TessalationProjectOntoPlane(p2.WorldNormal, p2.WorldPosition, geometry.WorldPosition); \
geometry.WorldPosition = U * posProjectedU + V * posProjectedV + W * posProjectedW
// Interpolates the geometry data except positions (used by the tessallation when generating vertices)
GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, float w1, GeometryData p2, float w2)
{
GeometryData output = (GeometryData)0;
output.TexCoord = p0.TexCoord * w0 + p1.TexCoord * w1 + p2.TexCoord * w2;
#if USE_VERTEX_COLOR
output.VertexColor = p0.VertexColor * w0 + p1.VertexColor * w1 + p2.VertexColor * w2;
#endif
output.WorldNormal = p0.WorldNormal * w0 + p1.WorldNormal * w1 + p2.WorldNormal * w2;
output.WorldNormal = normalize(output.WorldNormal);
output.WorldTangent = p0.WorldTangent * w0 + p1.WorldTangent * w1 + p2.WorldTangent * w2;
output.WorldTangent.xyz = normalize(output.WorldTangent.xyz);
return output;
}
#endif
MaterialInput GetMaterialInput(PixelInput input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.SvPosition = input.Position;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = input.CustomVSToPS;
#endif
return output;
}
// Removes the scale vector from the local to world transformation matrix
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
{
// Extract per axis scales from localToWorld transform
float scaleX = length(localToWorld[0]);
float scaleY = length(localToWorld[1]);
float scaleZ = length(localToWorld[2]);
float3 invScale = float3(
scaleX > 0.00001f ? 1.0f / scaleX : 0.0f,
scaleY > 0.00001f ? 1.0f / scaleY : 0.0f,
scaleZ > 0.00001f ? 1.0f / scaleZ : 0.0f);
localToWorld[0] *= invScale.x;
localToWorld[1] *= invScale.y;
localToWorld[2] *= invScale.z;
return localToWorld;
}
// Transforms a vector from tangent space to world space
float3 TransformTangentVectorToWorld(MaterialInput input, float3 tangentVector)
{
return mul(tangentVector, input.TBN);
}
// Transforms a vector from world space to tangent space
float3 TransformWorldVectorToTangent(MaterialInput input, float3 worldVector)
{
return mul(input.TBN, worldVector);
}
// Transforms a vector from world space to view space
float3 TransformWorldVectorToView(MaterialInput input, float3 worldVector)
{
return mul(worldVector, (float3x3)ViewMatrix);
}
// Transforms a vector from view space to world space
float3 TransformViewVectorToWorld(MaterialInput input, float3 viewVector)
{
return mul((float3x3)ViewMatrix, viewVector);
}
// Transforms a vector from local space to world space
float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
{
float3x3 localToWorld = (float3x3)WorldMatrix;
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localVector, localToWorld);
}
// Transforms a vector from local space to world space
float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
{
float3x3 localToWorld = (float3x3)WorldMatrix;
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localToWorld, worldVector);
}
// Gets the current object position
float3 GetObjectPosition(MaterialInput input)
{
return WorldMatrix[3].xyz;
}
// Gets the current object size
float3 GetObjectSize(MaterialInput input)
{
float4x4 world = WorldMatrix;
return GeometrySize * float3(world._m00, world._m11, world._m22);
}
// Get the current object random value
float GetPerInstanceRandom(MaterialInput input)
{
return PerInstanceRandom;
}
// Get the current object LOD transition dither factor
float GetLODDitherFactor(MaterialInput input)
{
return 0;
}
// Gets the interpolated vertex color (in linear space)
float4 GetVertexColor(MaterialInput input)
{
#if USE_VERTEX_COLOR
return input.VertexColor;
#else
return 1;
#endif
}
float3 SampleLightmap(Material material, MaterialInput materialInput)
{
return 0;
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@5
}
// Get material properties function (for domain shader)
Material GetMaterialDS(MaterialInput input)
{
@6
}
// Get material properties function (for pixel shader)
Material GetMaterialPS(MaterialInput input)
{
@4
}
// Calculates the transform matrix from mesh tangent space to local space
float3x3 CalcTangentToLocal(ModelInput input)
{
float bitangentSign = input.Tangent.w ? -1.0f : +1.0f;
float3 normal = input.Normal.xyz * 2.0 - 1.0;
float3 tangent = input.Tangent.xyz * 2.0 - 1.0;
float3 bitangent = cross(normal, tangent) * bitangentSign;
return float3x3(tangent, bitangent, normal);
}
// Vertex Shader function for GBuffer Pass and Depth Pass (with full vertex data)
META_VS(true, FEATURE_LEVEL_ES2)
META_VS_IN_ELEMENT(POSITION, 0, R32G32B32_FLOAT, 0, 0, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 1, 0, PER_VERTEX, 0, true)
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)
VertexOutput VS_SplineModel(ModelInput input)
{
VertexOutput output;
// Apply local transformation of the geometry before deformation
float3 position = mul(float4(input.Position, 1), LocalMatrix).xyz;
float4x4 world = LocalMatrix;
// Apply spline curve deformation
float splineAlpha = saturate((position.z - MeshMinZ) / (MeshMaxZ - MeshMinZ));
int splineIndex = (int)((Segment + splineAlpha) * ChunksPerSegment);
position.z = splineAlpha;
float3x4 splineMatrix = float3x4(SplineDeformation[splineIndex * 3], SplineDeformation[splineIndex * 3 + 1], SplineDeformation[splineIndex * 3 + 2]);
position = mul(splineMatrix, float4(position, 1));
float4x3 splineMatrixT = transpose(splineMatrix);
world = mul(world, float4x4(float4(splineMatrixT[0], 0), float4(splineMatrixT[1], 0), float4(splineMatrixT[2], 0), float4(splineMatrixT[3], 1)));
// Compute world space vertex position
output.Geometry.WorldPosition = mul(float4(position, 1), WorldMatrix).xyz;
world = mul(world, WorldMatrix);
// Compute clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
// Pass vertex attributes
output.Geometry.TexCoord = input.TexCoord;
#if USE_VERTEX_COLOR
output.Geometry.VertexColor = input.Color;
#endif
// Calculate tanget space to world space transformation matrix for unit vectors
float3x3 tangentToLocal = CalcTangentToLocal(input);
float3x3 localToWorld = RemoveScaleFromLocalToWorld((float3x3)world);
float3x3 tangentToWorld = mul(tangentToLocal, localToWorld);
output.Geometry.WorldNormal = tangentToWorld[2];
output.Geometry.WorldTangent.xyz = tangentToWorld[0];
output.Geometry.WorldTangent.w = input.Tangent.w ? -1.0f : +1.0f;
// 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.SvPosition = output.Position;
materialInput.PreSkinnedPosition = input.Position.xyz;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
Material material = GetMaterialVS(materialInput);
#endif
// Apply world position offset per-vertex
#if USE_POSITION_OFFSET
output.Geometry.WorldPosition += material.PositionOffset;
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
#endif
// Get tessalation multiplier (per vertex)
#if USE_TESSELLATION
output.TessellationMultiplier = material.TessellationMultiplier;
#endif
// Copy interpolants for other shader stages
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = material.CustomVSToPS;
#endif
return output;
}
#if USE_DITHERED_LOD_TRANSITION
void ClipLODTransition(PixelInput input)
{
}
#endif
// Pixel Shader function for Depth Pass
META_PS(true, FEATURE_LEVEL_ES2)
void PS_Depth(PixelInput input)
{
#if MATERIAL_MASKED || MATERIAL_BLEND != MATERIAL_BLEND_OPAQUE
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Perform per pixel clipping
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
#if MATERIAL_BLEND != MATERIAL_BLEND_OPAQUE
clip(material.Opacity - MATERIAL_OPACITY_THRESHOLD);
#endif
#endif
}
@9
@@ -0,0 +1,84 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Deferred Shading: Defines
@1// Deferred Shading: Includes
@2// Deferred Shading: Constants
@3// Deferred Shading: Resources
@4// Deferred Shading: Utilities
@5// Deferred Shading: Shaders
// Pixel Shader function for GBuffer Pass
META_PS(true, FEATURE_LEVEL_ES2)
META_PERMUTATION_1(USE_LIGHTMAP=0)
META_PERMUTATION_1(USE_LIGHTMAP=1)
void PS_GBuffer(
in PixelInput input
,out float4 Light : SV_Target0
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
// GBuffer
,out float4 RT0 : SV_Target1
,out float4 RT1 : SV_Target2
,out float4 RT2 : SV_Target3
#if USE_GBUFFER_CUSTOM_DATA
,out float4 RT3 : SV_Target4
#endif
#endif
)
{
Light = 0;
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
#if USE_LIGHTMAP
float3 diffuseColor = GetDiffuseColor(material.Color, material.Metalness);
float3 specularColor = GetSpecularColor(material.Color, material.Specular, material.Metalness);
// Sample lightmap
float3 diffuseIndirectLighting = SampleLightmap(material, materialInput);
// Apply static indirect light
Light.rgb = diffuseColor * diffuseIndirectLighting * AOMultiBounce(material.AO, diffuseColor);
#endif
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
// Pack material properties to GBuffer
RT0 = float4(material.Color, material.AO);
RT1 = float4(material.WorldNormal * 0.5 + 0.5, MATERIAL_SHADING_MODEL * (1.0 / 3.0));
RT2 = float4(material.Roughness, material.Metalness, material.Specular, 0);
// Custom data
#if USE_GBUFFER_CUSTOM_DATA
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_SUBSURFACE
RT3 = float4(material.SubsurfaceColor, material.Opacity);
#elif MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
RT3 = float4(material.SubsurfaceColor, material.Opacity);
#else
RT3 = float4(0, 0, 0, 0);
#endif
#endif
// Add light emission
#if USE_EMISSIVE
Light.rgb += material.Emissive;
#endif
#else
// Handle blending as faked forward pass (use Light buffer and skip GBuffer modification)
Light = float4(material.Emissive, material.Opacity);
#endif
}
@@ -0,0 +1,50 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Distortion: Defines
@1// Distortion: Includes
@2// Distortion: Constants
@3// Distortion: Resources
@4// Distortion: Utilities
@5// Distortion: Shaders
#if USE_DISTORTION
// Pixel Shader function for Distortion Pass
META_PS(USE_DISTORTION, FEATURE_LEVEL_ES2)
float4 PS_Distortion(PixelInput input) : SV_Target0
{
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
float3 viewNormal = normalize(TransformWorldVectorToView(materialInput, material.WorldNormal));
float airIOR = 1.0f;
#if USE_PIXEL_NORMAL_OFFSET_REFRACTION
float3 viewVertexNormal = TransformWorldVectorToView(materialInput, TransformTangentVectorToWorld(materialInput, float3(0, 0, 1)));
float2 distortion = (viewVertexNormal.xy - viewNormal.xy) * (material.Refraction - airIOR);
#else
float2 distortion = viewNormal.xy * (material.Refraction - airIOR);
#endif
// Clip if the distortion distance (squared) is too small to be noticed
clip(dot(distortion, distortion) - 0.00001);
// Scale up for better precision in low/subtle refractions at the expense of artefacts at higher refraction
distortion *= 4.0f;
// Use separate storage for positive and negative offsets
float2 addOffset = max(distortion, 0);
float2 subOffset = abs(min(distortion, 0));
return float4(addOffset.x, addOffset.y, subOffset.x, subOffset.y);
}
#endif
@@ -0,0 +1,124 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Forward Shading: Defines
#define MAX_LOCAL_LIGHTS 4
@1// Forward Shading: Includes
#include "./Flax/LightingCommon.hlsl"
#if USE_REFLECTIONS
#include "./Flax/ReflectionsCommon.hlsl"
#endif
#include "./Flax/Lighting.hlsl"
#include "./Flax/ShadowsSampling.hlsl"
#include "./Flax/ExponentialHeightFog.hlsl"
@2// Forward Shading: Constants
LightData DirectionalLight;
LightShadowData DirectionalLightShadow;
LightData SkyLight;
ProbeData EnvironmentProbe;
ExponentialHeightFogData ExponentialHeightFog;
float3 Dummy2;
uint LocalLightsCount;
LightData LocalLights[MAX_LOCAL_LIGHTS];
@3// Forward Shading: Resources
TextureCube EnvProbe : register(t__SRV__);
TextureCube SkyLightTexture : register(t__SRV__);
Texture2DArray DirectionalLightShadowMap : register(t__SRV__);
@4// Forward Shading: Utilities
DECLARE_LIGHTSHADOWDATA_ACCESS(DirectionalLightShadow);
@5// Forward Shading: Shaders
// Pixel Shader function for Forward Pass
META_PS(USE_FORWARD, FEATURE_LEVEL_ES2)
float4 PS_Forward(PixelInput input) : SV_Target0
{
float4 output = 0;
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
#endif
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
// Add emissive light
output = float4(material.Emissive, material.Opacity);
#if MATERIAL_SHADING_MODEL != SHADING_MODEL_UNLIT
// Setup GBuffer data as proxy for lighting
GBufferSample gBuffer;
gBuffer.Normal = material.WorldNormal;
gBuffer.Roughness = material.Roughness;
gBuffer.Metalness = material.Metalness;
gBuffer.Color = material.Color;
gBuffer.Specular = material.Specular;
gBuffer.AO = material.AO;
gBuffer.ViewPos = mul(float4(materialInput.WorldPosition, 1), ViewMatrix).xyz;
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_SUBSURFACE
gBuffer.CustomData = float4(material.SubsurfaceColor, material.Opacity);
#elif MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
gBuffer.CustomData = float4(material.SubsurfaceColor, material.Opacity);
#else
gBuffer.CustomData = float4(0, 0, 0, 0);
#endif
gBuffer.WorldPos = materialInput.WorldPosition;
gBuffer.ShadingModel = MATERIAL_SHADING_MODEL;
// 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);
}
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
// Calculate lighting from sky light
light += GetSkyLightLighting(SkyLight, gBuffer, SkyLightTexture);
// Calculate lighting from local lights
LOOP
for (uint localLightIndex = 0; localLightIndex < LocalLightsCount; localLightIndex++)
{
const LightData localLight = LocalLights[localLightIndex];
bool isSpotLight = localLight.SpotAngles.x > -2.0f;
shadowMask = 1.0f;
light += GetLighting(ViewPos, localLight, gBuffer, shadowMask, true, isSpotLight);
}
#if USE_REFLECTIONS
// Calculate reflections
light.rgb += GetEnvProbeLighting(ViewPos, EnvProbe, EnvironmentProbe, gBuffer) * light.a;
#endif
// Add lighting (apply ambient occlusion)
output.rgb += light.rgb * gBuffer.AO;
#if USE_FOG
// Calculate exponential height fog
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, 0);
// Apply fog to the output color
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
output = float4(output.rgb * fog.a + fog.rgb, output.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_TRANSPARENT
output = float4(output.rgb * fog.a + fog.rgb, output.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_ADDITIVE
output = float4(output.rgb * fog.a + fog.rgb, output.a * fog.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_MULTIPLY
output = float4(lerp(float3(1, 1, 1), output.rgb, fog.aaa * fog.aaa), output.a);
#endif
#endif
#endif
return output;
}
@@ -0,0 +1,54 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Lightmap: Defines
#define CAN_USE_LIGHTMAP 1
@1// Lightmap: Includes
@2// Lightmap: Constants
float4 LightmapArea;
@3// Lightmap: Resources
#if USE_LIGHTMAP
// Irradiance and directionality prebaked lightmaps
Texture2D Lightmap0 : register(t__SRV__);
Texture2D Lightmap1 : register(t__SRV__);
Texture2D Lightmap2 : register(t__SRV__);
#endif
@4// Lightmap: Utilities
#if USE_LIGHTMAP
// Evaluates the H-Basis coefficients in the tangent space normal direction
float3 GetHBasisIrradiance(float3 n, float3 h0, float3 h1, float3 h2, float3 h3)
{
// Band 0
float3 color = h0 * (1.0f / sqrt(2.0f * PI));
// Band 1
color += h1 * -sqrt(1.5f / PI) * n.y;
color += h2 * sqrt(1.5f / PI) * (2 * n.z - 1.0f);
color += h3 * -sqrt(1.5f / PI) * n.x;
return color;
}
float3 SampleLightmap(Material material, MaterialInput materialInput)
{
// Sample lightmaps
float4 lightmap0 = Lightmap0.Sample(SamplerLinearClamp, materialInput.LightmapUV);
float4 lightmap1 = Lightmap1.Sample(SamplerLinearClamp, materialInput.LightmapUV);
float4 lightmap2 = Lightmap2.Sample(SamplerLinearClamp, materialInput.LightmapUV);
// Unpack H-basis
float3 h0 = float3(lightmap0.x, lightmap1.x, lightmap2.x);
float3 h1 = float3(lightmap0.y, lightmap1.y, lightmap2.y);
float3 h2 = float3(lightmap0.z, lightmap1.z, lightmap2.z);
float3 h3 = float3(lightmap0.w, lightmap1.w, lightmap2.w);
// Sample baked diffuse irradiance from the H-basis coefficients
float3 normal = material.TangentNormal;
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
normal *= material.TangentNormal;
#endif
return GetHBasisIrradiance(normal, h0, h1, h2, h3) / PI;
}
#endif
@5// Lightmap: Shaders
@@ -0,0 +1,44 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Motion Vectors: Defines
@1// Motion Vectors: Includes
@2// Motion Vectors: Constants
@3// Motion Vectors: Resources
@4// Motion Vectors: Utilities
@5// Motion Vectors: Shaders
// Pixel Shader function for Motion Vectors Pass
META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_MotionVectors(PixelInput input) : SV_Target0
{
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
#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
// Calculate this and previosu frame pixel locations in clip space
float4 prevClipPos = mul(float4(input.Geometry.PrevWorldPosition, 1), PrevViewProjectionMatrix);
float4 curClipPos = mul(float4(input.Geometry.WorldPosition, 1), ViewProjectionMatrix);
float2 prevHPos = prevClipPos.xy / prevClipPos.w;
float2 curHPos = curClipPos.xy / curClipPos.w;
// Revert temporal jitter offset
prevHPos -= TemporalAAJitter.zw;
curHPos -= TemporalAAJitter.xy;
// Clip Space -> UV Space
float2 vPosPrev = prevHPos.xy * 0.5f + 0.5f;
float2 vPosCur = curHPos.xy * 0.5f + 0.5f;
vPosPrev.y = 1.0 - vPosPrev.y;
vPosCur.y = 1.0 - vPosCur.y;
// Calculate per-pixel motion vector
return float4(vPosCur - vPosPrev, 0, 1);
}
@@ -0,0 +1,184 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
@0// Tessellation: Defines
#define TessalationProjectOntoPlane(planeNormal, planePosition, pointToProject) pointToProject - dot(pointToProject - planePosition, planeNormal) * planeNormal
@1// Tessellation: Includes
@2// Tessellation: Constants
@3// Tessellation: Resources
@4// Tessellation: Utilities
@5// Tessellation: Shaders
#if USE_TESSELLATION
// Interpolants passed from the hull shader to the domain shader
struct TessalationHSToDS
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
float TessellationMultiplier : TESS;
};
// Interpolants passed from the domain shader and to the pixel shader
struct TessalationDSToPS
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
};
MaterialInput GetMaterialInput(TessalationDSToPS input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.SvPosition = input.Position;
output.TwoSidedSign = WorldDeterminantSign;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = input.CustomVSToPS;
#endif
return output;
}
struct TessalationPatch
{
float EdgeTessFactor[3] : SV_TessFactor;
float InsideTessFactor : SV_InsideTessFactor;
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
float3 B210 : POSITION4;
float3 B120 : POSITION5;
float3 B021 : POSITION6;
float3 B012 : POSITION7;
float3 B102 : POSITION8;
float3 B201 : POSITION9;
float3 B111 : CENTER;
#endif
};
TessalationPatch HS_PatchConstant(InputPatch<VertexOutput, 3> input)
{
TessalationPatch output;
// Average tess factors along edges, and pick an edge tess factor for the interior tessellation
float4 tessellationMultipliers;
tessellationMultipliers.x = 0.5f * (input[1].TessellationMultiplier + input[2].TessellationMultiplier);
tessellationMultipliers.y = 0.5f * (input[2].TessellationMultiplier + input[0].TessellationMultiplier);
tessellationMultipliers.z = 0.5f * (input[0].TessellationMultiplier + input[1].TessellationMultiplier);
tessellationMultipliers.w = 0.333f * (input[0].TessellationMultiplier + input[1].TessellationMultiplier + input[2].TessellationMultiplier);
tessellationMultipliers = clamp(tessellationMultipliers, 1, MAX_TESSELLATION_FACTOR);
output.EdgeTessFactor[0] = tessellationMultipliers.x; // 1->2 edge
output.EdgeTessFactor[1] = tessellationMultipliers.y; // 2->0 edge
output.EdgeTessFactor[2] = tessellationMultipliers.z; // 0->1 edge
output.InsideTessFactor = tessellationMultipliers.w;
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
// Calculate PN Triangle control points
// Reference: [Vlachos 2001]
float3 p1 = input[0].Geometry.WorldPosition;
float3 p2 = input[1].Geometry.WorldPosition;
float3 p3 = input[2].Geometry.WorldPosition;
float3 n1 = input[0].Geometry.WorldNormal;
float3 n2 = input[1].Geometry.WorldNormal;
float3 n3 = input[2].Geometry.WorldNormal;
output.B210 = (2.0f * p1 + p2 - dot((p2 - p1), n1) * n1) / 3.0f;
output.B120 = (2.0f * p2 + p1 - dot((p1 - p2), n2) * n2) / 3.0f;
output.B021 = (2.0f * p2 + p3 - dot((p3 - p2), n2) * n2) / 3.0f;
output.B012 = (2.0f * p3 + p2 - dot((p2 - p3), n3) * n3) / 3.0f;
output.B102 = (2.0f * p3 + p1 - dot((p1 - p3), n3) * n3) / 3.0f;
output.B201 = (2.0f * p1 + p3 - dot((p3 - p1), n1) * n1) / 3.0f;
float3 e = (output.B210 + output.B120 + output.B021 + output.B012 + output.B102 + output.B201) / 6.0f;
float3 v = (p1 + p2 + p3) / 3.0f;
output.B111 = e + ((e - v) / 2.0f);
#endif
return output;
}
META_HS(USE_TESSELLATION, FEATURE_LEVEL_SM5)
META_HS_PATCH(TESSELLATION_IN_CONTROL_POINTS)
[domain("tri")]
[partitioning("fractional_odd")]
[outputtopology("triangle_cw")]
[maxtessfactor(MAX_TESSELLATION_FACTOR)]
[outputcontrolpoints(3)]
[patchconstantfunc("HS_PatchConstant")]
TessalationHSToDS HS(InputPatch<VertexOutput, TESSELLATION_IN_CONTROL_POINTS> input, uint ControlPointID : SV_OutputControlPointID)
{
TessalationHSToDS output;
// Pass through shader
#define COPY(thing) output.thing = input[ControlPointID].thing;
COPY(Position);
COPY(Geometry);
COPY(TessellationMultiplier);
#if USE_CUSTOM_VERTEX_INTERPOLATORS
COPY(CustomVSToPS);
#endif
#undef COPY
return output;
}
META_DS(USE_TESSELLATION, FEATURE_LEVEL_SM5)
[domain("tri")]
TessalationDSToPS DS(TessalationPatch constantData, float3 barycentricCoords : SV_DomainLocation, const OutputPatch<TessalationHSToDS, 3> input)
{
TessalationDSToPS output;
// Get the barycentric coords
float U = barycentricCoords.x;
float V = barycentricCoords.y;
float W = barycentricCoords.z;
// Interpolate patch attributes to generated vertices
output.Geometry = InterpolateGeometry(input[0].Geometry, U, input[1].Geometry, V, input[2].Geometry, W);
#define INTERPOLATE(thing) output.thing = U * input[0].thing + V * input[1].thing + W * input[2].thing
INTERPOLATE(Position);
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
// Interpolate using barycentric coordinates and PN Triangle control points
float UU = U * U;
float VV = V * V;
float WW = W * W;
float UU3 = UU * 3.0f;
float VV3 = VV * 3.0f;
float WW3 = WW * 3.0f;
float3 offset =
constantData.B210 * UU3 * V +
constantData.B120 * VV3 * U +
constantData.B021 * VV3 * W +
constantData.B012 * WW3 * V +
constantData.B102 * WW3 * U +
constantData.B201 * UU3 * W +
constantData.B111 * 6.0f * W * U * V;
InterpolateGeometryPositions(output.Geometry, input[0].Geometry, UU * U, input[1].Geometry, VV * V, input[2].Geometry, WW * W, offset);
#else
InterpolateGeometryPositions(output.Geometry, input[0].Geometry, U, input[1].Geometry, V, input[2].Geometry, W, float3(0, 0, 0));
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
UNROLL
for (int i = 0; i < CUSTOM_VERTEX_INTERPOLATORS_COUNT; i++)
INTERPOLATE(CustomVSToPS[i]);
#endif
#undef INTERPOLATE
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PHONG
// Orthogonal projection in the tangent planes with interpolation
ApplyGeometryPositionsPhongTess(output.Geometry, input[0].Geometry, input[1].Geometry, input[2].Geometry, U, V, W);
#endif
// Perform displacement mapping
#if USE_DISPLACEMENT
MaterialInput materialInput = GetMaterialInput(output);
Material material = GetMaterialDS(materialInput);
OffsetGeometryPositions(output.Geometry, material.WorldDisplacement);
#endif
// Recalculate the clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
return output;
}
#endif
+5 -5
View File
@@ -3,7 +3,6 @@
#define MATERIAL 1
@3
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
@@ -22,7 +21,7 @@ float4 ViewInfo;
float4 ScreenSize;
@1META_CB_END
// Material shader resources
// Shader resources
@2
// Interpolants passed from the vertex shader
struct VertexOutput
@@ -185,6 +184,8 @@ float4 GetVertexColor(MaterialInput input)
#endif
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@@ -197,9 +198,6 @@ Material GetMaterialPS(MaterialInput input)
@4
}
// Fix line for errors/warnings for shader code from template
#line 1000
// Vertex Shader function for GUI materials rendering
META_VS(true, FEATURE_LEVEL_ES2)
META_VS_IN_ELEMENT(POSITION, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
@@ -257,3 +255,5 @@ float4 PS_GUI(PixelInput input) : SV_Target0
return float4(material.Emissive, material.Opacity);
}
@9
+12 -182
View File
@@ -2,19 +2,13 @@
// Version: @0
#define MATERIAL 1
#define MAX_LOCAL_LIGHTS 4
@3
// Ribbons don't use sorted indices so overlap the segment distances buffer on the slot
#define HAS_SORTED_INDICES (!defined(_VS_Ribbon))
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
#include "./Flax/LightingCommon.hlsl"
#if USE_REFLECTIONS
#include "./Flax/ReflectionsCommon.hlsl"
#endif
#include "./Flax/Lighting.hlsl"
#include "./Flax/ShadowsSampling.hlsl"
#include "./Flax/ExponentialHeightFog.hlsl"
#include "./Flax/Matrix.hlsl"
@7
struct SpriteInput
@@ -55,44 +49,19 @@ uint RibbonSegmentCount;
float4x4 WorldMatrixInverseTransposed;
@1META_CB_END
// Secondary constantant buffer (for lighting)
META_CB_BEGIN(1, LightingData)
LightData DirectionalLight;
LightShadowData DirectionalLightShadow;
LightData SkyLight;
ProbeData EnvironmentProbe;
ExponentialHeightFogData ExponentialHeightFog;
float3 Dummy1;
uint LocalLightsCount;
LightData LocalLights[MAX_LOCAL_LIGHTS];
META_CB_END
DECLARE_LIGHTSHADOWDATA_ACCESS(DirectionalLightShadow);
// Particles attributes buffer
ByteAddressBuffer ParticlesData : register(t0);
// Ribbons don't use sorted indices so overlap the segment distances buffer on the slot
#define HAS_SORTED_INDICES (!defined(_VS_Ribbon))
#if HAS_SORTED_INDICES
// Sorted particles indices
Buffer<uint> SortedIndices : register(t1);
#else
// Ribbon particles segments distances buffer
Buffer<float> SegmentDistances : register(t1);
#endif
// Shader resources
TextureCube EnvProbe : register(t2);
TextureCube SkyLightTexture : register(t3);
Texture2DArray DirectionalLightShadowMap : register(t4);
@2
// Interpolants passed from the vertex shader
struct VertexOutput
{
@@ -172,14 +141,11 @@ MaterialInput GetMaterialInput(PixelInput input)
}
// Gets the local to world transform matrix (supports instancing)
float4x4 GetInstanceTransform(ModelInput input)
{
return WorldMatrix;
}
float4x4 GetInstanceTransform(MaterialInput input)
{
return WorldMatrix;
}
#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;
#endif
// Removes the scale vector from the local to world transformation matrix (supports instancing)
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
@@ -312,6 +278,8 @@ float3 TransformParticleVector(float3 input)
return mul(float4(input, 0.0f), WorldMatrixInverseTransposed).xyz;
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@@ -330,9 +298,6 @@ Material GetMaterialPS(MaterialInput input)
@4
}
// Fix line for errors/warnings for shader code from template
#line 1000
// Calculates the transform matrix from mesh tangent space to local space
half3x3 CalcTangentToLocal(ModelInput input)
{
@@ -712,142 +677,9 @@ VertexOutput VS_Ribbon(uint vertexIndex : SV_VertexID)
return output;
}
// Pixel Shader function for Forward Pass
META_PS(USE_FORWARD, FEATURE_LEVEL_ES2)
float4 PS_Forward(PixelInput input) : SV_Target0
{
float4 output = 0;
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
// Add emissive light
output = float4(material.Emissive, material.Opacity);
#if MATERIAL_SHADING_MODEL != SHADING_MODEL_UNLIT
// Setup GBuffer data as proxy for lighting
GBufferSample gBuffer;
gBuffer.Normal = material.WorldNormal;
gBuffer.Roughness = material.Roughness;
gBuffer.Metalness = material.Metalness;
gBuffer.Color = material.Color;
gBuffer.Specular = material.Specular;
gBuffer.AO = material.AO;
gBuffer.ViewPos = mul(float4(materialInput.WorldPosition, 1), ViewMatrix).xyz;
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_SUBSURFACE
gBuffer.CustomData = float4(material.SubsurfaceColor, material.Opacity);
#elif MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
gBuffer.CustomData = float4(material.SubsurfaceColor, material.Opacity);
#else
gBuffer.CustomData = float4(0, 0, 0, 0);
#endif
gBuffer.WorldPos = materialInput.WorldPosition;
gBuffer.ShadingModel = MATERIAL_SHADING_MODEL;
// 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);
}
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
// Calculate lighting from sky light
light += GetSkyLightLighting(SkyLight, gBuffer, SkyLightTexture);
// Calculate lighting from local lights
LOOP
for (uint localLightIndex = 0; localLightIndex < LocalLightsCount; localLightIndex++)
{
const LightData localLight = LocalLights[localLightIndex];
bool isSpotLight = localLight.SpotAngles.x > -2.0f;
shadowMask = 1.0f;
light += GetLighting(ViewPos, localLight, gBuffer, shadowMask, true, isSpotLight);
}
#if USE_REFLECTIONS
// Calculate reflections
light.rgb += GetEnvProbeLighting(ViewPos, EnvProbe, EnvironmentProbe, gBuffer) * light.a;
#endif
// Add lighting (apply ambient occlusion)
output.rgb += light.rgb * gBuffer.AO;
#if USE_FOG
// Calculate exponential height fog
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, 0);
// Apply fog to the output color
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
output = float4(output.rgb * fog.a + fog.rgb, output.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_TRANSPARENT
output = float4(output.rgb * fog.a + fog.rgb, output.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_ADDITIVE
output = float4(output.rgb * fog.a + fog.rgb, output.a * fog.a);
#elif MATERIAL_BLEND == MATERIAL_BLEND_MULTIPLY
output = float4(lerp(float3(1, 1, 1), output.rgb, fog.aaa * fog.aaa), output.a);
#endif
#endif
#endif
return output;
}
#if USE_DISTORTION
// Pixel Shader function for Distortion Pass
META_PS(USE_DISTORTION, FEATURE_LEVEL_ES2)
float4 PS_Distortion(PixelInput input) : SV_Target0
{
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
float3 viewNormal = normalize(TransformWorldVectorToView(materialInput, material.WorldNormal));
float airIOR = 1.0f;
#if USE_PIXEL_NORMAL_OFFSET_REFRACTION
float3 viewVertexNormal = TransformWorldVectorToView(materialInput, TransformTangentVectorToWorld(materialInput, float3(0, 0, 1)));
float2 distortion = (viewVertexNormal.xy - viewNormal.xy) * (material.Refraction - airIOR);
#else
float2 distortion = viewNormal.xy * (material.Refraction - airIOR);
#endif
// Clip if the distortion distance (squared) is too small to be noticed
clip(dot(distortion, distortion) - 0.00001);
// Scale up for better precision in low/subtle refractions at the expense of artefacts at higher refraction
distortion *= 4.0f;
// Use separate storage for positive and negative offsets
float2 addOffset = max(distortion, 0);
float2 subOffset = abs(min(distortion, 0));
return float4(addOffset.x, addOffset.y, subOffset.x, subOffset.y);
}
#endif
// Pixel Shader function for Depth Pass
META_PS(true, FEATURE_LEVEL_ES2)
void PS_Depth(PixelInput input
#if GLSL
, out float4 OutColor : SV_Target0
#endif
)
void PS_Depth(PixelInput input)
{
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
@@ -860,8 +692,6 @@ void PS_Depth(PixelInput input
#if MATERIAL_BLEND == MATERIAL_BLEND_TRANSPARENT
clip(material.Opacity - MATERIAL_OPACITY_THRESHOLD);
#endif
#if GLSL
OutColor = 0;
#endif
}
@9
@@ -20,7 +20,7 @@ float4 ScreenSize;
float4 TemporalAAJitter;
@1META_CB_END
// Material shader resources
// Shader resources
@2
// Interpolants passed to the pixel shader
struct PixelInput
@@ -128,15 +128,14 @@ float4 GetVertexColor(MaterialInput input)
return 1;
}
@8
// Get material properties function (for pixel shader)
Material GetMaterialPS(MaterialInput input)
{
@4
}
// Fix line for errors/warnings for shader code from template
#line 1000
// Pixel Shader function for PostFx materials rendering
META_PS(true, FEATURE_LEVEL_ES2)
float4 PS_PostFx(PixelInput input) : SV_Target0
@@ -147,3 +146,5 @@ float4 PS_PostFx(PixelInput input) : SV_Target0
return float4(material.Emissive, material.Opacity);
}
@9
@@ -0,0 +1,618 @@
// File generated by Flax Materials Editor
// Version: @0
#define MATERIAL 1
@3
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 ViewProjectionMatrix;
float4x4 WorldMatrix;
float4x4 ViewMatrix;
float4x4 PrevViewProjectionMatrix;
float4x4 PrevWorldMatrix;
float3 ViewPos;
float ViewFar;
float3 ViewDir;
float TimeParam;
float4 ViewInfo;
float4 ScreenSize;
float3 WorldInvScale;
float WorldDeterminantSign;
float2 Dummy0;
float LODDitherFactor;
float PerInstanceRandom;
float4 TemporalAAJitter;
float3 GeometrySize;
float Dummy1;
@1META_CB_END
// Shader resources
@2
// Geometry data passed though the graphics rendering stages up to the pixel shader
struct GeometryData
{
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
#if USE_VERTEX_COLOR
half4 VertexColor : COLOR;
#endif
float3 WorldNormal : TEXCOORD3;
float4 WorldTangent : TEXCOORD4;
float3 InstanceOrigin : TEXCOORD5;
float2 InstanceParams : TEXCOORD6; // x-PerInstanceRandom, y-LODDitherFactor
float3 PrevWorldPosition : TEXCOORD7;
};
// Interpolants passed from the vertex shader
struct VertexOutput
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
#if USE_TESSELLATION
float TessellationMultiplier : TESS;
#endif
};
// Interpolants passed to the pixel shader
struct PixelInput
{
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
bool IsFrontFace : SV_IsFrontFace;
};
// Material properties generation input
struct MaterialInput
{
float3 WorldPosition;
float TwoSidedSign;
float2 TexCoord;
#if USE_LIGHTMAP
float2 LightmapUV;
#endif
#if USE_VERTEX_COLOR
half4 VertexColor;
#endif
float3x3 TBN;
float4 SvPosition;
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
float3 InstanceOrigin;
float2 InstanceParams;
#if USE_INSTANCING
float3 InstanceTransform1;
float3 InstanceTransform2;
float3 InstanceTransform3;
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT];
#endif
};
// Extracts geometry data to the material input
MaterialInput GetGeometryMaterialInput(GeometryData geometry)
{
MaterialInput output = (MaterialInput)0;
output.WorldPosition = geometry.WorldPosition;
output.TexCoord = geometry.TexCoord;
#if USE_LIGHTMAP
output.LightmapUV = geometry.LightmapUV;
#endif
#if USE_VERTEX_COLOR
output.VertexColor = geometry.VertexColor;
#endif
output.TBN = CalcTangentBasis(geometry.WorldNormal, geometry.WorldTangent);
output.InstanceOrigin = geometry.InstanceOrigin;
output.InstanceParams = geometry.InstanceParams;
return output;
}
#if USE_TESSELLATION
// Interpolates the geometry positions data only (used by the tessallation when generating vertices)
#define InterpolateGeometryPositions(output, p0, w0, p1, w1, p2, w2, offset) output.WorldPosition = p0.WorldPosition * w0 + p1.WorldPosition * w1 + p2.WorldPosition * w2 + offset; output.PrevWorldPosition = p0.PrevWorldPosition * w0 + p1.PrevWorldPosition * w1 + p2.PrevWorldPosition * w2 + offset
// Offsets the geometry positions data only (used by the tessallation when generating vertices)
#define OffsetGeometryPositions(geometry, offset) geometry.WorldPosition += offset; geometry.PrevWorldPosition += offset
// Applies the Phong tessallation to the geometry positions (used by the tessallation when doing Phong tess)
#define ApplyGeometryPositionsPhongTess(geometry, p0, p1, p2, U, V, W) \
float3 posProjectedU = TessalationProjectOntoPlane(p0.WorldNormal, p0.WorldPosition, geometry.WorldPosition); \
float3 posProjectedV = TessalationProjectOntoPlane(p1.WorldNormal, p1.WorldPosition, geometry.WorldPosition); \
float3 posProjectedW = TessalationProjectOntoPlane(p2.WorldNormal, p2.WorldPosition, geometry.WorldPosition); \
geometry.WorldPosition = U * posProjectedU + V * posProjectedV + W * posProjectedW; \
posProjectedU = TessalationProjectOntoPlane(p0.WorldNormal, p0.PrevWorldPosition, geometry.PrevWorldPosition); \
posProjectedV = TessalationProjectOntoPlane(p1.WorldNormal, p1.PrevWorldPosition, geometry.PrevWorldPosition); \
posProjectedW = TessalationProjectOntoPlane(p2.WorldNormal, p2.PrevWorldPosition, geometry.PrevWorldPosition); \
geometry.PrevWorldPosition = U * posProjectedU + V * posProjectedV + W * posProjectedW
// Interpolates the geometry data except positions (used by the tessallation when generating vertices)
GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, float w1, GeometryData p2, float w2)
{
GeometryData output = (GeometryData)0;
output.TexCoord = p0.TexCoord * w0 + p1.TexCoord * w1 + p2.TexCoord * w2;
output.LightmapUV = p0.LightmapUV * w0 + p1.LightmapUV * w1 + p2.LightmapUV * w2;
#if USE_VERTEX_COLOR
output.VertexColor = p0.VertexColor * w0 + p1.VertexColor * w1 + p2.VertexColor * w2;
#endif
output.WorldNormal = p0.WorldNormal * w0 + p1.WorldNormal * w1 + p2.WorldNormal * w2;
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;
return output;
}
#endif
MaterialInput GetMaterialInput(PixelInput input)
{
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.SvPosition = input.Position;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = input.CustomVSToPS;
#endif
return output;
}
// Gets the local to world transform matrix (supports instancing)
#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;
#endif
// Removes the scale vector from the local to world transformation matrix (supports instancing)
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
{
#if USE_INSTANCING
// Extract per axis scales from localToWorld transform
float scaleX = length(localToWorld[0]);
float scaleY = length(localToWorld[1]);
float scaleZ = length(localToWorld[2]);
float3 invScale = float3(
scaleX > 0.00001f ? 1.0f / scaleX : 0.0f,
scaleY > 0.00001f ? 1.0f / scaleY : 0.0f,
scaleZ > 0.00001f ? 1.0f / scaleZ : 0.0f);
#else
float3 invScale = WorldInvScale;
#endif
localToWorld[0] *= invScale.x;
localToWorld[1] *= invScale.y;
localToWorld[2] *= invScale.z;
return localToWorld;
}
// Transforms a vector from tangent space to world space
float3 TransformTangentVectorToWorld(MaterialInput input, float3 tangentVector)
{
return mul(tangentVector, input.TBN);
}
// Transforms a vector from world space to tangent space
float3 TransformWorldVectorToTangent(MaterialInput input, float3 worldVector)
{
return mul(input.TBN, worldVector);
}
// Transforms a vector from world space to view space
float3 TransformWorldVectorToView(MaterialInput input, float3 worldVector)
{
return mul(worldVector, (float3x3)ViewMatrix);
}
// Transforms a vector from view space to world space
float3 TransformViewVectorToWorld(MaterialInput input, float3 viewVector)
{
return mul((float3x3)ViewMatrix, viewVector);
}
// Transforms a vector from local space to world space
float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localVector, localToWorld);
}
// Transforms a vector from local space to world space
float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localToWorld, worldVector);
}
// Gets the current object position (supports instancing)
float3 GetObjectPosition(MaterialInput input)
{
return input.InstanceOrigin.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);
}
// Get the current object random value (supports instancing)
float GetPerInstanceRandom(MaterialInput input)
{
return input.InstanceParams.x;
}
// 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
}
// Gets the interpolated vertex color (in linear space)
float4 GetVertexColor(MaterialInput input)
{
#if USE_VERTEX_COLOR
return input.VertexColor;
#else
return 1;
#endif
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@5
}
// Get material properties function (for domain shader)
Material GetMaterialDS(MaterialInput input)
{
@6
}
// Get material properties function (for pixel shader)
Material GetMaterialPS(MaterialInput input)
{
@4
}
// Calculates the transform matrix from mesh tangent space to local space
float3x3 CalcTangentToLocal(ModelInput input)
{
float bitangentSign = input.Tangent.w ? -1.0f : +1.0f;
float3 normal = input.Normal.xyz * 2.0 - 1.0;
float3 tangent = input.Tangent.xyz * 2.0 - 1.0;
float3 bitangent = cross(normal, tangent) * bitangentSign;
return float3x3(tangent, bitangent, normal);
}
float3x3 CalcTangentToWorld(float4x4 world, float3x3 tangentToLocal)
{
float3x3 localToWorld = RemoveScaleFromLocalToWorld((float3x3)world);
return mul(tangentToLocal, localToWorld);
}
// Vertex Shader function for GBuffer Pass and Depth Pass (with full vertex data)
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(TEXCOORD, 0, R16G16_FLOAT, 1, 0, PER_VERTEX, 0, true)
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)
VertexOutput VS(ModelInput input)
{
VertexOutput output;
// Compute world space vertex position
float4x4 world = GetInstanceTransform(input);
output.Geometry.WorldPosition = mul(float4(input.Position.xyz, 1), world).xyz;
output.Geometry.PrevWorldPosition = mul(float4(input.Position.xyz, 1), PrevWorldMatrix).xyz;
// Compute clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
// Pass vertex attributes
output.Geometry.TexCoord = input.TexCoord;
#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;
#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);
output.Geometry.WorldNormal = tangentToWorld[2];
output.Geometry.WorldTangent.xyz = tangentToWorld[0];
output.Geometry.WorldTangent.w = input.Tangent.w ? -1.0f : +1.0f;
// 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.SvPosition = output.Position;
materialInput.PreSkinnedPosition = input.Position.xyz;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
#if USE_INSTANCING
materialInput.InstanceTransform1 = input.InstanceTransform1.xyz;
materialInput.InstanceTransform2 = input.InstanceTransform2.xyz;
materialInput.InstanceTransform3 = input.InstanceTransform3.xyz;
#endif
Material material = GetMaterialVS(materialInput);
#endif
// Apply world position offset per-vertex
#if USE_POSITION_OFFSET
output.Geometry.WorldPosition += material.PositionOffset;
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
#endif
// Get tessalation multiplier (per vertex)
#if USE_TESSELLATION
output.TessellationMultiplier = material.TessellationMultiplier;
#endif
// Copy interpolants for other shader stages
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = material.CustomVSToPS;
#endif
return output;
}
// Vertex Shader function for Depth Pass
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)
float4 VS_Depth(ModelInput_PosOnly input) : SV_Position
{
float4x4 world = GetInstanceTransform(input);
float3 worldPosition = mul(float4(input.Position.xyz, 1), world).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];
float4 b = PrevBoneMatrices[index * 3 + 1];
float4 c = PrevBoneMatrices[index * 3 + 2];
return float3x4(a, b, c);
}
float3 SkinPrevPosition(ModelInput_Skinned input)
{
float4 position = float4(input.Position.xyz, 1);
float3x4 boneMatrix = input.BlendWeights.x * GetPrevBoneMatrix(input.BlendIndices.x);
boneMatrix += input.BlendWeights.y * GetPrevBoneMatrix(input.BlendIndices.y);
boneMatrix += input.BlendWeights.z * GetPrevBoneMatrix(input.BlendIndices.z);
boneMatrix += input.BlendWeights.w * GetPrevBoneMatrix(input.BlendIndices.w);
return mul(boneMatrix, position);
}
#endif
// Cached skinning data to avoid multiple calculation
struct SkinningData
{
float3x4 BlendMatrix;
};
// Calculates the transposed transform matrix for the given bone index
float3x4 GetBoneMatrix(int index)
{
float4 a = BoneMatrices[index * 3];
float4 b = BoneMatrices[index * 3 + 1];
float4 c = BoneMatrices[index * 3 + 2];
return float3x4(a, b, c);
}
// Calculates the transposed transform matrix for the given vertex (uses blending)
float3x4 GetBoneMatrix(ModelInput_Skinned input)
{
float3x4 boneMatrix = input.BlendWeights.x * GetBoneMatrix(input.BlendIndices.x);
boneMatrix += input.BlendWeights.y * GetBoneMatrix(input.BlendIndices.y);
boneMatrix += input.BlendWeights.z * GetBoneMatrix(input.BlendIndices.z);
boneMatrix += input.BlendWeights.w * GetBoneMatrix(input.BlendIndices.w);
return boneMatrix;
}
// Transforms the vertex position by weighted sum of the skinning matrices
float3 SkinPosition(ModelInput_Skinned input, SkinningData data)
{
return mul(data.BlendMatrix, float4(input.Position.xyz, 1));
}
// Transforms the vertex position by weighted sum of the skinning matrices
float3x3 SkinTangents(ModelInput_Skinned input, SkinningData data)
{
// Unpack vertex tangent frame
float bitangentSign = input.Tangent.w ? -1.0f : +1.0f;
float3 normal = input.Normal.xyz * 2.0 - 1.0;
float3 tangent = input.Tangent.xyz * 2.0 - 1.0;
// Apply skinning
tangent = mul(data.BlendMatrix, float4(tangent, 0));
normal = mul(data.BlendMatrix, float4(normal, 0));
float3 bitangent = cross(normal, tangent) * bitangentSign;
return float3x3(tangent, bitangent, normal);
}
// Vertex Shader function for GBuffers/Depth Pass (skinned mesh rendering)
META_VS(true, FEATURE_LEVEL_ES2)
META_PERMUTATION_1(USE_SKINNING=1)
META_PERMUTATION_2(USE_SKINNING=1, PER_BONE_MOTION_BLUR=1)
META_VS_IN_ELEMENT(POSITION, 0, R32G32B32_FLOAT, 0, 0, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(NORMAL, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(TANGENT, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(BLENDINDICES, 0, R8G8B8A8_UINT, 0, ALIGN, PER_VERTEX, 0, true)
META_VS_IN_ELEMENT(BLENDWEIGHT, 0, R16G16B16A16_FLOAT,0, ALIGN, PER_VERTEX, 0, true)
VertexOutput VS_Skinned(ModelInput_Skinned input)
{
VertexOutput output;
// Perform skinning
SkinningData data;
data.BlendMatrix = GetBoneMatrix(input);
float3 position = SkinPosition(input, data);
float3x3 tangentToLocal = SkinTangents(input, data);
// Compute world space vertex position
float4x4 world = GetInstanceTransform(input);
output.Geometry.WorldPosition = mul(float4(position, 1), world).xyz;
#if PER_BONE_MOTION_BLUR
float3 prevPosition = SkinPrevPosition(input);
output.Geometry.PrevWorldPosition = mul(float4(prevPosition, 1), PrevWorldMatrix).xyz;
#else
output.Geometry.PrevWorldPosition = mul(float4(position, 1), PrevWorldMatrix).xyz;
#endif
// Compute clip space position
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
// Pass vertex attributes
output.Geometry.TexCoord = input.TexCoord;
#if USE_VERTEX_COLOR
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);
output.Geometry.WorldNormal = tangentToWorld[2];
output.Geometry.WorldTangent.xyz = tangentToWorld[0];
output.Geometry.WorldTangent.w = input.Tangent.w ? -1.0f : +1.0f;
// 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.SvPosition = output.Position;
materialInput.PreSkinnedPosition = input.Position.xyz;
materialInput.PreSkinnedNormal = tangentToLocal[2].xyz;
Material material = GetMaterialVS(materialInput);
#endif
// Apply world position offset per-vertex
#if USE_POSITION_OFFSET
output.Geometry.WorldPosition += material.PositionOffset;
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
#endif
// Get tessalation multiplier (per vertex)
#if USE_TESSELLATION
output.TessellationMultiplier = material.TessellationMultiplier;
#endif
// Copy interpolants for other shader stages
#if USE_CUSTOM_VERTEX_INTERPOLATORS
output.CustomVSToPS = material.CustomVSToPS;
#endif
return output;
}
#endif
#if USE_DITHERED_LOD_TRANSITION
void ClipLODTransition(PixelInput input)
{
float ditherFactor = input.Geometry.InstanceParams.y;
if (abs(ditherFactor) > 0.001)
{
float randGrid = cos(dot(floor(input.Position.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);
}
}
#endif
// Pixel Shader function for Depth Pass
META_PS(true, FEATURE_LEVEL_ES2)
void PS_Depth(PixelInput input)
{
#if USE_DITHERED_LOD_TRANSITION
// LOD masking
ClipLODTransition(input);
#endif
#if MATERIAL_MASKED || MATERIAL_BLEND != MATERIAL_BLEND_OPAQUE
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Perform per pixel clipping
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
#if MATERIAL_BLEND != MATERIAL_BLEND_OPAQUE
clip(material.Opacity - MATERIAL_OPACITY_THRESHOLD);
#endif
#endif
}
@9
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+99 -421
View File
@@ -3,7 +3,6 @@
#define MATERIAL 1
@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
@@ -26,7 +25,6 @@ float3 ViewDir;
float TimeParam;
float4 ViewInfo;
float4 ScreenSize;
float4 LightmapArea;
float3 WorldInvScale;
float WorldDeterminantSign;
float PerInstanceRandom;
@@ -39,35 +37,31 @@ float2 OffsetUV;
float2 Dummy0;
@1META_CB_END
#if CAN_USE_LIGHTMAP
// Irradiance and directionality prebaked lightmaps
Texture2D Lightmap0 : register(t0);
Texture2D Lightmap1 : register(t1);
Texture2D Lightmap2 : register(t2);
#endif
// Terrain data
Texture2D Heightmap : register(t3);
Texture2D Splatmap0 : register(t4);
Texture2D Splatmap1 : register(t5);
Texture2D Heightmap : register(t0);
Texture2D Splatmap0 : register(t1);
Texture2D Splatmap1 : register(t2);
// Material shader resources
// Shader resources
@2
// Geometry data passed though the graphics rendering stages up to the pixel shader
struct GeometryData
{
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
float3 WorldNormal : TEXCOORD3;
float HolesMask : TEXCOORD4;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE] : TEXCOORD5;
#endif
};
// Interpolants passed from the vertex shader
struct VertexOutput
{
float4 Position : SV_Position;
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
float3 WorldNormal : TEXCOORD3;
float HolesMask : TEXCOORD4;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE] : TEXCOORD5;
#endif
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
@@ -79,19 +73,12 @@ struct VertexOutput
// Interpolants passed to the pixel shader
struct PixelInput
{
float4 Position : SV_Position;
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
float3 WorldNormal : TEXCOORD3;
float HolesMask : TEXCOORD4;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE] : TEXCOORD5;
#endif
float4 Position : SV_Position;
GeometryData Geometry;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
bool IsFrontFace : SV_IsFrontFace;
bool IsFrontFace : SV_IsFrontFace;
};
// Material properties generation input
@@ -116,25 +103,66 @@ struct MaterialInput
#endif
};
// Extracts geometry data to the material input
MaterialInput GetGeometryMaterialInput(GeometryData geometry)
{
MaterialInput output = (MaterialInput)0;
output.WorldPosition = geometry.WorldPosition;
output.TexCoord = geometry.TexCoord;
#if USE_LIGHTMAP
output.LightmapUV = geometry.LightmapUV;
#endif
output.TBN = CalcTangentBasis(geometry.WorldNormal, geometry.WorldPosition, geometry.TexCoord);
output.HolesMask = geometry.HolesMask;
#if USE_TERRAIN_LAYERS
output.Layers = geometry.Layers;
#endif
return output;
}
#if USE_TESSELLATION
// Interpolates the geometry positions data only (used by the tessallation when generating vertices)
#define InterpolateGeometryPositions(output, p0, w0, p1, w1, p2, w2, offset) output.WorldPosition = p0.WorldPosition * w0 + p1.WorldPosition * w1 + p2.WorldPosition * w2 + offset
// Offsets the geometry positions data only (used by the tessallation when generating vertices)
#define OffsetGeometryPositions(geometry, offset) geometry.WorldPosition += offset
// Applies the Phong tessallation to the geometry positions (used by the tessallation when doing Phong tess)
#define ApplyGeometryPositionsPhongTess(geometry, p0, p1, p2, U, V, W) \
float3 posProjectedU = TessalationProjectOntoPlane(p0.WorldNormal, p0.WorldPosition, geometry.WorldPosition); \
float3 posProjectedV = TessalationProjectOntoPlane(p1.WorldNormal, p1.WorldPosition, geometry.WorldPosition); \
float3 posProjectedW = TessalationProjectOntoPlane(p2.WorldNormal, p2.WorldPosition, geometry.WorldPosition); \
geometry.WorldPosition = U * posProjectedU + V * posProjectedV + W * posProjectedW
// Interpolates the geometry data except positions (used by the tessallation when generating vertices)
GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, float w1, GeometryData p2, float w2)
{
GeometryData output = (GeometryData)0;
output.TexCoord = p0.TexCoord * w0 + p1.TexCoord * w1 + p2.TexCoord * w2;
output.LightmapUV = p0.LightmapUV * w0 + p1.LightmapUV * w1 + p2.LightmapUV * w2;
output.WorldNormal = p0.WorldNormal * w0 + p1.WorldNormal * w1 + p2.WorldNormal * w2;
output.WorldNormal = normalize(output.WorldNormal);
output.HolesMask = p0.HolesMask * w0 + p1.HolesMask * w1 + p2.HolesMask * w2;
#if USE_TERRAIN_LAYERS
UNROLL
for (int i = 0; i < TERRAIN_LAYERS_DATA_SIZE; i++)
output.Layers[i] = p0.Layers[i] * w0 + p1.Layers[i] * w1 + p2.Layers[i] * w2;
#endif
return output;
}
#endif
MaterialInput GetMaterialInput(PixelInput input)
{
MaterialInput result = (MaterialInput)0;
result.WorldPosition = input.WorldPosition;
result.TexCoord = input.TexCoord;
#if USE_LIGHTMAP
result.LightmapUV = input.LightmapUV;
#endif
result.TBN = CalcTangentBasisFromWorldNormal(input.WorldNormal);
result.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
result.SvPosition = input.Position;
result.HolesMask = input.HolesMask;
#if USE_TERRAIN_LAYERS
result.Layers = input.Layers;
#endif
MaterialInput output = GetGeometryMaterialInput(input.Geometry);
output.TwoSidedSign = WorldDeterminantSign * (input.IsFrontFace ? 1.0 : -1.0);
output.SvPosition = input.Position;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
result.CustomVSToPS = input.CustomVSToPS;
output.CustomVSToPS = input.CustomVSToPS;
#endif
return result;
return output;
}
// Removes the scale vector from the local to world transformation matrix
@@ -216,6 +244,8 @@ float4 GetVertexColor(MaterialInput input)
return 1;
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@@ -234,9 +264,6 @@ Material GetMaterialPS(MaterialInput input)
@4
}
// Fix line for errors/warnings for shader code from template
#line 1000
// Calculates LOD value (with fractional part for blending)
float CalcLOD(float2 xy, float4 morph)
{
@@ -285,7 +312,7 @@ float3x3 CalcTangentToWorld(float4x4 world, float3x3 tangentToLocal)
struct TerrainVertexInput
{
float2 TexCoord : TEXCOORD0;
float4 Morph : TEXCOORD1;
float4 Morph : TEXCOORD1;
};
// Vertex Shader function for terrain rendering
@@ -336,7 +363,7 @@ VertexOutput VS(TerrainVertexInput input)
float2 normalTemp = float2(heightmapValue.b, heightmapValue.a) * 2.0f - 1.0f;
float3 normal = float3(normalTemp.x, sqrt(1.0 - saturate(dot(normalTemp, normalTemp))), normalTemp.y);
normal = normalize(normal);
output.HolesMask = isHole ? 0 : 1;
output.Geometry.HolesMask = isHole ? 0 : 1;
if (isHole)
{
normal = float3(0, 1, 0);
@@ -353,10 +380,10 @@ VertexOutput VS(TerrainVertexInput input)
float3 position = float3(positionXZ.x, height, positionXZ.y);
// Compute world space vertex position
output.WorldPosition = mul(float4(position, 1), WorldMatrix).xyz;
output.Geometry.WorldPosition = mul(float4(position, 1), WorldMatrix).xyz;
// Compute clip space position
output.Position = mul(float4(output.WorldPosition.xyz, 1), ViewProjectionMatrix);
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
// Pass vertex attributes
#if USE_SMOOTH_LOD_TRANSITION
@@ -364,46 +391,46 @@ VertexOutput VS(TerrainVertexInput input)
#else
float2 texCoord = input.TexCoord;
#endif
output.TexCoord = positionXZ * (1.0f / TerrainChunkSizeLOD0) + OffsetUV;
output.LightmapUV = texCoord * LightmapArea.zw + LightmapArea.xy;
output.Geometry.TexCoord = positionXZ * (1.0f / TerrainChunkSizeLOD0) + OffsetUV;
output.Geometry.LightmapUV = texCoord * LightmapArea.zw + LightmapArea.xy;
// Extract terrain layers weights from the splatmap
#if USE_TERRAIN_LAYERS
output.Layers[0] = splatmap0Value;
output.Geometry.Layers[0] = splatmap0Value;
#if TERRAIN_LAYERS_DATA_SIZE > 1
output.Layers[1] = splatmap1Value;
output.Geometry.Layers[1] = splatmap1Value;
#endif
#endif
// Compute world space normal vector
float3x3 tangentToLocal = CalcTangentBasisFromWorldNormal(normal);
float3x3 tangentToWorld = CalcTangentToWorld(WorldMatrix, tangentToLocal);
output.WorldNormal = tangentToWorld[2];
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.WorldPosition = output.WorldPosition;
materialInput.TexCoord = output.TexCoord;
materialInput.WorldPosition = output.Geometry.WorldPosition;
materialInput.TexCoord = output.Geometry.TexCoord;
#if USE_LIGHTMAP
materialInput.LightmapUV = output.LightmapUV;
materialInput.LightmapUV = output.Geometry.LightmapUV;
#endif
materialInput.TBN = CalcTangentBasisFromWorldNormal(output.WorldNormal);
materialInput.TBN = tangentToWorld;
materialInput.TwoSidedSign = WorldDeterminantSign;
materialInput.SvPosition = output.Position;
materialInput.PreSkinnedPosition = position;
materialInput.PreSkinnedNormal = normal;
materialInput.HolesMask = output.HolesMask;
materialInput.HolesMask = output.Geometry.HolesMask;
#if USE_TERRAIN_LAYERS
materialInput.Layers = output.Layers;
materialInput.Layers = output.Geometry.Layers;
#endif
Material material = GetMaterialVS(materialInput);
#endif
// Apply world position offset per-vertex
#if USE_POSITION_OFFSET
output.WorldPosition += material.PositionOffset;
output.Position = mul(float4(output.WorldPosition.xyz, 1), ViewProjectionMatrix);
output.Geometry.WorldPosition += material.PositionOffset;
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
#endif
// Get tessalation multiplier (per vertex)
@@ -419,356 +446,9 @@ VertexOutput VS(TerrainVertexInput input)
return output;
}
#if USE_TESSELLATION
// Interpolants passed from the hull shader to the domain shader
struct TessalationHSToDS
{
float4 Position : SV_Position;
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
float3 WorldNormal : TEXCOORD3;
float HolesMask : TEXCOORD4;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE] : TEXCOORD5;
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
float TessellationMultiplier : TESS;
};
// Interpolants passed from the domain shader and to the pixel shader
struct TessalationDSToPS
{
float4 Position : SV_Position;
float3 WorldPosition : TEXCOORD0;
float2 TexCoord : TEXCOORD1;
float2 LightmapUV : TEXCOORD2;
float3 WorldNormal : TEXCOORD3;
float HolesMask : TEXCOORD4;
#if USE_TERRAIN_LAYERS
float4 Layers[TERRAIN_LAYERS_DATA_SIZE] : TEXCOORD5;
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT] : TEXCOORD9;
#endif
};
MaterialInput GetMaterialInput(TessalationDSToPS input)
{
MaterialInput result = (MaterialInput)0;
result.WorldPosition = input.WorldPosition;
result.TexCoord = input.TexCoord;
#if USE_LIGHTMAP
result.LightmapUV = input.LightmapUV;
#endif
result.TBN = CalcTangentBasisFromWorldNormal(input.WorldNormal);
result.TwoSidedSign = WorldDeterminantSign;
result.SvPosition = input.Position;
result.HolesMask = input.HolesMask;
#if USE_TERRAIN_LAYERS
result.Layers = input.Layers;
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
result.CustomVSToPS = input.CustomVSToPS;
#endif
return result;
}
struct TessalationPatch
{
float EdgeTessFactor[3] : SV_TessFactor;
float InsideTessFactor : SV_InsideTessFactor;
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
float3 B210 : POSITION4;
float3 B120 : POSITION5;
float3 B021 : POSITION6;
float3 B012 : POSITION7;
float3 B102 : POSITION8;
float3 B201 : POSITION9;
float3 B111 : CENTER;
#endif
};
TessalationPatch HS_PatchConstant(InputPatch<VertexOutput, 3> input)
{
TessalationPatch output;
// Average tess factors along edges, and pick an edge tess factor for the interior tessellation
float4 TessellationMultipliers;
TessellationMultipliers.x = 0.5f * (input[1].TessellationMultiplier + input[2].TessellationMultiplier);
TessellationMultipliers.y = 0.5f * (input[2].TessellationMultiplier + input[0].TessellationMultiplier);
TessellationMultipliers.z = 0.5f * (input[0].TessellationMultiplier + input[1].TessellationMultiplier);
TessellationMultipliers.w = 0.333f * (input[0].TessellationMultiplier + input[1].TessellationMultiplier + input[2].TessellationMultiplier);
TessellationMultipliers = clamp(TessellationMultipliers, 1, MAX_TESSELLATION_FACTOR);
output.EdgeTessFactor[0] = TessellationMultipliers.x; // 1->2 edge
output.EdgeTessFactor[1] = TessellationMultipliers.y; // 2->0 edge
output.EdgeTessFactor[2] = TessellationMultipliers.z; // 0->1 edge
output.InsideTessFactor = TessellationMultipliers.w;
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
// Calculate PN-Triangle coefficients
// Refer to Vlachos 2001 for the original formula
float3 p1 = input[0].WorldPosition;
float3 p2 = input[1].WorldPosition;
float3 p3 = input[2].WorldPosition;
float3 n1 = input[0].WorldNormal;
float3 n2 = input[1].WorldNormal;
float3 n3 = input[2].WorldNormal;
// Calculate control points
output.B210 = (2.0f * p1 + p2 - dot((p2 - p1), n1) * n1) / 3.0f;
output.B120 = (2.0f * p2 + p1 - dot((p1 - p2), n2) * n2) / 3.0f;
output.B021 = (2.0f * p2 + p3 - dot((p3 - p2), n2) * n2) / 3.0f;
output.B012 = (2.0f * p3 + p2 - dot((p2 - p3), n3) * n3) / 3.0f;
output.B102 = (2.0f * p3 + p1 - dot((p1 - p3), n3) * n3) / 3.0f;
output.B201 = (2.0f * p1 + p3 - dot((p3 - p1), n1) * n1) / 3.0f;
float3 e = (output.B210 + output.B120 + output.B021 +
output.B012 + output.B102 + output.B201) / 6.0f;
float3 v = (p1 + p2 + p3) / 3.0f;
output.B111 = e + ((e - v) / 2.0f);
#endif
return output;
}
META_HS(USE_TESSELLATION, FEATURE_LEVEL_SM5)
META_HS_PATCH(TESSELLATION_IN_CONTROL_POINTS)
[domain("tri")]
[partitioning("fractional_odd")]
[outputtopology("triangle_cw")]
[maxtessfactor(MAX_TESSELLATION_FACTOR)]
[outputcontrolpoints(3)]
[patchconstantfunc("HS_PatchConstant")]
TessalationHSToDS HS(InputPatch<VertexOutput, TESSELLATION_IN_CONTROL_POINTS> input, uint ControlPointID : SV_OutputControlPointID)
{
TessalationHSToDS output;
// Pass through shader
#define COPY(thing) output.thing = input[ControlPointID].thing;
COPY(Position);
COPY(WorldPosition);
COPY(TexCoord);
COPY(LightmapUV);
COPY(WorldNormal);
COPY(HolesMask);
COPY(TessellationMultiplier);
#if USE_TERRAIN_LAYERS
COPY(Layers);
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
COPY(CustomVSToPS);
#endif
#undef COPY
return output;
}
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PHONG
// Orthogonal projection on to plane
float3 ProjectOntoPlane(float3 planeNormal, float3 planePoint, float3 pointToProject)
{
return pointToProject - dot(pointToProject-planePoint, planeNormal) * planeNormal;
}
#endif
META_DS(USE_TESSELLATION, FEATURE_LEVEL_SM5)
[domain("tri")]
TessalationDSToPS DS(TessalationPatch constantData, float3 barycentricCoords : SV_DomainLocation, const OutputPatch<TessalationHSToDS, 3> input)
{
TessalationDSToPS output;
// Get the barycentric coords
float U = barycentricCoords.x;
float V = barycentricCoords.y;
float W = barycentricCoords.z;
// Interpolate patch attributes to generated vertices
#define INTERPOLATE(thing) output.thing = U * input[0].thing + V * input[1].thing + W * input[2].thing
#define COPY(thing) output.thing = input[0].thing
INTERPOLATE(Position);
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PN
float UU = U * U;
float VV = V * V;
float WW = W * W;
float UU3 = UU * 3.0f;
float VV3 = VV * 3.0f;
float WW3 = WW * 3.0f;
// Interpolate using barycentric coordinates and PN Triangle control points
output.WorldPosition =
input[0].WorldPosition * UU * U +
input[1].WorldPosition * VV * V +
input[2].WorldPosition * WW * W +
constantData.B210 * UU3 * V +
constantData.B120 * VV3 * U +
constantData.B021 * VV3 * W +
constantData.B012 * WW3 * V +
constantData.B102 * WW3 * U +
constantData.B201 * UU3 * W +
constantData.B111 * 6.0f * W * U * V;
#else
INTERPOLATE(WorldPosition);
#endif
INTERPOLATE(TexCoord);
INTERPOLATE(LightmapUV);
INTERPOLATE(WorldNormal);
INTERPOLATE(HolesMask);
#if USE_TERRAIN_LAYERS
UNROLL
for (int i = 0; i < TERRAIN_LAYERS_DATA_SIZE; i++)
{
INTERPOLATE(Layers[i]);
}
#endif
#if USE_CUSTOM_VERTEX_INTERPOLATORS
UNROLL
for (int i = 0; i < CUSTOM_VERTEX_INTERPOLATORS_COUNT; i++)
{
INTERPOLATE(CustomVSToPS[i]);
}
#endif
#undef INTERPOLATE
#undef COPY
// Interpolating normal can unnormalize it, so normalize it
output.WorldNormal = normalize(output.WorldNormal);
#if MATERIAL_TESSELLATION == MATERIAL_TESSELLATION_PHONG
// Orthogonal projection in the tangent planes
float3 posProjectedU = ProjectOntoPlane(input[0].WorldNormal, input[0].WorldPosition, output.WorldPosition);
float3 posProjectedV = ProjectOntoPlane(input[1].WorldNormal, input[1].WorldPosition, output.WorldPosition);
float3 posProjectedW = ProjectOntoPlane(input[2].WorldNormal, input[2].WorldPosition, output.WorldPosition);
// Interpolate the projected points
output.WorldPosition = U * posProjectedU + V * posProjectedV + W * posProjectedW;
#endif
// Perform displacement mapping
#if USE_DISPLACEMENT
MaterialInput materialInput = GetMaterialInput(output);
Material material = GetMaterialDS(materialInput);
output.WorldPosition += material.WorldDisplacement;
#endif
// Recalculate the clip space position
output.Position = mul(float4(output.WorldPosition, 1), ViewProjectionMatrix);
return output;
}
#endif
#if USE_LIGHTMAP
float3 SampleLightmap(Material material, MaterialInput materialInput)
{
// Sample lightmaps
float4 lightmap0 = Lightmap0.Sample(SamplerLinearClamp, materialInput.LightmapUV);
float4 lightmap1 = Lightmap1.Sample(SamplerLinearClamp, materialInput.LightmapUV);
float4 lightmap2 = Lightmap2.Sample(SamplerLinearClamp, materialInput.LightmapUV);
// Unpack H-basis
float3 h0 = float3(lightmap0.x, lightmap1.x, lightmap2.x);
float3 h1 = float3(lightmap0.y, lightmap1.y, lightmap2.y);
float3 h2 = float3(lightmap0.z, lightmap1.z, lightmap2.z);
float3 h3 = float3(lightmap0.w, lightmap1.w, lightmap2.w);
// Sample baked diffuse irradiance from the H-basis coefficients
float3 normal = material.TangentNormal;
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
normal *= material.TangentNormal;
#endif
return GetHBasisIrradiance(normal, h0, h1, h2, h3) / PI;
}
#endif
// Pixel Shader function for GBuffer Pass
META_PS(true, FEATURE_LEVEL_ES2)
META_PERMUTATION_1(USE_LIGHTMAP=0)
META_PERMUTATION_1(USE_LIGHTMAP=1)
void PS_GBuffer(
in PixelInput input
,out float4 Light : SV_Target0
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
,out float4 RT0 : SV_Target1
,out float4 RT1 : SV_Target2
,out float4 RT2 : SV_Target3
#if USE_GBUFFER_CUSTOM_DATA
,out float4 RT3 : SV_Target4
#endif
#endif
)
{
Light = 0;
// Get material parameters
MaterialInput materialInput = GetMaterialInput(input);
Material material = GetMaterialPS(materialInput);
// Masking
#if MATERIAL_MASKED
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
#if USE_LIGHTMAP
float3 diffuseColor = GetDiffuseColor(material.Color, material.Metalness);
float3 specularColor = GetSpecularColor(material.Color, material.Specular, material.Metalness);
// Sample lightmap
float3 diffuseIndirectLighting = SampleLightmap(material, materialInput);
// Apply static indirect light
Light.rgb = diffuseColor * diffuseIndirectLighting * AOMultiBounce(material.AO, diffuseColor);
#endif
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
// Pack material properties to GBuffer
RT0 = float4(material.Color, material.AO);
RT1 = float4(material.WorldNormal * 0.5 + 0.5, MATERIAL_SHADING_MODEL * (1.0 / 3.0));
RT2 = float4(material.Roughness, material.Metalness, material.Specular, 0);
// Custom data
#if USE_GBUFFER_CUSTOM_DATA
#if MATERIAL_SHADING_MODEL == SHADING_MODEL_SUBSURFACE
RT3 = float4(material.SubsurfaceColor, material.Opacity);
#elif MATERIAL_SHADING_MODEL == SHADING_MODEL_FOLIAGE
RT3 = float4(material.SubsurfaceColor, material.Opacity);
#else
RT3 = float4(0, 0, 0, 0);
#endif
#endif
// Add light emission
#if USE_EMISSIVE
Light.rgb += material.Emissive;
#endif
#else
// Handle blending as faked forward pass (use Light buffer and skip GBuffer modification)
Light = float4(material.Emissive, material.Opacity);
#endif
}
// Pixel Shader function for Depth Pass
META_PS(true, FEATURE_LEVEL_ES2)
void PS_Depth(PixelInput input
#if GLSL
, out float4 OutColor : SV_Target0
#endif
)
void PS_Depth(PixelInput input)
{
#if MATERIAL_MASKED
// Perform per pixel clipping if material requries it
@@ -776,8 +456,6 @@ void PS_Depth(PixelInput input
Material material = GetMaterialPS(materialInput);
clip(material.Mask - MATERIAL_MASK_THRESHOLD);
#endif
#if GLSL
OutColor = 0;
#endif
}
@9
@@ -0,0 +1,246 @@
// File generated by Flax Materials Editor
// Version: @0
#define MATERIAL 1
@3
#include "./Flax/Common.hlsl"
#include "./Flax/MaterialCommon.hlsl"
#include "./Flax/GBufferCommon.hlsl"
@7
// Primary constant buffer (with additional material parameters)
META_CB_BEGIN(0, Data)
float4x4 ViewProjectionMatrix;
float4x4 InverseViewProjectionMatrix;
float4x4 ViewMatrix;
float4x4 WorldMatrix;
float4x4 WorldMatrixInverseTransposed;
float3 ViewPos;
float ViewFar;
float3 ViewDir;
float TimeParam;
float4 ViewInfo;
float4 ScreenSize;
float3 GridSize;
float PerInstanceRandom;
float Dummy0;
float VolumetricFogMaxDistance;
int ParticleStride;
int ParticleIndex;
@1META_CB_END
// Particles attributes buffer
ByteAddressBuffer ParticlesData : register(t0);
// Shader resources
@2
// Material properties generation input
struct MaterialInput
{
float3 WorldPosition;
float TwoSidedSign;
float2 TexCoord;
uint ParticleIndex;
#if USE_VERTEX_COLOR
half4 VertexColor;
#endif
float3x3 TBN;
float4 SvPosition;
float3 PreSkinnedPosition;
float3 PreSkinnedNormal;
float3 InstanceOrigin;
float InstanceParams;
#if USE_CUSTOM_VERTEX_INTERPOLATORS
float4 CustomVSToPS[CUSTOM_VERTEX_INTERPOLATORS_COUNT];
#endif
};
#define GetInstanceTransform(input) WorldMatrix;
// Removes the scale vector from the local to world transformation matrix (supports instancing)
float3x3 RemoveScaleFromLocalToWorld(float3x3 localToWorld)
{
// Extract per axis scales from localToWorld transform
float scaleX = length(localToWorld[0]);
float scaleY = length(localToWorld[1]);
float scaleZ = length(localToWorld[2]);
float3 invScale = float3(
scaleX > 0.00001f ? 1.0f / scaleX : 0.0f,
scaleY > 0.00001f ? 1.0f / scaleY : 0.0f,
scaleZ > 0.00001f ? 1.0f / scaleZ : 0.0f);
localToWorld[0] *= invScale.x;
localToWorld[1] *= invScale.y;
localToWorld[2] *= invScale.z;
return localToWorld;
}
// Transforms a vector from tangent space to world space
float3 TransformTangentVectorToWorld(MaterialInput input, float3 tangentVector)
{
return mul(tangentVector, input.TBN);
}
// Transforms a vector from world space to tangent space
float3 TransformWorldVectorToTangent(MaterialInput input, float3 worldVector)
{
return mul(input.TBN, worldVector);
}
// Transforms a vector from world space to view space
float3 TransformWorldVectorToView(MaterialInput input, float3 worldVector)
{
return mul(worldVector, (float3x3)ViewMatrix);
}
// Transforms a vector from view space to world space
float3 TransformViewVectorToWorld(MaterialInput input, float3 viewVector)
{
return mul((float3x3)ViewMatrix, viewVector);
}
// Transforms a vector from local space to world space
float3 TransformLocalVectorToWorld(MaterialInput input, float3 localVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localVector, localToWorld);
}
// Transforms a vector from local space to world space
float3 TransformWorldVectorToLocal(MaterialInput input, float3 worldVector)
{
float3x3 localToWorld = (float3x3)GetInstanceTransform(input);
//localToWorld = RemoveScaleFromLocalToWorld(localToWorld);
return mul(localToWorld, worldVector);
}
// Gets the current object position (supports instancing)
float3 GetObjectPosition(MaterialInput input)
{
return input.InstanceOrigin.xyz;
}
// Gets the current object size
float3 GetObjectSize(MaterialInput input)
{
return float3(1, 1, 1);
}
// Get the current object random value (supports instancing)
float GetPerInstanceRandom(MaterialInput input)
{
return input.InstanceParams;
}
// Get the current object LOD transition dither factor (supports instancing)
float GetLODDitherFactor(MaterialInput input)
{
return 0;
}
// Gets the interpolated vertex color (in linear space)
float4 GetVertexColor(MaterialInput input)
{
return 1;
}
uint GetParticleUint(uint particleIndex, int offset)
{
return ParticlesData.Load(particleIndex * ParticleStride + offset);
}
int GetParticleInt(uint particleIndex, int offset)
{
return asint(ParticlesData.Load(particleIndex * ParticleStride + offset));
}
float GetParticleFloat(uint particleIndex, int offset)
{
return asfloat(ParticlesData.Load(particleIndex * ParticleStride + offset));
}
float2 GetParticleVec2(uint particleIndex, int offset)
{
return asfloat(ParticlesData.Load2(particleIndex * ParticleStride + offset));
}
float3 GetParticleVec3(uint particleIndex, int offset)
{
return asfloat(ParticlesData.Load3(particleIndex * ParticleStride + offset));
}
float4 GetParticleVec4(uint particleIndex, int offset)
{
return asfloat(ParticlesData.Load4(particleIndex * ParticleStride + offset));
}
float3 TransformParticlePosition(float3 input)
{
return mul(float4(input, 1.0f), WorldMatrix).xyz;
}
float3 TransformParticleVector(float3 input)
{
return mul(float4(input, 0.0f), WorldMatrixInverseTransposed).xyz;
}
@8
// Get material properties function (for vertex shader)
Material GetMaterialVS(MaterialInput input)
{
@5
}
// Get material properties function (for domain shader)
Material GetMaterialDS(MaterialInput input)
{
@6
}
// Get material properties function (for pixel shader)
Material GetMaterialPS(MaterialInput input)
{
@4
}
// Pixel Shader function for Volumetric Fog material injection (local fog)
META_PS(true, FEATURE_LEVEL_SM5)
void PS_VolumetricFog(Quad_GS2PS input, out float4 VBufferA : SV_Target0, out float4 VBufferB : SV_Target1)
{
uint3 gridCoordinate = uint3(input.Vertex.Position.xy, input.LayerIndex);
float3 cellOffset = 0.5f;
float2 volumeUV = (gridCoordinate.xy + cellOffset.xy) / GridSize.xy;
float zSlice = gridCoordinate.z + cellOffset.z;
float sceneDepth = (zSlice / GridSize.z) * VolumetricFogMaxDistance / ViewFar;
float deviceDepth = (ViewInfo.w / sceneDepth) + ViewInfo.z;
float4 clipPos = float4(volumeUV * float2(2.0, -2.0) + float2(-1.0, 1.0), deviceDepth, 1.0);
float4 wsPos = mul(clipPos, InverseViewProjectionMatrix);
float3 positionWS = wsPos.xyz / wsPos.w;
// Get material parameters
MaterialInput materialInput = (MaterialInput)0;
materialInput.WorldPosition = positionWS;
materialInput.TexCoord = input.Vertex.TexCoord;
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.InstanceParams = PerInstanceRandom;
materialInput.SvPosition = clipPos;
Material material = GetMaterialPS(materialInput);
// Compute fog properties
float3 albedo = material.Color;
float extinction = material.Opacity * material.Mask * 0.001f;
float3 emission = material.Emissive;
float3 scattering = albedo * extinction;
float absorption = max(0.0f, extinction - Luminance(scattering));
// Write fog properties
VBufferA = float4(scattering, absorption);
VBufferB = float4(emission, 0);
}
@9
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,23 @@
%copyright%
#pragma once
#include "Engine/Core/ISerializable.h"
#include "Engine/Core/Types/BaseTypes.h"
#include "Engine/Content/Assets/Model.h"
#include "Engine/Scripting/ScriptingType.h"
/// <summary>
/// %class% Json Asset.
/// </summary>
API_CLASS() class %module%%class% : public ISerializable
{
API_AUTO_SERIALIZATION();
DECLARE_SCRIPTING_TYPE_NO_SPAWN(%class%);
public:
// Custom float value.
API_FIELD(Attributes = "Range(0, 20), EditorOrder(0), EditorDisplay(\"Data\")")
float FloatValue = 20.0f;
// Custom vector data.
API_FIELD(Attributes = "EditorOrder(1), EditorDisplay(\"Data\")")
Vector3 Vector3Value = Vector3(0.1f);
};
@@ -0,0 +1,8 @@
%copyright%
#include "%filename%.h"
#include "Engine/Core/Log.h"
void %class%::RunNativeAction(Vector4 data)
{
LOG(Warning, "Data in RunNativeAction: {0}", data);
}
@@ -0,0 +1,20 @@
%copyright%
#pragma once
#include "Engine/Scripting/Script.h"
#include "Engine/Core/Math/Vector4.h"
/// <summary>
/// %class% Function Library
/// </summary>
API_CLASS(Static) class %module%%class%
{
DECLARE_SCRIPTING_TYPE_MINIMAL(%class%);
public:
/// <summary>
/// Logs the function parameter natively.
/// </summary>
/// <param name="data">Data to pass to native code</param>
API_FUNCTION() static void RunNativeAction(Vector4 data);
};
+8 -1
View File
@@ -4,23 +4,30 @@ using FlaxEngine;
namespace %namespace%
{
/// <summary>
/// %class% Script.
/// </summary>
public class %class% : Script
{
/// <inheritdoc/>
public override void OnStart()
{
// Here you can add code that needs to be called when script is created, just before the first game update
}
/// <inheritdoc/>
public override void OnEnable()
{
// Here you can add code that needs to be called when script is enabled (eg. register for events)
}
/// <inheritdoc/>
public override void OnDisable()
{
// Here you can add code that needs to be called when script is disabled (eg. unregister from events)
}
/// <inheritdoc/>
public override void OnUpdate()
{
// Here you can add code that needs to be called every frame
@@ -5,6 +5,7 @@
API_CLASS() class %module%%class% : public Script
{
API_AUTO_SERIALIZATION();
DECLARE_SCRIPTING_TYPE(%class%);
// [Script]
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.
+15
View File
@@ -0,0 +1,15 @@
## Mono
Custom fork: [https://github.com/FlaxEngine/mono](https://github.com/FlaxEngine/mono) with custom features for C# assemblies hot-reloading at runtime without domain unload (more: [https://flaxengine.com/blog/flax-facts-16-scripts-hot-reload/](https://flaxengine.com/blog/flax-facts-16-scripts-hot-reload/)).
### Notes
Some useful notes and tips for devs:
* Use `-monolog` to print Mono logs to Flax logs
* When working with mono fork set `localRepoPath` to local repo location in `Source\Tools\Flax.Build\Deps\Dependencies\mono.cs`
* To update mono deps when developing/updating use `.\Development\Scripts\Windows\CallBuildTool.bat -log -ReBuildDeps -verbose -depsToBuild=mono -platform=Windows`, then build engine and run it
* `MONO_GC_DEBUG=check-remset-consistency` - it will do additional checks at each collection to see if there are any missing write barriers
* `MONO_GC_DEBUG=nursery-canaries` - it might catch some buffer overflows in case of problems in code.
* `MONO_GC_DEBUG=<log-level>:<log-file>` - will print GC debug to the log file (eg. `4:sgen-gc`).
* Methods `mono_custom_attrs_from_property` and `mono_custom_attrs_get_attr` are internally cached
* If C++ mono call a method in c# that will throw an error, error will be handled but, not completly. Calling relase domain will return random `Access memory violation`. First search for error in c# code. No workaround yet.
+6
View File
@@ -3,6 +3,12 @@
set -e
testfilesize=$(wc -c < 'Source/Logo.png')
if [ $testfilesize -le 1000 ]; then
echo "CallBuildTool ERROR: Repository was not cloned using Git LFS" 1>&2
exit 1
fi
# Compile the build tool.
xbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build
@@ -4,6 +4,10 @@ rem Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
if not exist "Development\Scripts\Windows\GetMSBuildPath.bat" goto Error_InvalidLocation
for %%I in (Source\Logo.png) do if %%~zI LSS 2000 (
goto Error_MissingLFS
)
call "Development\Scripts\Windows\GetMSBuildPath.bat"
if errorlevel 1 goto Error_NoVisualStudioEnvironment
@@ -33,6 +37,9 @@ Binaries\Tools\Flax.Build.exe %*
if errorlevel 1 goto Error_FlaxBuildFailed
exit /B 0
:Error_MissingLFS
echo CallBuildTool ERROR: Repository was not cloned using Git LFS
goto Exit
:Error_InvalidLocation
echo CallBuildTool ERROR: The script is in invalid directory.
goto Exit
+2 -2
View File
@@ -2,8 +2,8 @@
"Name": "Flax",
"Version": {
"Major": 1,
"Minor": 0,
"Build": 6215
"Minor": 2,
"Build": 6224
},
"Company": "Flax",
"Copyright": "Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.",
+1
View File
@@ -234,6 +234,7 @@
<s:String x:Key="/Default/PatternsAndTemplates/Todo/TodoPatterns/=EEA05B0ED8200E4BA9D2D3F1052EBFFD/Name/@EntryValue">Deprecated</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/Todo/TodoPatterns/=EEA05B0ED8200E4BA9D2D3F1052EBFFD/Pattern/@EntryValue">(?&lt;=\W|^)(?&lt;TAG&gt;\[Deprecated)(\W|$)(.*)</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/Todo/TodoPatterns/=EEA05B0ED8200E4BA9D2D3F1052EBFFD/TodoIconStyle/@EntryValue">Normal</s:String>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Ackermann/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=analytics/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Antialiasing/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=backbuffer/@EntryIndexedValue">True</s:Boolean>
+1
View File
@@ -16,6 +16,7 @@ exit /B 0
:BuildToolFailed
echo Flax.Build tool failed.
pause
goto Exit
:Exit
Regular → Executable
View File
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
# Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
set -e
echo Building and packaging Flax Editor...
# Change the path to the script root
cd "`dirname "$0"`"
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployEditor --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
Regular → Executable
+1 -1
View File
@@ -8,5 +8,5 @@ echo Building and packaging platforms data...
# Change the path to the script root
cd "`dirname "$0"`"
# Run Flax.Build to generate project files (also pass the arguments)
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployPlatforms --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
+21 -10
View File
@@ -26,32 +26,43 @@ This repository contains full source code of the Flax (excluding NDA-protected p
Follow the instructions below to compile and run the engine from source.
## Flax plugin for Visual Studio
Flax Visual Studio extension provides better programming workflow, C# scripts debugging functionality and allows to attach to running engine instance to debug C# source. This extension is available to download [here](https://marketplace.visualstudio.com/items?itemName=Flax.FlaxVS).
## Windows
* Install Visual Studio 2015 or newer
* Install Windows 8.1 SDK or newer
* Install Microsoft Visual C++ 2015.3 v140 toolset for desktop (x86, x64)
* Install Microsoft Visual C++ 2015 v140 toolset or newer
* Clone repo (with LFS)
* Run **GenerateProjectFiles.bat**
* Open `Flax.sln` and set solution configuration to **Editor.Development** and solution platform to **Win64**
* Compile Flax project (hit F7 key)
* Set Flax (C++) or FlaxEngine (C#) as startup project
* Compile Flax project (hit F7 or CTRL+Shift+B)
* Run Flax (hit F5 key)
---
**Note**
If building on Windows to support Vulkan rendering, first install the Vulkan SDK then set an environment variable to provide the path to the SDK prior to running GenerateProjectFiles.bat:
    set VULKAN_SDK=C:\VulkanSDK\version\
---
## Linux
* Install Visual Studio Code
* Install Mono ([https://www.mono-project.com/download/stable](https://www.mono-project.com/download/stable))
* Install Git with LFS
* Install requried packages: `sudo apt-get install nuget autoconf libtool libogg-dev automake build-essential gettext cmake python curl libtool-bin libx11-dev libpulse-dev libasound2-dev libjack-dev portaudio19-dev`
* Install compiler `sudo apt-get install clang-7 lldb-7 lld-7`
* Install requried packages: `sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev nuget autoconf libogg-dev automake build-essential gettext cmake python libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev`
* Install compiler `sudo apt-get install clang lldb lld` (Clang 6 or newer)
* Clone repo (with LFS)
* Run `sudo bash GenerateProjectFiles.sh`
* Run `./GenerateProjectFiles.sh`
* Open workspace with Visual Code
* Build and run
# Flax plugin for Visual Studio
Flax Visual Studio extension provides better programming workflow, C# scripts debugging functionality and allows to attach to running engine instance to debug C# source. This extension is available to download [here](https://marketplace.visualstudio.com/items?itemName=Flax.FlaxVS).
* Build and run (configuration and task named `Flax|Editor.Linux.Development|x64`)
## Workspace directory
@@ -8,7 +8,9 @@
#include "Engine/Core/Math/Vector2.h"
#include "Engine/Core/Types/DateTime.h"
#include "Editor/Editor.h"
#include "Editor/ProjectInfo.h"
#include "Engine/Engine/EngineService.h"
#include "Engine/Engine/Globals.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Utilities/StringConverter.h"
#include "FlaxEngine.Gen.h"
@@ -103,6 +105,8 @@ void EditorAnalytics::StartSession()
{ UA_DOCUMENT_TITLE, 0, "Flax Editor" },
#if PLATFORM_WINDOWS
{ UA_USER_AGENT, 0, "Windows " FLAXENGINE_VERSION_TEXT },
#elif PLATFORM_LINUX
{ UA_USER_AGENT, 0, "Linux " FLAXENGINE_VERSION_TEXT },
#else
#error "Unknown platform"
#endif
@@ -7,7 +7,8 @@
void RegisterGameCookingStart(GameCooker::EventType type)
{
auto platform = ToString(GameCooker::GetCurrentData().Platform);
auto& data = *GameCooker::GetCurrentData();
auto platform = ToString(data.Platform);
if (type == GameCooker::EventType::BuildStarted)
{
EditorAnalytics::SendEvent("Actions", "GameCooker.Start", platform);
+1 -2
View File
@@ -26,8 +26,7 @@ namespace FlaxEditor.Content
{
if (reader.TokenType == JsonToken.String)
{
Guid id;
FlaxEngine.Json.JsonSerializer.ParseID((string)reader.Value, out id);
FlaxEngine.Json.JsonSerializer.ParseID((string)reader.Value, out Guid id);
return Editor.Instance.ContentDatabase.Find(id);
}
@@ -3,6 +3,7 @@
using System;
using FlaxEditor.Content.Settings;
using FlaxEditor.Scripting;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
namespace FlaxEditor.Content.Create
@@ -11,87 +12,31 @@ namespace FlaxEditor.Content.Create
/// Engine settings asset creating handler. Allows to specify type of the settings to create (e.g. <see cref="GameSettings"/>, <see cref="TimeSettings"/>, etc.).
/// </summary>
/// <seealso cref="FlaxEditor.Content.Create.CreateFileEntry" />
public class SettingsCreateEntry : CreateFileEntry
internal class SettingsCreateEntry : CreateFileEntry
{
/// <summary>
/// Types of the settings assets that can be created.
/// </summary>
public enum SettingsTypes
internal enum SettingsTypes
{
/// <summary>
/// The game settings.
/// </summary>
GameSettings,
/// <summary>
/// The audio settings.
/// </summary>
AudioSettings,
/// <summary>
/// The time settings.
/// </summary>
TimeSettings,
/// <summary>
/// The layers and tags settings.
/// </summary>
LayersAndTagsSettings,
/// <summary>
/// The physics settings.
/// </summary>
PhysicsSettings,
/// <summary>
/// The graphics settings.
/// </summary>
GraphicsSettings,
/// <summary>
/// The navigation settings.
/// </summary>
NavigationSettings,
/// <summary>
/// The build settings.
/// </summary>
LocalizationSettings,
BuildSettings,
/// <summary>
/// The input settings.
/// </summary>
InputSettings,
/// <summary>
/// The Windows settings.
/// </summary>
StreamingSettings,
WindowsPlatformSettings,
/// <summary>
/// The UWP settings.
/// </summary>
UWPPlatformSettings,
/// <summary>
/// The Linux settings.
/// </summary>
LinuxPlatformSettings,
/// <summary>
/// The PS4 settings
/// </summary>
PS4PlatformSettings,
/// <summary>
/// The Xbox Scarlett settings
/// </summary>
XboxScarlettPlatformSettings,
/// <summary>
/// The Android settings
/// </summary>
AndroidPlatformSettings,
SwitchPlatformSettings,
}
private static readonly Type[] _types =
@@ -103,20 +48,20 @@ namespace FlaxEditor.Content.Create
typeof(PhysicsSettings),
typeof(GraphicsSettings),
typeof(NavigationSettings),
typeof(LocalizationSettings),
typeof(BuildSettings),
typeof(InputSettings),
typeof(StreamingSettings),
typeof(WindowsPlatformSettings),
typeof(UWPPlatformSettings),
typeof(LinuxPlatformSettings),
TypeUtils.GetManagedType(GameSettings.PS4PlatformSettingsTypename),
TypeUtils.GetManagedType(GameSettings.XboxScarlettPlatformSettingsTypename),
typeof(AndroidPlatformSettings),
TypeUtils.GetManagedType(GameSettings.SwitchPlatformSettingsTypename),
};
/// <summary>
/// The create options.
/// </summary>
public class Options
internal class Options
{
/// <summary>
/// The type.
@@ -150,7 +95,134 @@ namespace FlaxEditor.Content.Create
return true;
}
var data = Activator.CreateInstance(type);
return Editor.SaveJsonAsset(ResultUrl, data);
if (Editor.SaveJsonAsset(ResultUrl, data))
return true;
// Automatic settings linking to game settings for easier usage
var gameSettingsItem = Editor.Instance.ContentDatabase.Game.Content.Folder.FindChild(GameSettings.GameSettingsAssetPath) as JsonAssetItem;
if (gameSettingsItem != null)
{
var gameSettingsWindow = Editor.Instance.Windows.FindEditor(gameSettingsItem) as JsonAssetWindow;
if (gameSettingsWindow?.Instance is GameSettings)
{
if (TrySet(gameSettingsWindow.Instance as GameSettings, ResultUrl, _options.Type))
gameSettingsWindow.MarkAsEdited();
}
else
{
var gameSettingsAsset = FlaxEngine.Content.LoadAsync<JsonAsset>(gameSettingsItem.ID);
if (gameSettingsAsset && !gameSettingsAsset.WaitForLoaded())
{
if (gameSettingsAsset.CreateInstance() is GameSettings settings)
{
if (TrySet(settings, ResultUrl, _options.Type))
{
Editor.SaveJsonAsset(GameSettings.GameSettingsAssetPath, settings);
}
}
}
}
}
return false;
}
private static bool TrySet(GameSettings instance, string resultUrl, SettingsTypes type)
{
var asset = FlaxEngine.Content.LoadAsync<JsonAsset>(resultUrl);
if (instance != null && asset != null)
{
switch (type)
{
case SettingsTypes.AudioSettings:
if (instance.Audio != null)
return false;
instance.Audio = asset;
break;
case SettingsTypes.TimeSettings:
if (instance.Time != null)
return false;
instance.Time = asset;
break;
case SettingsTypes.LayersAndTagsSettings:
if (instance.LayersAndTags != null)
return false;
instance.LayersAndTags = asset;
break;
case SettingsTypes.PhysicsSettings:
if (instance.Physics != null)
return false;
instance.Physics = asset;
break;
case SettingsTypes.GraphicsSettings:
if (instance.Graphics != null)
return false;
instance.Graphics = asset;
break;
case SettingsTypes.NavigationSettings:
if (instance.Navigation != null)
return false;
instance.Navigation = asset;
break;
case SettingsTypes.LocalizationSettings:
if (instance.Localization != null)
return false;
instance.Localization = asset;
break;
case SettingsTypes.BuildSettings:
if (instance.GameCooking != null)
return false;
instance.GameCooking = asset;
break;
case SettingsTypes.InputSettings:
if (instance.Input != null)
return false;
instance.Input = asset;
break;
case SettingsTypes.StreamingSettings:
if (instance.Streaming != null)
return false;
instance.Streaming = asset;
break;
case SettingsTypes.WindowsPlatformSettings:
if (instance.WindowsPlatform != null)
return false;
instance.WindowsPlatform = asset;
break;
case SettingsTypes.UWPPlatformSettings:
if (instance.UWPPlatform != null)
return false;
instance.UWPPlatform = asset;
break;
case SettingsTypes.LinuxPlatformSettings:
if (instance.LinuxPlatform != null)
return false;
instance.LinuxPlatform = asset;
break;
case SettingsTypes.PS4PlatformSettings:
if (instance.PS4Platform != null)
return false;
instance.PS4Platform = asset;
break;
case SettingsTypes.XboxScarlettPlatformSettings:
if (instance.XboxScarlettPlatform != null)
return false;
instance.XboxScarlettPlatform = asset;
break;
case SettingsTypes.AndroidPlatformSettings:
if (instance.AndroidPlatform != null)
return false;
instance.AndroidPlatform = asset;
break;
case SettingsTypes.SwitchPlatformSettings:
if (instance.SwitchPlatform != null)
return false;
instance.SwitchPlatform = asset;
break;
}
return true;
}
return false;
}
}
}
@@ -25,7 +25,7 @@ namespace FlaxEditor.Content.Create
private static bool IsValid(Type type)
{
return type.IsPublic && !type.IsSealed && !type.IsGenericType;
return (type.IsPublic || type.IsNestedPublic) && !type.IsSealed && !type.IsGenericType;
}
}
+36 -4
View File
@@ -27,6 +27,22 @@ namespace FlaxEditor.Content.GUI
List,
}
/// <summary>
/// The method sort for items.
/// </summary>
public enum SortType
{
/// <summary>
/// The classic alphabetic sort method (A-Z).
/// </summary>
AlphabeticOrder,
/// <summary>
/// The reverse alphabetic sort method (Z-A).
/// </summary>
AlphabeticReverse
}
/// <summary>
/// Main control for <see cref="ContentWindow"/> used to present collection of <see cref="ContentItem"/>.
/// </summary>
@@ -218,8 +234,9 @@ namespace FlaxEditor.Content.GUI
/// Shows the items collection in the view.
/// </summary>
/// <param name="items">The items to show.</param>
/// <param name="sortType">The sort method for items.</param>
/// <param name="additive">If set to <c>true</c> items will be added to the current selection. Otherwise selection will be cleared before.</param>
public void ShowItems(List<ContentItem> items, bool additive = false)
public void ShowItems(List<ContentItem> items, SortType sortType, bool additive = false)
{
if (items == null)
throw new ArgumentNullException();
@@ -249,9 +266,24 @@ namespace FlaxEditor.Content.GUI
items[i].AddReference(this);
}
// Sort items
_children.Sort();
// Sort items depending on sortMethod parameter
_children.Sort(((control, control1) =>
{
if (sortType == SortType.AlphabeticReverse)
{
if (control.CompareTo(control1) > 0)
{
return -1;
}
if (control.CompareTo(control1) == 0)
{
return 0;
}
return 1;
}
return control.CompareTo(control1);
}));
// Unload and perform UI layout
IsLayoutLocked = wasLayoutLocked;
PerformLayout();
@@ -113,12 +113,10 @@ namespace FlaxEditor.Content.Import
extension = extension.ToLower();
// Check if use overriden type
ImportFileEntryHandler createDelegate;
if (FileTypes.TryGetValue(extension, out createDelegate))
if (FileTypes.TryGetValue(extension, out ImportFileEntryHandler createDelegate))
return createDelegate(ref request);
// Use default type
return request.IsBinaryAsset ? new AssetImportEntry(ref request) : new ImportFileEntry(ref request);
return request.IsInBuilt ? new AssetImportEntry(ref request) : new ImportFileEntry(ref request);
}
internal static void RegisterDefaultTypes()
@@ -32,7 +32,7 @@ namespace FlaxEditor.Content.Import
var result = 0;
for (int i = 0; i < _rootNode.ChildrenCount; i++)
{
if (_rootNode.Children[i].Tag is ImportFileEntry fileEntry)
if (_rootNode.Children[i].Tag is ImportFileEntry)
result++;
}
return result;
@@ -215,8 +215,7 @@ namespace FlaxEditor.Content.Import
var entries = new List<ImportFileEntry>(_rootNode.ChildrenCount);
for (int i = 0; i < _rootNode.ChildrenCount; i++)
{
var fileEntry = _rootNode.Children[i].Tag as ImportFileEntry;
if (fileEntry != null)
if (_rootNode.Children[i].Tag is ImportFileEntry fileEntry)
entries.Add(fileEntry);
}
Editor.Instance.ContentImporting.LetThemBeImportedxD(entries);
@@ -117,8 +117,8 @@ namespace FlaxEditor.Content.Import
/// <summary>
/// True if calculate model tangents, otherwise will import them.
/// </summary>
[EditorOrder(40), DefaultValue(true), EditorDisplay("Geometry"), Tooltip("Enable model tangent vectors recalculating")]
public bool CalculateTangents { get; set; } = true;
[EditorOrder(40), DefaultValue(false), EditorDisplay("Geometry"), Tooltip("Enable model tangent vectors recalculating")]
public bool CalculateTangents { get; set; } = false;
/// <summary>
/// Calculated normals smoothing angle.
@@ -262,9 +262,9 @@ namespace FlaxEditor.Content.Import
public int BaseLOD { get; set; } = 0;
/// <summary>
/// The amount of LODs to include in the model (all reaming ones starting from Base LOD will be generated).
/// The amount of LODs to include in the model (all remaining ones starting from Base LOD will be generated).
/// </summary>
[EditorOrder(1120), DefaultValue(4), Limit(1, Model.MaxLODs), EditorDisplay("Level Of Detail", "LOD Count"), Tooltip("The amount of LODs to include in the model (all reaming ones starting from Base LOD will be generated).")]
[EditorOrder(1120), DefaultValue(4), Limit(1, Model.MaxLODs), EditorDisplay("Level Of Detail", "LOD Count"), Tooltip("The amount of LODs to include in the model (all remaining ones starting from Base LOD will be generated).")]
public int LODCount { get; set; } = 4;
/// <summary>
+2 -2
View File
@@ -21,9 +21,9 @@ namespace FlaxEditor.Content.Import
public string OutputPath;
/// <summary>
/// Flag set to true for binary assets handled by the engine internally.
/// Flag set to true for the assets handled by the engine internally.
/// </summary>
public bool IsBinaryAsset;
public bool IsInBuilt;
/// <summary>
/// Flag used to skip showing import settings dialog to used. Can be used for importing assets from code by plugins.
@@ -283,6 +283,13 @@ namespace FlaxEditor.Content.Import
[EditorOrder(250), VisibleIf("PreserveAlphaCoverage"), DefaultValue(0.5f), Tooltip("The reference value for the alpha coverage preserving.")]
public float PreserveAlphaCoverageReference { get; set; } = 0.5f;
/// <summary>
/// Texture group for streaming (negative if unused). See Streaming Settings.
/// </summary>
[CustomEditor(typeof(CustomEditors.Dedicated.TextureGroupEditor))]
[EditorOrder(300), Tooltip("Texture group for streaming (negative if unused). See Streaming Settings.")]
public int TextureGroup = -1;
/// <summary>
/// The sprites. Used to keep created sprites on sprite atlas reimport.
/// </summary>
@@ -305,6 +312,7 @@ namespace FlaxEditor.Content.Import
public float PreserveAlphaCoverageReference;
public float Scale;
public int MaxSize;
public int TextureGroup;
public Int2 Size;
public Rectangle[] SpriteAreas;
public string[] SpriteNames;
@@ -327,7 +335,8 @@ namespace FlaxEditor.Content.Import
PreserveAlphaCoverageReference = PreserveAlphaCoverageReference,
Scale = Scale,
Size = Size,
MaxSize = (int)MaxSize
MaxSize = (int)MaxSize,
TextureGroup = TextureGroup,
};
if (Sprites != null && Sprites.Count > 0)
{
@@ -362,6 +371,7 @@ namespace FlaxEditor.Content.Import
PreserveAlphaCoverageReference = options.PreserveAlphaCoverageReference;
Scale = options.Scale;
MaxSize = ConvertMaxSize(options.MaxSize);
TextureGroup = options.TextureGroup;
Size = options.Size;
if (options.SpriteAreas != null)
{
@@ -483,7 +493,9 @@ namespace FlaxEditor.Content.Import
{
if (settings is TextureImportSettings o)
{
var sprites = o.Sprites ?? _settings.Sprites; // Preserve sprites if not specified to override
_settings = o;
_settings.Sprites = sprites;
return true;
}
return false;
+20
View File
@@ -108,6 +108,26 @@ namespace FlaxEditor.Content
return false;
}
/// <summary>
/// Called when user dags this item into editor viewport or scene tree node.
/// </summary>
/// <param name="context">The editor context (eg. editor viewport or scene tree node).</param>
/// <returns>True if item can be dropped in, otherwise false.</returns>
public virtual bool OnEditorDrag(object context)
{
return false;
}
/// <summary>
/// Called when user drops the item into editor viewport or scene tree node.
/// </summary>
/// <param name="context">The editor context (eg. editor viewport or scene tree node).</param>
/// <returns>The spawned object.</returns>
public virtual Actor OnEditorDrop(object context)
{
throw new NotSupportedException($"Asset {GetType()} doesn't support dropping into viewport.");
}
/// <inheritdoc />
protected override bool DrawShadow => true;
+28 -4
View File
@@ -103,14 +103,26 @@ namespace FlaxEditor.Content
/// Implementation of <see cref="BinaryAssetItem"/> for <see cref="Model"/> assets.
/// </summary>
/// <seealso cref="FlaxEditor.Content.BinaryAssetItem" />
public class ModelAssetItem : BinaryAssetItem
public class ModelItem : BinaryAssetItem
{
/// <inheritdoc />
public ModelAssetItem(string path, ref Guid id, string typeName, Type type)
public ModelItem(string path, ref Guid id, string typeName, Type type)
: base(path, ref id, typeName, type, ContentItemSearchFilter.Model)
{
}
/// <inheritdoc />
public override bool OnEditorDrag(object context)
{
return true;
}
/// <inheritdoc />
public override Actor OnEditorDrop(object context)
{
return new StaticModel { Model = FlaxEngine.Content.LoadAsync<Model>(ID) };
}
/// <inheritdoc />
protected override void OnBuildTooltipText(StringBuilder sb)
{
@@ -142,14 +154,26 @@ namespace FlaxEditor.Content
/// Implementation of <see cref="BinaryAssetItem"/> for <see cref="SkinnedModel"/> assets.
/// </summary>
/// <seealso cref="FlaxEditor.Content.BinaryAssetItem" />
public class SkinnedModelAssetItem : BinaryAssetItem
public class SkinnedModeItem : BinaryAssetItem
{
/// <inheritdoc />
public SkinnedModelAssetItem(string path, ref Guid id, string typeName, Type type)
public SkinnedModeItem(string path, ref Guid id, string typeName, Type type)
: base(path, ref id, typeName, type, ContentItemSearchFilter.Model)
{
}
/// <inheritdoc />
public override bool OnEditorDrag(object context)
{
return true;
}
/// <inheritdoc />
public override Actor OnEditorDrop(object context)
{
return new AnimatedModel { SkinnedModel = FlaxEngine.Content.LoadAsync<SkinnedModel>(ID) };
}
/// <inheritdoc />
protected override void OnBuildTooltipText(StringBuilder sb)
{
@@ -20,6 +20,6 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CSharpScript64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CSharpScript128;
}
}
+1 -1
View File
@@ -121,7 +121,7 @@ namespace FlaxEditor.Content
public override bool Exists => Directory.Exists(Path);
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Folder64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Folder128;
/// <inheritdoc />
internal override void UpdatePath(string value)
+2 -2
View File
@@ -455,7 +455,7 @@ namespace FlaxEditor.Content
const float thumbnailInShadowSize = 50.0f;
var shadowRect = rectangle.MakeExpanded((DefaultThumbnailSize - thumbnailInShadowSize) * rectangle.Width / DefaultThumbnailSize * 1.3f);
if (!_shadowIcon.IsValid)
_shadowIcon = Editor.Instance.Icons.AssetShadow;
_shadowIcon = Editor.Instance.Icons.AssetShadow128;
Render2D.DrawSprite(_shadowIcon, shadowRect);
}
@@ -599,7 +599,7 @@ namespace FlaxEditor.Content
public override bool OnShowTooltip(out string text, out Vector2 location, out Rectangle area)
{
UpdateTooltipText();
var result = base.OnShowTooltip(out text, out location, out area);
var result = base.OnShowTooltip(out text, out _, out area);
location = Size * new Vector2(0.9f, 0.5f);
return result;
}
+1 -1
View File
@@ -20,6 +20,6 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CppScript64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CPPScript128;
}
}
+1 -1
View File
@@ -26,6 +26,6 @@ namespace FlaxEditor.Content
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}
}
+17 -1
View File
@@ -11,6 +11,8 @@ namespace FlaxEditor.Content
/// <seealso cref="FlaxEditor.Content.AssetItem" />
public class JsonAssetItem : AssetItem
{
private readonly SpriteHandle _thumbnail;
/// <summary>
/// Initializes a new instance of the <see cref="JsonAssetItem"/> class.
/// </summary>
@@ -20,13 +22,27 @@ namespace FlaxEditor.Content
public JsonAssetItem(string path, Guid id, string typeName)
: base(path, typeName, ref id)
{
_thumbnail = Editor.Instance.Icons.Json128;
}
/// <summary>
/// Initializes a new instance of the <see cref="JsonAssetItem"/> class.
/// </summary>
/// <param name="path">The path.</param>
/// <param name="id">The identifier.</param>
/// <param name="typeName">Name of the resource type.</param>
/// <param name="thumbnail">Asset icon.</param>
public JsonAssetItem(string path, Guid id, string typeName, SpriteHandle thumbnail)
: base(path, typeName, ref id)
{
_thumbnail = thumbnail;
}
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Json;
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document64;
public override SpriteHandle DefaultThumbnail => _thumbnail;
/// <inheritdoc />
protected override bool DrawShadow => false;
+1 -1
View File
@@ -40,7 +40,7 @@ namespace FlaxEditor.Content
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
/// <inheritdoc />
protected override bool DrawShadow => true;
+12
View File
@@ -21,6 +21,18 @@ namespace FlaxEditor.Content
{
}
/// <inheritdoc />
public override bool OnEditorDrag(object context)
{
return true;
}
/// <inheritdoc />
public override Actor OnEditorDrop(object context)
{
return PrefabManager.SpawnPrefab(FlaxEngine.Content.LoadAsync<Prefab>(ID), null);
}
/// <inheritdoc />
public override ContentItemType ItemType => ContentItemType.Asset;
+1 -1
View File
@@ -28,7 +28,7 @@ namespace FlaxEditor.Content
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Scene;
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Scene64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Scene128;
/// <inheritdoc />
public override bool IsOfType(Type type)
@@ -27,6 +27,6 @@ namespace FlaxEditor.Content
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Shader;
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document64;
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}
}

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