Si el juego es de pantallas estáticas, es decir, que no hay scrolls, tal vez se podría renderizar el escenario a la máxima calidad que quieras y luego almacenar el depth buffer de cada una de esas pantallas en un archivo. Posteriormente se cargaría ese depth buffer en el depth buffer de la aceleradora. De esta forma podemos tener objetos dinámicos sobre la escena pre-renderizada, pero aun así los objetos se verían ocluídos por las zonas del escenario más cercanas a la cámara. Aunque lo cierto es que no sé si hoy en día se puede rellenar un depth buffer así, tan alegremente.
Un inconveniente de ese sistema es que no sé cómo se comportaría al cambiar a una resolución de pantalla diferente a la que se creó el depth buffer originalmente (habría que hacer un re-sampling del depth buffer).
Pero bueno, no tengo ni idea si esta técnica se ha utilizado alguna vez. Me suena que sí y además creo que en
stratos hubo una discusión sobre esto hace ya bastantes años.
De todas formas, con la potencia de las aceleradoras de hoy día, es lo que dice jove, creo que trae más cuenta hacerlo en tiempo real. Y si quieres iluminación global, pues la codificas en light maps y listo. Saludos.