Nuevas características del Targem Engine 2.0: Iluminación global en Crossout 0.14.0
En la actualización 0.14.0 de Crossout, que se lanzará el 25 de octubre del 2022, nuestro renderizador recibirá una mejora significativa. Hemos añadido al modelo de iluminación el cálculo de iluminación indirecta, o lo que es lo mismo — Iluminación Global.
Hasta este momento, en nuestro renderizador estábamos usando algoritmos de iluminación del entorno simplificados. Tomaban en cuenta con precisión la luz directa de las fuentes de luz, mientras que la luz indirecta se modelaba aproximadamente usando un mapa de cubo difuso precalculado en el nivel. Gracias al refinamiento e implementación de la tecnología de “Iluminación Global escalable” del Dagor Engine, que usa nuestro publisher Gaijin Entertainment, ha sido posible modelar la iluminación indirecta con mucha más precisión.
Ahora se simula la propagación indirecta de la luz teniendo en cuenta la geometría circundante en tiempo real, por lo que, además de la luz directa, aparecerá la luz reflejada y dispersada desde varias superficies y fuentes de luz extendidas (cielo, superficies que emiten y reflejan luz, sombras de objetos masivos y edificios, etc.). Tal mejoría mejora notablemente la calidad de la imagen en áreas con poca luz y completamente cubiertas de sombras — se volverá más voluminosa y texturizada, y también aparecerá la luz incidente reflejada (reflejo) de los objetos circundantes.
Modo de visualización de iluminación especial sin texturas
Sombras de contacto y reflejos locales
Además de actualizar el sistema de iluminación global, también se ha mejorado el mecanismo de renderizado de sombras y reflejos, se han implementado las técnicas SSCS (Screen Space Contact Shadows o sombras de contacto) y SSLR (Screen Space Local Reflections o reflejos locales del espacio en pantalla). Ambos efectos funcionan siguiendo principios similares — lanzamos un haz por cada píxel en el espacio de la pantalla e intentamos encontrar su intersección con los objetos en el marco, que se describen por la “profundidad” de la escena. Y, como resultado, ¡se convierte en una especie de “ray tracing”!
En el caso de las sombras de contacto, el haz se lanza en la dirección de la fuente de luz a una distancia muy corta cerca de la cámara y a muchas decenas de metros en el horizonte. Esto permite dibujar sombras para objetos pequeños cerca del observador (como piedras, hierba, etc.) y para montañas y rocas gigantes a lo lejos, complementando y mejorando la técnica clásica de renderizado de sombras, además de ahorrar recursos informáticos (por ejemplo, no necesitamos preparar información adicional en la CPU porque los datos sobre la profundidad de la escena son suficientes).
Con los reflejos locales actualizados, reemplazamos la técnica SSPR usada anteriormente, que requería cálculos adicionales en la CPU y que también contaba con una serie de limitaciones, como: la cantidad de superficies reflectantes en la pantalla, la capacidad de dibujar reflejos solo en superficies planas, así como reflejos no del todo reales en superficies de agua. La nueva técnica SSLR carece por completo de estas desventajas, ¡y ahora puede dibujar reflejos reales para todo tipo de superficies, en cualquier configuración! El algoritmo de funcionamiento repite la lógica de las sombras de contacto, pero esta vez lanzamos un haz largo en la dirección del reflejo deseado.
Ambas técnicas funcionan solo junto con el anti-aliasing temporal TAA, o los tipos de suavizado más avanzados, como NVidia DLSS o AMD FSR 2.0. Esto se debe a los matices técnicos de la implementación de técnicas que requieren acumular el resultado de los algoritmos en varios fotogramas para lograr la máxima calidad y un rendimiento óptimo. Ambas tecnologías llenan la imagen con muchos detalles, complementando el trabajo del sistema actualizado de Iluminación Global.
Desenfoque de movimiento y deslumbramiento
En la actualización 0.14.0, se ha mejorado la fase de post-procesamiento de imágenes y se han añadido nuevos efectos. Imitan la imperfección de los equipos de fotografía y vídeo, acercando la imagen final a una realista con un pequeño gasto de recursos informáticos.
El efecto de "Desenfoque de movimiento" (Motion Blur) ha aparecido en los campos de batalla de Crossout. Está diseñado para dar más dinamismo a la escena y hacer que la jugabilidad sea más fluida y agradable. Hemos calibrado cuidadosamente el efecto para añadir una sensación cinematográfica que transmita mejor la sensación de velocidad sin eclipsar la experiencia de juego en batalla. El jugador podrá ajustar de forma independiente la intensidad del desenfoque en la configuración de gráficos.
Además, se ha añadido al juego el efecto "Reflejo de lente" (Lens Flare) — un deslumbramiento que simula la refracción de los rayos de luz en la lente de la cámara. Este efecto se usa para una visualización más natural de las fuentes de luz brillante, creando destellos de formas complejas que son característicos de cualquier lente de una cámara óptica. El viñeteado también permite reproducir el efecto de sombreado de la apertura de la cámara en los bordes de la imagen, lo que añade expresividad al encuadre, dándole un aspecto artístico y estableciendo acentos de luz.
El efecto de Bloom se ha rediseñado por completo. Anteriormente, se usaba una técnica simple de escalar la imagen de la escena usando el contraste — esto daba un resultado muy aproximado de baja calidad y baja resolución, en la mayoría de los casos, el efecto de Bloom no se notaba en absoluto. Ahora se prepara la imagen teniendo en cuenta la exposición de la cámara, y luego se aplican varias fases de desenfoque gaussiano con distintos grados de importancia. Gracias a una cuidadosa optimización y al uso de técnicas modernas, obtenemos reflejos muy cinematográficos de diferentes texturas (desde microrreflejos de superficies húmedas hasta destellos brillantes de explosiones) por aproximadamente el mismo coste de rendimiento. Puedes notar cómo los vehículos blindados al sol ahora brindan agradables reflejos fotorrealistas de las piezas cromadas y pintadas del vehículo.
Esto es todo por hoy. La próxima semana planeamos lanzar una parte más del blog del desarrollador que estará dedicada a la gran actualización audiovisual de Crossout. ¡Permaneced atentos!