Commit Graph

167 Commits (27a535eaf472d7c891504af963b1c4460d59086a)

Author SHA1 Message Date
Guthrie Adams a1d836e36b AtomTools: Removing unnecessary cmake files and setting up tool variant
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Steve Pham fa0f2a1007
Fix unused warnings release (#3677)
* Release build fix for Windows
* Release build fix for Android
* Release build fix for Windows
* Release build fix for Android
* Release build fix for Linux
* Release build fix for Mac
* Release build fix for iOS

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Chris Galvan d590a91fe7 Implemented helper method of QFileDialog::getSaveFileName to prevent user from saving files with invalid names.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Esteban Papp d513307023 another warn fix
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Guthrie Adams 660caf6557
Merge pull request #3381 from aws-lumberyard-dev/Atom/guthadam/atomtools_document_main_window_base_class
AtomTools: moved remaining document and window common code from ME and SMC to base class
4 years ago
hultonha 8c573979a9
Updates to camera tests to support different delta times and some further tidy-up (#3324)
* updates to camera tests to support different delta times and some further tidy-up

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

* support variable delta time in mouse move test

Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
Guthrie Adams 3d2d2dd60f fixing linux non unity build
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 2c6e105d27 restored view menu entries for dock widgets
renamed document tab functions

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 78f90f2707 updated ME and SMC main window classes to use AtomToolsDocumentMainWindow
separated common and document menu creation

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 62a5c90616 moving document related code from AtomToolsMainWindow to AtomToolsDocumentMainWindow
adding virtual function stubs to customize actions

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 9449b52011 getting atom tools document main window compiling
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams e3a7e7cd30 copied main window class from material editor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 5997313bb5 AtomTools: moved more startup code from main cpp files into the base application class
Deleted a bunch of unused headers

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 5900b9a55f
Merge pull request #3314 from aws-lumberyard-dev/Atom/guthadam/atomtools_fix_multiple_app_instances
AtomTools: fix multiple material editor processes launching
4 years ago
Guthrie Adams dc6bfd8500
Merge pull request #3278 from aws-lumberyard-dev/Atom/guthadam/atomtools_wrapping_status_message_functions
AtomTools: added status message helper functions
4 years ago
Esteban Papp f8e99cd7dd Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
#	Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
4 years ago
hultonha 80e08dd947
Fix issue with mouse input for viewport camera (#3210)
* fix for drift accumulating in the viewport camera

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

* fix typo and update how events are stored

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

* respond to PR feedback and fix linux and windows build issues

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

* fix failing unit tests in camera input

Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
Guthrie Adams 4b3ce6738f AtomTools: fix multiple material editor processes launching
Atom tools launch or check for the existence of a local server in order to prevent multiple application processes from running. These checks were being done far too late, after initialization and asset processing, leaving time for multiple processes to start before the server or checks. Zombie processes could start and run indefinitely without user interaction because the event loop was being entered despite the request to exit the application early.

These changes launch the server and checks immediately after the application object is constructed and exit before any other work is done if the application will not be run.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Esteban Papp 1e136a02b0 Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/Crcfix/crcfix.cpp
4 years ago
Esteban Papp 0c6a838c6f fix warnigns after merge
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Guthrie Adams 8ebaf10840 AtomTools: added status message helper functions
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 8f4a35b146 AtomTools: fix unused variable errors
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams c95f491635
Merge pull request #3126 from aws-lumberyard-dev/Atom/guthadam/atomtools_restore_source_control_spam_filter
AtomTools: restoring log message filter to ignore source control spam
4 years ago
Guthrie Adams 5169e98826 Merge branch 'development' into Atom/guthadam/atomtools_refactor_document_system 4 years ago
Guthrie Adams 885357a6b5 AtomTools: restoring log message filter to ignore source control spam
Added message filter support to TraceLogger

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 2fa9a831b3 AtomTools: prepend asterisk to denote modified document tabs
Appending is standard and preferred but the tabs elide from the end (instead of middle) and cut it off

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 364ac51502 Removed errors from unimplemented status functions
Updated shader management console trace messages
Renamed document rebuild function to reopen

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 7172c3231e Merge branch 'development' into Atom/guthadam/atomtools_refactor_main 4 years ago
Guthrie Adams 30fee96c43 Moved material editor document system buses and system components to atom tools framework
Renamed document related buses and components to have generic names
Added a base document class with default implementation from which other application specific documents can be derived to work with the document system
Added document factory function registration to the document system request bus so that each application can specify the type of document it creates
Updated all comments and messaging to only refer to documents, not materials or material documents
Updated material editor and shader management console to conform to the new buses
This will provide a first pass of a common interface for a document management system that can be shared by multiple applications
Corrected status bar message copy and paste errors
Updated all test scripts to use the new buses

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
moudgils c2b8542bbd
Support for refresh rate and sync interval (#2989)
* Add support for querying the refresh rate and sync interval
4 years ago
Guthrie Adams 2afd3b0959
Merge pull request #3052 from aws-lumberyard-dev/Atom/guthadam/atomtools_refactor_move_mainwindow_bus
AtomTools: move main window bus reflection to atom tools
4 years ago
Guthrie Adams e0410385d5 AtomTools: fixing status bar messages
fixed problems with status bar messages not appearing
added status bar messages to shader management console
got rid of central widget variable and moved layout to atom tools window base class

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 3142367fa8 move main window bus reflection to atom tools
update python scripts

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams f1e8d37b86 holding pen for refactor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 1c181af94e fixing problems with document tab management
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Dayo Lawal e507236257 Addressing requests
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal e8d685211b CreateMenu/CreateTabBar
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 602da53ebe Merging upstream
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal bf7512ebf4 Merge fix
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
hultonha 1169c82b98
Make camera controller priority customizable (#2826)
* make 'should handle' logic customizable

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

* updates to get priority function

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

* minor comment tweak

Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
Dayo Lawal 259bc3f85e ATWindowNotificationBus and ATFactoryRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Guthrie Adams f269d222b7 Fixing issues with shader management console startup
Updating test scripts

Synchronizing SMC and ME application classes

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
hultonha 7393c86416 some formatting and naming changes after PR feedback
Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
hultonha 86758fda35 documentation pass for modular viewport camera controller
Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
Dayo Lawal 63ed78d267 status_bar
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 58ff2d8cab AtomToolsMainWindowRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 8eb9205711 AtomToolsMainWindow
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 3cd40b151e Merge remote-tracking branch 'upstream/development' into atomToolsApplication 4 years ago
Dayo Lawal 4b0527c07f Moving comments
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 5cb001dffd More fixes
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 06b3f7d964 Undoing adding reflect and adding target names to functions
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 485f6338ac CreateReflectionManager()
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 61038ccd03 Reflect()
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 4b97a416a3 GetCriticalAssetFilters()
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 4baea40a75 Reflect() fix
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 7122f1b761 More refractoring
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 50f6ea8385 Using GetBuildTargetName() and other fixes
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 78b07a0869 Fixing errors and streamlining more to base class
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
hultonha 4268376587
Ensure camera system correctly consumes events when it is active (#2346)
* add typename for struct initializer

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

* fix for ensuring while the camera is 'active', events are consumed and not propagated

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

* refactor how we decide which priority to repsond to events to

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

* also -> only

Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
Dayo Lawal c1998d8d3c AtomToolsApplication working with SMC
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Dayo Lawal 002a4a4a21 AtomToolsApplication working with MatEditor
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Nicholas Van Sickle 867ae23664
Make Viewport input events fully Qt based (#2142)
* Make Viewport input events fully Qt based.

This should fix an issue with Qt touch event -> mouse event translation in the Editor, and may also fix issues with the Mac Editor and remote desktop (though, lacking the requisite hardware, I can test precisely none of these things personally).

See https://github.com/o3de/o3de/issues/1889

- Adapted LegacyViewportCameraController to use Movement::X & Y (mostly for testing purposes, it's on the slate for being removed soon)
- Moved cursor capture logic from RenderViewportWidget into QtEventToAzInputManager so that it can make sure it generates correct movement deltas
- Removed ViewportMouseCursorRequests::PreviousViewportCursorScreenPosition to have our viewport controllers use our dedicated Movement::X and Y channels instead, which will work in the launcher

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

* Address review feedback

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

* Fix Linux build

Signed-off-by: nvsickle <nvsickle@amazon.com>
4 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
nvsickle 4babf69361 Address a few more review things
Signed-off-by: nvsickle <nvsickle@amazon.com>
5 years ago
nvsickle 52ae7433b3 Use synthetic keyboard and mouse devices instead of synthetic input channels
Signed-off-by: nvsickle <nvsickle@amazon.com>
5 years ago
nvsickle f4c96fc9df -Rework input handling to filter through a global event filter
-Attempt to support remote desktop for viewport cursor capture

Signed-off-by: nvsickle <nvsickle@amazon.com>
5 years ago
nvsickle a4a038cb28 Switch RenderViewportWidget to using Qt events instead of AzFramework input events
Signed-off-by: nvsickle <nvsickle@amazon.com>
5 years ago
nvsickle 6b76eceb1f Add GetDpiScaleFactor to native window API
-This includes implementations of the API for the Editor and Windows, all other platforms will have a 1.0 scale for now

Signed-off-by: nvsickle <nvsickle@amazon.com>
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

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

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
Tom Hulton-Harrop dc343e2b65
Small camera updates (#1460, LYN-2315)
* add interpolation for goto position/orientation

* resize default camera look-at point
5 years ago
Tom Hulton-Harrop 0f09a6d8bf
Move new camera settings to the Settings Registry and connect them to viewport border elements (#1267)
* ensure the new camera respects changing ui values and move camera settings to the settings registry

* factor out creation of modular camera controller

* small updates before posting PR

* updates following review feedback

* updates following review feedback
5 years ago
Tom Hulton-Harrop cf08f4dab1
Improve camera orbit behavior (#1060) 5 years ago
Tom Hulton-Harrop 3947dcf213
Add some extra cvars to control orbit point appearance and remove unused ones (#1032) 5 years ago
Nicholas Van Sickle 5e87250f67
Fix viewport icon rendering on high DPI devices (#1006)
* Clarify ViewportWorldToScreen being in widget space and add DeviceScalingFactor

* -Fix viewport icons being draw wrong on high DPI displays
-Fix loading viewport icons from absolute paths, which

* Address review feedback, fix build
5 years ago
Tom Hulton-Harrop 50f5976e59
Rename and move ModernViewportCameraController (#866)
* rename ModernViewportCameraController to ModularViewportCameraController and move to AtomToolsFramework

* update names and includes after file moves
5 years ago
Chris Santora 70c8ef99ef Updates in response to code review, from gadams3.
Cleaned up code around MaterialFunctor's QueryMaterialPropertyMetadata and QueryMaterialPropertyGroupMetadata.
Removed unnecessary "groupHeader->setObjectName(...)"
Simplified code in MaterialInspector::OnDocumentPropertyGroupVisibilityChanged.
5 years ago
Chris Santora e429c8e06a Fixed issues after merging latest main, as well as some edge cases I didn't notice before.
The structure of InspectorWidget::m_groups changed, so I had to update my new code accordingly.
Updated the InspectorWidget::m_groups code a bit to be more readable.
Discovered the initial property group visiblity state wasn't being set correctly when a material was first opened, so groups weren't initially hidden when they should have been. This had to be fixed in different ways for MaterialEditor's inspector and MaterialComponent's inspector.

ATOM-14688 Disable Individual Layers
5 years ago
Chris Santora 37a1b77d50 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 5 years ago
Chris Santora 53188a12da Made StandardMultilayerPBR hide a layer's property groups when that layer is disabled.
ATOM-14688 Disable Individual Layers

- Added new SetMaterialPropertyGroupVisibility functions to the material functors.
- Updated the MaterialFunctor::EditorContext to include parameters for handling material property group metadata.
- Updated the material inspector(s) to apply the property group visiblity changes from the material functor, to hide or show the property groups.
- Moved some code from MaterialPropertyDescriptor.h/cpp to a new MaterialDynamicMetadata.h/cpp, since these aren't really related to the MaterialPropertyDescriptor code. It's more for material functors to use.
- Also fixed the casing for the "GetMaterialPropertyValue_Image" lua function, since I was already in this code (ATOM-14793 "Fix Inconsistent Casing For LuaMaterialFunctorRuntimeContext")

Tested in MaterialEditor and in in the main Editor's MaterialComponent property override inspector.
5 years ago
Guthrie Adams ff9d8f7a87
Merge pull request #660 from aws-lumberyard-dev/Atom/guthadam/ATOM-15486
ATOM-15486 Material Editor: Implement layout and user settings
5 years ago
Tom Hulton-Harrop b2523217c3
Update snapping settings to be stored in the Settings Registry (#646)
* add overload to ActionManager to support capturing an AZStd::function

* move snapping settings to new settings registry

* remove unneeded reference in ViewportSettings

* move viewport setting function implementations to .cpp file

* add more sensible default values for snapping

* fix variable name for angle snapping

* remove const from function prototype value parameters

* add import/export api for free functions

* change from std::bind to a lambda

* remove redundant const for constexpr string_view

* add AZStd alias for std::abs
5 years ago
guthadam 1dda6dabe4 Added support for expanding/collapsing material inspector groups by name
Saving/restoring material inspector group expansion state
5 years ago
guthadam 9de3071e21 Merge branch 'main' into Atom/guthadam/ATOM-15486 5 years ago
guthadam e9165ed911 Added save state keys to most of the RPEs in the material editor and component to save expand/collapse state
Saving main window fancy docking state so all of the dock widgets save/restore visibly and positioning

Added window decoration wrapper inside material editor main window for saving/restoring window position, size, state

Added object names to several QT widgets so that their state could be captured and restored
5 years ago
Tom Hulton-Harrop c5a06b8953
Restore grid and angle snapping (#640)
Restore grid and angle snapping (LYN-3367)
5 years ago
AMZN-mnaumov 5fb923738e
Merge pull request #614 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15474
[ATOM-15474] Material Editor camera controller zoom respects viewport boundary
5 years ago
mnaumov dfd0cbb0fd Material Editor camera controller zoom respects viewport boundary 5 years ago
guthadam eb847ce9fa ATOM-15473 added context menu to material inspector group header with expand and collapse actions
https://jira.agscollab.com/browse/ATOM-15473
5 years ago
hultonha a206896074 remove QPoint from lower-level interfaces, switch to use AzFramework::ScreenPoint 5 years ago
Guthrie Adams eb25e0bd33
Merge pull request #504 from aws-lumberyard-dev/Atom/guthadam/ATOM-15439
ATOM-15439 Implement basic local socket and server for IPC in material editor and other tools
5 years ago
guthadam 9d0f9e9e3a ATOM-14065 fix problems with material editor details group property descriptions
Moved the code that automatically appended a script variable name to a property description out of the dynamic property class and into the material property conversion utility functions.

Added proper descriptions for the material type and parent material placeholder properties

https://jira.agscollab.com/browse/ATOM-14065
5 years ago
guthadam fae33e9235 ATOM-15439 Implement basic local socket and server for IPC in material editor and other tools
This replaces grid hub usage in the material editor. It allows material editor and other tools to intercommunicate on the local host.  This will allow enforcing that there is only one instance of the material editor running.  Opening a second instance will forward command line options to the first instance running a local server.

https://jira.agscollab.com/browse/ATOM-15439
https://jira.agscollab.com/browse/ATOM-13742
5 years ago
Nicholas Van Sickle 3c5c692148
Merge pull request #411 from aws-lumberyard-dev/nvsickle/FixBoxSelect
Fix viewport box selection
5 years ago
AMZN-koppersr 5e4094b258
Revamped AzFramework::Scene (#332)
Updated AzFramework::Scene to allow it to serve as the one-stop location for localized singletons. Localized singletons in this case are instance that can only occur once in an environment but multiple times within an application. As an example, this allows settings up a single camera per viewport for instance.

Highlights of changes:

Replaced the original ebuses with interfaces and events for easy of use and performance.
Removed the Entity Context specific code and moved that to new locations within the Entity Context itself.
Allowed basic inheritance. If a subsystem isn't found in a scene the parent can optionally be searched.
Scenes can enter a zombie state and avoid immediately being deleted. This is needed for situations where subsystems can't be destroyed until async calls have been completed.
5 years ago
nvsickle 9311dc4cb9 Fix RenderViewportWidget::ViewportWorldToScreen, which fixes box selection 5 years ago
guthadam 5cac07b4c1 ATOM-14003 adding image thumbnails to material inspector properties
https://jira.agscollab.com/browse/ATOM-14003
5 years ago