Commit Graph

272 Commits (57499860e0244c9e49e55d086ce94de5e4fedf58)

Author SHA1 Message Date
Guthrie Adams c98d14ad92 Atom Tools: Removing unnecessary modules, components, and dead code from ME
• Working toward creating a standalone application template
Removing application level modules and system components that make it difficult to navigate the project and add a lot of boilerplate code
• Temporarily keeping viewport module and components because shutting down the application deactivates module entities before system entities without respecting component service dependency order. This caused several RPI assets and names to leak because they were not being destroyed in the correct order.
• Fixing include paths not referenced source folders
• Mostly cleanup and reorganization, no behavioral changes

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 88d3bf5b4a
Merge pull request #6988 from aws-lumberyard-dev/Atom/guthadam/atom_tools_startup_disabling_unused_gems
Atom Tools: disabling auto load of unused gems in some atom tools
4 years ago
Guthrie Adams 843ca5a0ad
Merge pull request #6960 from aws-lumberyard-dev/Atom/guthadam/atom_tools_shared_asset_browser
Atom Tools: moving custom asset browser code to common location
4 years ago
Guthrie Adams c0cbc41ba6
Merge pull request #6917 from aws-lumberyard-dev/Atom/guthadam/atom_tools_document_application_added
Atom Tools: Created base class for document-based applications
4 years ago
Guthrie Adams eb51cd4c06 Atom Tools: moving custom asset browser code to common location
Consolidated duplicate asset browser code from multiple tools into single class in atom tools framework
Moved creation of asset browser and Python terminal windows into base main window class
Fixed docked window orientations
Added checks to asset browser to prevent crashes if tree state saver was null

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams b09caa5e75 Atom Tools: disabling auto load of unused gems in some atom tools
Atom tools are set up to inherit and automatically load all of the gems used by the game project. This is a great simplification that saves us from having to manually update cmake settings for every game project to push dependencies to every tool. The tradeoff is that some dependencies will be added to certain tools that have no relevance whatsoever, potentially wasting initialization time, memory utilization, and some processing. This change follows an existing example to update a couple of tools to forego initializing unused gems. They can easily be reenabled as needed.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams c16cc96eba
Merge pull request #6980 from aws-lumberyard-dev/Atom/guthadam/atom_tools_fix_ap_connection_and_thumbnails
Atom Tools: move asset processor connection to fix thumbnails
4 years ago
Guthrie Adams eea9532c4b
Merge pull request #6942 from aws-lumberyard-dev/Atom/guthadam/atom_tools_application_pyexit
Atom Tools: Bind exit function for python tests
4 years ago
Guthrie Adams 5c2e69d6d0 Atom Tools: move asset processor connection to fix thumbnails
Thumbnails for the AtomLyIntegration common feature gem were no longer being rendered. The setup code was modified to initialize the thumbnail system after receiving a new event that critical assets finished compiling. This event was being sent and handled correctly in the main editor. This process was failing in other tools because the event was sent before systems were registered to listen for it.

To resolve the problem, atom tools application now explicitly connects to the asset processor and processes critical assets after the base application StartCommon function is called. This ensures that the connection is established and the event gets sent after all of the system components have been activated.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams ced7d1ef54 Atom Tools: Bind exit function for python tests
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 75a582972c Atom Tools: added function to get the number of active documents
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams a6feef3563 Atom Tools: Created base class for document-based applications
Moving some duplicated code to a common base class

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
AMZN-byrcolin c778606c89
Templates restricted (#6498)
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code

Signed-off-by: byrcolin <byrcolin@amazon.com>
4 years ago
Roman e224fc2ee5
Bugfix - ViewportInteractionImp connected to the wrong id in RenderViewportWidget (#6867)
Signed-off-by: rhhong <rhhong@amazon.com>
4 years ago
sphrose 0e0ca7585c change default input color space to SRGB
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
4 years ago
lumberyard-employee-dm 18ea4ba6a8
Added a CriticalAssetsCompiled Lifecycle event (#6469)
The CriticalAssetsCompiled event can be handled to detect when the
AssetProcessor has finished processing Critical Assets

Also with the new event, an audit has been performed over all the
locations where the AssetCatalogEventBus OnCatalogLoaded event was being
handle to make sure it was the proper event to use.
If the handler was actually examing the enumerating over the full
catalog or querying all assets within the catalog, then it was a proper
use.
For handlers that were interested in a particular asset it was not

Moreover added implementations of `OnCatalogAssetChanged` and
`OnCatalogAssetAdded` to the FileTagComponent and the MaterialViewportComponent.

Any applications which uses the AtomToolsApplication
class(MaterialEditor, AtomSampleViewerStandalone,
ShaderMangementConsole) now signals a "CriticalAssetsCompiled" lifecycle
event as well as loads the "assetcatalog.xml" if it exists.

The Launcher application signals the "CrticalAssetsCompiled" event and
reloads the "assetcatalog.xml" for the ${project}.GameLauncher and
${project}.ServerLauncher in Launcher.cpp

Finally the Editor signals the "CriticalAssetsCompiled" and reloads the
"assetcatalog.xml" in CryEdit.cpp

resolves #6093

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop d065eb9498
Initial improvements to fix viewport icon selection and draw order (#6284)
* wip fixes for entity viewport icons displaying in the correct order and handling selection correctly

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add additional comment about z value

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* move manual sorting and some small tidy-up

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update comment

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates following initial round of PR feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* additional changes to support tests for entity icon intersection

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add support to enable/disable icons separately from helpers

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* final tests added and small tidy-up to display EntityId correctly

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update some manipulator test framework calls after utility functions were moved

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix for implicit cast

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* move icon scale values to AZ_CVARS

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix failing tests caught in AR and update some naming conventions for tests

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update naming convention for members of ProjectedViewportRay

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update other references to ProjectedViewportRay

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update more references to ProjectedViewportRay change

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update menus for python tests

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Guthrie Adams f8ca427954
Fixed several material editor bugs related to file paths and hot reload prompts (#6374)
* draft

Signed-off-by: Guthrie Adams <guthadam@amazon.com>

* Removes automatic generation of relative paths for external references for materials
Updated material editor functions for creating new materials, creating or saving model or lighting presets, to save to the project asset folder instead of the material folder which is not included in the new templates
Changed function for getting saved file names to handle case where Qt save file dialog adds double extensions if the extension contains a dot

Signed-off-by: Guthrie Adams <guthadam@amazon.com>

* Fixed problems with material editor hot reloading after documents or dependencies changed.
Triggering message boxes within the tick function, which is executed from the main application timer, caused the tick function to be called a second time recursively.
Switched from using the tick bus to a timer so that the documents re opening and dialogs are triggered outside of the main tick.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Tom Hulton-Harrop 633a9e939a
Update modular viewport camera controller interface (#6282)
* update modular viewport camera controller interface to make follow behaviors easier

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates following PR feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Guthrie Adams af75b3a52a Made clearing the log file optional and renamed the function
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Qing Tao f56bbb96b0
LYN-5843. Fixed an issue when exit from full screen game mode in Editor. (#6098)
* LYN-5843. Fixed an issue when exit from full screen game mode.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
4 years ago
rgba16f 768a196b63
Add a way to set the vsync_interval CVar from code (#5813)
* Add a way to set the render vsync from code

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>

* Update change with PR feedback. Missing whitespace plus a comment on why the assignment is outside the value changed check

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop 6908a3e945
Update intersect behavior for positioning entities in the viewport (#5906)
* update intersect behavior for positioning entities in the viewport and restore SurfaceManipulator

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* tests for surface manipulator from EditorTransformComponentSelection

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update comments in tests and remove #pragma optimize('', off)@

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add new file for FindClosestPickIntersection tests

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add remaining tests for surface manipulator and snap fixes

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* some small updates and polish before PR

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* small updates following PR feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop b0c522be51
Rename QtEventToAzInputManager.h/cpp to QtEventToAzInputMapper.h/cpp (#5905)
* rename QtEventToAzInputManager.h/cpp to QtEventToAzInputMapper.h/cpp to match type name

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update #includes to refer to QtEventToAzInputMapper.h

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop 5bd751531d
Update return type for viewport screen functions (#5803)
* update return type for viewport screen functions

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add tests for AZ::Matrix3x4::CreateFromMatrix4x4 and add TransformPoint to Matrix3x4

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update NDC -> Ndc

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates following review feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates and improvements following PR feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add forward declaration of Matrix3x4 type

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update where forward declarations are defined for Matrix3x4

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
puvvadar 3cfb94009e Merge commit 'ca6b7d1d1f6659f5711677482f688ac35c95bf8e' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 5e0acc11ef Merge commit 'b533a9566a0a221dd4f70486ab2a3d397bcae5c7' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 724ff3b011 Merge commit 'd222aeef48ad10224958e682294e704c10ee06df' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar b37f75f060 Merge commit '713a3916f5c101c324f8e2f2e06b49bf521da783' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 59744429f9 Merge commit '1457ef6ee9f0e18b3fcebdb0c7c19b2cac5a19ed' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 33cb674355 Merge commit 'e34ea3bcaa0306699804072c6bce6eb01f65fc52' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 4c8bb5694b Merge commit '593f03efb4996ae8bb8e1f53a55e2ba00e022449' into puvvadar/gitflow_211118_o3de 4 years ago
puvvadar 07e99650d0 Merge commit 'a6164ca2cd3f573fd7735c3825568b1e25b12c2b' into puvvadar/gitflow_211118_o3de 4 years ago
Tom Hulton-Harrop ca6b7d1d1f
Add test for ViewportInteractionImpl use of ViewportInteractionRequestBus (#5741)
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop b533a9566a
Fix for viewport not updating correctly when switching camera views (#5719)
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
santorac 2774ac1811 Merge branch 'stabilization/2110' into Atom/santorac/MaterialEditorHandlesMissingTextures 4 years ago
Guthrie Adams 713a3916f5
Merge pull request #5691 from aws-lumberyard-dev/Atom/guthadam/material_editor_viewport_settings_previews_uses_thumbnail_widget
Replacing material editor lighting preset selection dialog exr previews with lighting preset thumbnails
4 years ago
santorac be9db80f99 Merge branch 'stabilization/2110' into Atom/santorac/MaterialEditorHandlesMissingTextures 4 years ago
Mike Balfour aaafb3ee34
Guard against creating a PreviewRenderer with uninitialized RPI. (#5708)
This was causing the SerializeContextTools executable to crash.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
4 years ago
Guthrie Adams 1457ef6ee9
Merge pull request #5692 from aws-lumberyard-dev/Atom/guthadam/throttle_material_editor_updates_when_inactive
Reduce material editor update interval when inactive
4 years ago
Tom Hulton-Harrop e34ea3bcaa
Fixes for viewport selection issues (#5494)
* improvements to editor selection in the viewport

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix issue with being able to select icons that are not showing for entities inside entity containers

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* update comment after review feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates to viewport picking code to simplify the api

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add test to replicate near clip intersection issue

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* small tidy-up changes

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates to how we perform world to screen and screen to world calculations, added test coverage and some tidy-up

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add some more tests for ViewportInteractionImpl

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* minor tweaks before PR feedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix typo in fix

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix for manipulator test framework tests

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates to RPI::View and RenderPipeline after review feedback from VickyAtAZ

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add constexpr to ScreenPoint, ScreenVector and ScreenSize initializing constructors

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add PrintTo functions for Screen* types

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* downgrade error to warning temporarily

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* check incoming view is null

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* remove pragma optimize off

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
Tommy Walton 1e42261d76 Merge remote-tracking branch 'upstream/development' into amzn-tommy/gitflow_211116_o3de2
Signed-off-by: Tommy Walton <waltont@amazon.com>
4 years ago
Guthrie Adams 72de78bb83 Reduce material editor update interval when inactive
Reduce the application update interval when it’s not in focus to reduce power consumption and interference with other applications

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams cb552256f8 Moved asynchronous image loading function to atom tools framework
Moved settings registry wrapper function to atom tools framework
Created registry settings with default values for preview configurations based on asset type
Changed lighting preset previews and thumbnails to use reflective material
Created registry settings for preset selection dialog borders, padding, sizes
Updated shared preview utility functions to compare against registered asset types instead of passing them in individually

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Tom Hulton-Harrop 593f03efb4
Camera fixes follow-up (#5703)
* allow unconstrained camera when tracking transform and fix some camera interpolation issues

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* tests for interpolation fixes

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add test for camera constraints change

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates following review feeedback

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
AMZN-AlexOteiza e07cb1f2ed
Re-enabled linux tests physics (#5701)
* Re-enabled linux tests physics

* Fix for python load errors on Linux (#5627)

* Explicitly load libpython on Linux

Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag.  This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix misspelled function name

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Addressing PR feedback

- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Address further feedback

Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
Signed-off-by: aljanru <aljanru@amazon.co.uk>

Co-authored-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
4 years ago
Tom Hulton-Harrop a6164ca2cd
Fix for camera roll behavior when in 'Be this camera' mode (#5658)
* fix for camera roll behavior when in 'Be this camera' mode

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* updates for camera tests

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* fix for failing unit test - require default function

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
4 years ago
santorac cdb38251d8 Fixed an issue that prevented saving child materials with explicitly empty texture properties.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
amzn-phist 6651ae3d78
Fix for python load errors on Linux (#5627)
* Explicitly load libpython on Linux

Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag.  This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix misspelled function name

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Addressing PR feedback

- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Address further feedback

Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
4 years ago
Tommy Walton d614ff17d6 Merge commit '3d84876e87a3c28a420d74c19606d1fbe5c703d3' into amzn-tommy/gitflow_211116_o3de2 4 years ago