Rendering Spheres
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
This post is licensed under CC BY 4.0 by the author.