Fe 2 o 3 -ray, o simplemente Feoray, es un motor de renderizado básico similar al POV -Ray, que fue mi introducción al CGI 3D hace mucho tiempo. El 'rayo' se refiere a que este programa es un trazador de rayos, y Fe 2 o 3 es óxido férrico, porque esto está escrito en óxido ...
El código se basa en el pseudocódigo proporcionado en el libro: "The Ray Tracer Challenge" de Jamis Buck, con un avance de David Buck (sin relación) que es coautor de POV-Ray y publicado por programadores pragmáticos.
ADVERTENCIA: Este proyecto sigue siendo un trabajo temprano en progreso, por lo que será inutilizable en su estado actual.

La escena muestra el último Additon to Patterns (Radial), mapeo UV en la esfera media, material metálico en la esfera izquierda con la sombra apagada selectivamente y el orbe de vidrio a la derecha. Actualmente, las reflexiones y las refracciones no funcionan correctamente, y he podido encontrar la razón por la cual, especialmente teniendo en cuenta que literalmente cualquier otra prueba pasa bien, excepto las pruebas que implican el desove de rayos secundarios para reflexiones y refracciones, y me está volviendo loco. La segunda cosa a tener en cuenta es que si las pruebas de reflexión están fallando, entonces los reflejos no deben mostrarse en un render de prueba y, sin embargo, lo hacen.
Construya el binario con el comando:
cargo build --release El binario se encuentra en target/release .

Ver ChangeLog.
Pattern anidados, pero el último intento terminó siendo muy desordenado con muchas Box . Pensé que los Pattern combinados serían un poco más fáciles, y fue hasta cierto punto, pero implementarlo era más o menos el mismo problema. Si voy a volver a complacer esto, creo que sería mejor implementar Material sestionado dentro de Pattern , por lo que no solo obtengo Pattern dentro de Pattern ,, también puedo controlar los atributos individuales de cada Pattern , como la reflectividad, la rugosidad, etc., ¿puedo tener que hacer rasgos especiales? Algunos Pattern son nidables, y otros son Pattern terminales, como gradient , solid o los próximos Pattern generados por procedimiento. Eso sin mencionar que las texturas también podrían aplicarse a los patrones.Jitter , pero eso no estará disponible en todos Pattern hasta que resuelva los conceptos básicos.Este proyecto se publica bajo la licencia GNU GPL-3.0. Consulte el archivo de licencia para obtener más información.