Renderiza un ojo, inventa el otro y mejora rendimiento con la tecnología YORO

21 AGO 2025  15:00

Redacción

7

En un artículo titulado You Only Render Once: Enhancing Energy and Computation Efficiency of Mobile Virtual Reality, varios investigadores de diversas universidades (California, Colorado, Nebraska-Lincoln y Guangdong) explican una técnica, YORO, para aumentar el número de fotogramas por segundo sintetizando la visión del segundo ojo, basándose en la imagen del otro, en lugar de renderizarla.

 

 

El efecto de realidad virtual se consigue mediante renderizado estereoscópico, generando una imagen para cada ojo, un proceso que tira de CPU y GPU, de ahí que los juegos VR sean más exigentes que los tradicionales de pantalla plana, hay que hacer el doble de esfuerzo.

 

Con YORO (You Only Render Once) se renderizaría solo la imagen de un ojo, generándose la del otro de manera sintética en dos etapas, reproyección y parcheo, sin usar técnicas de IA.

 

 

En la etapa de reproyección se utiliza un sombreador computacional para conseguir desplazar cada píxel del ojo renderizado al espacio equivalente de la imagen en el otro ojo. Después se marcan los píxeles ocluidos, los no visibles, desde el ojo renderizado.

 

 

El parcheo consiste en aplicar un filtro a los píxeles ocluidos en la etapa anterior teniendo en cuenta la profundidad, difuminando los píxeles de fondo entre ellos. Con esto se logra reducir la sobrecarga de renderizado de la GPU en más del 50% y aumentando la velocidad de refresco en un 30%.

 

Aplicando esta técnica se ha logrado pasar de 62 a 85 FPS usando la mitad de GPU, sin pérdida de calidad visual, aunque hay una excepción. Si un objeto virtual está muy cerca de los ojos, YORO no funciona, por lo que hay que recurrir a la renderización estéreo habitual.

 

 

YORO no es algo teórico, y aunque tiene limitaciones como no admitir geometría transparente, ya está disponible una implementación de esta técnica para el motor Unity, que se puede descargar desde GitHub y utilizar bajo Licencia Pública General de GNU (GPL).