This week’s project topics are:
- Accelerating our basic ray tracer with multi-threading and Boundary Volume Hierarchy(BVH) tree implementation,
- Multi Sampling Anti Aliasing
- Refraction (Glassy objects)
Source code is available on GitHub.
Triangle counts: 4978
Time elapsed to read the scene data: 0.010376 seconds / 10376 microseconds.
Time elapsed to render the scene:
- On a single thread: 13.6424 seconds / 13642433 microseconds.
- 4 threads: 4.41703 seconds / 4417026 microseconds.
- 8 threads: 3.75496 seconds / 3754958 microseconds.
- 8 threads + BVH: 0.074933 seconds / 86461 microseconds.
- Triangle counts: 11102
Time elapsed to read the scene data: 0.015283 seconds / 15283 microseconds.
Time elapsed to render the scene: - On a single thread: 229.948 seconds / 229948021 microseconds.
- 4 threads: 115.365 seconds / 115364966 microseconds.
- 8 threads: 61.3219 seconds / 61321890 microseconds.
- 8 threads + BVH: 0.374457 seconds / 374457 microseconds.
Triangle counts: 871414
Time elapsed to read the scene data: 0.015283 seconds / 15283 microseconds.
Time elapsed to render the scene:
- 8 threads: ~1 hour
- 8 threads + BVH: 0.466252 seconds
Multi Sampling Anti Aliasing
Multi Sampling Anti Aliasing implementation with Gaussian Distribution is added to the project.
1, 4, 25 and 100 samples: 0.074933, 0.306833, 1.44862 and 5.42911 seconds respectively.
100 samples: 28.6247 seconds.
Transparency / Refraction
There is still some work to be done but the renders of the transparent objects are: