Raytracing

#Gaming#Raytracing#Solo#Graphics

Aanish Bhirud

I finally got a burst of motivation this weekend to make something new. I channeled the excitement I had about starting a new job at Epic Games into getting this done over the weekend.

What is it

I worked on a raytracer following the book Ray Tracing in One Weekend by Peter Shirley. I used C++ for the project. The book is a great introduction to raytracing, and I highly recommend it to anyone who wants to learn about it.

Showcase

V1

This is post chapter 10, this is the first semi-complete version of the raytracer. It is very basic, but it is still a good showcase of what the raytracer can do.

V2

This is post chapter 12, this is basically the final version of the raytracer. But it needs a more complex scene to show off it's capabilities.

No DOF

With DOF

V3

This is post chapter 13, this is the final version of the raytracer. It has a more complex scene, and it does a better job of showing off it's capabilities.

Where can I find it

I might make the repo public in the future, but for now it is private. I will update this post if I do.

Why did you make it

I am interested in computer graphics, I saw a reference to the book Ray Tracing in One Weekend by Peter Shirley on a Friday. I saw it as a perfect opportunity to learn about raytracing, and I had the weekend free. So I started working on it on Friday, and finished it on Sunday.

Improvements Planned

  • Rewrite the code to be less of a copy paste of the book, and more of my own.
  • Add more features to the raytracer.
  • Make a PPM converter to convert the PPM files to PNG files. This will make it easier to view the images, all the online converters like cloudconvert.com and convertio.com error out on the PPM files.
  • Rewrite the code in another language, maybe Rust. I'm interested in learning Rust, and this would be a good project to learn it on.