Hi all, https://git.sr.ht/~felipetavares/rats
I wrote a raytracer in Guile over this past weekend, and week prior that, really. Thought it might interest some of you. It contains a simple Wayland client, largely based on the work from Philippe Gaultier (https://gaultier.github.io/blog/wayland_from_scratch.html). It is mostly self-contained in the wayland/ subdirectory, and depends only on libc for some syscalls. Other than that it's just a standard basic raytracer, mostly built out of guess work and Wikipedia. These are the pages I had open after finishing: - https://en.wikipedia.org/wiki/Ray_tracing_(graphics) - https://en.wikipedia.org/wiki/Reflection_(mathematics) - https://en.wikipedia.org/wiki/Snell's_law#Vector_form - https://en.wikipedia.org/wiki/Specular_reflection - https://en.wikipedia.org/wiki/Line%E2%80%93plane_intersection - https://en.wikipedia.org/wiki/Line%E2%80%93sphere_intersection - https://en.wikipedia.org/wiki/Matrix_multiplication - https://simple.wikipedia.org/wiki/Dot_product Of course, coupled with the Guile reference manual itself: https://doc.guix.gnu.org/guile/latest/en/guile.html. Best, Felipe
