CG1 Rendering Competition : 
Garvita Tiwari
Shubhendu Jena

free web creation software


With high hopes and expectations, she came to the city to achieve her dreams. But is the fast and tumultuous life of the city proving too much for her soul to bear? She looks on for answers in her own reflection...

Our Inspiration


Initial thoughts

Our aim was to render a very detailed and realistic looking scene of a woman's bedroom which somehow incorporates the use of a fragmented mirror where the center part of the mirror depicts her melancholic demeanour and other parts reflecting different parts of the room.


Scene details

The scene was designed in Blender and was quite detailed with roughly 5,00,000 triangles. We have used 3-D models we found on the web, those of the woman, wall-shelf, lamp, bed, stool, plants and finally curtains. The walls, floor and windows were made by us using Blender. We had to carefully select and decide appropriate textures for all of our objects as well as the walls and floors for a photorealistic appearance. In addition, bump maps were selected for the woman's body model and also paintings to give them an "engraved" look. Finally, to design the cityscape outside the window, we used a lambertian material with both diffuse and emission components as the cityscape texture image and placed it right outside and very close to the glass windows.  



The objects for the bed and the room that we initially selected had an excessive amount of triangles due to which our ray-tracers were crashing. We had to simplify the objects and had to smartly our scene and materials to make our rendering fast while still maintaining the quality of the scene rendered.




A composite mirror with a central octagonal piece and other side triangular mirrors is the focus of our scene. The central piece primarily reflects the woman while the side mirrors capture the rest of the scene, giving a very aesthetic look to the resulting scene.



The outside city is visible through the glass window on the left side of the scene. A total of 50 samples were used for as clear a rendering result as possible.



A point light source close to the ceiling on the scene's right side is used as the primary source of illumination in the scene. Moreover, a spot light is used for the lamp on top of the mirror, adding to the realism of the scene.


Bump mapping

In order to get realistic images, with fine detailed texture, we decided to incorporate bump mapping in loadOBJ function. So we implemented a new derived class of "Triangle", which includes bump mapping.

Making rendering faster...


Bounding Value Hierarchy

As previously mentioned, the number of triangles in our final scene was almost 5,00,000 (4,67,448 to be precise). Without BVH acceleration method, it would have taken us way more time to get our intermediate rendering results and to modify our scene to get the final result.



BVH alone wouldn't have proved to be enough as sometimes we needed to wait almost 3 minutes during our earlier drafts to see our result for just 1 sample. Multithreading with OpenMP made our life way easier and prevented us from pulling out our hair in frustration.

Technical Details :

Images were rendered on Intel Core i5, 1.8 GHz

Blender was used for making the complete scene 

Small image (480x270) : 13mins, 200 samples per pixel

Large image (1920x1080) : 1h 47m, 100 samples per pixel