Codifica ottaedrica
Comprime una normale unitaria in due numeri, ripiegando la sfera unitaria su un ottaedro aperto su un quadrato.
La normale di una superficie è un vettore unitario: tre componenti ma solo due gradi di libertà, quindi memorizzarle tutte e tre è uno spreco, soprattutto in un G-buffer sempre stretto. La codifica ottaedrica proietta la sfera su un ottaedro, lo dispiega in un quadrato unitario e salva le due coordinate risultanti. La precisione è quasi uniforme su tutta la sfera, e codifica e decodifica richiedono poche righe di aritmetica senza trigonometria — più economica e regolare della vecchia trasformazione spheremap che ha sostituito. Resa popolare da Cigolle et al. nella rassegna del 2014 sulle rappresentazioni compatte di vettori unitari, è oggi il modo standard per far stare le normali in due canali da 8 o 16 bit.