Menu
in

Renderizado colaborativo por Internet

La técnica de generación de imágenes conocida como ray tracing puede lograr unos resultados excelentes, pero el problema de esta técnica es que resulta ser demasiado intensiva a nivel computacional. El ray tracing es utilizado en situaciones en las que el tiempo no es crítico, pero la calidad final sí lo es. Sin embargo, en un sitio han colocado una demostración de una imagen que es renderizada por cada uno de los visitantes, compartiendo una pequeña porción de ciclos de CPU. Puede parecer una idea loca al principio, pero si consideramos la cantidad de ordenadores que hay conectados a Internet, entonces se vuelve mucho menos descabellada.

Sólo basta con hacer una pequeña visita al buscador de imágenes de Google utilizando el término "ray tracing" para comprender el nivel de calidad que puede alcanzar una imagen utilizando este método. Se ha avanzado mucho para hacer al ray tracing más rápido, pero en general sigue siendo una técnica que devora tiempo de procesamiento en un ordenador. Sin embargo, la aparición del procesamiento paralelo podría llegar a cambiar de forma radical el rendimiento de una operación de ray tracing. Cuantas más operaciones se puedan ejecutar al mismo tiempo, mayor será el rendimiento del ray tracing, y más rápido se obtendrá su resultado.

Esto queda en evidencia a través del sitio de Peter Braden en su prueba de concepto: Ray tracing colaborativo. JavaScript se está haciendo cada vez más rápido, y con los resultados que hemos visto en algunos navegadores, creemos que seguirá aumentando de velocidad. Según Peter, JavaScript está lejos de ser apropiado para trabajo computacional, pero con la cantidad de ordenadores que hay conectados a la red, tomar un par de ciclos de cada terminal para acelerar un procedimiento de ray tracing sería más que factible, haciendo que la red de redes se vuelva un superordenador en sí mismo.

El procedimiento, de acuerdo a su creador, es muy ineficiente y tiene toneladas de problemas en su código, pero aún así funciona. Puede que con el desarrollo suficiente, además de tomar ciclos del CPU, también se pueda utilizar el poder de procesamiento de las tarjetas de vídeo, accediendo a una especie de GPGPU colaborativo para ray tracing. Para participar lo único que tienes que hacer es visitar la página del ray tracing colaborativo, y podrás ver en la parte inferior cuántas líneas has aportado al proceso de formación de la imagen. Sólo es una imagen, pero no podemos imaginar las cosas que se podrían lograr con una idea similar.

Escrito por Lisandro Pardo

Leave a Reply