Original Post
We've all come across the problem of storing XYZ normals efficiently and precisely without using too much space... And one solution I've heard is to convert the 3-component normal into 2-component spherical coordinates. What is the math behind converting a normal into spherical coordinates and back? Will 16 bits be enough to store these spherical coordinates relatively accurately (by relatively accurately, I mean as accurate as storing the 3 components of the normal as 16 bits each directly)? What is the numerical range of the converted spherical coordinates?