Commit Graph

88 Commits

Author SHA1 Message Date
Benjamin Jillich d31200ee5c EMotion FX: Update skeleton transforms when either solid mesh rendering or any of the debug visualizations is enabled (#7747)
* 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>
2022-02-21 08:51:53 +01:00
Benjamin Jillich bb93b2e498 EMotion FX: Minimized distance between wireframe and solid mesh rendering (#7713)
while preventing Z-fighting

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-18 09:20:13 +01:00
Benjamin Jillich c9432dc5e0 EMotion FX: Ported skeleton rendering to debug display and fixed depth testing for debug rendering (#7682)
* 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>
2022-02-17 09:14:24 +01:00
Benjamin Jillich 9a19ffc5b4 EMotion FX: Added debug rendering for colliders and ragdoll joint limits to the Atom debug draw class
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-15 16:36:04 +01:00
Roman da421b7056 Change actorRenderFlag to use AZ ENUM CLASS instead of azstd::bitset (#7542)
* Fixes the problem with using actor render flags in actor component

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

* In progress work for actor render flag rework

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

* add an utlity function to check bit

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

* code cleanup

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

* More CR cleanup

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

* build fix

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2022-02-14 13:27:37 -08:00
Roman e2c4c0e5e3 Atom viewport render option bugfix (#7158)
* Render option bugfix

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

* add aznumeric_cast

Signed-off-by: rhhong <rhhong@amazon.com>
2022-01-26 19:41:38 -08:00
lumberyard-employee-dm b9824ed172 Updated all array_view uses with the C++20 span. (#7157)
* Updated all array_view uses with the C++20 span.

The updates were done in the following order
1. `AZStd::array_view<([^>].+)\* ?>`  -> `AZStd::span<\1 const>`
2. `AZStd::array_view<(?:const )(.+)>` -> `AZStd::span<const \1>`
3. `AZStd::array_view` -> `AZStd::span`

Removed the implementation of array_view.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added missing whitespace between `const` and the typename for spans.

Updated the ShaderTest comparison of the ShaderResourceGroupLayout span
to compare the sizes as well

Updated comments on some of the methods that stated that they return "an
array" to mention they return "a span".

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-26 16:15:47 -06:00
lumberyard-employee-dm f3e9e41f4f Adding partial implementation of C++20 concepts and range functions for AZStd::span (#7102)
* Adding partial implementation of C++20 concepts and range functions for AZStd::span

The new concepts to discovered existing issues with the PathIterator and deque::iterator classes
PathIterator wasn't properly an input_iterator and therefore the Path classes weren't a range due to an incorrect const_iterator alias
The deque::iterator classes was missing the operator+ friend function that accepted a (ptrdiff_t, deque::iterator) to fulfill the random_access_iterator concepts

The AZStd implementations of (uninitialized_)copy(_n), (uninitialized_)move(_n) and (uninitialized_)file(_n) have been optimized to use memcpy and memset based on fulfilling the contiguous_iterator concept

Fixed invalid AZStd::vector inserts in FrameGraphExecuter.cpp and SliceditorEntityOwnershipService.cpp
The code was trying to copy the underlying addresses for vector<unique_ptr> to a vector<raw pointer> using insert, which it was doing by using memcpy.

relates to #6749

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed the `fixed_vector` emplace function to not move initialized
elements using uninitialized_move.

This was causing initialized elements of the fixed_vector to be
overwritten with the element at the emplace position.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed clang warnings about variables that are set, but never read

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the `az_has_builtin_is_constant_evaluated` define to not have
"()" as is not a macro.

This helps prevent users from using `az_has_builtin_is_constant_evaluated`
define in a situation where they want to know if the function is being
evaluated in a compile time context.
In that case they need to use the `az_builtin_is_constant_evaluated()`
macro (which of course looks quite similiar) but does not have the word
"has" in it..

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AZStd span class to be C++20 compliant.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Changed phrase "DoesNotCompiles" to be more grammatically correct.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added more unit test for AZStd span

Fixed an the the return type of the subspan template overload to account
for the source span having a dynamic extent.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed unused variable from span unit test.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-24 17:09:08 -06:00
Chris Galvan 71640c1c82 Merge pull request #6376 from nemerle/compiletime_filerequest_code2
Compile time reduction - FileRequest & related changes
2022-01-24 11:43:27 -06:00
windbagjacket 1cfa4a9bd5 Removed tab usage.
Signed-off-by: windbagjacket <nibor@ntlworld.com>
2022-01-17 10:00:07 +00:00
windbagjacket 7474c5480e Adding ray tracing toggle to behavior context so it can be used with scripting.
Signed-off-by: windbagjacket <nibor@ntlworld.com>
2022-01-14 17:07:13 +00:00
nemerle f1f81c3789 Merge remote-tracking branch 'upstream/development' into compiletime_filerequest_code2 2022-01-08 21:25:48 +01:00
Roman 55fb63da48 Debug render aabb now include node, mesh and static aabb. (#6685)
Signed-off-by: rhhong <rhhong@amazon.com>
2022-01-05 12:54:41 -08:00
nemerle 5ff65be314 This reduces non-unity build time by ~2% and build size by ~0.5%.
This PR is a 'clean' version of #6199 updated to latest development

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-12-12 23:48:47 +01:00
Artur K 53b88d4752 Preapre codebase for FileRequest compiletime improvements (#6192)
* Preapre codebase for FileRequest compiletime improvements

This is preparing grounds for the next PR that will contain the 'meat'
of the changes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Remove spurious newline.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-12-10 13:08:24 +00:00
Roman 28f38ca009 Update the deformer in the atom debug draw (#6095)
Signed-off-by: rhhong <rhhong@amazon.com>
2021-12-02 14:15:59 -08:00
Roman c59f973900 Add joint selection visual support (#5860)
* Render joint orientation

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

* joint selection will affect rendering result in emfx atom debug draw

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

* Render line skeleton with joint selection

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

* bug fix

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

* fix build error

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

* CR feedback - checking the actor instances for joint selection

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-29 08:39:43 -08:00
Artur K eca2e36687 Fix clang 13 compilation problems (#5791)
* Fix clang 13 compilation problems

Re-instated ShowPlayedSequencesDebug logic by introducing no-op lambda
which replaces missing `Draw2dLabel` functionality ( added TODO marker
there )

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* apply review suggestions

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix type in assert message

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-11-25 09:24:39 +00:00
Roman a3a4038aca Added joint orientation rendering (#5821)
* Render joint orientation

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

* fix build error

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-22 11:38:35 -08:00
Roman e52cbd2bb3 Render joint names (#5685)
* render solid skeleton option

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

* Fix broken build

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

* CR update

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

* Render joint names

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

* CR update

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

* CR update

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-18 06:42:41 -08:00
Roman 9b6e2ed51d render solid skeleton option (#5610)
* render solid skeleton option

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

* Fix broken build

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

* CR update

Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-17 08:05:03 -08:00
Roman 9a72dd7446 Bugfix - Render normal is incomplete when multiple mesh present. (#5605)
Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-16 00:17:40 -08:00
Nicholas Van Sickle 8d5dd4e35f Merge remote-tracking branch 'upstream/stabilization/2110' into nvsickle/StabToDevNov21
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-11-11 10:15:52 -08:00
antonmic 3fd03479de Addressed PR feedback
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-11-10 11:56:45 -08:00
antonmic dadf06edda Fixed issue where skin material wouldn't render if applied to a model with several submeshes and those submeshes had different material types applied to them.
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-11-09 19:03:26 -08:00
rhhong 0c86198fd9 CR feedback; add ability to update the render in the preference window.
Signed-off-by: rhhong <rhhong@amazon.com>
2021-11-02 23:09:42 -07:00
rhhong c79bf7a0c1 load render option in atom render plugin and use render actor settings in atom debug draw
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-30 22:37:05 -07:00
rhhong 43b572e22a CR feedback. Use one color instead of a color array.
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-26 12:28:47 -07:00
rhhong 20f9e80648 wireframe rendering
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-26 08:14:34 -07:00
rhhong 3e686ca9ce fix linux build
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-25 21:17:38 -07:00
rhhong ebf84c49ac code review feedback. Also add the renderflag as qsettings.
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-25 19:11:36 -07:00
rhhong 8595805c47 [WIP] Adding rendering options
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-25 01:32:12 -07:00
rhhong 5fca7ffd86 CR feedback
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-07 14:20:34 -07:00
rhhong c4a3162c85 CR feedback - code cleaning
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-07 14:20:00 -07:00
rhhong f2b449c4b9 Registering an empty atom render plugin in the emfxatom gem.
Signed-off-by: rhhong <rhhong@amazon.com>
2021-10-07 14:19:48 -07:00
Esteban Papp a7780b6dbe Gems/Atom*
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:16:11 -07:00
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>
2021-08-30 13:10:41 -07: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
Esteban Papp 804d833bb9 Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-23 13:01:33 -07:00
Kyle Birnbaum 2b1f4c2fc0 Merge branch 'development' into ExposeLodControls 2021-08-20 12:45:00 -07:00
Kyle B b53a085700 Merge branch 'development' into ExposeLodControls 2021-08-20 12:14:59 -07:00
pappeste 33cbc2db21 AtomLyIntegration
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-16 16:10:42 -07:00
Chris Burel 1837d05169 Rename EMotionFX class members to follow the m_ naming convention
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-08-09 16:40:35 -07:00
Chris Burel 2cfee517a0 Adjust EMotionFXAtom to work with the new EMotionFX size_t API
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-08-09 09:22:38 -07:00
Benjamin Jillich 868d718a18 Added automatic bounding box expansion, fixed several bugs in the aabb calculations and removed node OBBs (#2871)
Merge pull request #2871 from aws-lumberyard-dev/jillich/EmfxAabbImprovements
2021-08-09 01:19:42 -07:00
Kyle B 51271fa15b Created group for Lod component data
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
2021-08-06 16:57:00 -07:00
Benjamin Jillich 8a47476498 Merge branch 'development' into jillich/EmfxAabbImprovements 2021-08-05 15:13:29 +02:00
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 2021-08-02 18:03:04 -07:00
Kyle B 5b88d96eec Exposed fields to the mesh component giving greater Lod control from the editor
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
2021-08-02 13:36:10 -07:00
Benjamin Jillich b840b24de2 Ported the actor and a few other places
* Fixed a bug with updating the static aabb for actors. It called that before the mesh was loaded resulting in an invalid aabb.
* Ported a few more places to AZ::Aabb from MCore::AABB

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-08-02 14:38:20 +02:00