Es fácil hacer eso. Usando un Octtree, simplemente divide el mundo en piezas progresivamente más pequeñas hasta alcanzar el nivel de detalle necesario. Esto podría ser del tamaño de un grano de arena, por ejemplo. Piensa en Minecraft llevado al extremo.
¿Qué representas entonces? Si el detalle es lo suficientemente pequeño, puede considerar renderizar bloques: los nodos hoja del octtree. Otras opciones incluyen esferas o incluso primitivas geométricas. Se puede almacenar un color y normal en cada nodo, y para una LOD reducida se puede almacenar información compuesta en los niveles más altos del árbol.
¿Cómo puedes gestionar tantos datos? Si el árbol es una estructura de datos real, puede hacer que varios punteros hagan referencia a los mismos subárboles, al igual que reutilizar una textura pero también incluye geometría. El truco es conseguir la mayor reutilización posible en todos los niveles. Por ejemplo, si conecta 4 octantes en disposición tetraédrica, todos al mismo nodo hijo en todos los niveles, puede hacer un fractal sierpinsky 3d muy grande casi sin memoria. La escena real será mucho más grande, por supuesto.
El problema es que solo funcionará para la geometría estática porque la animación real requeriría la manipulación de todos esos datos en cada cuadro. Sin embargo, renderizar, especialmente con LOD variable, no es un problema.
¿Cómo hacer tal cosa? Soy un gran fanático del trazado de rayos, y maneja ese tipo de cosas bastante bien con y sin una GPU.
Todo esto es especulación, por supuesto. No tengo información específica sobre el caso del que estás hablando. Y ahora para algo relacionado pero diferente:
Una gran cantidad de datos prestados
EDITAR Y aquí hay uno que hice, pero alteré deliberadamente las normales para hacer que las cajas sean más aparentes:
Stanford Bunny en voxels
Esa velocidad de fotogramas estaba en un solo núcleo IIRC. Duplicar la profundidad del árbol generalmente reducirá la velocidad de fotogramas a la mitad, mientras que usar múltiples núcleos se escalará muy bien. Normalmente mantengo primitivas (triángulos y demás) en mi octtree, pero en el caso de las sonrisas había decidido representar los nodos de las hojas del árbol en este caso. Se puede obtener un mejor rendimiento si optimiza en torno a un método específico, por supuesto.
En algún lugar de ompf hay un automóvil hecho con voxels que es realmente fantástico, excepto que es estático. Parece que no puedo encontrarlo ahora ...