L'idea dello splatting 3D di Gaussiane è quella di rappresentare la scena mediante un insieme di primitive gaussiane tridimensionali.
Le gaussiane 3D si basano sull'estensione tridimensionale delle gaussiane monodimensionali.
Una gaussiana tridimensionale è definita da una matrice di covarianza (espressa in coordinate mondo) e da un vettore media
:
| (10.119) |
Per essere renderizzata, questa gaussiana deve essere prima trasformata nel sistema di riferimento della camera e quindi proiettata sul piano immagine. Poiché la proiezione prospettica è non lineare, si introduce una approssimazione locale ottenuta linearizzando la proiezione mediante il suo Jacobiano . La covarianza tridimensionale viene così proiettata in una covarianza bidimensionale
:
| (10.120) |
| (10.121) |
In (KKLD23) si fa un passo ulteriore: siccome risulta difficile parametrizzare una matrice di covarianza (semidefinita positiva) si parte dal fatto che la matrice definisce una famiglia di ellissoidi di livello. È pertanto possibile utilizzare una parametrizzazione minimale basata sulle dimensioni e sull'orientazione di tale ellissoide, invece di trattare separatamente tutti gli elementi della matrice.
L'idea infatti è quella di usare una matrice di scala
(3 DOF) e una matrice di rotazione
(altri 3 DOF ma normalmente rappresentata da un quaternione, vedi sezione A.3):
| (10.122) |
Associato infine a ciascuna gaussiana può essere presente un colore RGB oppure una rappresentazione della radiance dipendente dalla direzione mediante armoniche sferiche (Spherical Harmonics, SH), oltre ovviamente al parametro di opacità simile a quello di NeRF.
Dal punto di vista pratico le gaussiane vengono renderizzate in ordine di profondità, dalle più vicine alle più lontane, componendone progressivamente i contributi radiometrici10.8.