Commit Graph

94 Commits

Author SHA1 Message Date
Guthrie Adams f7d4b8e70f Changing material component property inspector to dockable view pane
• Inspector is locked to a specific entity and material assignment ID
• All modifications are made via the material component request bus
• Removed complicated configuration management in editor material component
• Multiple material property inspectors can be opened
• Multiple materials across different entities can be edited simultaneously
• No longer blocks the viewport or other interactions
• Added functions to material component request bus for retrieving material slot labels, default materials, getting and setting property and UV overrides
• Added more asset related types to material property value conversion from any
• Added support for static heading widget on top of atom tools inspector, currently used for menus and messages

WIP: Still investigating intermittent crash because of corrupt asset property
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-09-14 19:11:11 -05:00
Nicholas Van Sickle db63dcbcd9 Refresh rate driven rendering tick logic (#3375)
* Implement sync interval and refresh rate API for RenderViewportWidget

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

* Measure actual frame timings in the viewport info overlay.

Takes the median of the sum of (frame end - frame begin) to provide more a more representative view of when frames begin and end.

Note: Until VSync is internally supported by the event loop, this will produce nearly identical frame timings as the frame will spend as much time as needed synchronously waiting on a vblank.

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

* Make frame timing per-pipeline, wire up refresh rate info to ViewportContext

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

* POC: Frame limit pipeline rendering

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

* Switch Editor tick to every 0ms to allow better tick accumulation behavior

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

* Move RPISystemComponent to the tick bus, remove tick accumulation logic

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

* Add `AddToRenderTickAtInterval` to RenderPipeline API

This allows a pipeline to update at a set cadence, instead of rendering every frame or being directly told when to tick.

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

* Make ViewportContext enforce a target framerate

-Adds GetFpsLimit/SetFpsLimit for actively limiting FPS
-Calculates a render tick interval based on vsync and the vps limit and updates the current pipeline

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

* Add r_fps_limit and ed_inactive_viewport_fps_limit cvars

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

* Quick null check from a crash I bumped into

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

* Fix off-by-one on FPS calculation (shouldn't include the not-yet-rendered frame)

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

* Clarify frame time begin initialization

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

* Fix TrackView export.

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

* Address some reviewer feedback, revert RPISystem API change, fix CPU profiler.

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

* Add g_simulation_tick_rate

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

* Address review feedback, make frame limit updates event driven

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

* Remove timestamp update from ComponentApplication::Tick

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-09-13 17:57:42 -07:00
hultonha a374ea29f2 Expose setting to adjust angular manipulator circle bound (#3932)
* add debug drawing for angular manipulator bounds

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

* remove editor viewport settings from RenderViewport

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

* add setting for angular manipulator circle bound

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

* update minimum value allowed for some camera settings

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

* updates following review feedback, some small tidy-up

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

* update comment

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-06 14:22:57 +01:00
hultonha 5851031d2e Expose the ability to control manipulator line bounds (#3890)
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-03 10:14:03 +01:00
Esteban Papp 9c7b55a31d Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/Bits.h
#	Gems/Atom/RHI/Code/Include/Atom/RHI/IndexBufferView.h
#	Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp
#	Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp
2021-08-24 10:43:48 -07:00
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
2021-08-24 10:38:11 -05:00
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>
2021-08-24 16:25:08 +01:00
Guthrie Adams 2c6e105d27 restored view menu entries for dock widgets
renamed document tab functions

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-22 23:53:20 -05:00
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>
2021-08-22 22:37:50 -05:00
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>
2021-08-22 18:02:22 -05:00
Guthrie Adams 9449b52011 getting atom tools document main window compiling
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-22 14:58:24 -05:00
Guthrie Adams e3a7e7cd30 copied main window class from material editor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-21 17:50:31 -05:00
Esteban Papp c19c4af1e1 Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-20 17:57:02 -07:00
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>
2021-08-19 19:27:50 -05:00
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
2021-08-19 16:27:31 -05:00
Guthrie Adams dc6bfd8500 Merge pull request #3278 from aws-lumberyard-dev/Atom/guthadam/atomtools_wrapping_status_message_functions
AtomTools: added status message helper functions
2021-08-19 16:24:17 -05:00
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
2021-08-19 08:53:41 -07:00
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>
2021-08-19 09:06:24 +01:00
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>
2021-08-18 17:41:15 -05:00
Esteban Papp 036114a5a7 Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
2021-08-17 12:10:46 -07:00
Guthrie Adams 8ebaf10840 AtomTools: added status message helper functions
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-17 14:04:26 -05:00
Esteban Papp 1d4c53a777 More fixes for Gems
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-16 16:42:03 -07:00
Esteban Papp e9b4f48f71 more fixes, will merge fixes for w4245 and w4389
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-16 16:06:22 -07:00
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>
2021-08-13 00:19:43 -05:00
Guthrie Adams 7172c3231e Merge branch 'development' into Atom/guthadam/atomtools_refactor_main 2021-08-12 23:03:52 -05:00
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>
2021-08-12 22:11:18 -05:00
moudgils c2b8542bbd Support for refresh rate and sync interval (#2989)
* Add support for querying the refresh rate and sync interval
2021-08-12 12:07:46 -07:00
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>
2021-08-11 16:38:13 -05:00
Guthrie Adams f1e8d37b86 holding pen for refactor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-11 14:55:28 -05:00
Guthrie Adams 1c181af94e fixing problems with document tab management
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-08-05 22:36:43 -05:00
Dayo Lawal e8d685211b CreateMenu/CreateTabBar
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-05 16:24:49 -05:00
Dayo Lawal 602da53ebe Merging upstream
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-05 14:20:25 -05:00
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>
2021-08-05 09:45:03 +01:00
Dayo Lawal 259bc3f85e ATWindowNotificationBus and ATFactoryRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-03 19:24:46 -05:00
Dayo Lawal 4eacd076da Fixing ME and ATWindowNotificationBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-03 15:53:20 -05:00
hultonha 7393c86416 some formatting and naming changes after PR feedback
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-03 15:24:54 +01:00
hultonha 71a299d739 minor comment grammar fix
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-03 13:53:34 +01:00
hultonha 86758fda35 documentation pass for modular viewport camera controller
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-03 13:44:21 +01:00
Dayo Lawal 2ed07c2a6a delete MEWindowsRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-02 23:09:28 -05:00
Dayo Lawal 63ed78d267 status_bar
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-02 17:27:26 -05:00
Dayo Lawal 58ff2d8cab AtomToolsMainWindowRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-02 14:59:45 -05:00
Dayo Lawal 8eb9205711 AtomToolsMainWindow
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-08-02 00:34:43 -05:00
Guthrie Adams 4465b52de5 AtomToolsApplication minor comments/formatting
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-07-29 09:13:49 -05:00
Dayo Lawal 3cd40b151e Merge remote-tracking branch 'upstream/development' into atomToolsApplication 2021-07-28 11:47:47 -05:00
Dayo Lawal 4b0527c07f Moving comments
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-27 13:42:48 -05:00
Dayo Lawal 5cb001dffd More fixes
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-27 12:51:38 -05:00
Dayo Lawal 4b97a416a3 GetCriticalAssetFilters()
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-27 02:06:33 -05:00
Dayo Lawal 7122f1b761 More refractoring
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-26 17:41:10 -05:00
Dayo Lawal 50f6ea8385 Using GetBuildTargetName() and other fixes
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-26 16:22:34 -05:00
Dayo Lawal 4306b57230 More replacement with target name
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-26 13:08:59 -05:00