Light Branch Flow. Stunning and at some point shows how is present in tsunami wave travel and lights caustics. I wonder if it should affect how a #raytracer calculates light paths.
Light Branch Flow. Stunning and at some point shows how is present in tsunami wave travel and lights caustics. I wonder if it should affect how a #raytracer calculates light paths.
Last year I started to implement the raytracer from the book The Ray-Tracer Challenge from Pragmatic Programmer by Jamis Buck. It describes all concepts very well, and the implementation is done through cucumber test cases, so it can be followed in any language you want.
http://www.raytracerchallenge.com/
My implementation is coded in Rust and renders the images using the game library Macroquad.
https://github.com/ollej/macroquad-raytracer
#Rust #RustLang #Macroquad #raytracer #gfx #RayTracerChallenge
The fifteenth chapter of the ray tracing book is a bit more exciting as it adds the triangle and smooth triangle shapes as well as a parser for OBJ files. This makes it possible to load 3D models and add them to the scene.
I also made an optimization to cache the inverse of the transformation matrix which sped up the calculations a lot.
Here is an image of a smooth high polygon version of the Utah Teapot.
#RayTracer #RayTracerChallenge #Rust #RustLang #PragmaticProgrammer #3DModel
I had to do a lot of refactoring of my ray-tracer to get Chapter 14 working where Groups are added. Making it possible to combine shapes and translate them at the same time.
The end result is not very exciting though. This is a hexagon made up of six cylinders as edges and six spheres as corners.
#RayTracer #RayTracerChallenge #Rust #RustLang #PragmaticProgrammer
In chapter 13 two more shapes are added to the ray tracer. A cylinder and a cone.
#RayTracer #RayTracerChallenge #RayTracing #Rust #RustLang #programming #book #PragmaticProgrammer
In the twelth chapter of the Ray-Tracer Challenge book I've added a new kind of shape: a cube. This new scene is created using only cubes that are scaled and translated to make different shapes.
#RayTracer #RayTracerChallenge #RustLang #Rust #Graphics #RayTracing
My progress has been a bit slower, but I've now finished chapter chapter 11 in the Ray-Tracer Challenge. My raytracer now has both reflection and refraction and it's possible to generate images with mirrored and transparent objects.
#RayTracer #RayTracerChallenge #RustLang #PragmaticProgrammer
I've now finished the tenth chapter of The Ray-Tracer Challenge book from Pragmatic Programmer. This chapter implements multiple different types of patterns to apply to the objects. There are stripes, gradients, rings and a checkerboard pattern. Next up is the chapter on reflections and refractions which is very exciting.
Chapter nine of the book The Ray-Tracer Challenge introduces a new kind of shape in addition to spheres: infinite planes. These can be used as floors and walls.
Chapter 8 in The Ray-Tracing Challenge introduces calculating shadows which was not as hard as I thought it would be. Although I had to switch from f32 to f64 to get rid of artifacts.
I just finished following chapter 7 of the Ray Tracer Challenge book from Pragmatic Programmer. It is now possible to raytrace a scene with multiple objects.
Hmm, Google taking a page from @eff's book and adding Raytracer to Android. Fancy!
Today I completed chapter 6 of the book The Ray Tracer Challenge from Pragmatic Programmer in Rust and Macroquad. My raytracer can now display a sphere with reflection. It takes about 200 seconds to generate an image of 1000x1000 pixels, so it isn't very efficient.
The book is great, it is very easy to follow, with cucumber tests describing what needs to be implemented and pseudo code for the algorithms so it can be implemented in any language.
https://pragprog.com/titles/jbtracer/the-ray-tracer-challenge/
The amazing strategy of "rewriting the entire thing from scratch and hoping it's better the next time around" fixed a weird bug with my shadows for the #zig #raytracer. I also made normal shading toggleable! (the setting is hardcoded but a single variable change and recompile isn't too bad for now)
Full disclosure, I'm following the "Ray Tracing in One Weekend" (https://raytracing.github.io/) book online, but I'm rewriting everything in Zig, and adding my own stuff here and there.
If you built a Raytracer with a used Orbic, you can get a SIM card for a buck from Total by Verizon and have control over its use. The pcaps are more complete if you have an active sim card. #privacy #raytracer
Working in the city library today 🤩 Some basic math library.
#cpp #programming #raytracer #PlusPlusPixel
If you like pictures, then here's the output from a #raytracer I wrote in 6 hours, last Friday, based on the book "Ray Tracing In One Weekend." I spent another afternoon faffing about to get an interface working, that showed each step of the process.
I’ve finished the fourth chapter of the book The Ray Tracing Challenge using Rust and Macroquad. It was mostly implementing matrix transformations. To test them out, this is an image generated using the rotation transformation.
I started following the book The Ray Tracer Challenge from The Pragmatic Programmer yesterday and I finished chapter two and finally got something on the screen. I'm implementing it in Rust with the game library Macroquad.
https://pragprog.com/titles/jbtracer/the-ray-tracer-challenge/
TheFatRat just dropped a new track, "Ray Tracer" with real 16-bit video game vibes. I think he referred to it as "melodic glitch hop."
I think it's cool.
Check it out here: https://thefatrat.ffm.to/chapter7