El renderizado en tiempo real, incluso el renderizado moderno en tiempo real, es una bolsa de trucos, atajos, hacks y aproximaciones.
Tomar sombras por ejemplo.
Todavía no tenemos un mecanismo completamente preciso y robusto para representar sombras en tiempo real de un número arbitrario de luces y objetos arbitrariamente complejos. Tenemos múltiples variantes en las técnicas de mapeo de sombras, pero todas sufren los problemas bien conocidos con los mapas de sombras e incluso las "soluciones" para estos son realmente solo una colección de soluciones y compensaciones (como regla general si ves los términos "sesgo de profundidad" o "desplazamiento de polígono" en cualquier cosa, entonces no es una técnica robusta).
Otro ejemplo de una técnica utilizada por los renderizadores en tiempo real es el cálculo previo. Si algo (p. Ej., La iluminación) es demasiado lento para calcular en tiempo real (y esto puede depender del sistema de iluminación que utilice), podemos precalcularlo y almacenarlo, luego podemos usar los datos precalculados en tiempo real -tiempo para un aumento del rendimiento, que a menudo se produce a expensas de los efectos dinámicos. Esta es una compensación directa entre memoria y computación: la memoria es a menudo barata y abundante, la computación a menudo no lo es, por lo que quemamos la memoria extra a cambio de un ahorro en la computación.
Los renderizadores sin conexión y las herramientas de modelado, por otro lado, tienden a centrarse más en la corrección y la calidad. Además, debido a que están trabajando con una geometría que cambia dinámicamente (como un modelo mientras lo estás construyendo), a menudo deben recalcular las cosas, mientras que un renderizador en tiempo real estaría trabajando con una versión final que no tiene este requisito.