Writing a small raytracer #1

The first images

Raytracing is the new trend in high-end graphics programming for games, but also for offline rendering. Nvidia has a complete product line called RTX with a new architecture called Pascal. Open source software Blender introduced a new Render engine called Eevee that supports real time raytraced viewport updates. This has sparked my interest in the subject so I decided to do some research. In this miniseries I will tell you about what I learned while writing my own small raytracer.

I will write my raytracer in C++ using Visual Studio 2017. My goal is to be able to render short animations with rigged 3d models. During my research I came across loads of information. I have compiled this list of valuable resources:

After working through the Raytracing in one weekend I ended up with renders looking like this:

It’s not perfect, but it’s a start! My tracer follows the same architecture as the one discribed in the book, but some key parts will change quickly. The class diagram for looks like this:

Class diagram of the raytracer

This post will not contain any code, because it is already fully discribed in Peter Shirleys book, however I did use the GLM library for my vector class because I plan to add some openGL code and this will make that way easier.

That’s it for this introduction to raytracing. In the next post I will tell you about adding triangle meshes and speeding up the raytracer using spacial mapping of the hittables. Subscribe so you won’t miss it!

Ruurd

A little teaser for whats to come…

One thought on “Writing a small raytracer #1

Leave a comment

Design a site like this with WordPress.com
Get started