* initial wip change to help resolve EMFX camera viewport issue
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* some updates to add/remove camera input API
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add additional comments and remove some optimize off calls
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* improvements to camera behavior in EMFX editor
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add some tests for add/remove logic for cameras
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* Disabled depth testing for joint orientation debug rendering, so that we can also see them through the solid mesh rendering.
* Update transforms in case solid mesh rendering or any of the debug visualizations are enabled.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
This specifically implies to the value returning to_string overloads
Added a range based StringFunc::Join overload.
Reduced the number of AZStd::to_string calls in the TranslationKey
operator<< function.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Move "Open pinned Inspector" to separate handler to move it after the Prefab menu items.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Rearrange context menu items, add shortcuts
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix pragma once in header
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Revert casing changes that would cause issues in automated testing.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Rename DivideByMultiple2 back to DivideByMultiple, now that I've confirmed it's not in use in the codebase. RHI::DivideByMultiple can be fully deprecated in favor of AZ::DivideAndRoundUp at a later date, once the deprecation strategy has been finalized.
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Update based on PR feedback
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Switched from std::numeric_limits to AZStd::numeric_limits and updated the header to indicate it works for non-power of two alignments, but that SizeAlignUp is more efficient if the alignment is a power of 2
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Added missing arguments to the assert, and a missing namespace and include that failed to compile on non-unity builds
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Updated Launching of Lua Editor to supply the project-path
The Lua Launch logic also uses the AzFramework ProcessLauncher instead
of Qt. This has the benefit of being able to pass arguments as an array
instead of in a single string. Therefore paths with spaces in them also
work.
Tweak the Settings Registry logic to locate the
project-path/engine-path by scanning upwards for a
project.json/engine.json respectively to inject the found paths to the
front of the command line parameters instead of the back.
This has the effect of making sure that command line parameters for the
project-path/engine-path always takes precedence over scanning upwards
for a project.json/engine.json.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed prepend of EngineRoot in CheckProjectPathProvided
The Editor would attempt to validate that the project path supplied via
the command line contained a valid project.json file before contining
the Editor startup flow.
This was taking the engine root path and appending the project path to
it, which works when the project path is absolute
But when the project path is relative it is treated as relative to the
current working directory by the SettingsRegistry, but the logic in the
CheckProjectPathProvided was treating it has relative to the engine
root. Therefore supplying a relative path as part of the Editor.exe
launch command would fail.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed resolving of relative paths to absolute paths in the Editor
The Editor was changing the current working directory to the nearest
ancestor directory containing an `engine.json` file.
This resulted in the ConvertToAbsolutePath function resolving relative
paths to that directory instead of the launch directory of the Editor.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
GHI #5976 described that for really large numbers the edit field randomly changed digits. This does not happen on the latest version anymore and most likely was caused by a floating point issue that the editor team fixed. We're limiting the maximum values now additionally as in case such large numbers are needed, something is wrong with the global time scale.
Resolves#5976
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
Changed material editor inspector into generic, configurable, document inspector and moved to atom tools framework
Renamed atom tools framework settings registry utility functions
Added more settings registry utility functions to get, set, and save values and objects
Added saving tool settings to atom tools application
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
* Change the Ctrl+S flow to save the currently focused prefab instead of the root.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Ensure the Outliner is refreshed on save
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Rename ExecuteClosePrefabDialog to be more accurate (the function also does the saving, it's not just creating the dialog).
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor changes to labeling.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Adjust labeling to reflect changes in behavior.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Revert labeling changes
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Additional checks to guarantee the system works in test mode
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Additional check to prevent crashes when the editor somehow triggers save during automated tests.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Simplify checks
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Update preferences and dialog labels to reflect new behavior.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Ensure that the system works at startup and after Clear. Ensure the invalid entityId is not added to the list.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Return a const reference to the list of entities in FocusModeInterface
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix SetFocusRoot to trigger notifications appropriately
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Optimize the entity removal via swap and pop, since we don't care about the order.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce additional check to prevent possibly adding the same entity to the list twice.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix mock after API changes
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Typo.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fixed logic that needed to be updated when the code was moved.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
Consolidated the contents of CpuProfilerImp.h into CpuProfiler.h
Renamed CpuProfilerImpl.cpp to CpuProfiler.cpp
Collapsed the CpuProfilerImpl class into the intermediary CpuProfiler interface class, removing that interface type
Replaced all calls to the old CpuProfiler interface with AZ::Debug::ProfilerSystemInterface
Added accessor to see if a continuous capture is in progress to AZ::Debug::ProfilerRequests
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Adding support for blending the terain detail material with the macro material. Also includes several bug fixes
- The detail materail manager wasn't querying for default terrain region materials when it initializes, so it was missing some creation events that it would later get destruction events for and explode.
- Change the way the default material weights against other surface weights to avoid some discontinuities
- Fixed an issue where a default material id wouldn't initialize as invalid.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Several improvements and bug fixes
- Adding explicit creation / destruction events for material regions.
- Material regions will no longer try to "hide" when they don't have any materials
- Default detail materials will now only be used in areas where there are no other material assignments
- Fixed a bug where materials might not show up on surfaces when they were assigned to multiple regions or surface tags.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Simplified loop that assigns materials based on surface tags. Slightly simplified shader code regarding detail material id coordinates.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixes from PR review
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Making sure region changed doesn't get announced in the case where the old and new regions are both invalid.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
* Added new api in RPI to apply render pipeline changes from FP
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
* Update AtomTressFX gem to create hair parent pass at runtime
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
* Cleaned up issues with multiple components ? button
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Commit for merge
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Commit before merge
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* WIP
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Before merge from development
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Updated all HelpURL
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Ported line-based and solid skeleton rendering to debug display.
* Disabled depth testing for skeleton rendering so that we can see the skeleton through the solid mesh.
* Remembering the previous render flags and setting them back afterwards.
* Enabled depth testing for emfx debug, vertex & face normals, tangents and wireframe. We don't want to see them through the solid mesh to avoid visual clutter.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>