Post

Rendering Spheres

MILLION ORBEZE

Concept

Using the ray tracer that I have implemented, I wanted to render a pool or orbeze. Orbeze are dielectric materials and have a very unique behaviour of reflecting light. Such a goal would be very costly in the physical world but no worries, CG has me covered.

Scene

I will use an algorithm to simulate a pool of orbeze that is realistic. This was the bottleneck in making of the scene. I have not figured out that for now.

Image Features

Sampling/Anti-Aliasing
Each pixel is sampled 10 times to prevent sharp edges
Reflection Model
There are 4 types of materials implemented in this scene: metal, diffuse (lambertian), diffuse(cosine), dielectric (glass)
Removed Shadow Acne (calculation bugs)
Removing shadow acne improve brightness

Extended Tracer

  • More realistic reflection
  • Better lighting

Acceleration Structure: BVH

  • Taking in the objects and dividing them.
  • Checking if leaf node? if so return the objects

Appearance and Lighting

  • Phong model to simulate external light sources
  • 4 materials used

Timing

All the images had these properties:

  • Rendered on Extended Tracer - Ray Depth = 10
  • Antialiasing doen - Samples = 10
  • 1920 x 1920 pixels
  • All sphere primitives - spheres are slightly costly

Scenes:

  • 5 spheres
    • Without BVH: 60620 milliseconds
    • With BVH: 84552 milliseconds
  • 30 spheres
    • Witout BVH: I waited for 2-3 mins…
    • With 80232 milliseconds
  • 100 spheres
    • Without BVH: I waited for 5 mins+ …
    • With BVH: 289919 milliseconds

Sources

Ray Tracing From The Ground Up

Ray Tracing in One Weekend

This post is licensed under CC BY 4.0 by the author.