The JavaScript Raytracer
Vía Bitácora de kkman – raytracer en javascript.
Últimamente me ha dado por utilizar pequeños trozitos de JavaScript en mis diseños para aderezarlos un poco más y darles un poco de dinamismo (lo podeís ver en la página con los tooltips, aunque en este caso el código sólo está modificado por mi, no es para nada mio) y huir de lo estático, pero sin llegar a sobresaturar al usuario como algunas páginas con Flash y similares (apuesto a que dentro de un par de años acabo utilizando yo mismo, por la progresión que llevo, quiero decir).
Eso sí, a lo máximo que llego es a mostrar y ocultar partes de la página, cambiar propiedades o crearlas al vuelo (útil para hacer creer al validador del W3C y a ciertos navegadores que eres “válido” y luego utilizar propiedades no-válidas que sólo el motor de JavaScript del navegador conoce). Cosas sencillas vamos. Lo de este motor de raytracing en JavaScript está a años luz de lo que yo puedo hacer ahora mismo. No tiene el mejor interfaz del mundo (sería ideal un frontend que soportara el lenguaje de POVRay) pero permite crear escenas relativamente complejas (cámaras, luces, unas cuantas primitivas geométricas, texturas, acabados, pigmentos, etcétera) en el navegador.
Lo malo del JavaScript es que es interpretado y el motor de JavaScript de Mozilla nunca ha brillado por su velocidad (pero al menos implementa ECMAScript y DOM correctamente, además de “extensiones” de otros navegadores) por lo que una escena con una camara, una luz puntual y una esfera a 40×30 (sí, 40 píxeles por 30 píxeles) tarda unos 6 o 7 segundos en representarse. De todas formas merece la pena jugar un rato con él.

