By Xuezheng Wang and Yiming Zhao
UC San Diego 2020
Table of Content
Link to this page:
https://bit.ly/2ZIKlvv
Team:
Xuezheng Wang
[email protected]
Yiming Zhao
[email protected]
Overview
This is the final project for UCSD's CSE 168.
In about three weeks, we have successfully implemented several new features including photon mapping and basic volumetric rendering. You can find the entire list of features below.
Here is an image that can showcase most of our accomplishments.

Scene by Xuezheng Wang
Implementation detail for each feature can be found below in the list of features.
- The scene is lit by two area light sources: a visible one and one above all the objects.
- The wine glass object and the bottle object are imported as wavefront OBJ files, and we used tinyobjloader library to enable this function.
- The nice depth-of-field effect was firstly implemented.
- The glass material for the objects is a result of a simple refraction BSDF.
- If you look towards the foot of the wine glass, you may found some really nice caustics. It is the result of photon mapping being used for caustics.
- The Colored glass ball and the wine is the result of Volumetric Rendering that we have implemented.
- Volumetric rendering is also implemented in the photon mapping process. If you look at the light spots in front of the green glass ball, you can see that we have green caustics on the table.
- The lines appearing on the edges of objects refracted by the bottle is a result of the low polygon count of the obj model we used.