|
@@ -1,13 +1,5 @@
|
|
// Normal inset Bias.
|
|
// Normal inset Bias.
|
|
#if SM_NORMALBIAS == 1
|
|
#if SM_NORMALBIAS == 1
|
|
- mat3 normWorldSM = mat3(finalWorld);
|
|
|
|
-
|
|
|
|
- #ifdef NONUNIFORMSCALING
|
|
|
|
- normWorldSM = transposeMat3(inverseMat3(normWorldSM));
|
|
|
|
- #endif
|
|
|
|
-
|
|
|
|
- vec3 worldNorSM = normalize(normWorldSM * normal);
|
|
|
|
-
|
|
|
|
#if SM_DIRECTIONINLIGHTDATA == 1
|
|
#if SM_DIRECTIONINLIGHTDATA == 1
|
|
vec3 worldLightDirSM = normalize(-lightDataSM.xyz);
|
|
vec3 worldLightDirSM = normalize(-lightDataSM.xyz);
|
|
#else
|
|
#else
|
|
@@ -15,9 +7,9 @@
|
|
vec3 worldLightDirSM = normalize(directionToLightSM);
|
|
vec3 worldLightDirSM = normalize(directionToLightSM);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- float ndlSM = dot(worldNorSM, worldLightDirSM);
|
|
|
|
|
|
+ float ndlSM = dot(vNormalW, worldLightDirSM);
|
|
float sinNLSM = sqrt(1.0 - ndlSM * ndlSM);
|
|
float sinNLSM = sqrt(1.0 - ndlSM * ndlSM);
|
|
float normalBiasSM = biasAndScaleSM.y * sinNLSM;
|
|
float normalBiasSM = biasAndScaleSM.y * sinNLSM;
|
|
|
|
|
|
- worldPos.xyz -= worldNorSM * normalBiasSM;
|
|
|
|
|
|
+ worldPos.xyz -= vNormalW * normalBiasSM;
|
|
#endif
|
|
#endif
|