Commit Graph

3591 Commits

Author SHA1 Message Date
hultonha 7da866e81a Update to how entity space is treated in the viewport (#4263)
* first pass fixes for how entity space is handled in the viewport interaction model

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* small updates to simplify space handling

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix for influence group with one entity selected

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* some tidy-up and fix for scale manipulator snapping

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* couple of small fixes for scale manipulator

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* small comment update

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fixes for integration test failures

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add test for rotation manipulator

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add test coverage for rotation manipulators

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add tests for translation manipulators and some other tidy-up changes

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add tests for translating a group of entities

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add some tests for scale manipulators

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* some updates and formatting changes (clang-format) to ViewportScreen

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* simplify usage of lround code

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update missed name updates

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update usage of WorldToScreenNdc

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* updates following review feedback

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* some more small tidy-up changes

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* move static variables to be marked inline

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* small formatting fixes

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-28 09:26:20 +01:00
Steve Pham c75e6860bb Merge pull request #4224 from aws-lumberyard-dev/burelc/restructureXcbCode
Consolidate all xcb functionality into one subdirectory
2021-09-27 15:38:39 -07:00
Junbo Liang a3280afef3 [AWSMetrics][cdk] Add the athena work group as a dependency of named queries (#4354)
Signed-off-by: Junbo Liang <junbo@amazon.com>
2021-09-27 13:36:35 -07:00
puvvadar 549d3f4001 Merge pull request #4321 from aws-lumberyard-dev/mp_autogen_move
Move public Multiplayer AutoGen jinja to Include dir
2021-09-27 13:31:32 -07:00
Mike Balfour 4b2dc9b3a4 Terrain System fixes (#4299)
* Remove the "TEST_SUPPORTED" traits.
Terrain unit tests should be usable on all platforms, so they shouldn't need a platform-specific trait to enable/disable.

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

* Fix a few misc terrain bugs.
* Change Activate/Deactivate to happen immediately instead of deferring.  There were too many order-of-operation bugs caused by trying to defer this.
* Added implementation for calculating normals.
* Fixed bug where GetHeightSynchronous wasn't stopping at the highest-priority layer.
* Added locks for SurfaceData bus to help ensure we lock our mutexes in the correct order and avoid deadlocks.

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

* Add trivial TerrainSystem tests.
Tests construction, Activate(), Deactivate(), and destruction.

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

* Unified Terrain system calls on single bus.

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

* Added mock for TerrainDataNotificationBus listener.
Also added unit tests to verify the listener, and added in missing notification events.

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

* Removed extra Sampler class.
Fixed up APIs to correctly pass Sampler and terrainExistsPtr around.

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

* Switched MockTerrainSystem to be proper gmock.
This makes it for flexible to use and easier to reuse from other test environments.

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

* Fix settings bug caused by bad order of operations that occurred when the methods moved to a different bus.

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

* Eliminate extra EBus by simplifying area initialization.
Previously, there was a back-and-forth ebus signal used for the terrain system to find any terrain spawners that were created prior to the terrain system activation.  Now it uses the more simple technique of just grabbing all the spawners that are currently hooked up to the spawner ebus.

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

* Switch to NiceMock so that "uninteresting" mock calls get ignored.

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

* Addressed PR feedback.
Filled in terrainExistsPtr at the end, and added it to GetNormal as well.

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

* Fixed shader height calculation.
It was off by half a pixel, and it was interpolating, both of which were wrong.

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

* Create initial LmbrCentral mocks that other Gems can use.
To help improve mock maintenance over time, this creates mocks in the same Gem as the systems being mocked, instead of the other Gems that need to use mocked systems during testing.  This way, the mocks should more easily stay in sync with the interface that they mock out.

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

* Null-guard any uses of Atom to make the class easier to unit test.

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

* Add more mocked terrain services

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

* Moved Terrain mocks to publicly-available Mocks directory.  Also added more unit tests.

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

* Change debug code to use EXACT instead of BILINEAR height sampling, because it's specifically using the terrain grid.

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

* Added support for the sampler filters.

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

* Fix bad merge.

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

* Add unit test to verify terrain layers define terrain regions.

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

* Moved the AABB component mock into a private terrain header, since it's a specialized mock just for the terrain tests.

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

* Moved sampler and normal calculations into TerrainSystem so that they can work across multiple adjacent areas.

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

* Missed a couple of unit test changes.

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

* Removed normal query as well, that needs a seprate unit test.

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

* Removed unused variable that was only caught in Linux/Android builds.

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

* Addressed PR feedback
Made the parameter names consistently listed in MockShapes.h.
Added comments to TerrainHeightGradientListComponent explaining why terrainExists is always true when a gradient exists.
Also fixed a bug where terrainExists should technically be *false* if no gradient exists.

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

* Added more descriptive comments and names for ClampPosition.

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

* Unit tests to verify height samplers work correctly.

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

* Fix bug where wireframe didn't refresh when the setting changed.

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

* Created TerrainWorldRenderer Component and moved all terrain rendering management code into it.

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

* Fixed the icon references

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

* Removed expensive profile marker.

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>

* Fixed AR error - constexpr doesn't need to be in a lambda capture.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-09-27 14:58:39 -05:00
Chris Burel f5effaabcc Consolidate all xcb functionality into one subdirectory
The Linux platform has multiple windowing systems. Support for xcb is
currently in progress, support for Wayland is planned in the future. The
way the current xcb support is included is by making some file with a
`_xcb` suffix, and placing `#if PAL_TRAIT_LINUX_WINDOW_MANAGER_XCB` around
most of that file's contents.

With this change, all of the code in AzFramework that uses xcb directly is
inside the `Platform/Common/Xcb` subdirectory. It greatly reduces the
amount of code in compile-time `#ifdef` checks for the chosen windowing
system. It also provides a logical place to include O3DE-specific xcb
C++ wrappers and interfaces, without polluting non-xcb related code.

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-27 11:44:55 -07:00
puvvadar 33029945cb Merge branch 'development' of https://github.com/o3de/o3de into mp_autogen_move 2021-09-27 10:41:53 -07:00
carlitosan 6614b9a3d9 Merge pull request #4334 from aws-lumberyard-dev/carlitosan/bugfix
Remove false error for lookup on methods
2021-09-27 10:24:40 -07:00
Jeremy Ong 96fed44fe8 Merge pull request #4342 from aws-lumberyard-dev/pdbfix
Disable Vulkan PDB generation and fix D3D12 PDBs
2021-09-27 10:54:50 -06:00
moudgils 5b6e342fe1 Add support for gpu descriptor heap compaction amongst other things (#4219)
* Primary Support to compact shader visible Cbv/Srv/Uav heap if it fragments enough to run out of descriptor handles

- Split the main heap into two sections - static handles and dynamic handles for descriptor tables
- Add support to data drive number of allowed static handles
- Add support to data drive ability to compact the relevant shader visible heap as there is overhead associated with compaction
- If compaction is enabled we create two shader visible ehaps and ping pong between them since you can not compact an active heap as it needs to stay active for 3 frames atleast
- As part of compaction we copy over the static handles as is but recreate all the dynamic section(i.e descriptaor tables) by tracking all the active SRGs, reallocating the descriptor tables and updating them from the non-shader visible heap
- Enabled 3 fences for cpu/gpu synchronization so that cpu can get 3 frames ahead of gpu
- Use fixed_wstring for commandlist name as a perf optimization

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

* - Disable Heap compaction by default
- Disable PSO caching when WARP is enabled
- Misc cleanup

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

* Address Feedback

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

* Address feedback

Signed-off-by: moudgils <moudgils@amazon.com>
2021-09-27 09:38:56 -07:00
Jeremy Ong a3cc8845dd Disable Vulkan PDB generation and fix D3D12 PDBs
Vulkan PDBs are currently broken because debug data isn't stripped from
the shader binary. Furthermore, sub-id hashing is broken because sub-ids
count from 1 which generates a collision on the first sub-object.
Changing the default value for the sub-id argument resolves this.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-09-27 01:21:31 -06:00
chcurran c14133e926 Remove false error for lookup on methods, that occurs during (de)serialization
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
2021-09-24 14:34:51 -07:00
kberg-amzn 2c19abf7ee Merge pull request #4287 from aws-lumberyard-dev/LYN6657_MultiplayerScriptImprovementsForDemo
LYN6657 Misc Improvements for Multiplayer Scripting
2021-09-24 14:11:14 -07:00
Gene Walters 8c4ff8802c Small fix to use AZ_CRC_CE
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-24 13:25:33 -07:00
SergeyAMZN 66a875bf79 Merge pull request #4261 from aws-lumberyard-dev/MPSpawnableHolderUpdate
Updated NetworkSpawnableHolderComponent to use TransformBus instead o…
2021-09-24 19:06:21 +01:00
puvvadar 93761a754b Merge branch 'development' of https://github.com/o3de/o3de into mp_autogen_move 2021-09-24 09:51:49 -07:00
puvvadar 5114c2e0f2 Move AutoComponent jinjas to Include and update cmake accordingly
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-09-24 09:49:46 -07:00
puvvadar 967d535464 Merge pull request #4293 from aws-lumberyard-dev/mp_rpcparam_codegen
Fix AutoGen of RPCs with no params
2021-09-24 09:48:10 -07:00
pereslav bf1ebea202 Moved local variable to a smaller scope
Signed-off-by: pereslav <pereslav@amazon.com>
2021-09-24 17:12:58 +01:00
pereslav 44c8ae2872 Changed NetworkSpawnableHolderComponent to use Entity::GetTransform instead of an ebus call
Signed-off-by: pereslav <pereslav@amazon.com>
2021-09-24 13:03:02 +01:00
Benjamin Jillich 4c0796f11e EMotion FX: Crash in the actor builder when fbx meta data contains node groups (#4283)
Fixing a crash related to the small array conversion that made multiple assets crash the actor builder.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-09-24 09:14:55 +02:00
Benjamin Jillich 94dfc508ea EMotion FX: Asset Processor generates an Actor for every FBX (#4284)
Fixing the actor behavior to ignore actor asset generation for files that only contain nodes/bones. We're only checking for blend shapes and skins now. In case neither is present in an FBX, we don't export the actor asset.

This makes a plain skeleton a special case where users manually need to add the actor group for the fbx. The most common use case for these are animation files anyway, where we don't want to export actor assets.

Also increased the version number of the actor group so that they are all getting reprocessed and the unneeded actor assets get removed.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-09-24 09:14:47 +02:00
Gene Walters e91353143f Merge branch 'upstream/development' into LYN6657_MultiplayerScriptImprovementsForDemo 2021-09-23 16:35:56 -07:00
dmcdiarmid-ly 1050f95601 Merge pull request #4298 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-16529
Instance BLAS objects at the subMesh level in the RayTracingFeatureProcessor
2021-09-23 16:34:27 -07:00
dmcdiar 2dc7b517d1 Cached BLAS objects at the sub-mesh level
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-09-23 13:49:10 -07:00
Gene Walters a44af20f9a Adding parameter names to NetworkCharacterComponent script events so people know what the parameters are used for in scriptcanvas
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-23 13:01:34 -07:00
puvvadar f142e30da6 Fix AutoGen of RPCs with no params
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-09-23 12:56:46 -07:00
Gene Walters cd85df35b6 Make sure Multiplayer AutoComponents dont generate property OnChange script events if GenerateEventBindings is disabled
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-23 12:45:44 -07:00
Scott Romero 8cbc5bc447 [development] Atom CPU profiler include cleanup (#4272)
- Removed all unnecessary includes to Atom CpuProfiler.h
 - Added includes to AzCore Profiler.h where necessary

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2021-09-23 11:14:22 -07:00
Steve Pham 2ef5a6453e Fix failed 'server' platform assets on Linux related to Shaders (#4275)
* Add missing 'server' platform identifier for the ShaderBuilder
* Use the current host platform as the fallback platform identifier (and not 'pc')

Signed-off-by: Steve Pham <spham@amazon.com>
2021-09-23 11:07:36 -07:00
Gene Walters c2c18f094b Exposing NetworkCharacterComponent::TryMoveWithVelocity to script. Updating Multiplayer AutoComponent baseclass behavior context to Reflect itself instead of its derived (human made) component. This is so the derived class can also create behaviorcontext classes of its own if needed. Misc copyright header edit.
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-23 09:46:55 -07:00
AMZN-Olex 4308db0c6d Debug build clang fixes
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
2021-09-23 11:59:43 -04:00
pereslav 1087498d00 Merge branch 'development' of https://github.com/o3de/o3de into MPSpawnableHolderUpdate 2021-09-23 12:41:41 +01:00
Tommy Walton 92c4b22445 Fix a minor spelling mistake (#4247)
Signed-off-by: amzn-tommy <waltont@amazon.com>
2021-09-22 15:49:01 -07:00
Tommy Walton 982bef8766 Use resize_no_construct when creating a buffer asset, since the initial data is going to be memcopy'd anyways. (#4249)
Signed-off-by: amzn-tommy <waltont@amazon.com>
2021-09-22 15:48:43 -07:00
Qing Tao 62f7fbb665 LYN-6793 [iOS] [asset_profile] 4 assets fail to process for iOS (#4268)
* LYN-6793 [iOS] [asset_profile] 4 assets fail to process for iOS
The issue was because the compression of ETC formats took too long.
Replaced all ETC and PVRTC formats with ASTC formats.
Update all pixel operation for formats with single R channel to align the change with R8.

Signed-off-by: Qing Tao <qingtao@amazon.com>
2021-09-22 14:43:57 -07:00
Alex Peterson 20849655ea Initial gem dependencies (#4229)
These are immediate dependencies, and include many circular dependencies, largely amongst the Atom gems, as indicated by cmake

Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
2021-09-22 11:56:53 -07:00
Guthrie Adams 7e153d7bb9 Merge pull request #4181 from aws-lumberyard-dev/Atom/rbarrand/MaterialDependenciesFix
Switch job dependency type to OrderOnce for material assets when property names are present.
2021-09-22 12:02:59 -05:00
Guthrie Adams 6a4e90d1be Merge pull request #4246 from aws-lumberyard-dev/Atom/guthadam/atomtools_support_ly_set_gem_variant_to_load
AtomTools support ly_set_gem_variant_to_load and other cmake deletions
2021-09-22 11:59:27 -05:00
Roman d00d9a9515 Fix the crash when switching between sim obj and physix layout in animation editor. (#4185)
* Update the simulated object layout

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

* Fixed the bug. Do not store uncessory cached selected model indices which would become stall.

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

* update the simulted object layout.

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

* Get rid of locally cached selectedIndices variable.

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

* Remove debug code

Signed-off-by: rhhong <rhhong@amazon.com>
2021-09-22 18:41:45 +02:00
Guthrie Adams 9912e68c59 reverting unneeded changes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-09-22 11:19:13 -05:00
Guthrie Adams 61fab5d714 Merge branch 'development' into Atom/guthadam/atomtools_support_ly_set_gem_variant_to_load 2021-09-22 11:04:58 -05:00
Guthrie Adams a93c1758f4 restoring immediate rpi initialization and window creation to fix broken tests
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-09-22 11:03:46 -05:00
Guthrie Adams 1dcc20fd76 Merge branch 'development' into Atom/guthadam/atomtools_support_ly_set_gem_variant_to_load 2021-09-22 09:04:38 -05:00
Guthrie Adams 6a1b685ea7 fixing duplicate define
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-09-22 09:03:24 -05:00
AMZN-Olex ce1614bd57 Merged with dev
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
2021-09-22 08:35:35 -04:00
pereslav ae2525564d Updated NetworkSpawnableHolderComponent to use TransformBus instead of FindComponent. Added dependency on TransformService
Signed-off-by: pereslav <pereslav@amazon.com>
2021-09-22 13:29:55 +01:00
AMZN-Olex cb75607106 Merged dev
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
2021-09-22 08:09:53 -04:00
SergeyAMZN 35517c4e6a Merge pull request #4023 from aws-lumberyard-dev/MPSpawnableRework
Reworked net entities instantiation in order to fix entity references…
2021-09-22 10:50:35 +01:00
Benjamin Jillich 8b74395560 EMotionFX: Basic profile instrumentation for anim graph (#4240)
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-09-22 10:15:20 +02:00