Pre-rendering vs. renderizado en tiempo real: ¿Cuál es la diferencia?

Cuando estaba en la secundaria, jugué a Final Fantasy VII y IX (sí, me salté el VIII). Nunca logré terminar ninguno, pero recuerdo pensar: “¡Wow, las cinemáticas son increíbles! ¿Por qué el gameplay no se ve tan increíble como las cinemáticas?”

Si no puedes relacionarte con mi experiencia (ok, soy viejo), aquí tienes algo más cercano: ¿alguna vez te apareció un anuncio de un juego mientras navegabas en redes sociales y quedaste impresionado con los gráficos? Piensas: “¡Wow, se puede jugar esto en móvil? ¡Parece un juego de consola!” Lo descargas, lo juegas, y descubres que la jugabilidad no se parece en nada al anuncio que viste.

En una explicación muy simplificada, esa, amigo mío, es la diferencia entre pre-rendering y renderizado en tiempo real.

¿Qué es el Renderizado?

El renderizado es el proceso de convertir datos tridimensionales en imágenes bidimensionales. Este proceso implica resolver innumerables ecuaciones matemáticas y requiere un gran poder de cálculo. En términos simples, es el paso final en la producción de gráficos 3D, donde el proyecto se finaliza y se convierte en una forma que puede mostrarse en cualquier pantalla: laptop, teléfono móvil, televisor o pantalla de cine.

Pre-rendering versus real-time rendering: What’s the difference?
Human face render by Chris Jones

Pre-renderizado

El pre-renderizado, también conocido como renderizado offline, es el tipo de renderizado donde la imagen generada se muestra en un momento posterior. Esto significa que diseñas tu imagen 3D con todos los detalles y texturas necesarias, y luego de completar el diseño, permites que tu CPU o GPU procese la imagen en 2D.

El tiempo de renderizado depende de la complejidad y el nivel de detalle del proyecto. Este tipo de renderizado es utilizado en entornos donde la calidad visual es prioritaria sobre la velocidad, como en la producción de películas animadas, arquitectura, efectos visuales y simulaciones científicas.

Para reducir el tiempo de renderizado, muchos artistas recurren a granjas de renderizado, donde potentes servidores procesan los proyectos en minutos o segundos en comparación con las horas o días que tomaría en una computadora personal.

Renderizado en Tiempo Real

El renderizado en tiempo real convierte datos 3D en imágenes 2D de manera instantánea. Motores como Unity y Unreal Engine logran procesar y mostrar 30 a 60 cuadros por segundo (fps), permitiendo interacción en vivo con los objetos renderizados.

Este tipo de renderizado es fundamental en los videojuegos, donde la latencia debe ser mínima. Un retraso de incluso unos pocos segundos en la actualización de una imagen afectaría la jugabilidad. Para asegurar un rendimiento fluido, los diseñadores de videojuegos optimizan sus modelos 3D para equilibrar calidad visual y velocidad.

Renderizado con propósito

La velocidad siempre es deseable en el renderizado, ya sea pre-render o en tiempo real. Pero según el propósito, lo que consideres “rápido” cambia. En otras palabras, en renderizado, la velocidad es relativa.

Por ejemplo, si eres un artista de visualización arquitectónica que trabaja con representaciones fotorrealistas de alta resolución de un edificio en progreso, tiempos de render de varias horas o incluso días son comunes si usas solo tu propia máquina. Reducir un render de 2 horas a 20 minutos gracias a una granja de render es una enorme ventaja.

Ahora bien, si eres un diseñador de videojuegos, que un solo render tarde 20 minutos es totalmente inaceptable, porque significaría que si el jugador mueve apenas la cabeza de su personaje, esa acción demoraría 20 minutos en reflejarse en pantalla. Eso es lo que se llama latencia, y en juegos la latencia mata la experiencia.

El ejemplo de los 20 minutos es extremo. Hoy en día, el renderizado en tiempo real se mueve normalmente entre 30 y 60 cuadros por segundo (fps). La animación —de la que se alimentan los videojuegos— no es más que una secuencia de imágenes fijas mostradas lo bastante rápido como para crear la ilusión de movimiento. El cine nos enseñó que el ojo humano percibe un movimiento natural a partir de 24 fps. Por lo tanto, para que la animación se sienta natural, debe mostrarse en pantalla al menos a esa velocidad.

Entonces, ¿qué puede hacer que baje el framerate en renderizado en tiempo real? La complejidad de la imagen. Cuantos más detalles gráficos, más cálculos tiene que procesar la GPU/CPU antes de mostrar cada cuadro. Si los cuadros se generan demasiado despacio, la sensibilidad de los controles del juego se ve afectada.

Pre-rendering versus real-time rendering: What’s the difference?
Hyundai by Solid VFX Lab

La luz se mueve de maneras misteriosas

Cuando se trata de hacer que los gráficos 3D se vean realistas, hay que entender el arte de la luz. Todo lo que percibimos con nuestros ojos es luz reflejada, y distintos objetos, materiales y texturas reflejan la luz de forma distinta.

Dado que los gráficos 3D no son más que información matemática representada en tu pantalla como colores, lograr una iluminación realista depende de qué tan bien —y qué tan eficientemente— tu computadora calcule el comportamiento de la luz dentro de una escena determinada.

El pre-render y el render en tiempo real manejan la luz de formas diferentes.

Pre-rendering versus real-time rendering: What’s the difference?
Source: Ray tracing (graphics) - Wikipedia

Velocidad de render vs. realismo de render

En términos generales, el pre-render maneja la luz con una técnica llamada ray tracing. Dicho simplemente, es la misma técnica que usan nuestros ojos para percibir objetos: un rayo de luz sale de una fuente, golpea un objeto, rebota y luego llega a nuestros ojos. Si trazas cada rayo de luz desde tus ojos de vuelta al objeto y luego a la fuente de luz, eso es ray tracing. Este método produce los resultados más fotorrealistas.

El render en tiempo real, en cambio, suele usar rasterización. Sin entrar demasiado en lo técnico, esta técnica traduce la información geométrica de los modelos 3D de la escena en píxeles que se muestran en una pantalla 2D. Es un proceso mucho más rápido que el ray tracing, y por eso se usa en el render en tiempo real, donde el sistema necesita generar entre 30 y 60 imágenes por segundo.

Si la rasterización es más rápida, ¿no deberíamos usarla siempre? No exactamente. La velocidad de la rasterización tiene un costo: se pierde realismo, porque este método no calcula bien el rebote de la luz indirecta en las superficies. El pre-render sí lo maneja, pero como hemos dicho, requiere más tiempo. En los renders rasterizados, la ilusión de luz natural se logra mediante técnicas como el baking. En resumen, la iluminación —el núcleo del realismo en CG— se procesa de manera mucho más sofisticada en el pre-render que en el render en tiempo real.

Mundos que colisionan

Sin embargo, los avances de hardware y software han empezado a borrar las líneas entre ray tracing y rasterización, entre pre-render y render en tiempo real.

Las GPUs de la serie RTX de NVIDIA permitieron usar ray tracing en tiempo real para videojuegos, lo que dio lugar a gráficos mucho más impresionantes dentro de los juegos. Estas mejoras de hardware impulsaron software como Unreal Engine, que permite a los creadores diseñar juegos con calidad visual cercana al cine. Incluso Unity (otro motor de render en tiempo real) ha producido cortometrajes completos como Adam y The Heretic, creados únicamente con render en tiempo real para demostrar hasta dónde ha llegado el fotorrealismo.

Aun así, el pre-render sigue dominando cuando hablamos de superficies orgánicas. La complejidad es demasiado alta y hay demasiados cálculos involucrados en cómo la luz interactúa con dichas superficies. Por otro lado, el pre-render sigue evolucionando para mejorar su eficiencia y reducir el tiempo necesario para generar imágenes 3D impresionantes, ya sea mediante innovaciones de software o hardware.

En conclusión: son tiempos emocionantes para el renderizado 3D, ya sea pre-render o tiempo real. Cada vez se rompen más límites y se reducen más barreras, lo que significa que los costos de producción bajarán mientras la calidad visual sigue subiendo.

Como dije: tiempos emocionantes.

Related Posts

No items found.
live chat