Due idee che ho in mente:
1) La scena viene renderizzata in un buffer invisibile, usando modelli a bassa risoluzione e con basso numero di poligoni (o anche usando solo volumi di delimitazione come cubi o sfere). Il buffer viene quindi verificato per sapere cosa è visibile o meno. Prima di eseguire il rendering della scena a bassa risoluzione, è possibile applicare un po 'di abbattimento del frustum, per rimuovere già quanti più oggetti possibile.
2) Uno strumento viene eseguito sulla mappa statica ed eseguirà il ray tracing complesso (e quindi lento) per sapere per alcune posizioni 3d sulla mappa cosa è visibile e cosa non lo è. Tutte queste informazioni vengono quindi archiviate in modo efficiente che può essere utilizzato successivamente in fase di esecuzione (ad es. Un octree). Questa soluzione funzionerebbe solo per mesh statiche (ad es. Costruzione) che non spostano oggetti.