Zen Teahouse is a digitally rendered image created for a final project in a computer graphics course at Stanford. This high-resolution raytraced image demonstrates several graphical techniques including lighting, shadows, reflections, transpency, and texturing. The image was rendered using an OpenGL-based raytracer we partially engineered and took over 28 hours to render.

To create Zen Teahouse, objects in the scene were constructed using both geometric definitions and imported object files. Simple geometric objects, like the cylinders found on the hanging scrolls, were programmically generated using native OpenGL objects. More complex objects, such as the teapot and buddha statue, were imported and parsed from object files.

The room structure and teapot shown above were created using Blender, an open-source 3D modeling program. After creating and arranging an object in Blender, it is exported into object and material files; these two files define the object's shape and appearance. Combined with lighting properties and camera positions, the raytracer program parses the object and material files to ultimately render the image.

After placing objects in the scene we brought them to life using material definitions as well as texture mapping. To achieve realistic wood textures, we texture mapped various pre-rendered images of wood. Other textures such as the scroll images were also mapped directly onto the objects.

The lighting in the image is created by programmically defining point and area lights. Lights are placed inside and outside the room as well as behind the camera providing artistic illumination of the scene. Shadows are a natural phenomenon of the lighting configuration in the scene.

Using our custom raytracer, we were able to tune various rendering properties such as sampling size, bounce depth, and shadow intensity. The illustration above shows a serial progression of raytrace sampling sizes. The rendereing time increases expotentially from several minutes to many hours as sampling size and bounce depth increases. The final image was ultimately rendered at 16x sampling size and maximum bounce depth of 8. The total rendering time was 28.5 hours on a single-threaded renderer with AABB-tree acceleration.

This project was done in collaboration with Dan Guo. Zen Teahouse was awarded second place for best image in class.

Instagram Twitter LinkedIn Stack Overflow Email