un raytracer en JavaScript!
August 28th, 2007 — leito
no puedo no postear sobre esto… un raytracer hecho con javascript!!!
yo me acuerdo de viejas epocas en las que no existia el windows y usaba el pov-ray y el polyray para hacer dibujos en 3d corriendo bajo DOS… las cosas que se podian hacer eran impresionantes! pero claro, tardabas dos horas en ver una imagen de 640×480 con dos cajas y una esfera, claro que tenian superficies reflectantes, luces con sombras, blobs y demas…
fue tanta mi fascinacion que me hice un programita en c que era una animacion 3d en tiempo real (99% copiado de otro lado, obviamente…)
pero estaba barbara! en esa epoca no existian las tarjetas aceleradoras, bastaba con una trident de 512… kb! (estoy hablando año 94 mas o menos… yo tenia una 486 todavia!)
Era la epoca de las denominadas DEMOS (que nada tiene que ver con los programas demos, esos que jugas hasta cierto nivel o podes hacer solo determinadas cosas), estos programas eran motores 3d que animaban y renderizaban en tiempo real una animacion con objetos, luces y cosas impresionantes, todos los poligonos que veias eran funciones matematicas analizadas en el momento! por ejemplo, para hacer una esfera hay que basarse en la ecuacion r = x^2 + y^2 + z^3, que parece simple, pero empiecen a hacer calculos con camaras, luces, texturas…y todo repetido 320×240 = 76800 veces para hacer un cuadro!!! (24fps es lo minimo que podemos esperar para ver algo bueno) y estamos hablando de 320×240! una resolucion de mierd…, asi que imaginense mi cara al ver un dragon volando por la pantalla y tirando fuego…
Bueno, algun dia voy a hacer algo por mi mismo pensé, y en un par de meses hice un minimotor 3d en flash, que lo pueden ver en mi pagina (http://www.fotoparty.com/mysite/games/3d/index.htm), pero es muy pedorro, solo tira la imagen en wireframe y no es un raytracer, porque no calcula punto por punto, sino que simplemente pasa los vertices 3d a una pantalla 2d y los une con una linea blanca… pero no importa, ya estaba, se que lo puedo hacer, llegar hasta ahi no fue nada facil, y no lo segui mejorando xq no tenia tiempo ni ganas (a veces basta con saber que se puede)
El tema es que un desubicado hizo un raytracer con JavaScript! O sea, tampoco es wow!… si lo programó en c en algun momento de su vida no es tan dificil pasarlo a JavaScript, pero lo mismo es increible verlo correr en un navegador, que te permita crear la escena que vos quieras y te haga imágenes como esta:

p.d.2: Lo probe en Opera y me hace las imagenes mas estiradas, asi que para verlo bien usen FF o el otro ese…
p.d.3: despues de investigar un poco mas, encontré varios… aca hay otros:
![]()
http://labs.flog.co.nz/raytracer/
Bastante bueno, anda un poco mas rapido…

http://www.baud-bandit.com/simon/webapps/ray/tracer.html
Bastante malo y no muestra informacion de nada…
![]()
http://www.safalra.com/programming/javascript/progressive-raytracer/
no tiene mucha apariencia de ser raytracer…
p.d.4: Imagenes de lo que se puede hacer en povray “programando” cada cosa (ojo! no son imagenes importadas al pov! son creadas en él!)











August 29th, 2007 at 8:18 pm
Enano… no entiendo un carajo de lo que estás hablando… lo único que sé que en el año 94 boludeábamos todo el día y encima, tenías tiempo para hacer estas cosas… un genio… como siempre…
Lástima que no te entiendo un carajo… jeje
Saludos…
tu viejo amigo… va no tan viejo… más bien. viejo como vos!!!