Skip to content

Commit 31d43f5

Browse files
authored
Merge pull request #16964 from aws-lumberyard-dev/Atom/FixesForSkin
Fixing Skin Dual Specular and IBL getting applied twice
2 parents b6f50c7 + 720533c commit 31d43f5

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

Gems/Atom/Feature/Common/Assets/Materials/Pipelines/MainPipeline/ForwardPassVertexAndPixel.azsli

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,15 @@ ForwardPassOutput PixelShader(VsOutput IN, bool isFrontFace : SV_IsFrontFace)
7979
// --- Normal ---
8080

8181
OUT.m_normal.rgb = EncodeNormalSignedOctahedron(surface.GetDefaultNormal());
82-
OUT.m_normal.a = EncodeUnorm2BitFlags(o_enableIBL, o_specularF0_enableMultiScatterCompensation);
82+
83+
// --- Fullscreen Passes IBL & Multiscatter ---
84+
85+
bool applyIblInFullscreenPasses = o_enableIBL;
86+
#if FORCE_IBL_IN_FORWARD_PASS
87+
applyIblInFullscreenPasses = false;
88+
#endif
89+
90+
OUT.m_normal.a = EncodeUnorm2BitFlags(applyIblInFullscreenPasses, o_specularF0_enableMultiScatterCompensation);
8391

8492
// --- Emissive ---
8593
// Sending to specular output for historical reasons until sending to diffuse can be validated

Gems/Atom/Feature/Common/Assets/Shaders/Materials/MaterialInputs/DualSpecular.azsli

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ void GetDualSpecularInput(float3 normal, float roughnessLinear, float specularF0
2929
outDualSpecRoughness = pow(roughnessLinear, dualSpecRoughnessExponent) * dualSpecRoughnessMultiplier;
3030
CalculateRoughnessValues(normal, outDualSpecRoughness, dummyRoughnessA, outDualSpecRoughnessA2);
3131
outDualSpecF0 = specularF0 * dualSpecF0Multiplier;
32-
outDualSpecFactor = 0;
3332
}
3433
else
3534
{

0 commit comments

Comments
 (0)