Commit Graph

867 Commits (1431afb51a08535a0ceabc22f11a55c0e5f5bb93)

Author SHA1 Message Date
Jeremy Ong 07a14bdce1 Add AZ_BUDGET_DEFINE/AZ_BUDGET_DECLARE and remove driller
NOTE: The memory driller is still intact for now to avoid needing to
modify allocators, but the frame/cpu portions of driller and the
standalone executable are now gone.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Ken Pruiksma ef5b49fc2b
Adjust the sharpness of TAA's Catmull-Rom filter based on local area luminance (#3400)
* Adjust the sharpness of TAA's Catmull-Rom filter based on local area luminance.
This helps prevent ringing artifacts in high contrast areas. Due to Catmull-Rom's use of negative weights, it's possible to have a very high value neighbor sample with a negative weight completely overwhelm the result leading to a negative output. This change reduces the sharpness of the catmull rom filter in high contrast areas so the negative weights contribute less to the final result.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* PR review feedback fixes - more comments and updated the way the sharpness equation was written for clarity.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Esteban Papp d91dbe3d92 Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
carlitosan 4e0399b283
Merge pull request #3309 from aws-lumberyard-dev/carlitosan/development
JSON serialization of SC Editor Assets
4 years ago
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
4 years ago
Guthrie Adams 701e36f493
Merge pull request #2752 from greenrazer/ExposeLodControls
Expose lod controls
4 years ago
chcurran 794c22c02e merge latest
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
santorac 60d137c5b6
Merge pull request #2746 from aws-lumberyard-dev/Atom/santorac/OptionalSceneApiMaterialConversion3
Made Model Material Conversion Optional

Added a new registry setting that disables automatic conversion of materials from model files like FBX.

By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.

Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.

Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows SceneAPI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.

Testing:
- Changing the registry setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switching the material conversion registry setting from true to false. (Details below)
- Merged this change to a customer's fork and tested on their existing content.

Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
  - Entity 1 material assignments
    - Blue_Zaxis: left as-is
    - Green_Yaxis: exported the material
    - Red_Xaxis: exported the material, and changed the material instance color to pink
    - StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
    - With_Texture: selected an existing brick material, changed the material instance color to red.
  - Entity 2 material assignments
    - Default Material: set to an existing brick material
    - Blue_Zaxis: manually assigned built-in material that was converted from fbx
    - Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange
4 years ago
michabr 89cc27fdef
Fix input priority conflict with LyShine and ImGuiPass (#3329)
* Fix input priority conflict with LyShine and ImGuiPass

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

* Add GetPriorityDebugUI() input listener priority

Signed-off-by: abrmich <abrmich@amazon.com>
4 years ago
Esteban Papp 804d833bb9 Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
santorac 6b23e07af4 Changed MaterialConverterBus GetMaterialTypePath() to return a string instead of char*
Minor code cleanup.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Esteban Papp b96b99363c Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp c8c29b1aff
Enable warning MSVC 4296: 'operator': expression is always false 4 years ago
moudgils b2b6886338
Fixes asserts related to buffer allocation using null rhi (#3367)
Fixes GPU crashes when releasing Indirect draw and query related dx12 objects
Fixes imgui profiler related to viewing buffer allocations

Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Kyle Birnbaum 2b1f4c2fc0
Merge branch 'development' into ExposeLodControls 4 years ago
Kyle B b53a085700 Merge branch 'development' into ExposeLodControls 4 years ago
Esteban Papp b3023242d0 Merge branch 'development' into cmake/win_fix_warn_4296
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
moudgils aa68122002
Atom starter game ios fixes (#3297)
* Various fixes for AtomStarterGame on ios
 - Use low end pipeline on ioos by default for BoootStrapComponent
 - Track the need to bind null heap within Argument buffers
 - Only bind the null heap if its needed
 - Track its usage for Vertex/Fragment stages
 - Increase null dummy buffer to 1K to address GPU crash oon thee first frame

Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Esteban Papp a35464ca08 more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Kyle B e410eecd93 fixed mesh feature processor abstract interface
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Esteban Papp cf6c7c4d8d some unused fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 62a0041245 enable warning 4296: 'operator': expression is always false
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Guthrie Adams aa642bd566
Merge pull request #3156 from aws-lumberyard-dev/Atom/guthadam/material_component_api_script_canvas_support
AtomTools: better script canvas support for material component
4 years ago
Esteban Papp 61f7fe5dc5 Merge branch 'development' into cmake/AddressSanitizer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 68b04fa6c1 Merge branch 'development' into cmake/AddressSanitizer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CryCommon/LegacyAllocator.h
4 years ago
santorac 079e018e8e Merge remote-tracking branch 'upstream/development' into Atom/santorac/OptionalSceneApiMaterialConversion3 4 years ago
Esteban Papp 2521ad2301 Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/RHI/DX12/Code/Source/RHI/Device.cpp
4 years ago
jiaweig 6766d10d1b
ATOM-13883 [RHI][Core] - Moving RHI init settings to the new settings registry system (#3086)
* Moved PlatformLimits to setreg. Removed Device PostInit. Some clean up.

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

* Move setreg loading the PlatformLimitsDescriptor super class.

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

* Apply same implementation for fake device used in unit tests

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

* Add implementation for Null renderer. Swap order for register RHI interface in initialization.

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

* Move back setreg from PlatfromLimitsDescriptor to Device, due to Linux dependency issue.

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

* Changed the function to take in RHI backend name

Signed-off-by: jiaweig <jiaweig@amazon.com>
4 years ago
Esteban Papp d0238a5977 More fixes after merge
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
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
Jeremy Ong a5f072f7a9 Remove statistics profiler
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong df9b4d4a2f Deprecate profiler categories based on global enum
(to be supplanted by registered budgets in the future)

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Ken Pruiksma 90845313fb
Overhaul of LookModification (#3282)
* Fixed log2 shaper equations. Added bspline sampling for lut. Added options for custom log2 or linear lut with custom exposure ranges.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Added support for PQ shaper. Added shader option & cvar for lut sampling quality. Fixed issues in the blend lut shader that were causing considerable quality loss. No longer always changing to the log2 1000 nit shaper when blending luts - if the source luts all use the same shaper, keep using that shaper in the blended lut.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixed an integer -> float

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Minor PR reveiw updates

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
AMZN-tpeng e15ae750a2
[ATOm][RHI][Vulkan][Android] - Reorganize float2 data members to floa… (#2718)
* [ATOm][RHI][Vulkan][Android] - Reorganize float2 data members to float to avoid Android Mali GPUdriver crashes

Signed-off-by: Peng <tonypeng@amazon.com>

* [ATOM][RHI][Vulkan][Android] - Added reason comment for modifying float2 in the shader

Signed-off-by: Peng <tonypeng@amazon.com>
4 years ago
chcurran 1d1cea34dd Undo artifacts for JsonUtils sojourn into AzToolsFramework
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
Esteban Papp dd80a3ebae Linux and non-unity build fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Kyle B c515ead27e attempt to fixed mock errors
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
chcurran de9e991ccc merge development
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
chcurran 88121f3bb4 move JsonUtils to AzCore
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
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
4 years ago
Jacob Hilliard e865ad5d23
Profiler: implement loading from saved captures (#3026)
* Profiler: implement loading from saved capture
Adds functionality for finding a saved capture on disk and then
deserializing it using rapidjson's built-in buffered stream reader. This
does require use of raw file pointers since saved captures can be
hundreds of megabytes.
Actually showing the data in the visualizer is TODO.
* Profiler: use heap buffer over stack buffer
* Profiler: move deserialization logic to ImGuiCpuProfiler

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
4 years ago
galibzon 4cac875589
[ATOM-15058] Remove Automatic Entry Point Detection (#3150)
.shader files must declare at least  one entry function.

Signed-off-by: garrieta <garrieta@amazon.com>
4 years ago
Kyle B 01ad7c5e4e fixed namespace issue with the mocks
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Esteban Papp e6b5342c07 Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste dcab2751de Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste 58f8b563d0 fix them all
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 90cad016de Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste 38fd7f0013 fixing Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Guthrie Adams 7da5b032e7 updated test scripts
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
chcurran 5044204839 Move JsonUtils.h for support of SC serialization
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
michabr cd5081a7c3
Fix byte alignment issue for index/vertex buffers (#3110)
* Fix byte alignment issue for index/vertex buffers
* Remove default alignment value when getting dynamic buffer

Signed-off-by: abrmich <abrmich@amazon.com>
4 years ago
antonmic 7d4022fbdf
Merge pull request #3035 from aws-lumberyard-dev/Atom/antonmic/PassBuilder
Changing pass builder to declare job dependencies on referenced .shader files and consequently removing the critical flag from the shader builder.
4 years ago
mrieggeramzn 9571a15769
Atom/mriegger/explicit set pcf address mode (#3061)
* Explicit setting the addressing mode for the pcf shadowing

* Explicitly setting addressing mode for sampler
4 years ago
Kyle B 6acbea722e minor syntax changes and adding a refresh tree attributeto the editor component
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 0c05c9f204 [not working] Made lod selection more generic for further work
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
antonmic adf7a34ef5 Got PassBuilder shader dependency working and removed critical flag from shader builder
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
Esteban Papp 2147b1d128 Merge branch 'development' into cmake/SPEC-7484 4 years ago
Jacob Hilliard 7c5120b72f
[ATOM-16021] Initial continuous capture support (#2624)
* Profiler: Implement continuous capture internals

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: extend ProfileCaptureSystemComponent

Implements dumping of saved CPU profiling data to a local file, blocking
call.

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: Working IO thread for serialization

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: switch to AZ::JobFunction for IO

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: move to a ring buffer for storage

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: switch back to IO thread

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: add TODO

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: correct thread safety issues

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
4 years ago
Esteban Papp ec1a08d487 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/ConfigGroup.cpp
#	Code/Editor/ControlMRU.cpp
#	Code/Editor/CryEdit.cpp
#	Code/Editor/CryEdit.h
#	Code/Editor/IEditorImpl.cpp
#	Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/AnimGraph/GameController.cpp
4 years ago
Cynthia Lin c1a0b5c686
performance benchmarks: Aggregate and report CPU frame times. (#2939)
* Add CaptureCpuFrameTime method to ProfilingCaptureSystemComponent for monitoring CPU performance.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* ly_test_tools: Refactor benchmark data aggregator in preparation for CPU frame times.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* performance benchmarks: Aggregate and report CPU frame times based on JSON data.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* AutomatedTesting: Capture CPU frame time in AtomFeatureIntegrationBenchmark.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
4 years ago
Kyle B 51271fa15b Created group for Lod component data
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Esteban Papp e28d04aea6 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Editor/CryEditDoc.h
#	Code/Legacy/CryCommon/CryArray.h
#	Code/Legacy/CryCommon/CryString.h
#	Code/Legacy/CryCommon/UnicodeBinding.h
#	Code/Legacy/CrySystem/LocalizedStringManager.cpp
#	Gems/LyShine/Code/Source/StringUtfUtils.h
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
4 years ago
Esteban Papp 19d79f1559 Merge branch 'development' into cmake/SPEC-2513_w4267 4 years ago
Yuriy Toporovskyy 79af7d3c00 Make the maximum amount of vmem available for skinning related things configurable at runtime
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
4 years ago
Kyle B baab204c0b updated Mock with new interface values
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 9c5c2e7de6 un-did const on function that did not need it
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 3db93a564d Made formatting changes per pull comments, incuding adding comments, changing spacing, and changing the ui type of component fields
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
michabr 3a689aa319
Reenable support for UI Elements that use Render Targets (#2352)
* Re-add support for UI Elements that use Render Targets
* Move LyShine pass request from Atom's MainPipeline.pass to project's
* Make all dynamic draw contexts in LyShine draw to pass directly without the need of draw list tags
* Remove local RPI changes that are no longer needed
* Prevent crash if LyShine gem is enabled but its custom pass hasn't been added to the main render pipeline
* Revert to default UI pass if the LyShine pass has not been added to project's main render pipeline

Signed-off-by: abrmich <abrmich@amazon.com>
4 years ago
Esteban Papp dd3f0b86e0 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/ToolBox.cpp
4 years ago
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 4 years ago
Chris Santora 36abde95a9 Added a new registry setting that disables automatic conversion of materials from model files like FBX.
By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.

Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.

Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows ScenePI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.

Testing:
- Changing the registery setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switcihng the material conversion registry setting from true to false. (Details below)
- TODO: Will merge this change to a customer's fork and test on their existing content.

Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
  - Entity 1 material assignments
    - Blue_Zaxis: left as-is
    - Green_Yaxis: exported the material
    - Red_Xaxis: exported the material, and changed the material instance color to pink
    - StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
    - With_Texture: selected an existing brick material, changed the material instance color to red.
  - Entity 2 material assignments
    - Default Material: set to an existing brick material
    - Blue_Zaxis: manually assigned built-in material that was converted from fbx
    - Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Kyle B 1a48118ece Added comments and formatted as close to the original
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 5b88d96eec Exposed fields to the mesh component giving greater Lod control from the editor
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
santorac 9e6eadd9a9 Merge branch 'development' into Atom/santorac/OptionalSceneApiMaterialConversion 4 years ago
Jeremy Ong 68a7a21e62 Reintroduce .h and .inl split
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 78760245c5 Remove one level of indentation
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong e1ce742f14 Generalize comments pertaining to light data and consolidate inline
header

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong bb782e83b4 Promote IndexedDataVector to public Feature/Utils header
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Esteban Papp f665f572f3 Gems/Atom builds
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
santorac 5d3d3b907e Changed a couple function parameters to const&
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Guthrie Adams e2eba69d33 updating FindMaterialAssignmentIdInLod to use ModelMaterialSlot
}

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
santorac b407e501e3 Merge branch 'development' into Atom/santorac/OptionalSceneApiMaterialConversion 4 years ago
Chris Santora 66f7fa2f42 Fixed a bug where a new entity using a mesh that was already loaded would not be able to correctly initialize a material component.
Repro steps:
- Create two entities.
- Entity 1
  - Add a mesh component and assign a model with multiple sub-meshes
  - Add a material component. The material component looks correct.
- Entity 2
  - Add a mesh component and assign the same model as the other entity
  - Add a material component. The material component shows "<unknown>" for all material slot names

The problem was that ReflectedPropertyEditor creates a new Asset<> reference with the correct ID but does not load it. This asset is passed to EditorMaterialComponent, MaterialComponentController, and MeshFeatureProcessor and none of these tell the Asset to load. The MeshFeatureProcessor was not loading the Asset or connecting to the AssetBus because the instance already existed in the InstanceDatabse so from the FP's perspecive there was no need. But for the FP's GetModelAsset() API to function correctly it needs to have the asset initialized to the available AssetData pointer. So we updated the MeshFeatureProcessor to always connect to the AssetBus so it will find the available AssetData via the OnAssetReady callback.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora fec79a7d53 Moved the material slot list from ModelLodAsset to ModelAsset, so all the slots live in one main list. This removes data duplication between LODs and cleans up the code a bit.
I had to update the ModelLod class to take in both the ModelLodAsset and ModelAsset for initialization so it can fetch the slots for each mesh.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora a71ee7eb3a Fixed the MaterialAssignmentId version converter to properly handle the default material assignment slot.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 3daf3f7d7a Fixed an issue with Actors where the material slot IDs were incorrect, and caused the displayed slot labels to be all "<unknown>" (and likely other issues).
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora e3ceaa477e Added a version converter for MaterialAssignmentId. This allowed me to successfully load the Sponza level in AtomTest.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 14d2e38b90 Refactored how model material slots work in preparation to support more flexible material conversion options for the scene asset pipeline. The material slot IDs are based on the MaterialUid that come from SceneAPI. Since these IDs are also used as the AssetId sub-ID for the converted material assets, the system was just checking the material asset sub-ID to determine the material slot ID. But in order to support certain FBX material conversion options, we needed to break this tie, so the slot ID is separate from the AssetId of the material in that slot. This will allow some other material to be used in the slot, instead of being forced to use one that was generated from the FBX.
Here we inttroduce a new struct ModelMaterialSlot which formalizes the concept of material slot, with an ID, display name, and default material assignment. The ID still comes from the MaterialUid like before. The display name is built-in, rather than being parsed out from the asset file name. And the default material assignment can be any material asset, it doesn't have to come from the FBX (or other scene file).

This commit is just the preliminary set of changes. Cursory testing shows that it works pretty well but more testing is needed (and likely some fixes) before merging.

Here is what's left to do...
Add serialization version converters to preserve prior prefab data.
See if we can get rid of GetLabelByAssetId function only rely on the display name inside ModelMaterialSlot.
I'm not sure if the condition for enabling the "Edit Material Instance..." context menu item is correct.
Test actors
Lots more testing in general

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Guthrie Adams e087cd87fb removed extra space from namespace comment
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams ffbeb903c1 Material Component: Add functions to lookup material ids by name
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams b19b0a0e0d
Merge pull request #2627 from aws-lumberyard-dev/Atom/guthadam/fixing_material_property_override_lua_test_script
fixing material property override lua test script
4 years ago
Guthrie Adams ca2889a0ef fixing material property override lua test script
O3DE vector usage in lua has changed since script was written

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams d12d7de139 Add missing display mapper operation type bindings
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Esteban Papp 074e33081f more fixes for w4267
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste 97f9ac870d Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Ken Pruiksma 33c408f654
Expose shadow bias to component & feature processors. (#2406)
* Expose shadow bias to component & feature processors. Shadow bias now works more consistently with various near / far shadow planes and caster positions. Bias now also affects esm shadows which helps eliminate acne in certain situations.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding jira comment to light configuration serialization version. Improved comment on final adjustment to bias before its sent to the shader.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Hooking up bias to behavior context.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Cynthia Lin 61f91d4a9a
Move benchmark data aggregation from ASV into ly_test_tools module. (#2335)
* fix: Correct typo in profiling capture system.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* Move benchmark data aggregation from ASV into ly_test_tools module.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
4 years ago
Ken Pruiksma 53dd7a89aa ATOM-16024 Point light shadows now affect specular like they should.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
moudgils 5ad0cac085
Deleting a missed file from a previous PR (#2350)
Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Steve Pham 4d5a985276
Enable AZSLc and Shader Compilation on Linux (#2338)
* Enable Shader Compilation support for Linux
* Add azslc package 3P definition for download
* Add AzslcGeader.azsli nad PlatformHeader.hlsli for Linux/Null and Linux/Vulkan (Copy of Android/Vulkan)
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Add platform builder file dependencies
* Updated AZ_TRAIT_ATOM_SHADERBUILDER_AZSLC to use new 3P linux version of azslc
* Add AtomShaderCapabilities.json, PlatformLimits.azasset for Linux (Copy from Android)
* Fix paths/values for Vulkan_Traits_Linux.h
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Enabled AZ_TRAIT_ATOM_VULKAN_LAYER_LUNARG_STD_VALIDATION_SUPPORT for Linux/Vulkan
* Added AzslcHeader.azsli, PlatformHeader.hlsli dependencies for Linux/Null and Linux/Vulkan in the platform builders for windows and mac for consistency

Signed-off-by: spham-amzn <spham@amazon.com>
4 years ago
moudgils 1c2f5ab6d5
Add support for LowEndRenderPipeline for mobile and the cleanup associated with it (#2292)
Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Esteban Papp 706233f72c Merge branch 'development' into cmake/SPEC-7179 4 years ago
dmcdiar 918224e2d5 Moved render checks to a ShouldRender() helper function.
Skipped attachment readback on RealTime DiffuseProbeGrids if raytracing is not supported by the hardware.

Signed-off-by: dmcdiar <dmcdiar@amazon.com>
4 years ago
Esteban Papp 1f9b284de2 Merge branch 'development' into cmake/SPEC-7179
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/Plugins/ComponentEntityEditorPlugin/ComponentEntityEditorPlugin_precompiled.h
#	Code/Editor/Plugins/EditorCommon/EditorCommon_precompiled.h
#	Code/Editor/Plugins/EditorCommon/stdafx.cpp
#	Code/Editor/Plugins/FFMPEGPlugin/FFMPEGPlugin_precompiled.h
#	Code/Editor/Plugins/PerforcePlugin/PerforcePlugin_precompiled.h
#	Code/Editor/Plugins/ProjectSettingsTool/ProjectSettingsTool_precompiled.h
#	Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFramework_precompiled.h
#	Code/Tools/AssetProcessor/native/precompiled.h
#	Code/Tools/Standalone/StandaloneTools_precompiled.h
#	Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzer_precompiled.h
#	Gems/Atom/Asset/ImageProcessingAtom/Code/Source/ImageProcessing_precompiled.h
#	Gems/Atom/RHI/DX12/Code/Source/RHI/Atom_RHI_DX12_precompiled.h
#	Gems/Atom/RHI/Metal/Code/Include/Platform/Mac/Atom_RHI_Metal_precompiled_Platform.h
#	Gems/Atom/RHI/Metal/Code/Include/Platform/iOS/Atom_RHI_Metal_precompiled_Platform.h
#	Gems/Atom/RHI/Metal/Code/Source/Atom_RHI_Metal_precompiled.h
#	Gems/Atom/RHI/Metal/Code/atom_rhi_metal_common_files.cmake
#	Gems/Atom/RHI/Null/Code/Source/Atom_RHI_Null_precompiled.h
#	Gems/Atom/RHI/Null/Code/atom_rhi_null_common_files.cmake
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Linux/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Mac/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Windows/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Source/Atom_RHI_Vulkan_precompiled.h
#	Gems/Atom/RHI/Vulkan/Code/Source/RHI/SwapChain.cpp
#	Gems/Atom/RHI/Vulkan/Code/atom_rhi_vulkan_common_files.cmake
#	Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont_precompiled.h
#	Gems/Blast/Code/Source/StdAfx.cpp
#	Gems/Camera/Code/Source/Camera_precompiled.h
#	Gems/EMotionFX/Code/Source/EMotionFX_precompiled.h
#	Gems/FastNoise/Code/Source/FastNoise_precompiled.h
#	Gems/Gestures/Code/Source/Gestures_precompiled.h
#	Gems/GradientSignal/Code/Source/GradientSignal_precompiled.h
#	Gems/GraphCanvas/Code/precompiled.h
#	Gems/ImGui/Code/Source/ImGui_precompiled.h
#	Gems/InAppPurchases/Code/Source/InAppPurchases_precompiled.h
#	Gems/LmbrCentral/Code/Source/LmbrCentral_precompiled.h
#	Gems/LmbrCentral/Code/Tests/ShapeGeometryUtilTest.cpp
#	Gems/LyShine/Code/Editor/UiCanvasEditor_precompiled.h
#	Gems/LyShine/Code/Source/Animation/LyShine_precompiled.h
#	Gems/LyShine/Code/Source/LyShine_precompiled.h
#	Gems/LyShineExamples/Code/Source/LyShineExamples_precompiled.h
#	Gems/Maestro/Code/Source/Cinematics/Maestro_precompiled.h
#	Gems/Maestro/Code/Source/Maestro_precompiled.h
#	Gems/MessagePopup/Code/Source/MessagePopup_precompiled.h
#	Gems/Metastream/Code/Source/Metastream_precompiled.h
#	Gems/Microphone/Code/Source/Microphone_precompiled.h
#	Gems/Multiplayer/Code/Source/Multiplayer_precompiled.h
#	Gems/PhysX/Code/NumericalMethods/Source/NumericalMethods_precompiled.h
#	Gems/PhysX/Code/Source/PhysXUnsupported_precompiled.h
#	Gems/PhysX/Code/Source/PhysX_precompiled.h
#	Gems/PhysX/Code/physx_unsupported_files.cmake
#	Gems/PhysXDebug/Code/Source/PhysXDebugUnsupported_precompiled.h
#	Gems/PhysXDebug/Code/Source/PhysXDebug_precompiled.h
#	Gems/ScriptCanvas/Code/Editor/precompiled.h
#	Gems/ScriptCanvas/Code/Source/precompiled.h
#	Gems/ScriptCanvasDeveloper/Code/Source/precompiled.h
#	Gems/ScriptCanvasPhysics/Code/Source/ScriptCanvasPhysics_precompiled.h
#	Gems/ScriptEvents/Code/Source/precompiled.h
#	Gems/ScriptEvents/Code/Tests/Editor/EditorTests.cpp
#	Gems/ScriptedEntityTweener/Code/Source/ScriptedEntityTweener_precompiled.h
#	Gems/SliceFavorites/Code/Source/SliceFavorites_precompiled.h
#	Gems/StartingPointCamera/Code/Source/StartingPointCamera_precompiled.h
#	Gems/StartingPointInput/Code/Source/StartingPointInput_precompiled.h
#	Gems/StartingPointMovement/Code/Source/StartingPointMovement_precompiled.h
#	Gems/SurfaceData/Code/Source/SurfaceData_precompiled.h
#	Gems/TextureAtlas/Code/Source/TextureAtlas_precompiled.h
#	Gems/TickBusOrderViewer/Code/Source/TickBusOrderViewer_precompiled.h
#	Gems/Twitch/Code/Source/Twitch_precompiled.h
#	Gems/VirtualGamepad/Code/Source/VirtualGamepad_precompiled.h
#	Gems/WhiteBox/Code/Source/WhiteBoxUnsupported_precompiled.h
#	Gems/WhiteBox/Code/Source/WhiteBox_precompiled.h
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
Fabio Anderegg c0276d22b0
shaders: make file references use CamelCase naming, linux shader compilation is case sensitive (#2212)
Signed-off-by: Fabio Anderegg <fabioa@kythera.ai>
4 years ago
Esteban Papp 7c9653087d Builds Windows nounity and unity
Builds Linux nounity and unity

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
dmcdiarmid-ly bb5e9503dd
Merge pull request #2221 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15994
DiffuseProbeGridRenderPass should always be enabled
4 years ago
yuriy0 ccd4cc65a5
Use SampleLevel instead of Sample to sample shadow maps. (#1370)
* Use SampleLevel instead of Sample to sample shadow maps.

This allows shadow code to be used from computer shaders which don't allow Sample. Shadow maps don't have LODs anyways

* Fix some very silly typos
4 years ago
dmcdiar e2e6637f33 The DiffuseProbeGridRenderPass is now always enabled to allow Baked GI to render on non-raytracing hardware.
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
4 years ago
Chris Galvan e924ed0b86 Merged stabilization/2106 to development; Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
dmcdiar 2727f36621 Set DiffuseProbeGrids to visible when baking textures.
Added an initialization delay before starting the DiffuseProbeGrid texture readbacks, to allow the textures to settle.

Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
dmcdiar 4efecb88a5 Merge branch 'stabilization/2106' into Atom/dmcdiar/ATOM-15951 5 years ago
dmcdiarmid-ly 6d0e1c121d
Merge pull request #2023 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15971
Meshes using forward-pass IBL do not update when a ReflectionProbe is baked
5 years ago
Tommy Walton 0d82c1e670
Use float buffer for skinning (#2009)
* Switching to Buffer<float> instead of Buffer<float3> in the skinning shader because metal doesn't support float3 buffers

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Adding a comment to LinearSkinningPassSRG pointing out that positions, normals, and bitangents are using float buffers to work on Metal

Signed-off-by: amzn-tommy <waltont@amazon.com>
5 years ago
mrieggeramzn b187407e65
fix for lightculling / pdo artifacts (#2033)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
5 years ago
Cynthia Lin eb9304c28d
Preparation for automated benchmarks (#1923)
* ly_test_tools: Add filebeat_client module from o3de-mars.

Slightly modified with default parameters and exceptions in order to act as an individual component.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* scripts: Remove timestamp_aggregator.py to prepare for moving into ASV automated test repository.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
5 years ago
dmcdiar 9794182842 Notified the MeshFeatureProcessor when a ReflectionProbe is baked.
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Qing Tao 6d9230e292
ATOM-15939 Add support to capture attachment for ParentPass (#1887)
* ATOM-15939 Add support to capture attachment for ParentPass
- Moved the attachment read back support to Pass class so it supports both ParentPass and RenderPass.
- Added support to output input or output state of an InputOutput attachment.
- Enabled showing ParentPass attachments in PassTree tool.

Signed-off-by: Tao <qingtao@amazon.com>
5 years ago
dmcdiar 762b3ee582 Suspended ray tracing for DiffuseProbeGrids that are not visible, either off-screen or behind an occlusion culling plane
Added a culling flag that indicates if the cullable object is currently visible in any view

Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
Ken Pruiksma 5e98eefcc2 Undoing change from review feedback as it led to an incorrect result in some cases.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Ken Pruiksma 4c12e9c5ab
Refactoring the LTC quad and polygon lights (#1881)
* Refactoring the LTC quad and polygon lights to clip the light to the normal hemisphere before applying the LTC matrix. This prevents specular light leaking from behind the surface. Diffuse and specular contribution are now calculated at the same time to avoid clipping the polygon twice. Added a cheaper diffuse integration function that's accurate enough for diffuse. Also added a commented out alternate specular integration for platforms with poor acos() accuracy.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* PR review feedback - typo and some saturate() protection

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Making branch more explicit from review feedback.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
lumberyard-employee-dm 02922806a5
Updated gem.json for all top-level Gems. (#1715) (#1917)
* Updated gem.json for all top-level Gems. All the top level gems now have identical gem.json formats based on the DefautlGem template gem.json. Two additional fields have been added, a type: field and a requirements: field. These fields are for display in Project Mananger. All gem.json files have a default requirements: value of None. Devs are responsible for providing requirements. Gem descriptions and tags have been signed off by developers.

Signed-off-by: Cronin <mikecro@amazon.com>

* Fixed minor formatting issues with RADTelemetry gem.json

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

* Adding newline to QtForPython gem.json

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

* Adding newline to the Twitch gem.json

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

* Adding newline to AWSCore gem.json

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

* Adding newline to the AtomTressFX gem.json

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

* Adding newline to the end of the AudioEngineWwise gem.json

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

* Adding newline to the end of the CertificateManager gem.json

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

* Removing extra whitespace in summary of CrashReporting gem.json

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

* Adding newline to the end of the CustomAssetExample gem.json

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

* Removing extra whitespace in editorPythonBindings gem summary

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

* Adding newline to the end of the ScriptedEntityTweener gem.json

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

* Adding newline to the end of the Gestures gem.json

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

* Removing extra whitetspace in the summary of the GameStateSamples gem

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

* Adding newline to the end of the ExpressionEvaluation gem.json

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

* Updated the ProjectManager PythonBindings.cpp code to reference the
newer fields in the gem.json files

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

* Updating the Gem and Project templates gem.json files to include the
"type" and the "requirements" field.

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

* Updated the default "requirments" field value to be empty string instead
of "None"

This works better with the ProjectManager GemInfoFromPath function.

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

* Correcting "summary" field name

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

* Added the requirements text to the AudioEngineWwise Gem

This gem requires downloading the Wwise 3rdParty library from AudioKinetic's website

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

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

Co-authored-by: Mike Cronin <58789750+micronAMZN@users.noreply.github.com>
5 years ago
hultonha 2ea9bfb144 merge stabilization/2106 into development
Signed-off-by: hultonha <hultonha@amazon.co.uk>
5 years ago
Chris Galvan f47e71da36 Merged conflicts from pulling down latest development
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan 40f9761f86 Fixed more copyright header issues caused by script replacement
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Ken Pruiksma 1f77afae6e
Fixing alpha affects specular showing up when the alpha mode is opaque or cut-out. It should only be available when mode is blended or tinted transparent. (#1830)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Chris Galvan b9e06e70d9 Fixed copyright header issues per new validator
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Mike Cronin e9dd032a75
Updated gem.json for all top-level Gems. (#1715)
* Updated gem.json for all top-level Gems. All the top level gems now have identical gem.json formats based on the DefautlGem template gem.json. Two additional fields have been added, a type: field and a requirements: field. These fields are for display in Project Mananger. All gem.json files have a default requirements: value of None. Devs are responsible for providing requirements. Gem descriptions and tags have been signed off by developers.

Signed-off-by: Cronin <mikecro@amazon.com>

* Fixed minor formatting issues with RADTelemetry gem.json

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

* Adding newline to QtForPython gem.json

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

* Adding newline to the Twitch gem.json

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

* Adding newline to AWSCore gem.json

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

* Adding newline to the AtomTressFX gem.json

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

* Adding newline to the end of the AudioEngineWwise gem.json

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

* Adding newline to the end of the CertificateManager gem.json

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

* Removing extra whitespace in summary of CrashReporting gem.json

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

* Adding newline to the end of the CustomAssetExample gem.json

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

* Removing extra whitespace in editorPythonBindings gem summary

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

* Adding newline to the end of the ScriptedEntityTweener gem.json

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

* Adding newline to the end of the Gestures gem.json

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

* Removing extra whitetspace in the summary of the GameStateSamples gem

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

* Adding newline to the end of the ExpressionEvaluation gem.json

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

* Updated the ProjectManager PythonBindings.cpp code to reference the
newer fields in the gem.json files

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

* Updating the Gem and Project templates gem.json files to include the
"type" and the "requirements" field.

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

* Updated the default "requirments" field value to be empty string instead
of "None"

This works better with the ProjectManager GemInfoFromPath function.

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

* Correcting "summary" field name

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

* Added the requirements text to the AudioEngineWwise Gem

This gem requires downloading the Wwise 3rdParty library from AudioKinetic's website

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

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
5 years ago
antonmic 832a1c36a4
Merge pull request #1756 from aws-lumberyard-dev/2016/antonmic/subsurfaceVulkan
[ATOM-15876] fixed subsurface scattering on vulkan
5 years ago
antonmic 19638c4697 [ATOM-15876] fixed subsurface scattering on vulkan
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
5 years ago
mrieggeramzn 1d95a4a2ba
Merge pull request #1724 from aws-lumberyard-dev/Atom/mriegger/esm16F
Switch directional light to use the same reformulation as projected s…
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Anton Michels 9f904e08e7
Merge pull request #1753 from aws-lumberyard-dev/2016/antonmic/diffuse
[ATOM-15864] Added diffuseResponse to lambertian diffuse calculation
5 years ago
antonmic 097f99dcc6 [ATOM-15864] Added diffuseResponse to lambertian diffuse calculation 5 years ago
Ken Pruiksma 6a0b8ae6b6
[ATOM-15854] Adjusting alpha on grazing angles so it doesn't affect the diffuse response. (#1708)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
dmcdiarmid-ly 328a0f09a5
Merge pull request #1711 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15921
[ATOM-15921] ReflectionProbe cubemaps bake with incorrect exposure value
5 years ago
mriegger 346e294f60 Switch directional light to use the same reformulation as projected shadow and reduce to 16 bit float RT for perf 5 years ago
amzn-sean aff4859251 short term fix for editor/game mode/launcher tick times consistency (#1720)
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
5 years ago
amzn-sean a02ecefab9
short term fix for editor/game mode/launcher tick times consistency (#1720)
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.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
Cynthia Lin 82bd18ef5a [ATOM-15868] Collect and serialize initial benchmark metadata.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
5 years ago
dmcdiar ca606a5e08 Set IBL exposure value to 0.0 while baking ReflectionProbe cubemaps
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
Ken Pruiksma 7b1c37f296
[ATOM-15917] Taa pass will no longer crash if an input attachment is invalid. (#1702)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
mrieggeramzn 345be58ca8
Merge pull request #1668 from aws-lumberyard-dev/Atom/mriegger/shadowonoffbug
Fix for shadow aliasing appearing when enabling/disabling lights
5 years ago
Jacob Hilliard ed9232563d
[ATOM-15862] Fixing CPU profiler to save multiple regions within the same thread (#1636)
Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
5 years ago
Riegger 30834a33a4 Fix for shadow aliasing appearing when enabling/disabling lights
Signed-off-by: Riegger <mriegger@amazon.com>
5 years ago
mrieggeramzn ed193c82fa
Merge pull request #1652 from aws-lumberyard-dev/Atom/mriegger/tgs
Bumping threadgroup sizes
5 years ago
Gene Walters f905b71844 Adding missing o3de copyright headers
Signed-off-by: Gene Walters <genewalt@amazon.com>
5 years ago
Riegger 57d2f28826 Bumping threadgroup sizes
Signed-off-by: Riegger <mriegger@amazon.com>
5 years ago
Ken Pruiksma 1ee4f7b447
Adjusting alpha on grazing angles so it doesn't affect the diffuse response. (#1599) 5 years ago
hershey5045 ccb784d7d5
Fix weight blending in look modification postfx. (#1627)
Signed-off-by: Robin <rbarrand@amazon.com>
5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago
moudgils 7780b83fdc
Fix SSR Reflections on Mac amongst other things (#1618)
Fix writing to the correct mip in Metal
Set default m_outputScale to 1 in order to fix a 1/0 error
Add support for logging/printing errors pertaining to GPU crashes.
Setting Release queue's collection latency to MaxFrames.
Fix managed mem synchronization related offset bug
5 years ago
Tommy Walton 5656736db4
Fix for LYN-3726 : Actor Draw Character Doesn't Work (#1336)
-Re-purposed an unused boolean in RPI::Cullable for previous frame's visiblity to instead represent objects that are hidden in the simulation.
-Updated MeshFeatureProcessor::SetVisible to set this value on the cullable.
-Updated the MeshComponent to handle visiblity changes by not rendering the mesh instead of deactivating and/or reactivating the component.
-Updated the AtomActorInstance to handle changes to the visibility from the ActorComponent.

Tested by creating two entities with static mesh components, on entity hidden and the other visible. Plus three entities with actor components, one where the actor is visible, one where the entity is visible but the 'render character' setting on the actor component is disabled, and one where the 'render character' setting is enabled, but the entity is not visible.

For each of these 5 entities, I added them as 5 loose entities, 5 entities that were children to a parent entity, and a slice with all 5 as children to a parent entity, and tested toggling visibility of the parent entities.

For each of these 3 sets of 5 entities, I added them directly to the level, added them all to a layer where the layer was visible, and added them all to a layer where the layer was not visible, and tested toggling the visibility of the layers.
5 years ago
Qing Tao 9ccb65aac4
ATOM-15859 AuxGeom rendering in editor is too expensive (#1582)
* ATOM-15859 AuxGeom rendering in editor is too expensive
- The OrphanBuffer calls is the main reason that AuxGeom FP render is slow.
- Switched to use DynamicBuffer for buffers used in DynamicPrimitiveProcessor
- Added some profiling marks.
- Removed DynamicPrimitiveProcessor per view which was added because of OrphanBuffer can only be called once per frame.
5 years ago
Ken Pruiksma ac13551dc0
Cherry picking a034500a10 [a034500] (#1580)
Adding a factor for alpha affecting specular in the standard and enhanced pbr materials (#1474)

* Adding a factor for how much alpha should affect specular to standard and enhanced pbr. Currently blended and tinted transparency always assume that the geometry represents the surface, and the surface may just be transparent like glass. In this model, specular is unnaffected by alpha - perfectly clear glass still reflects light and obeys the Fresnel factor. However alpha may also represent the absence of a surface entirely for mateirals where cut-out alpha is a bad fit because of subpixel detail, like hair or cob webs. This change addresses that by allowing the alpha to also affect specular reflection if desired.

* Adding material for ASV test.
5 years ago
mrieggeramzn b4641b0b5d
Merge pull request #1558 from aws-lumberyard-dev/banding
Adjust Pdo shadow map bias
5 years ago
mriegger 648a7d85cc Adjust Pdo shadow map bias 5 years ago
dmcdiarmid-ly 909ad9392e
Merge pull request #1536 from aws-lumberyard-dev/Atom/dmcdiar/LYN-4660
[LYN-4660] Assigning test asset from AutomatedTest crashes in Atom
5 years ago
amzn-mike 63dd82aed3
Merge pull request #1498 from aws-lumberyard-dev/Helios_LYN-3723-FixPBRNormalMapImport
[LYN-3723] Fix Stingray PBR normal map import
5 years ago
Doug McDiarmid 95582453d4 Added comments and updated optional stream buffer bitmasks 5 years ago
Ken Pruiksma f0c1420f49
Fixing backlighting for disk lights and some nearby comments. (#1526) 5 years ago
amzn-mike 0e8a2ca110 Merge branch 'stabilization/2106' into Helios_LYN-3723-FixPBRNormalMapImport 5 years ago
Doug McDiarmid 22ab33a3f4 Updated DiffuseProbeGrid raytracing precompiled shaders 5 years ago
amzn-mike e88823397d Set blend mode to lerp when importing a color map 5 years ago
Doug McDiarmid 6b3a376923 Updated DiffuseProbeGrid raytracing precompiled shaders. 5 years ago
Doug McDiarmid ec511dce76 Fixed ray tracing tangent stream format. 5 years ago
mrieggeramzn b224a47e0c
Merge pull request #1525 from aws-lumberyard-dev/debugcascade
Fix for shader option in DepthExponentiation not being set on loading into Editor
5 years ago
Doug McDiarmid 55e5dfc059 Merge branch 'stabilization/2106' into Atom/dmcdiar/LYN-4660 5 years ago
mriegger fa7d4c8174 fix whitespace 5 years ago
mriegger da1390b7e8 Fix for shader option in DepthExponentiation not being set on loading into Editor 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
Ken Pruiksma a034500a10
Adding a factor for alpha affecting specular in the standard and enhanced pbr materials (#1474)
* Adding a factor for how much alpha should affect specular to standard and enhanced pbr. Currently blended and tinted transparency always assume that the geometry represents the surface, and the surface may just be transparent like glass. In this model, specular is unnaffected by alpha - perfectly clear glass still reflects light and obeys the Fresnel factor. However alpha may also represent the absence of a surface entirely for mateirals where cut-out alpha is a bad fit because of subpixel detail, like hair or cob webs. This change addresses that by allowing the alpha to also affect specular reflection if desired.

* Adding material for ASV test.
5 years ago
Doug McDiarmid 97f4d8e845 Fixed tangent and bitangent interpolation in RayTracingSceneUtils.azsli. 5 years ago
Doug McDiarmid c3c69fedd6 Changed the Tangent and BItangent streams to be optional when setting up ray tracing data for a mesh. 5 years ago
Doug McDiarmid 0581de25b3 Merge branch 'stabilization/2106' into Atom/dmcdiar/LYN-4660 5 years ago
Doug McDiarmid 2d4d53bccf Change viewport and scissor state to use the output image size 5 years ago
Ken Pruiksma 570696ad76
[ATOM-14344][ATOM-13908] Merging skinned and static mesh motion shaders using an optional vertex stream (#1491)
[ATOM-14344][ATOM-13908] Merging skinned and static mesh motion shaders using an optional vertext stream. This removes the log spam "Mesh does not have all the required input streams. Missing 'POSITIONT0'." and allows Material::GetShaderCollection() to be const only as it was intended. The MeshFeatureProcessor also no longer needs to decide which motion vector shader to use, and therefore no longer has m_skinnedMeshWithMotion in the descriptor to acquire a mesh.
5 years ago
mriegger 6557a14e36 small fix for debug cascades not working with bicubic 5 years ago
Tommy Walton be0fbaaddc
LYN-2227 : Improve mesh initialization performance by not creating draw packet more than once (#1476)
* Move SetUseForwardPassIblSpecular to happen when acquiring a mesh, instead of immediately after so that we don't build the drawpacket twice for every mesh

* Update the MeshFeatureProcessor to use the booleans from the descriptor directly instead of having loose booleans in the MeshDataInstance

* m_excludeFromReflectionCubeMaps is not (and does not need to be) part of the descriptor, since setting is cheap and doesn't duplicate work that is done when acquiring the mesh
5 years ago
mbalfour df648db62e Merge branch 'stabilization/2106' into mbalfour/gitflow_210622
# Conflicts:
#	Code/Framework/AzQtComponents/AzQtComponents/Components/Style.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h
#	Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.cpp
5 years ago
moudgils 4f84ec90d3
Various new metal fixes (#1465)
* - Fix the second window related tabbing issue
- Merge calls to UseResoources acrooaa all the SRGs
- Move SamplerCache to the device to ensure only one cache to reduce duplication
- Fixes to compute threading numbers getting reset to 0,0,0
- Cleanup withing BufferPoolResolver
- Argument buffers are now queued to be cleaned up upon shutdown
5 years ago
dmcdiarmid-ly d94acff6cc
Merge pull request #1450 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-5702
[ATOM-5702] MSAA sample is missing lighting when viewing the non-MSAA mode
5 years ago
AMZN-mnaumov 25a8dc4146
Merge pull request #1469 from aws-lumberyard-dev/Atom/mnaumov/ATOM-14412
[ATOM-14412] Fixing PDO offset tooltip
5 years ago
Cynthia Lin 4d9957d0c4 [ATOM-15781] Add statistics for individual passes. 5 years ago
Doug McDiarmid e769219bac Merge branch 'development' into Atom/dmcdiar/ATOM-5702
# Conflicts:
#	Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp
#	Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp
5 years ago
mnaumov ac7ec103c8 Fixing PDO offset tooltip 5 years ago
cgalvan 46f8c7c1ba
[LYN-3412] Updated LandscapeCanvas component to properly serialize with prefabs. (#1224)
* [LYN-3412] Updated LandscapeCanvas component to properly serialize with prefabs.

* [LYN-3412] Updated PR with feedback.

* [LYN-3412] Reverted unintentional changes.

* [LYN-3412] Removed one more comment.

* [LYN-3412] Additional PR feedback fixed.
5 years ago
Doug McDiarmid 5137a8aec5 Added a new MSAAResolveFullScreenPass which will disable itself in non-MSAA pipelines.
Changed MSAAResolvePass to disable itself in non-MSAA pipelines.
5 years ago
Doug McDiarmid 4378f1f88c Skipped meshes that do not have the required streams when adding to the RayTracingFeatureProcessor. 5 years ago
Doug McDiarmid ada63089b5 Changed FullScreenTrianglePass::FrameBegin to use FramePrepareParams viewport and scissor states if they are set.
Changed ReflectionScreenSpaceBlurChildPass to set the viewport and scissor states.
5 years ago
Doug McDiarmid 72e5ab4437 Merge branch 'development' into Atom/dmcdiar/ATOM-5702 5 years ago
Doug McDiarmid dc1d34c83f NoMSAA supervariant support
Added a ShaderSystem supervariant to provide a system-wide supervariant name.
Changed ShaderAsset to append the system-wide supervariant name when searching for supervariants.
Added the NoMSAA supervariant to several shaders.
5 years ago
hershey5045 c127a044d4
Enable fog in physical sky component to blend with deferred fog (#1320) 5 years ago
nvsickle e55580af57 Merge remote-tracking branch 'upstream/stabilization/2106' into nvsickle/MergeStabilizationJun18 5 years ago
Ken Pruiksma 0a11931422
Removing reference to non-existent parallax.invert property. (#1409) 5 years ago
lumberyard-employee-dm 7dabe8b6e9
Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
5 years ago
Aaron Ruiz Mora 7781307afe
Fixed cloth automated tests. (#1400)
Bone transforms buffer is not valid when using Null renderer, which caused the test to fail since it reported an error and ultimately crashing as well. For now it's been worked around by checking the pointer is valid and not printing the error when null renderer is used, a task for the Atom team has been created to fix this properly in the future (ATOM-15807).
5 years ago
mrieggeramzn 4746afa332
Merge pull request #1388 from aws-lumberyard-dev/Atom/mriegger/ATOM-15406
Fix for PCF shadow flickering
5 years ago
mriegger 709bca5849 Adding code that prevents nans occuring due to precision issues 5 years ago
Cynthia Lin df912533ab [ATOM-15781] Add Python script for calculating avg/max frame render time of a sample. 5 years ago
AMZN-mnaumov eed5f13115
Merge pull request #1368 from aws-lumberyard-dev/Atom/mnaumov/DisplayMapperFix
Fixing "type not registered with BehaviorContext" when running ASV
5 years ago
Qing Tao aa2c27b22d
ATOM-15780 Improve cpu profiler allows pause and output profiling data to a file for reference (#1358)
- Added a pause button in imgui cpu profiler.
- Added a capture button to save cpu profiling data to a data file.
- Added some profile marks in both RPI and RHI.
5 years ago
Chris Santora 15db879e43
Merge pull request #1356 from aws-lumberyard-dev/santorac/stabilization/2106/HotReloadFixes
Added new shader reinitialization signaling

This was done while working on "ATOM-15728 Shader Hot Reload Fails in Debug Build", but it turned out these changes did not actually fix the issue (or any other known hot-reload issue). Still, these improvements are appropriate as they correct logical oversights.

ShaderVariant was not listening to asset reloads. It needs to know when the ShaderVariantAsset reload happens so it can reinitialize it's members as well as propagate reinitialization messages. I added a member for the ShaderAsset as the class needs this to reinitialize itself. So now the class listens for reloads of both the ShaderVariantAsset and the ShaderAsset.

Shader was not listening for ShaderAsset reinitialization events.

Updated the API for ShaderReloadNotificationBus's OnShaderVariantReinitialized to include the ShaderVariant which is the most relevant information (the other information wasn't really being used anyway).

Testing: Ran ASV full test suite in dx12 and vulkan, saw only known issues. Tested hot reload in Material Editor and main Editor.

See also aws-lumberyard/o3de-atom-sampleviewer#118
5 years ago
Ken Pruiksma cf9e088133
ATOM-15708 ATOM-15709. Disabling the low end shader for blended and tinted transparencies. The standard shader is already drawing in the transparent pass for those blend modes. Also improving the way StandardPBR_HandleOpacityMode is getting the correct shader by using a tag instead of index. (#1355) 5 years ago
mnaumov 2f9a055a8f Fixing "type not registered with BehaviorContext" when running ASV 5 years ago
mrieggeramzn a505ed8a51
Merge pull request #1302 from aws-lumberyard-dev/Atom/mriegger/esmexponent2106
Atom/mriegger/esmexponent2106
5 years ago
Chris Santora c158ca178f Added new shader reinitialization signaling.
This was done while working on "ATOM-15728 Shader Hot Reload Fails in Debug Build", but it turned out these changes did not actually fix the issue (or any other known hot-reload issue). Still, these improvements are appropriate as they correct logical oversights.

ShaderVariant was not listening to asset reloads. It needs to know when the ShaderVariantAsset reload happens so it can reinitialize it's members as well as propagate reinitialization messages. I added a member for the ShaderAsset as the class needs this to reinitialize itself. So now the class listens for reloads of both the ShaderVariantAsset and the ShaderAsset.

Shader was not listening for ShaderAsset reinitialization events.

Updated the API for ShaderReloadNotificationBus's OnShaderVariantReinitialized to include the ShaderVariant which is the most relevant information (the other information wasn't really being used anyway).
5 years ago
AMZN-mnaumov c0dc0cb936
Merge pull request #1337 from aws-lumberyard-dev/mnaumov/StabilizationJun15
Stabilization to Development merge - 06/15/21
5 years ago
yuriy0 a9c55c1070
Update actor render bounding box (#991)
* Extend MeshFeatureProcessor to allow changing the mesh bbox, which requires re-compute the culling data for that mesh

* Update actor mesh bbox when EMFX actor instance bbox changes.

Also use the actor instance global bbox to compute the local bbox for the skinned render mesh, instead of the using the static bounds based bbox, as not every actor instance is going to be using the static bounds bbox.

* Store per-instance mesh AABB in the right place.

In the MeshInstanceData, which is unique per instance, instead of in the Model, which is shared between all instances.

For greater clarity, also remove Model::m_aabb and the corresponding getter and setter, as it isn't immediately obvious whether this gets the model asset bbox or the mesh instance bbox. Callers should instead be explicit about which bbox they want.

* Bug fix: model asset is not necessarily ready in AcquireMesh

* Remove now-unused forward declaration

* Update MockMeshFeatureProcessor with SetLocalAabb/GetLocalAabb
5 years ago
mrieggeramzn 51ba3e9346
Merge pull request #1300 from aws-lumberyard-dev/Atom/mriegger/bsearchstab
Fixing boundary search
5 years ago
mnaumov 9ca0e731f4 Merge remote-tracking branch 'upstream/stabilization/2106' into mnaumov/StabilizationJun15
# Conflicts:
#	Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp
5 years ago
Roman 1f6bb14ed3
[EMFX][ATOM] crash during mesh reload (#1301)
* Fixed a crash when entering game mode, removing a mesh and re-adding mesh.
5 years ago
dmcdiarmid-ly 567b54ee25
Merge pull request #1297 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15767
[ATOM-15767] ReflectionScreenSpaceBlurPass uses a fixed number of mips
5 years ago
Doug McDiarmid de4605d6b7 Added comment. 5 years ago
dmcdiarmid-ly b1e22db0be
Merge pull request #1298 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15623
[ATOM-15623] Objects excluded from ReflectionProbe still render DirectionalLight shadows
5 years ago
jiaweig eec5fc1546
Merge pull request #1257 from aws-lumberyard-dev/Atom/jiaweig/ATOM-13723_lattice_sizing_crash
ATOM-13723 BaseViewer DynamicMaterialTest Crash With Many Objects on dx12
5 years ago
mriegger 4ac846383a Fixes from feedback 5 years ago
mriegger f340189075 remove tabs 5 years ago
mriegger 959ec14df6 Exposing esm exponent 5 years ago
mriegger 95e21bf2af Fixing boundary search 5 years ago
Doug McDiarmid bb083fde3c Added ReflectiveCubeMap usage flag if the shadow is rendering in an EnvironmentCubeMap pipeline 5 years ago
Doug McDiarmid 886601ad94 Created a new ReflectionScreenSpaceCompositePass to set the maximum roughness mip in the pass Srg.
Changed the ReflectionScreenSpaceBlurPass to auto-generate the mip chain, which will compute the appropriate number of mips.
5 years ago
Doug McDiarmid 8459cbe5c2 Removed the DiffuseGlobalIllumination component from the editor Entity Component list, it was intended to be a Level Component only.
Checked for a valid quality level in DiffuseGlobalIlluminationFeatureProcessor::SetQualityLevel.
Initialized the quality level to Low in DiffuseGlobalIlluminationComponentConfig.
5 years ago
michabr 6584e1290b
Reenable LyShine mask support now using Atom (#1218)
* Add option to set stencil ref in Dynamic Draw Context

* Add depth/stencil attachment slot to UI pass

* Rework mask rendering to use Atom

* Add missing circle mask image
5 years ago
moudgils f2db30c5d0
Merge pull request #1246 from aws-lumberyard-dev/UpdateIosPipeline
Fix many issues on Mac metal
5 years ago
galibzon cc615a8f32
[ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Funct… (#1079)
* [ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Functions That
Predate The Shader Supervariants

These are the essential impactful changes as a result of deprecating the
ShaderResourceGroupAsset.

* Addressed feedback by @moudgils. Better comments in header files.

* More updates related with deprecation of ShaderResourceGroupAsset

* Deleted the temporary version 2 classes.

* Updated version of the shader asset builders.

* Updated version of all the shader related classes impacted
by the Supervariant concept and deprecation of ShaderResourceGroupAsset

* Changes to *.pass and DGI, Reflections and RayTracing.

* changes to material related assets

* changes to core lights

* Changes to auxgeom/dynamic draw.

* changes to decals, lyshine, imguipass

* changes to RPI Pass classes

* Shader for SceneSrg, ViewSrg and ForwardPass Srgs.

* changes to mesh, skinned mesh, Morphtarget.

* Fixes to RayTracingPass.cpp & now allow empty srg in shaders.

* Updated Atom_RPI.Tests

* Simplified InstanceDatabase by removing AddHandler

------------------------------------------------------------------------------------
* Updated DiffuseGI precompiled shaders.
Added RayTracingSceneSrg and RayTracingMaterialSrg shader asset.
Updated ShaderAssetCreator::Clone to handle the supervariant when processing root variants.
Co-authored-by: Doug McDiarmid <dmcdiar@amazon.com>
------------------------------------------------------------------------------------

* Changed semantics for some PassSrg to SRG_PerPass_WithFallback.

AuxGeom/FixedShapeProcessor.cpp requires SRG_PerDraw on ObjectSrg.

Removed names of SceneSrg and ViewSrg from RPISystemDescriptor.cpp

* Moved ShaderLib/Atom/Features/DummyEntryFunctions.azsli
To  Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli

Removed redundant checking for finalization in
ShaderResourceGroupLayout.cpp

* Fixed race condition bug for Shader::FindOrCreate.
InstanceDatabase<>::CreateInstance() needs to be atomic
for instance creation and initialization.

Added optional InstanceHandler::CreateFunctionWithParams to accomodate
to the needs of Instances that need more than an asset reference
to be able to be created an initialzed.

Removed ShaderResourceGroup::FindOrCreate() only ::Create is available
now.

* Renamed scene_and_view_srgs.* as SceneAndViewSrgs.*

Changed GetAzslFileOfOrigin for GetUniqueId

* Fixed unit tests.

* Reverted the serialization name of m_uniqueId back to
"m_azslFileOfOrigin" so precompiled shaders don't fail
in layout comparison.

* Fixed AtomCore.Tests
Removed non-applicable test. InstanceDatabase.AddHandler() is not
available anymore.

* The Null rhi is re-enabled for shader compilation.

Signed-off-by: garrieta <garrieta@amazon.com>
5 years ago
Anton Michels 63a612efbc
Merge pull request #1215 from aws-lumberyard-dev/Atom/antonmic/PassChanges
[ATOM-15590] Pass System Improvements
5 years ago
jiaweig 7590ef04b2 Increase the platform limit to handle more objects. 5 years ago
moudgils b18b03b8fb Added comments and more format fixes 5 years ago
Ken Pruiksma bf76963696
[ATOM-15683] StandardPBR shader now makes sure to mark w for no subsurface scattering. Currently all StandardPBR materials are being subject to a 2x2 box blur because the DiffuseSpecalarMerge pass thinks they have samples with subsurface scattering turned on, and this is degrading the quality of diffuse. (#1249) 5 years ago
antonmic 2a982fa4b2 Pass changes: Addressing PR feedback 5 years ago
moudgils 3b249844d5 Minor formatting cleanup 5 years ago
Doug McDiarmid d94015f5e1 Skipped meshes with no materials in MeshFeatureProcessor::SetRayTracingData 5 years ago
antonmic 1ddb94ada1 Pass changes: final cleanup 5 years ago
antonmic 702356007c Pass changes WIP: standardized usage of new pass initialization functions 5 years ago
antonmic 6973d9c7a3 Pass changes WIP: moved child pass creation to Build phase 5 years ago
antonmic a30d9621d5 Pass changes WIP: various fixes, exposure sample now works 5 years ago
antonmic 451de8e782 Merge branch 'main' into Atom/antonmic/PassChanges 5 years ago
antonmic ed759612dd Atom Pass changes WIP: ASV screenshot tests passing now 5 years ago
moudgils 77b209d023 Merge branch 'main' into UpdateIosPipeline 5 years ago
Ken Pruiksma 9df995dd26
Temporal anti-aliasing and constrast adaptive sharpening (#1161)
First version of temporal antialiasing and contrast adaptive sharpening for GA. Works well in most cases but still has a few issues that will need additional time. This is only the passes and shaders with no exposure to the editor. TAA and CAS can be turned on by enabling their respective passes in the pipeline.

All of the code has been previously reviewed in smaller PRs into the taa_staging branch:
aws-lumberyard-dev#29
aws-lumberyard-dev#53
aws-lumberyard-dev#73
aws-lumberyard-dev#79
aws-lumberyard-dev#84

Main issues:

- Bloom doesn't play nice with TAA and seems to greatly amplify any flickering
- AuxGeom jitters with the camera, so TAA doesn't currently work well in editor
- Transparencies don't have correct motion vectors. History rectification keeps this from looking too bad, but could still be improved
- There is still more that could be done to inhibit flickering, usually from specular aliasing
- Motion vectors aren't correct on POM unless PDO is turned on, which can result in some blurring during motion.
- SSAO can contribute to flickering in its default half res configuration. Changing this to full res mitigates the problem.

Squashed merge of the following:

* [ATOM-13987] Initial checkin of Taa pass.

* TAA pass setup WIP. (does not work yet due to pass configuration issues).

* Taa WIP - Camera motion vectors fixed and hooked up. TAA does simple reprojection and rejection based on depth.

* Small update to use lerp and add some comments.

* Fix issue with attachments not being set up on bindings at initialization. Fixing issue with half-pixel offsets in TAA shader

* - Motion vector passes now use the same output with mesh motion vectors overwriting camera motion vectors.
- Taa pass now works with multiple pipelines.
- Cleaned up TAA shader a bit.

* Fixes from PR review.

* Adding check for multiple attachments of the same name with different resources in Pass::ImportAttachments().

* Adding camera jitter with configurable position count. Updated TAA to blend in tonemapped space.

* Fixes from PR review. Fixing camera motion vectors for background (infinite distance)

* Updates to taa shader from PR review

* Adding a rcp input color size.

* Fix comment on PassAttachment::Update()

* Updates for PR review.

* Fixing missing const on the FrameAttachment* in Pass's call to FindAttachment()

* Taa WIP - Adding filtering to both the current pixel and history. Adding rectification based on variance clipping. Adding some basic anti-flickering. Removing rejection based on depth.

* Updates from PR code review. Mostly better commenting and naming.

* Adding contrast adaptive sharpening based on AMD FidelityFX CAS to help with the softness added by TAA.

* Changing to using luminance for sharpening instead of just green. Added some comments.

* Moving Taa's NaN check to a better location. Disabling TAA and sharpening in prep for check in.

* Updates from PR feedback.
5 years ago
antonmic 1e5a35ccfe Merge branch 'main' into Atom/antonmic/PassChanges 5 years ago
dmcdiarmid-ly d19d2aff9d
Merge pull request #1110 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15517
[ATOM-15517] Software Occlusion Culling
5 years ago
dmcdiarmid-ly 579f4ca9d6
Merge pull request #1138 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15718
[ATOM-15718] DiffuseProbeGrid quality level
5 years ago
antonmic 52b306eb3e Pass changes now building and working 5 years ago
AMZN-mnaumov 8fa6d5d1b0
Merge pull request #1050 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15631
[ATOM-15631] First pass on exposing Display Mapper properties to Behavior Context
5 years ago
Qing Tao dcdd63966e
ATOM-15658 Better option of CreateCommonBuffer requires unique buffer name (#1133)
* ATOM-15658 Better option of CreateCommonBuffer requires unique buffer name
- Change the CreateCommonBuffer function to not require an unique  name by default.
- Remove the code for generating unique buffer names.
- Add buffer name to BufferAsset so it can be used for device object name instead of using asset file name.
- Change RPI::Buffer to use BufferName_AssetUuid as attachment id.
5 years ago
antonmic 0f90ccc0b4 initial changes compiling 5 years ago
Doug McDiarmid fefa46dd6a Added DiffuseGlobalIlluminationFeatureProcessor and moved the DiffuseProbeGrid files to the DiffuseGlobalIllumination directory 5 years ago
moudgils 0e4a632417 Add support for re-binding SRG entries if the drawItem has a new pso which changes how a srg is used in the shader. Also optimized api usage to use single call for UseResource and for setting stream buffers. 5 years ago
Doug McDiarmid 2449a9322d Changed the occlusion culling plane model to be on the XZ plane and adjusted the corner point computations 5 years ago
Doug McDiarmid 792176d764 Cached occlusion plane corner points and AABB in the feature processor 5 years ago
mnaumov 856204a5ea merge from main 5 years ago
AMZN-mnaumov c2619decc4
Merge pull request #1096 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15711
[ATOM-15711] Changing thumbnail sphere to polar sphere
5 years ago
Doug McDiarmid ef05412063 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
Esteban Papp 5d7aae9bd8
SPEC-2513 Fixes to enable w4459 (#1107)
* fixing w4459

* Fixes for nounity

* putting OLD_APARAM_USER in a common place to avoid duplicated declarations
5 years ago
Qing Tao c009e7d50b
ATOM-4782 [Material] Transparent pass is using StandardPBR_Forwardpass shader with incorrect SRG (#1103)
Removed TransparentPassSrg until we have pbr shaders TransparentPassSrg
5 years ago
Doug McDiarmid d63edf9b84 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
mnaumov c3df73bed8 PR feedback and fixing TrackView 5 years ago
mnaumov 4f72e49ad4 Merge main 5 years ago
mnaumov ee0ecc2fa0 [ATOM-15711] Changing thumbmail sphere to polar sphere 5 years ago
guthadam 25a114d324 updating includes 5 years ago
Doug McDiarmid 35d7ee5e53 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
guthadam b37145589d Merge branch 'main' into Atom/guthadam/LYN-3871_LYN-3872_material_assignment_json_serializer_for_prefabs 5 years ago
hershey5045 9e3b7b45d9
Fix window handle retrieval in frame capture system. (#1073)
Capturing screenshots via hydra should work now.
5 years ago
moudgils 0d5247be34 Fix metal shader pipeline crashes for LuminanceHistogramGenerator and MorphTargetCS due to the use of atomic operations with typed buffers. Switching them to use Structured buffers. Plus misc cleanup 5 years ago
guthadam d115eae84a LYN-3871/3872 Added JSON serializer for MaterialAssignment property overrides 5 years ago
Doug McDiarmid 59ab6edaef Added occlusion culling plane visualization 5 years ago
Chris Santora 79f00b3c81 Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 5 years ago
Jonny Galloway 9c5ea5026f
Merge pull request #1023 from aws-lumberyard-dev/gallowj/main/AssetLegalAudit
removing folder with image data we don't own, can't license.
5 years ago
Chris Santora c34f508d7f Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 5 years ago
Esteban Papp 50a9e94eca
Fix old method call (#1049) 5 years ago
mnaumov ab45ea7efa [ATOM-15631] First pass on exposing Display Mapper properties to Behavior Context 5 years ago
Chris Santora 9e5c6f6851 Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 5 years ago
Chris Santora e690c0e626
Merge pull request #1046 from aws-lumberyard-dev/Atom/santorac/MaterialLayoutCleanup-ATOM-14002
Updated Material Property Layouts Per Design

- Renamed "Details" group to "Overview".
- Renamed "UV Names" group to "UV Sets".
- Renamed "General" group to "General Settings".
- Renamed "Parallax" group to "Displacement".
- Renamed "Texture Map" properties to just "Texture". In cases where a specific type of texture is mentioned like "roughness texture map" I called this "roughness map" (which is more common according to google).
- Renamed "Heightmap" to "Height map" (which is more common according to google).
- Reordered material property groups according to design review.
  - Base Color
  - Metallic
  - Roughness
  - Specular Reflectance F0
  - Normal
  - Occlusion
  - Emissive
  - Subsurface
  - Clear Coat
  - Displacement
  - Opacity
  - UVs
  - Irradiance
  - General Settings

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
5 years ago
hershey5045 75cb293b2a
Png fix for vulkan rhi (#962)
* Add supported formats for pngs in frame capture system. Add conversion logic from bgra to rgba.
5 years ago
dmcdiarmid-ly b20f3bc72f
Merge pull request #946 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15555
[ATOM-15555] Data-Driven RayTracingPass
5 years ago
Chris Santora 147f0084a8 Removed subsurface scattering and transmission features from StandardPBR.materialtype.
ATOM-4120 Stabilize Standard PBR Regarding Subsurface and Translucency
5 years ago
Chris Santora bc687530e8 Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialLayoutCleanup-ATOM-14002 5 years ago
Chris Santora 2112da5f85 Reordered material property groups according to design review.
- Base Color
- Metallic
- Roughness
- Specular Reflectance F0
- Normal
- Occlusion
- Emissive
- Subsurface
- Clear Coat
- Displacement
- Opacity
- UVs
- Irradiance
- General Settings

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
5 years ago
Doug McDiarmid 1b235e0b16 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
Chris Santora de4e6957e8 Made a bunch of display name and description updates to core material types.
- Renamed "Details" group to "Overview".
- Renamed "UV Names" group to "UV Sets".
- Renamed "General" group to "General Settings".
- Renamed "Parallax" group to "Displacement".
- Renamed "Texture Map" properties to just "Texture". In cases where a specific type of texture is mentioned like "roughness texture map" I called this "roughness map" (which is more common according to google).
- Renamed "Heightmap" to "Height map" (which is more common according to google).

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
5 years ago
Chris Santora 0fd69d6d0c
Merge pull request #1031 from aws-lumberyard-dev/Atom/santorac/RemoveParallaxInvertFlag-ATOM-15653
ATOM-15653 Remove Unnecessary Parallax Map Invert Flag

Removed the parallax invert flags and instead all the materials assume displacement is always specified as heightmaps.
Updated property naming, tooltips, and shader variable names to reflect this.
Updated ParallaxMapping.azsli to treat depthOffset as an offset in depth value rather than an offset in height value, so it matches the fact that ParallaxMapping.azsli always operates in depth values rather than height values.

Corresponding ASV changes: aws-lumberyard/o3de-atom-sampleviewer#83
5 years ago
Esteban Papp ff9a052ce6
Merge pull request #1011 from aws-lumberyard-dev/ly-as-sdk/LYN-2948
Integration of the LY as an SDK work
5 years ago
Chris Santora da5a77925a Merge branch 'main' into Atom/santorac/MaterialLayoutCleanup-ATOM-14002 5 years ago
Chris Santora 34f0515e35 Merge branch 'main' into Atom/santorac/RemoveParallaxInvertFlag-ATOM-15653 5 years ago
Qing Tao c630ece43a
Add m_linearDepthTexture as input for transparent pass.
This is required by popcornfx and it doesn't add extra cost to the render pipeline.
5 years ago
gallowj bdf9da820d removing folder with image data we don't own, can't license. 5 years ago
pappeste 8b9f5230f6 Merge branch 'main' into ly-as-sdk/LYN-2948 5 years ago
Doug McDiarmid 9ec4278f86 Added TLAS dependency 5 years ago
Doug McDiarmid fdc57cdaff Added TLAS dependency 5 years ago
Doug McDiarmid c0c9e5e90d Merge branch 'main' into Atom/dmcdiar/ATOM-15555 5 years ago
Doug McDiarmid bee811ae4f Moved Simulate to OnBeginPrepareRender. 5 years ago
Chris Santora ed56635c3e Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 5 years ago
Chris Santora 05654ea152 ATOM-15653 Remove Unnecessary Parallax Map Invert Flag
Removed the parallax invert flags and instead all the materials assume displacement is always specified as heightmaps.
Updated property naming, tooltips, and shader variable names to reflect this.
Updated ParallaxMapping.azsli to treat depthOffset as an offset in depth value rather than an offset in height value, so it matches the fact that ParallaxMapping.azsli always operates in depth values rather than height values.
5 years ago
pappeste 01933f45b1 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/gem.json
5 years ago
pappeste f1b688f435 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.h
#	Gems/AtomLyIntegration/AtomViewportDisplayInfo/gem.json
#	cmake/LYWrappers.cmake
#	cmake/SettingsRegistry.cmake
#	scripts/o3de/tests/unit_test_current_project.py
5 years ago
greerdv e1e1217c6a
Merge pull request #984 from aws-lumberyard-dev/attachments-transform-scale
update usages of transform vector scale
5 years ago
Chris Santora b206e7ffe5 ATOM-15295 Remove Unnecessary Enable Material Properties
The only remaining unnecessary enable flag I found was for the parallax property group. It is removed, and now we just use the texture map and useTexture flag to gate whether the feature is enabled.
5 years ago
greerdv c4dafc8495 update usages of transform vector scale 5 years ago
Tom Hulton-Harrop 4205a69106
Allow ComponentAdapter (and related types) to work with EntityComponentIdPairs as well as EntityIds (#920)
* provide the ability for component adapters to support multiple components per entity

* add missing explicit keywords

* updates following review feedback - update how template logic works

* small updats (fix typo, remove redundant includes)

* add missing this->

* naming change, common -> controller

* add [[maybe_unused]]
5 years ago
Doug McDiarmid 1d3322f881 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
Doug McDiarmid 8223f241b5 Merge branch 'main' into Atom/dmcdiar/ATOM-15555
# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp
#	Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp
5 years ago
Chris Santora 755d1b7abc Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 5 years ago
Chris Santora 014f715fd8 ATOM-14037 StandardPBR TintedTransparent Opacity
Copied tinted transparency opacity mode from EnhancedPBR to StandardPBR.
Fixed a bug in EnhancedPBR where Blended opacity didn't work right because the second DrawListOverride functor was stomping on the results of the first DrawListOverride. I removed these functors and made StandardPBR_HandleOpacityMode.lua set the draw list override instead.
5 years ago
Chris Santora c84989832d ATOM-13216 Delete Deprecated Functors
Removed unused PropertyVisibilityFunctor and ShaderEnableFunctor
5 years ago
Doug McDiarmid 74bdf2b069 Minor changes: Updated comments and removed an include file. 5 years ago
Chris Santora 7e023c3676 ATOM-15133 "Clean Up EnhancedPBR"
Updated material type files for StandardPBR, EnhancedPBR, and Skin to align with each other as much as possible.
There were minor cases like some property settings were different, properties in different order, comments, and formatting.
There were major cases as well, like EnhancedPBR using clunky built in functors where lua functors would be better, property visibility state wasn't right, properties were missing, etc.

I also added a new HasShaderWithTag function for lua functors. This is used in StandardPBR_ShaderEnable.lua to allow this script to be used for both StandardPBR and EnhancedPBR (EnhancedPBR doesn't have the low end pipeline shaders).
5 years ago
Doug McDiarmid 045def6ce1 Merge branch 'main' into Atom/dmcdiar/ATOM-5034 5 years ago
Doug McDiarmid 17e9c17f31 Added Occlusion Culling Planes and RPI Culling support for Masked Occlusion Culling 5 years ago
Terry Michaels 9b1be43367
Renamed osx_gl to mac and es3 to android for cache folders (#949) 5 years ago
Chris Santora 6f47f28051 Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 5 years ago
Chris Santora a66345e7cb ATOM-13828 UV Transform Center Default Middle
Updated all UV transform property sets for Atom's core material types to have 0.5 as the transform center.
5 years ago
Chris Santora 88e1c84854
Merge pull request #863 from aws-lumberyard-dev/Atom/santorac/DepthBasedLayerBlending
ATOM-14676 Depth Based Layer Blending

- Added new blend source options that blends between layers based on which displaced height is higher. These options include Displacement, Displacement_With_BlendMaskTexture, and Displacement_With_BlendMaskVertexColors.
- Significantly refactored and updated the blend and displacement code in StandardMultilayerPBR_Common to support displacement-based blending.
- Added a new blend factor specifically for displacement-based blending that adjusts the transition between the layers independent of the displacement transition.
- Rearranged the per-layer parallax property groups because these are more general than just parallax. They can be used for displacement-based blending regardless of whether a parallax effect is being used.
  - Renamed "Parallax Mapping" to "Displacement" because these properties can be used for other things besides parallax, in particular the new displacement-based blend modes.
  - Removed the unnecessary per-layer "enable parallax" flags.
  - Made the "offset" property always available, so this can be used to adjust displacement for blending purposes even when there is no heightmap or parallax. (The "factor" property still only shows up with a heightmap because its only purpose is to scale the heightmap).
- Solidified a naming convention for how to talk about layer blending: 
  - "Blend mask" means the R and G channels that mask layers 2-3. These can come from multipls source, including a "blend mask texture" or "blend mask vertex colors".
  - "Blend weights" are the final RGB channels that are multiplied and added with layer properties to do the final blend.
  - "Blend source" is the combination of data that is used to produce the blend weights, which could be a combination of displacement maps, blend mask texture, vertex colors, or others in the future.
- Updated the list of available debug view modes, and moved them to the "blend" group because the only modes we have right now are related to layer blending. 
- Fixed a pre-existing bug where normals could be length 0.
- Added new cc0 textures from https://cc0textures.com/
- Added new materials for testing

New ASV test cases are here: https://github.com/aws-lumberyard/o3de-atom-sampleviewer/pull/67
5 years ago
jiaweig 50085d0487
Merge pull request #823 from aws-lumberyard-dev/Atom/jiaweig/ATOM-15125_UV_Tangent
ATOM-15125 Support Reorder of Tangent Streams
5 years ago
Chris Santora 4462b059a1 Merge branch 'main' into Atom/santorac/DepthBasedLayerBlending 5 years ago
greerdv 1c7d5e5615 Merge branch 'main' into transform-float-scale-continued 5 years ago
Doug McDiarmid 9f8948556f Merge branch 'main' into Atom/dmcdiar/ATOM-15555 5 years ago
Doug McDiarmid 40435fcb2e Added RayTracingMaterialSrg.
Added UV buffer to the RayTracingSceneSrg mesh buffers.
Added RayTracingSceneUtils and RayTracingMaterialUtils shader includes.
5 years ago
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 5 years ago
Chris Santora 224c8417b7 Merge branch 'main' into Atom/santorac/DepthBasedLayerBlending 5 years ago
greerdv bdf9ac31fb update to use uniform scale calls to Transform 5 years ago
Chris Santora 87ff564bad ATOM-14838 Make Parallax Look Decent By Default
Updated material types to have default parallax settings of POM, Low quality, 0.05 scale. That way the parallax effect will show up as soon as a user adds a heightmap.
Updated StandardMultilayerPBR_Displacement.lua to control the o_parallax_feature_enabled, so we can have the material's parallax.enable=true by default. Again this is to allow parallax behavior to show up as soon as the user adds a heightmap or adjusts the displacement offset. Note that even though we have a functor to drive the feature based on displacement settings, we still need the parallax.enable flag that that the user can set to false when they want to use displacement blending but not parallax.
Updated test materials to maintain their prior implied settings.
5 years ago
mriegger 14513af1fe Fix for lowend pipeline not having shadows (needed update call) 5 years ago
mriegger 7d0fc03674 Fixing spelling in lua files 5 years ago
Chris Santora e7617e36db Merge branch 'Atom/santorac/DepthBasedLayerBlending' into Atom/santorac/MaterialTypeCleanup 5 years ago
lumberyard-employee-dm 21285809bf Adding back gem.json files to the Atom and AtomLyIntegration folders
which are to be seen as sub gem roots as a workaround for detecting the
location of the "gem" root for the Atom/AtomLyIntegration GEM_MODULE targets

Removed the logic in the SettingsRegistry.cmake for reading a
"gem_module_roots" key from the gem.json file in order to determine the
root of the Atom and Atom LyIntegration sub gem modules
5 years ago
Doug McDiarmid c29c1825cb Added RayTracingPass and RayTracingPassData 5 years ago
antonmic 0b9e98c50e Fix for potential lighting pass crash with uninitialized pipeline 5 years ago
antonmic 6388277cd1 Fixed ImGui Pass as well as how exposure pass enables itself 5 years ago
dmcdiar fcdd79eff1 Fixed include file name for Linux build. 5 years ago
dmcdiar 45ab467274 Merge branch 'main' into Atom/dmcdiar/ATOM-5034
# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/DiffuseProbeGrid/DiffuseProbeGridRayTracingPass.cpp
5 years ago
jiaweig 13893e77f3 merge main 5 years ago
dmcdiar d6e25bbb33 Added DiffuseProbeGrid texture baking 5 years ago
jiaweig 9bad174f1c Remove unrelated files 5 years ago
jiaweig c3794ca96c Addressed review comments. 5 years ago
Chris Santora f6b9f0e0fb Reversed the debug view for displacement to show height instead of depth.
Also add a LerpInverse utility, though I ended up not using it with these changes, it should be handle elsewhere.
5 years ago
moudgils 8e24408959
Merge pull request #819 from aws-lumberyard-dev/DxcExperiment
Update Dxc to the latest + all the fixes related to it
5 years ago
Chris Santora ccfb8a7516 Merge branch 'main' into Atom/santorac/DepthBasedLayerBlending 5 years ago
Chris Santora 4086edc3f7 Moved the debug view mode setting to the "blend" group because the only modes we have right now are related to layer blending. 5 years ago
Chris Santora 599877a7e1 Updated atom_feature_common_asset_files.cmake to reflect recent lua functor file changes. 5 years ago
Chris Santora 6deae83906
Merge pull request #736 from aws-lumberyard-dev/Atom/santorac/NewLayeringWorkflow
Updated StandardMultilayerPBR To Use New Layering Model

ATOM-15518 "Change Multilayer PBR To Use Lerp Base Blending"
ATOM-14688 "Disable Individual Layers"
ATOM-14793 "Fix Inconsistent Casing For LuaMaterialFunctorRuntimeContext"
ATOM-4120 "Stabilize Standard PBR Regarding Subsurface and Translucency" (partial)

Changed to lerp-based blending, with an implicit base layer.
Refactored the shader code to collate all the code for each layer into a couple structs and utility functions. This makes the code easier to maintain, and in particular will make it easy for me to add Enable flags for the layers in a subsequent commit.
Added support for disabling individual layers, so you can easily make a 2-layer material instead of a 3-layer material.
Added support to the material system and MaterialEditor for hiding entire property groups. This is used to hide the disabled layers.
Added and updated test data to reflect the new blend model.
Removed subsurface scattering and translucency from StandardMultilayerPBR.
Note to reviewers: There are a lot of changes here, but they are broken down into separate commits. I recommend going through each commit individually rather than doing one comprehensive review.

ASV changes are here: aws-lumberyard/o3de-atom-sampleviewer#55
5 years ago
moudgils 5a149a4594 Merge branch 'main' into DxcExperiment 5 years ago
AMZN-stankowi c47c45724a
LYN-3772 : For non-PBR materials, apply the diffuse color to the base color field on the Atom material, so a color value set in the DCC tool still comes through. (#733) 5 years ago
Chris Santora a14b035627 Merge branch 'Atom/santorac/NewLayeringWorkflow' into Atom/santorac/DepthBasedLayerBlending 5 years ago
Chris Santora 8799d1ab54 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 5 years ago
moudgils 94a8c8258b Bumped shader builders 5 years ago