È facile farlo. Usando un Octtree dividi semplicemente il mondo in pezzi progressivamente più piccoli fino a raggiungere il livello di dettaglio necessario. Questa potrebbe essere la dimensione di un granello di sabbia, ad esempio. Pensa a Minecraft portato all'estremo.
Cosa rendi allora? Se il dettaglio è abbastanza piccolo, puoi prendere in considerazione i blocchi di rendering: i nodi foglia dell'ottetto. Altre opzioni includono sfere o persino primitive geometriche. Un colore e un normale possono essere memorizzati in ciascun nodo e per un LOD ridotto è possibile memorizzare informazioni composite a livelli più alti dell'albero.
Come puoi gestire così tanti dati? Se l'albero è una struttura dati effettiva, è possibile avere più puntatori che fanno riferimento agli stessi sotto-alberi, proprio come riutilizzare una trama ma include anche la geometria. Il trucco è ottenere il maggior riutilizzo possibile a tutti i livelli. Ad esempio, se si collegano 4 ottanti in una disposizione tetraedrica tutti allo stesso nodo figlio a tutti i livelli, è possibile creare un frattale 3d sierpinsky molto grande che non utilizza quasi memoria. La scena reale sarà ovviamente molto più ampia.
Il problema è che funzionerà solo per la geometria statica perché l'animazione reale richiederebbe la manipolazione di tutti quei dati in ogni frame. Tuttavia, il rendering, soprattutto con LOD variabile, non è un problema.
Come rendere una cosa del genere? Sono un grande fan del ray tracing e gestisce quel tipo di cose abbastanza bene con e senza GPU.
Tutto questo ovviamente è speculazione. Non ho informazioni specifiche sul caso di cui stai parlando. E ora qualcosa di correlato ma diverso:
Una grande quantità di dati resi
EDIT Ed eccone uno che ho fatto, ma ho deliberatamente modificato le normali per rendere più evidenti le scatole:
Coniglio Stanford in voxels
Quel frame rate era su un IIRC single core. Raddoppiare la profondità dell'albero generalmente ridurrà la frequenza dei fotogrammi a metà, mentre l'utilizzo di più core si ridimensionerà bene. Normalmente tengo dei primitivi (triangoli e simili) nel mio ottetto, ma per i ghigni ho deciso di renderizzare i nodi fogliari dell'albero in questo caso. È possibile ottenere prestazioni migliori se si ottimizza attorno a un metodo specifico, ovviamente.
Da qualche parte su ompf c'è un'auto fatta con voxel che è davvero fantastica - tranne che è statica. Non riesco a trovarlo ora ...