Răsfoiți Sursa

Merge branch 'main' into Atom/scottmur/SPEC-6689

scottmur 4 ani în urmă
părinte
comite
3b0cd1fce9
38 a modificat fișierele cu 97 adăugiri și 57 ștergeri
  1. 5 5
      Gem/Code/Source/RHI/AsyncComputeExampleComponent.cpp
  2. 2 2
      Gem/Code/Source/RHI/BindlessPrototypeExampleComponent.cpp
  3. 1 0
      Gem/Code/Source/RHI/SubpassExampleComponent.cpp
  4. 3 2
      Gem/Code/Source/RootConstantsExampleComponent.cpp
  5. 1 1
      Gem/Code/tool_dependencies.cmake
  6. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_1.png
  7. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_10_offsetClippingSteep.png
  8. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2.png
  9. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2ndUv_1.png
  10. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2ndUv_2.png
  11. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_3.png
  12. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_4.png
  13. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_5.png
  14. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_6.png
  15. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_7.png
  16. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_8_offset.png
  17. 2 2
      Scripts/ExpectedScreenshots/ParallaxTest/screenshot_9_offsetClipping.png
  18. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures.png
  19. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures_layer2off.png
  20. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures_layer3off.png
  21. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/002_parallaxpdo.png
  22. 0 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_blendmask.png
  23. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_blendweights.png
  24. 0 3
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_depthmaps.png
  25. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_displacement.png
  26. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/004_usevertexcolors.png
  27. 2 2
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/004_usevertexcolors_modelhasnovertexcolors.png
  28. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement.png
  29. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_layer2off.png
  30. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_layer3off.png
  31. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture.png
  32. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture_allsameheight.png
  33. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture_noheightmaps.png
  34. 3 0
      Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmaskvertexcolors.png
  35. 2 2
      Scripts/ExpectedScreenshots/StandardPBR/100_uvtiling_normal.png
  36. 10 2
      Scripts/MaterialScreenshotTests.bv.lua
  37. 1 1
      Scripts/ShadowTest.bv.lua
  38. 9 3
      Scripts/build/Jenkins/Jenkinsfile

+ 5 - 5
Gem/Code/Source/RHI/AsyncComputeExampleComponent.cpp

@@ -336,17 +336,17 @@ namespace AtomSampleViewer
                     return;
                     return;
                 }
                 }
             }
             }
-                        
+
             {
             {
                 // Model Pipeline
                 // Model Pipeline
                 Data::Instance<AZ::RPI::ModelLod> modelLod = m_model->GetLods()[0];
                 Data::Instance<AZ::RPI::ModelLod> modelLod = m_model->GetLods()[0];
-
                 modelLod->GetStreamsForMesh(
                 modelLod->GetStreamsForMesh(
                     pipelineDesc.m_inputStreamLayout,
                     pipelineDesc.m_inputStreamLayout,
                     m_modelStreamBufferViews[ShadowScope],
                     m_modelStreamBufferViews[ShadowScope],
+                    nullptr,
                     variant.GetInputContract(),
                     variant.GetInputContract(),
                     0);
                     0);
-                                    
+
                 m_modelPipelineStates[ShadowScope] = shader->AcquirePipelineState(pipelineDesc);
                 m_modelPipelineStates[ShadowScope] = shader->AcquirePipelineState(pipelineDesc);
                 if (!m_modelPipelineStates[ShadowScope])
                 if (!m_modelPipelineStates[ShadowScope])
                 {
                 {
@@ -400,10 +400,10 @@ namespace AtomSampleViewer
             {
             {
                 // Model Pipeline
                 // Model Pipeline
                 Data::Instance<AZ::RPI::ModelLod> modelLod = m_model->GetLods()[0];
                 Data::Instance<AZ::RPI::ModelLod> modelLod = m_model->GetLods()[0];
-
                 modelLod->GetStreamsForMesh(
                 modelLod->GetStreamsForMesh(
                     pipelineDesc.m_inputStreamLayout,
                     pipelineDesc.m_inputStreamLayout,
                     m_modelStreamBufferViews[ForwardScope],
                     m_modelStreamBufferViews[ForwardScope],
+                    nullptr,
                     variant.GetInputContract(),
                     variant.GetInputContract(),
                     0);
                     0);
 
 
@@ -447,7 +447,7 @@ namespace AtomSampleViewer
             {
             {
                 AZ_Error(AsyncCompute::sampleName, false, "Invalid stream buffer views for LuminanceMap");
                 AZ_Error(AsyncCompute::sampleName, false, "Invalid stream buffer views for LuminanceMap");
                 return;
                 return;
-            }                
+            }
 
 
             m_copyTexturePipelineState = shader->AcquirePipelineState(pipelineDesc);
             m_copyTexturePipelineState = shader->AcquirePipelineState(pipelineDesc);
             if (!m_copyTexturePipelineState)
             if (!m_copyTexturePipelineState)

+ 2 - 2
Gem/Code/Source/RHI/BindlessPrototypeExampleComponent.cpp

@@ -277,7 +277,7 @@ namespace AtomSampleViewer
             // Set the buffer stream
             // Set the buffer stream
             RHI::InputStreamLayout layout;
             RHI::InputStreamLayout layout;
             const ShaderVariant& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
             const ShaderVariant& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
-            m_model->GetLods()[lodModel]->GetStreamsForMesh(layout, subMeshInstance.bufferStreamViewArray, shaderVariant.GetInputContract(), subMeshIdx);
+            m_model->GetLods()[lodModel]->GetStreamsForMesh(layout, subMeshInstance.bufferStreamViewArray, nullptr, shaderVariant.GetInputContract(), subMeshIdx);
         }
         }
     }
     }
 
 
@@ -430,7 +430,7 @@ namespace AtomSampleViewer
             RHI::InputStreamLayout layout;
             RHI::InputStreamLayout layout;
             ModelLod::StreamBufferViewList streamBufferView;
             ModelLod::StreamBufferViewList streamBufferView;
             const ShaderVariant& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
             const ShaderVariant& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
-            m_model->GetLods()[m_modelLod]->GetStreamsForMesh(layout, streamBufferView, shaderVariant.GetInputContract(), meshIndex);
+            m_model->GetLods()[m_modelLod]->GetStreamsForMesh(layout, streamBufferView, nullptr, shaderVariant.GetInputContract(), meshIndex);
             // Set the pipeline state
             // Set the pipeline state
             {
             {
                 RHI::PipelineStateDescriptorForDraw pipelineStateDescriptor;
                 RHI::PipelineStateDescriptorForDraw pipelineStateDescriptor;

+ 1 - 0
Gem/Code/Source/RHI/SubpassExampleComponent.cpp

@@ -265,6 +265,7 @@ namespace AtomSampleViewer
                 modelLod->GetStreamsForMesh(
                 modelLod->GetStreamsForMesh(
                     pipelineDesc.m_inputStreamLayout,
                     pipelineDesc.m_inputStreamLayout,
                     modelData.m_streamBufferList,
                     modelData.m_streamBufferList,
+                    nullptr,
                     variant.GetInputContract(),
                     variant.GetInputContract(),
                     0);
                     0);
 
 

+ 3 - 2
Gem/Code/Source/RootConstantsExampleComponent.cpp

@@ -95,7 +95,7 @@ namespace AtomSampleViewer
                 }
                 }
 
 
                 auto model = AZ::RPI::Model::FindOrCreate(modelAsset);
                 auto model = AZ::RPI::Model::FindOrCreate(modelAsset);
-                AZ_Error("Render", model, "Failed to load model %s", modelsPath[i]);               
+                AZ_Error("Render", model, "Failed to load model %s", modelsPath[i]);
 
 
                 m_models.push_back(AZStd::move(model));
                 m_models.push_back(AZStd::move(model));
             }
             }
@@ -179,12 +179,13 @@ namespace AtomSampleViewer
                 if (model)
                 if (model)
                 {
                 {
                     Data::Instance<AZ::RPI::ModelLod> modelLod = model->GetLods()[0];
                     Data::Instance<AZ::RPI::ModelLod> modelLod = model->GetLods()[0];
+
                     m_modelStreamBufferViews[i].resize(modelLod->GetMeshes().size());
                     m_modelStreamBufferViews[i].resize(modelLod->GetMeshes().size());
 
 
                     for (uint32_t j = 0; j < m_modelStreamBufferViews[i].size(); ++j)
                     for (uint32_t j = 0; j < m_modelStreamBufferViews[i].size(); ++j)
                     {
                     {
                         modelLod->GetStreamsForMesh(
                         modelLod->GetStreamsForMesh(
-                            pipelineStateDescriptor.m_inputStreamLayout, m_modelStreamBufferViews[i][j], shaderVariant.GetInputContract(),
+                            pipelineStateDescriptor.m_inputStreamLayout, m_modelStreamBufferViews[i][j], nullptr, shaderVariant.GetInputContract(),
                             j);
                             j);
                     }
                     }
                 }
                 }

+ 1 - 1
Gem/Code/tool_dependencies.cmake

@@ -12,7 +12,7 @@
 # Extracted from Editor.xml
 # Extracted from Editor.xml
 set(GEM_DEPENDENCIES
 set(GEM_DEPENDENCIES
     Gem::Maestro.Editor
     Gem::Maestro.Editor
-    Gem::TextureAtlas
+    Gem::TextureAtlas.Editor
     Gem::LmbrCentral.Editor
     Gem::LmbrCentral.Editor
     Gem::LyShine.Editor
     Gem::LyShine.Editor
     Gem::SceneProcessing.Editor
     Gem::SceneProcessing.Editor

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_1.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:0e1a605dcb064ea15c200063fffa384c80b75c5b0805c02eda174a11fa8bbef2
-size 1995491
+oid sha256:361adf2857f67316fe29c959411b0024d4129c63bdf45b957a6d0478a70d84e1
+size 1846886

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_10_offsetClippingSteep.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:1b9a235f10c6e5b1bd6836c780969912f9d31e6c13f9eb38826ae1930e590b29
-size 916668
+oid sha256:823a3c1dd71085a34bcf99e26356f6094fb04a0c0b362028310fc79a2316c068
+size 916665

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:c61c4cc05ee01a40a45a15dc11ef7abefab89c7583d002736f145b2b5b1017de
-size 1814087
+oid sha256:8cea6d911babc5ea46a800e923229ff03a4b0af5ef62b80e2320105a8319e712
+size 1708812

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2ndUv_1.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:611b14a8dccfb7100ade288e8ac878ea9ecec0a63000a123c28b5de3747ac87c
-size 1995503
+oid sha256:aced08ff65c7d336a338c25a68eb86eaec9bb7c4b0ae81b03709d47d349416b7
+size 1846904

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_2ndUv_2.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:611b14a8dccfb7100ade288e8ac878ea9ecec0a63000a123c28b5de3747ac87c
-size 1995503
+oid sha256:aced08ff65c7d336a338c25a68eb86eaec9bb7c4b0ae81b03709d47d349416b7
+size 1846904

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_3.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:1fe752e9b7227e936a3af26316476da4240cd307f37ee232d1980a2942fb8cf4
-size 1895033
+oid sha256:ee5c0467b3d11277209c45aab9edb4326d6eb96702c98ed153a6b290e12d9315
+size 1786989

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_4.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:7ddd674da5bf9dc9c516761943ab31685fd9df8c4de6cf893f03a39e598255b5
-size 1813666
+oid sha256:8c8437c53a33e86bf31f6915ea9e3c346bff4d4bd1034e62ee7fb90130ca35ef
+size 1689677

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_5.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:be2d4e9c2e75ee159aedc1d1bb884cea3863b7e22c2895632fd0c46d2b963a3c
-size 1896366
+oid sha256:f714d74b4423d884f62babc0298f58e68839d321fa9c4887605d2d20ea8807ef
+size 1783820

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_6.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:fd0feaced7a45285364c9931cbae5c03cbbea3b09cb0095bbdfb7b0c79a000ff
-size 1769748
+oid sha256:788eabe023e81870f5547389bdceb51283d505f98d2671121dd8e26b4f24cc45
+size 1753945

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_7.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:35dd87da4620b4ac748f938d9bc081f92165ed9b1faab6a11ff489cb60f99135
-size 1686503
+oid sha256:f44542b303f15691e7aa457418116366a05c931c9768fc077ebe9e97f16f8040
+size 1659587

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_8_offset.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:b098436e3c91855645e42552bec531fc27e070fdeed98421d0f9ab9c51e3babb
-size 1527846
+oid sha256:fe122d39c65d0595fba5f696328991ac8608182b7ae6dd51ef3937add65bcf8b
+size 1527581

+ 2 - 2
Scripts/ExpectedScreenshots/ParallaxTest/screenshot_9_offsetClipping.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:2b58f305b006cf92f2cd3ed9e8c777930ef6a8613ef163c6574da4cbf53f85d4
-size 953133
+oid sha256:21dcbb1bbe925c97728e110808e64f8a47f6d6e32a7fb2594cf8ebf832bfe8c8
+size 952949

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:88d48e46b03dea3fb20b69f7c3194ff4e3d03e92ff4b0736488fd10ca20a46f4
-size 1489802
+oid sha256:a374b9cd43f0febed8d89c09e11803349fd055330cd8f409127e221b2582ac08
+size 1489866

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures_layer2off.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:e44e6c4dbe2b09ba31e1059c23c38a0e321fc3410d392a27606efdd9cec5601a
-size 1435801
+oid sha256:3b6e555e5c316862335662c824bce9d6b24fa88dce45e9cb0a0c8decc85a57f8
+size 1435760

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/001_manyfeatures_layer3off.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:f41ace3710a2be002a24e042a1cb4ee86ae52ba32cca10228d2a2b11b2d1983b
-size 1456824
+oid sha256:f653d52fea3578556c3283f55070770d84d6c1caa44f02313e0c624d46d1010b
+size 1456803

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/002_parallaxpdo.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:eebb4527d86abd72a076eebacba6754570457e48bb42e712200a5ad8c57d3936
-size 1548594
+oid sha256:c793784226130bc5e3fa2b586cdff1f136b78bf494a7217a1cffbd2c361bf59f
+size 1548727

+ 0 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_blendsource.png → Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_blendmask.png


+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_blendweights.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f31975d4e3a3f0d2cd56885d4862ffa4da361a515992b8ca6d5aa8d3b8662ffc
+size 247964

+ 0 - 3
Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_depthmaps.png

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fffe9e37ec47521051d8f81e642fe70b9f34c27ab64359b7ef5d2ee973aad80e
-size 560873

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/003_debug_displacement.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:568fa025de4509be993e1bc629b0eb24d7b1dc5d9be30676f2be369e65a6d0ff
+size 391388

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/004_usevertexcolors.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:2ed81e947e98de6bea5e1de037403a2fe1ff0e443916c9cc6964c072203de102
-size 1240817
+oid sha256:d412f1f3fecc587ae87d6def7409514d818cd7190ac04b236fb9e75860b3e27f
+size 1240497

+ 2 - 2
Scripts/ExpectedScreenshots/StandardMultilayerPBR/004_usevertexcolors_modelhasnovertexcolors.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:5f028190e17333ddd90313d6747bd04aeae0652c0cc13a8fd00f9e8a0ae5b575
-size 661208
+oid sha256:d29d37bb7cf9d6988acb6b184403fbd3583e382cac387b0fd957bb37869f4917
+size 695574

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9dff2d59014ef739d59682a910b0e29fddbedb82415ff249009d2e6edf7584c3
+size 1999168

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_layer2off.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bb2f2e14013d15894c1e49a20a7b5b18f72fcc04453ac068362714bed7edce8f
+size 2037989

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_layer3off.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7fc2e17eba27d41aa48d3e6090fcf12256ab46c641746ee2a671cc3acdb23954
+size 1868250

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bdb6b0f06b7237eb4b575b2f5588fc96d454fe86b2de8882de9539de7c7ba0dc
+size 1539841

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture_allsameheight.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:78d4ef0fc2d73e9e6e73bb1422e2b94d0b80da4600a93d9ece22fff8cb5bc616
+size 1561736

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmasktexture_noheightmaps.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:42d3fad40467bfbbc1fb8e4716b360ec751fed0035a9c212ae01c9882dad736d
+size 1601805

+ 3 - 0
Scripts/ExpectedScreenshots/StandardMultilayerPBR/005_usedisplacement_with_blendmaskvertexcolors.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d5b66147fd67d33590491b576a9a8d66a6243087f6b95d72f137e5c97f4e1447
+size 1676349

+ 2 - 2
Scripts/ExpectedScreenshots/StandardPBR/100_uvtiling_normal.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:35d6a0ed9f5a7fc9dfa36f057bcaaf1c66cffa9b8291e7afcfda0b2b03980a70
-size 1060277
+oid sha256:63b41ca54e1b4382014ccf99a8073ae592b877d17a8a55daf058cb8ed6de26b5
+size 1121262

+ 10 - 2
Scripts/MaterialScreenshotTests.bv.lua

@@ -161,10 +161,18 @@ GenerateMaterialScreenshot('Level I', '001_ManyFeatures', {model=g_cubeModel, ca
 GenerateMaterialScreenshot('Level I', '001_ManyFeatures_Layer2Off', {model=g_cubeModel, cameraHeading=-125.0, cameraPitch=-16.0, cameraZ=0.12})
 GenerateMaterialScreenshot('Level I', '001_ManyFeatures_Layer2Off', {model=g_cubeModel, cameraHeading=-125.0, cameraPitch=-16.0, cameraZ=0.12})
 GenerateMaterialScreenshot('Level I', '001_ManyFeatures_Layer3Off', {model=g_cubeModel, cameraHeading=-125.0, cameraPitch=-16.0, cameraZ=0.12})
 GenerateMaterialScreenshot('Level I', '001_ManyFeatures_Layer3Off', {model=g_cubeModel, cameraHeading=-125.0, cameraPitch=-16.0, cameraZ=0.12})
 GenerateMaterialScreenshot('Level I', '002_ParallaxPdo', {model=g_cubeModel, cameraHeading=15.0, cameraPitch=28.0, lighting="Goegap (Alt)"})
 GenerateMaterialScreenshot('Level I', '002_ParallaxPdo', {model=g_cubeModel, cameraHeading=15.0, cameraPitch=28.0, lighting="Goegap (Alt)"})
-GenerateMaterialScreenshot('Level G', '003_Debug_BlendSource', {model=g_cubeModel})
-GenerateMaterialScreenshot('Level F', '003_Debug_DepthMaps', {model=g_cubeModel})
+GenerateMaterialScreenshot('Level G', '003_Debug_BlendMask', {model=g_cubeModel})
+GenerateMaterialScreenshot('Level G', '003_Debug_Displacement', {model=g_cubeModel})
+GenerateMaterialScreenshot('Level G', '003_Debug_BlendWeights', {model=g_cubeModel})
 GenerateMaterialScreenshot('Level I', '004_UseVertexColors', {model=g_modelWithLayerMask, cameraHeading=0.0, cameraPitch=45.0, cameraDistance=30.0})
 GenerateMaterialScreenshot('Level I', '004_UseVertexColors', {model=g_modelWithLayerMask, cameraHeading=0.0, cameraPitch=45.0, cameraDistance=30.0})
 GenerateMaterialScreenshot('Level I', '004_UseVertexColors', {model=g_modelWithoutLayerMask, cameraHeading=145.0, cameraPitch=7.0, cameraZ=-0.1, cameraDistance=3.0, screenshotFilename="004_UseVertexColors_modelHasNoVertexColors"})
 GenerateMaterialScreenshot('Level I', '004_UseVertexColors', {model=g_modelWithoutLayerMask, cameraHeading=145.0, cameraPitch=7.0, cameraZ=-0.1, cameraDistance=3.0, screenshotFilename="004_UseVertexColors_modelHasNoVertexColors"})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement',                            {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=-35.0, cameraPitch=33.0, cameraDistance=9.0, cameraZ=0.9})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_Layer2Off',                  {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=-35.0, cameraPitch=33.0, cameraDistance=9.0, cameraZ=0.9})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_Layer3Off',                  {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=-35.0, cameraPitch=33.0, cameraDistance=9.0, cameraZ=0.9})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_With_BlendMaskVertexColors', {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=0.0, cameraPitch=80.0, cameraDistance=27.0})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_With_BlendMaskTexture',               {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=180.0, cameraPitch=45.0, cameraDistance=20.0, cameraZ=-0.5})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_With_BlendMaskTexture_NoHeightmaps',  {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=180.0, cameraPitch=45.0, cameraDistance=20.0, cameraZ=-0.5})
+GenerateMaterialScreenshot('Level I', '005_UseDisplacement_With_BlendMaskTexture_AllSameHeight', {lighting="Blouberg Sunrise 1 (Alt)", model=g_modelWithLayerMask, cameraHeading=180.0, cameraPitch=45.0, cameraDistance=20.0, cameraZ=-0.5})
 
 
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
 -- Skin Materials...
 -- Skin Materials...

+ 1 - 1
Scripts/ShadowTest.bv.lua

@@ -34,7 +34,7 @@ function DisablePositionalLights()
     IdleFrames(1)
     IdleFrames(1)
     SetImguiValue('Blue', true)
     SetImguiValue('Blue', true)
     SetImguiValue('Intensity##Positional', 0.0)
     SetImguiValue('Intensity##Positional', 0.0)
-endif
+end
 
 
 function TestDirectionalLight()
 function TestDirectionalLight()
 
 

+ 9 - 3
Scripts/build/Jenkins/Jenkinsfile

@@ -20,6 +20,7 @@ PROJECT_REPOSITORY_NAME = 'o3de-atom-sampleviewer'
 PROJECT_ORGANIZATION_NAME = 'aws-lumberyard'
 PROJECT_ORGANIZATION_NAME = 'aws-lumberyard'
 ENGINE_REPOSITORY_NAME = 'o3de'
 ENGINE_REPOSITORY_NAME = 'o3de'
 ENGINE_ORGANIZATION_NAME = 'aws-lumberyard'
 ENGINE_ORGANIZATION_NAME = 'aws-lumberyard'
+ENGINE_DEFAULT = 'main'
 
 
 def pipelineProperties = []
 def pipelineProperties = []
 
 
@@ -30,7 +31,7 @@ def pipelineParameters = [
     booleanParam(defaultValue: false, description: 'Deletes the contents of the output directories of the AssetProcessor before building.', name: 'CLEAN_ASSETS'),
     booleanParam(defaultValue: false, description: 'Deletes the contents of the output directories of the AssetProcessor before building.', name: 'CLEAN_ASSETS'),
     booleanParam(defaultValue: false, description: 'Deletes the contents of the workspace and forces a complete pull.', name: 'CLEAN_WORKSPACE'),
     booleanParam(defaultValue: false, description: 'Deletes the contents of the workspace and forces a complete pull.', name: 'CLEAN_WORKSPACE'),
     booleanParam(defaultValue: false, description: 'Recreates the volume used for the workspace. The volume will be created out of a snapshot taken from main.', name: 'RECREATE_VOLUME'),
     booleanParam(defaultValue: false, description: 'Recreates the volume used for the workspace. The volume will be created out of a snapshot taken from main.', name: 'RECREATE_VOLUME'),
-    stringParam(defaultValue: 'main', description: 'Sets a different branch from o3de engine repo to use or use commit id. Default is mainline', trim: true, name: 'ENGINE_BRANCH'),
+    stringParam(defaultValue: "${ENGINE_DEFAULT}", description: 'Sets a different branch from o3de engine repo to use or use commit id. Default is mainline', trim: true, name: 'ENGINE_BRANCH'),
     stringParam(defaultValue: 'origin/main', description: 'Sets a refspec for the mainline branch. Default is head of main', trim: true, name: 'ENGINE_REFSPEC')
     stringParam(defaultValue: 'origin/main', description: 'Sets a refspec for the mainline branch. Default is head of main', trim: true, name: 'ENGINE_REFSPEC')
 ]
 ]
 
 
@@ -493,10 +494,15 @@ try {
                         env.BRANCH_NAME = branchName // so scripts that read this environment have it (e.g. incremental_build_util.py)
                         env.BRANCH_NAME = branchName // so scripts that read this environment have it (e.g. incremental_build_util.py)
                     }
                     }
                     pipelineProperties.add(disableConcurrentBuilds())
                     pipelineProperties.add(disableConcurrentBuilds())
+                    
+                    def engineBranch = "${ENGINE_DEFAULT}" // This allows the first run to work with parameters having null value, but use the engine branch parameter afterwards
+                    if(params.ENGINE_BRANCH) {
+                        engineBranch = params.ENGINE_BRANCH
+                    }
 
 
-                    echo "Running \"${pipelineName}\" for \"${branchName}\" on engine branch \"${params.ENGINE_BRANCH}\"..."
+                    echo "Running \"${pipelineName}\" for \"${branchName}\" on engine branch \"${engineBranch}\"..."
 
 
-                    CheckoutBootstrapScripts(params.ENGINE_BRANCH)
+                    CheckoutBootstrapScripts(engineBranch)
 
 
                     // Load configs
                     // Load configs
                     pipelineConfig = LoadPipelineConfig(pipelineName, branchName)
                     pipelineConfig = LoadPipelineConfig(pipelineName, branchName)