Creating my own world - Ray Tracing

Posted 21 10 2021 by Saksham  ‐ 3 min read

$ g++ main.cc -lpthread && ./a.out >>splashOfLife

Overview?

I stepped into the world or renders and ray tracing via Blender. This intrigued me to understand how this beautiful world of ray tracing works. So here is my first attempt at it :)

Here is a scene rendered by the engine


splashOfLife

We can see the depth info of the scene by looking at the normal surface of the sphere represented in psuedo-color space


splashOfLife.naked

Things it can do as of now :

  1. Multi thread rendering: Take my word for it good sire.

  2. Anti-aliasing

Different levels of anti-aliasing

  1. Albedo control: Albedo here refers to how much light the object reflects

Normals of the surface

  1. Raytracer sampling control: Allows to make decision between time and clarity for renders.

Comparision of renders with different sampling level

  1. Accurate Lambertian diffusion method: This allows to fake a good render without having to do high sampling

Lambertian diffusion

  1. Gamma correction: For accurate representation of colors for human eye.

Gamma Correction

  1. Temperature Control

Gamma Correction

  1. Reflective Materials

Aluminium with pure reflection


Aluminium with brushed reflection

Up-Next

Will be implementing transparent material soon. Long way to go, strap on major!


Blank canvas up ahead


Also fun-fact you can subscribe to the blog using RSS! For Firefox users you can use Livemark for this.

$ press CTRL+W to end the session.