vec2 encode_normal(vec3 n) { float f = sqrt(8 * n.z + 8); return n.xy / f + 0.5; }