1 2 3 4 5 6 7 8 9 10 11
vec3 decode_normal (vec2 enc) { vec2 fenc = enc*4-2; float f = dot(fenc,fenc); float g = sqrt(1-f/4); vec3 n; n.xy = fenc*g; n.z = 1-f/2; return n; }