Abstract: A high performance method for the compression of floating point format surface normals and the inverse method for the decompression of those compressed surface normals. Each of the three vector components of the surface normal is compressed by subtracting a constant from the floating point format value, then extracting a predefined field, and finally storing the extracted field. Decompression of the compressed surface normal requires first converting the three stored vector components into floating-point format and then adding a predefined constant to each. Typically the surface normals are of unit length.