diff --git a/Source/Shaders/Builtin/Functions/octDecode.glsl b/Source/Shaders/Builtin/Functions/octDecode.glsl index 780e600f95d7..f7863aa7c04f 100644 --- a/Source/Shaders/Builtin/Functions/octDecode.glsl +++ b/Source/Shaders/Builtin/Functions/octDecode.glsl @@ -9,6 +9,7 @@ */ vec3 czm_octDecode(vec2 encoded) { + encoded = encoded / 255.0 * 2.0 - 1.0; vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y)); if (v.z < 0.0) { diff --git a/Source/Shaders/GlobeVS.glsl b/Source/Shaders/GlobeVS.glsl index 28caba1c7ee3..d8c21d846b22 100644 --- a/Source/Shaders/GlobeVS.glsl +++ b/Source/Shaders/GlobeVS.glsl @@ -94,7 +94,6 @@ void main() v_positionEC = (czm_modelView3D * vec4(position3DWC, 1.0)).xyz; v_positionMC = position3DWC; // position in model coordinates vec2 encodedNormal = textureCoordAndEncodedNormals.zw; - encodedNormal = encodedNormal / 255.0 * 2.0 - 1.0; v_normalMC = czm_octDecode(encodedNormal); v_normalEC = czm_normal3D * v_normalMC; #endif