From bf41c7f794746335893142a609b6f3c095dd8a85 Mon Sep 17 00:00:00 2001 From: Dan Bagnell Date: Wed, 22 Oct 2014 15:01:28 -0400 Subject: [PATCH] Fix glsl oct decoding. --- Source/Shaders/Builtin/Functions/octDecode.glsl | 1 + Source/Shaders/GlobeVS.glsl | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) 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