Commit Graph

10615 Commits

Author SHA1 Message Date
Mike Balfour b880b8e3ff Merge pull request #6626 from aws-lumberyard-dev/terrain/mbalfour/terrain_system_benchmarks
Terrain/mbalfour/terrain system benchmarks
2022-01-04 11:33:13 -06:00
Chris Galvan 7c8d1cdf8c Merge pull request #6258 from aws-lumberyard-dev/Network/olexl/rhi_compile_fixes
Network/olexl/rhi compile fixes
2022-01-04 11:29:27 -06:00
Chris Galvan 3194422a33 Merge pull request #6426 from aws-lumberyard-dev/PrefabAutoTests
Make 'test_WindowsMacPlatforms_MoveCorruptedSliceFile_MoveSuccess' to use prefab instead
2022-01-04 11:28:24 -06:00
AMZN-Phil 9f500b1228 Merge pull request #6571 from aws-lumberyard-dev/Prism/RearrangeProjectsAfterRemoval
Reflow Project Tiles Everytime They Are Updated
2022-01-04 09:03:42 -08:00
bosnichd 2dfdabdfc9 ProcessWatcher fixes. (#6570)
* ProcessWatcher fixes.

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Update based on review feedback.

Signed-off-by: bosnichd <bosnichd@amazon.com>
2022-01-04 09:54:20 -07:00
mrieggeramzn 03f6ba55fd Adding cascade blending for pcf (#6181)
* Adding cascade blending for pcf

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs to spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs to spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs 2 spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Feedback using min3

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Only enable flag if > 1 cascade

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* no blending if last cascade

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Remove unused

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2022-01-04 11:29:34 -05:00
mrieggeramzn cab09dc4ae Adding better decal culling (#6519)
* Adding better decal culling

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* removing accidental commit

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Breja's suggestion for decal sphere size estimation

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Removing unused variable

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2022-01-04 11:27:43 -05:00
Chris Galvan 6e2ccbc055 Merge pull request #6437 from pollend/chore/update-SafeNormalize-usage-EmotionFX
chore[EmotionFX]: replace usage of SafeNormalize
2022-01-04 09:57:31 -06:00
Mike Balfour 07c862bd52 Fix string format specifier.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-04 08:37:58 -06:00
Benjamin Jillich 95245e2424 EMotion FX: Linear and angular velocity calculation and debug visualization helpers (#6613)
* Added helper functions for calculating linear and angular velocities.
* Added debug visualization helper for linear and angular velocities.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-04 09:13:14 +01:00
Mike Balfour 9556c5bf62 Add benchmarks for terrain APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-03 17:37:38 -06:00
Luis Sempé 7581967da3 Merge pull request #6300 from tjmgd/bug-script-canvas-60
Script Canvas Groups - Updated keyboard shortcut bindings to avoid conflict with "play game" shortcuts
2022-01-03 14:56:06 -08:00
Chris Galvan 005acbf195 Merge pull request #6620 from aws-lumberyard-dev/cgalvan/RemoveLegacyClickableLabel
Removed legacy QtUi/ClickableLabel and re-worked the About dialog accordingly
2022-01-03 16:53:36 -06:00
Mike Balfour b0af08e61f Moved GradientSignal component headers to Include directory.
All of the component headers in the gem have been moved to the Include directory to make them public to other gems.  This allows "upstream" unit tests and benchmarks to easily create real non-mocked-out versions of these components to do more integration-level and system-level testing and benchmarking.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-03 16:12:15 -06:00
Mike Balfour a000198b1b Add benchmarks to GradientSignal. (#6616)
* Add benchmarks to GradientSignal.
Cleaned up and rearranged a bit of the unit testing code to make it reusable from a benchmark suite as well.  Added set of benchmarks for measuring GetValue(), so that we can compare against GetValues() when it gets added.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Fixed Editor unit tests.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-03 16:07:31 -06:00
Gene Walters 5913a64e92 Merge pull request #6592 from aws-lumberyard-dev/LYN-9010_IMGui_CopyPasteSupport
IMGui: Enabling Default Clipboard Functions
2022-01-03 14:03:13 -08:00
carlitosan 6c986657b4 Fix for file-save-as-new and open asset (#6490)
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
2022-01-03 13:18:18 -08:00
Chris Galvan fd9574c648 Removed legacy QtUi/ClickableLabel and re-worked about dialog to use QLabel for terms of use label
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-03 14:21:44 -06:00
Chris Galvan c844212492 Merge pull request #6287 from tjmgd/bug-project-settings-36
Illegal exe name and version no. when opening Project Settings Tool
2022-01-03 14:06:53 -06:00
Junbo Liang 75476032ab Define AWSI automation tests pipe for Jenkins (#6518)
* Define AWSI automation tests pipe for Jenkins

Signed-off-by: Junbo Liang <68558268+junbo75@users.noreply.github.com>
2022-01-03 11:59:03 -08:00
amzn-sj 1d819e2591 Fix crash caused by trying to dereference a nullptr
Early return if input attachment is null (#6590)

Signed-off-by: amzn-sj <srikkant@amazon.com>
2022-01-03 11:50:49 -08:00
Chris Galvan ece56055bf Merge pull request #6290 from tjmgd/bug-lod-disable-38
Parameters of LOD distance component still take effect when anim graph disabled
2022-01-03 13:40:53 -06:00
Chris Galvan 2b4ccfd630 Merge pull request #6480 from imginimg/ace_improvements
[AudioSystem] Audio Controls Editor minor improvements.
2022-01-03 13:40:25 -06:00
Chris Galvan aa17120f09 Merge pull request #6496 from pollend/chore/add-assets-plane
chore: add assertions to plane to ensure normalization
2022-01-03 12:29:42 -06:00
Roman ee554f6464 ActorInstanceId default to -1 when no %lastresult matches (#6442)
* small bugfix

Signed-off-by: rhhong <rhhong@amazon.com>

* ActorInstanceId default to -1 when no %lastresult matches

Signed-off-by: rhhong <rhhong@amazon.com>

* CR feedback - wrap function to get the first available editor actor instance.

Signed-off-by: rhhong <rhhong@amazon.com>

* Remove mcore inline

Signed-off-by: rhhong <rhhong@amazon.com>

* Fixed the bug that delete an instance from actor manager crashes the editor.

Signed-off-by: rhhong <rhhong@amazon.com>
2022-01-03 09:25:41 -08:00
Gene Walters 8cccef019f Merge pull request #6603 from aws-lumberyard-dev/LYN-9014_NetBindingComponentIconFix
Fix Network Binding Component Icon
2022-01-03 08:00:45 -08:00
amzn-mike 81453defa0 Load QIcons once for asset tree and share with each Asset Tree Item to avoid file loads for every asset and improve start up time (#6485)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2022-01-03 09:56:19 -06:00
amzn-mike a95b303f19 Remove Shader compiler tab from Asset Processor (#6486)
* Remove Shader compiler tab from Asset Processor

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Remove more references to shader compiler

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2022-01-03 09:44:51 -06:00
amzn-mike 346a414aff Change AP unit test project to a DLL like all others, add benchmarks project (#6588)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
2022-01-03 09:44:34 -06:00
Benjamin Jillich 79dd65e1cc Quaternion shortest equivalent (#6472)
* Added new helper functions to get the shortest equivalent of the rotation. In case the w component of the quaternion is negative the rotation is > 180° and taking the longer path. The quaternion will be inverted in that case to take the shortest path of rotation.
* Added unit test.
* Renamed the angle parameter of the CreateRotationX/Y/Z() functions into angleInRadians.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-03 10:20:27 +01:00
Gene Walters 8cd4a3dced Fix netbind component to use the new svg icons instead of png (which no longer exist)
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-12-30 12:50:06 -08:00
Mike Balfour 48260486fb Change gradients to use cached GradientTransform instance (#6591)
* Change flow so that TerrainSystem stops responding during deactivation.
Some systems might accidentally try to call back to the TerrainSystem inside a DestroyBegin notification, so make sure it stops listening before sending out the notification.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Change gradients to cache and use a GradientTransform instance.
In my local test case, calling EBus on every call took 337 ms, using a lambda to wrap the calls took 197 ms, and using the fully cached version took 170 ms.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Remove the wrappingTransform function and go back to the switch statement.
There was a bit of overhead to each function call due to using AZStd::function that just isn't necessary for this use case.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Add profile markers to the heightfield updates so that they're more visible.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Cleared state while component is deactivated.
The state was getting refreshed even while the component was in a deactivated state, which meant that it wasn't properly notifying of state changes when it became active since it wasn't detecting an actual change.  By clearing the state when deactivated, and ensuring the state isn't getting refreshed *while* deactivated, the notifications work properly.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Fixed compile warning on unit test.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Addressed PR feedback - changed comments, reduced mutex scope

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-30 12:43:00 -06:00
Gene Walters 49652352f4 Allowing default ImGui clipboard behavior so copy+paste works in the imgui console menu
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-12-29 16:38:21 -08:00
Ken Pruiksma 2f1346c719 Terrain Feature Processor separated into several classes. Macro materials abstracted from meshes. (#6350)
* Breaking up terrain FP wip - macro materials decoupled from meshes. Mesh creation and rendering pulled out from MeshFeatureProcessor into TerrainMeshManager. Stubs added for macro and detail material managers.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Separated macro material management from the terrain feature processor. Also separated bindless image array handling from terrain feature processor.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Detail materials separated from terrain feature processor. Also pulled out Aabb2i and Vector2i into their own simple classes

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Changed some classes so that when the SRG changes the classes don't need to be completely reinitialized and can instead just update their indices and push data to the new srg. Fixed an issue where MacroMaterialData wasn't being exposed to ScriptCanvas. Terrain shader reloads should now work correctly. Also added some debug logging to help catch an issue where sometimes detail materials don't seem to load.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Terrain PR reveiw updates

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Some small PR review fixes. More comments in TerrainDetailMaterialManager.h

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixing unused variable causing clang failure

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixing unused variable in release.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixing a forward declare that oddly didn't work on linux.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixing linux missing include... not sure why only linux failed on this.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding missing include

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2021-12-29 16:38:28 -06:00
Gene Walters b391d7a86f Merge pull request #6309 from aws-lumberyard-dev/LYN-6769_TestingRPCs
Multiplayer AR Testing RPCs
2021-12-29 12:00:40 -08:00
Mike Balfour a10bf92739 Encapsulated gradient transform logic into separate class (#6586)
* First version of GradientTransform class.
The gradient transform logic is getting encapsulated into a class so that it can be cached and used by components in a much more optimal way than making ebus calls to the GradientTransform component on every transformed point.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Moved GradientTransform into its own source files.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Clean up and simplify GradientTransform logic.
Added extensive commenting and split TransformPositionToUVW into a separate method for normalizing (TransformPositionToUVWNormalized) so that there doesn't need to be any conditional logic.  There's no runtime variance as to which one needs to be called from a given call site.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Added unit tests for GradientTransform.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Add comparison operators to GradientTransform so we can easily tell when it has changed.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Updated comments to be more Doxygen-friendly.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-29 13:44:03 -06:00
Gene Walters 26a5128576 Renaming py util methods for reporting log lines based on feedback
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-12-29 10:02:32 -08:00
Mike Balfour 49dd17f410 Optimized Terrain Debugger Wireframe rendering (#6572)
* Optimized wireframe drawing.
As a part of rearranging the code to make use of the upcoming ProcessHeightsFromRegion, the number of calls to GetHeight could be reduced, dropping the refresh time in my test case from 2550 ms to 1068 ms.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Change refresh to only happen on wireframe draws.
This helps ensure that multiple data changes in a single frame don't cause multiple refreshes, and prevents us from taking a refresh penalty when the wireframe isn't being drawn at all.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Change debugger to update wireframes incrementally.
This works by having a fixed NxN grid of sectors.  The camera is always considered as being in the center of the grid, so anytime the camera's grid square changes, only a subset of sectors are updated to have the new wireframe data.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Bugfix - sector vertex count was 4x too high.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Bugfixes & comments.
Fixed initial "mark dirty" refresh - the dirty region Z value needed to be ignored.
Added copious comments for the math & logic, and simplified some of the math.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Small update to comment for better readability.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Addressed PR feedback.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-29 11:25:17 -06:00
Michael Pollind 81b2841bd2 chore: correct text for assertion
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-28 09:16:48 -08:00
Chris Galvan ad38c788f9 Merge pull request #6250 from BytesOfPiDev/issue6198
Prevent some slice-related commands from being enabled when the slice…
2021-12-27 16:31:46 -06:00
nggieber 451ebf2691 Reflow Project Tiles Everytime They Are Updated
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
2021-12-27 12:32:24 -08:00
Chris Galvan 24a3014e06 Merge pull request #6318 from aws-lumberyard-dev/PathSerializationSupport
Introduced a Json Serializer for the AzCore mutable path classes
2021-12-27 13:16:39 -06:00
Chris Galvan 0c3acc9641 Merge pull request #6297 from tjmgd/bug-white-box-57
White box limit
2021-12-27 13:15:04 -06:00
Chris Galvan e09a4d20d3 Merge pull request #6240 from tjmgd/bug-keyword-prefab-23
Fix for bug in entity outliner search box
2021-12-27 13:12:08 -06:00
Gene Walters 0b78c377f8 Minor: py method comment added
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-12-27 09:39:04 -08:00
Jeremy Ong c3de8034eb Merge pull request #6560 from aws-lumberyard-dev/RemoveTimeTests
Remove time tests that relied on main-thread sleeps
2021-12-24 10:34:10 -07:00
Jeremy Ong 174e27cbfb Merge pull request #6559 from aws-lumberyard-dev/NullVariableInterfaceOptimization
Disambiguate null interface case
2021-12-24 10:33:58 -07:00
Jeremy Ong 5b76d47e17 Remove time tests that relied on main-thread sleeps
Sleeping in tests and attempting to rely on fine-grained measurements to
check code validity is intrinsically brittle. Wall-clock time is
unreliable in an environment where tests are run under a hypervisor that
may choose to suspend your VM at any point, or in situations where the
OS cannot schedule your thread in time. The correct way to reintroduce
these tests in the future is provide an override for the timestamp
queries that can be injected in the test environment to control the wall
time deterministically.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-12-23 17:15:49 -07:00
Jeremy Ong 6660c365b9 Disambiguate null interface case
In some cases, the interface being queried may be persistently nullptr
(e.g. a gem isn't active, or a feature was disabled by a cvar). In this
case, querying the interface would always enter the writer-lock branch
with existing code because nullptr was synonmous with "we haven't
queried for this variable yet."

This PR adds an additional state variable that is set when s_instance is
assigned to, so that after the variable is queried and found to be null,
future queries can enter the read-lock branch.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-12-23 16:25:44 -07:00
Mike Balfour 3e9b76cdee Image Gradient: Switch to shared_mutex (#6558)
* Improve lock contention by switching to a shared_lock.
ImageGradient is accessed via a many-reader-one-writer pattern, so a shared_lock causes less contention in the common "read" case.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Remove chatty profile marker.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-23 14:16:22 -06:00