normals
If you are glEnable( GL_NORMALIZE ), then you can represent the normals as GL_BYTE(or short). The norm, presented in the form of bytes 0xFF 0xCC 0x33, is normalized by the GPU to (0.77, 0.62, 0.15).
Please note that there is a slight performance limitation from GL_NORMALIZE, because the GPU must normalize every normal one.
GL_NORMALIZE , , .
Edit: "trickery", ( , 1.0), .
, ( ) . , OpenGL "" . 0 0.0, 1 1.0, 255 255.0 ( ). .
. . ( .)