Monte Carlo Path Tracing | C++
April 2020

  • Implemented a Monte Carlo Pathtracer with various illumination techniques, including global illumination using multiple importance sampling, volume rendering, and photon mapping with a k-d tree.
  • Implemented multiple features such as thin-lens camera, BVH acceleration structure, constructive solid geometry and different types of light sources and materials.


Mini Minecraft | C++, GLSL
Nov 2019

  • Collaborated in a group of 3 students; I was responsible for implementing efficient terrain rendering and chunking, texturing and texture animation, procedual weathers such as rain, snow, lightening and clouds.


Mini Maya | C++, GLSL
Oct 2019

  • Implemented an interactive Maya-like mesh editor with Half-Edge Mesh data structure, Catmull-Clark Subdivision, Extrusion, Interactive Skeleton Structure, Skinning, and Shader Based Skin Deformation.


Japanese Restaurant
Oct 2019



GAN-based 3D Reconstruction | Python, JavaScript
Apr 2019

  • Designed and trained a Conditional GAN-based network which can reconstruct 3D model and make surface color estimation by giving an image of a certain category of objects such as the chairs.
  • Implemented a system to show the results by using React and Three.js.


leaflet-tooltip-layout | JavaScript
Sep 2018

  • Created the plugin leaflet-tooltip-layout, solved a UI overlap issue of Leaflet.js, an open source map library, by using the Force-Directed Drawing algorithm.
  • This plugin has been posted to the plugin collection of Leaflet.