miércoles, 20 de diciembre de 2006

Raytracing en videojuegos



Esta técnica de iluminación global, aún lejos de poder ser utilizada en tiempo real por el alto coste computacional, ha sido aplicada a los juegos Quake 3 y Quake 4 dando unos resultados, la verdad, bastante increibles, ya que permite simular de forma casi realista los reflejos en los objetos o las sombras.
A diferencia de la iluminación a que estamos acostumbrados a ver en videojuegos, raytracing se basa en trazar una serie de rayos desde el punto de vista del observador y ver, tras las reflexiones, refracciones y demás, que objetos corta y si llega a alguna fuente de luz. Y todo eso lo tiene que calcular la CPU.
El caso es que mediante el motor de rendering libre RenderRT, han probado a usar esta técnica en los shooters mencionados arriba. Desde luego, los frames por segundo eran ridículos, pero hay un atisbo de esperanza para el uso de esta técnica en videojuegos, y es que perfecta para el multithreading, es decir, puede dividirse la imagen en varias partes y que estas sean renderizadas por núcleos independientes; de hecho, desde http://www.q4rt.de lo ejemplifican usando un Intel Core 2 Extreme QX7600:

- Con un núcleo: 4.4 fps.
- Con dos núcleos: 8.6 fps.
- Con cuatro núcleos: 16.9 fps.

Un rendimiento prácticamente proporcional al número de núcleos usados; y dado que la evolución de las arquitecturas de los microprocesadores tiran por ese camino (se está llegando a los límites físicos de tamaño de circuitería), igual en un futuro podremos jugar usando esta técnica.
Para que veáis los detalles que se pueden llegar a conseguir, una muestra:




No hay comentarios: