C++, April 2018
As part of the MXF Viewer software developed for HBO, I implemented the EBU R128 Audio Meters which include a LUFS loudness meter for stereo and 5.1 channels, phase meters for stereo, true peak meters, and a loudness computation tool. In addition, I designed and implemented the GUI. One of the algorithms implemented was BS.1770 : Algorithms to measure audio programme loudness and true-peak audio level.
Unity, Google VR SDK, October 2017
As part of the mixed reality experiments developed for HBO Innovation Lab, I created a VR game along with designer Bobby Chang. You throw snow balls at snowmen. It's Christmas!
JavaScript/CSS, April 2015
I designed and developed a web interface that displays Vimeo's staff picks videos using the Simple API.
JavaScript/CSS, April 2013
As part of a UX design exercise, I coded a web interface that has multiple user interactions.
See it live (Try hovering mouse on the left or right side).
C++, April 2013
I implemented a fluid simulator based on the paper Particle-Based Fluid-Fluid Interaction along with my teammate Adair Liu. I was responsible for implementing obj loader, porting to Maya and rendering.
Watch the video - OpenGL grabscreen | The one with a cow
C++, March 2013
I implemented an incompressible fluid simulator with a Semi-Lagrangian approach based on Navier-Stokes equations based on the paper Fluid simulation: SIGGRAPH 2007.
C++, February 2013
I implemented position based dynamics for cloth simulation based on the paper Position Based Dynamics.
C++, January 2013
I implemented a 3D mass-spring particle system to simulate jello animation, which includes Forward Euler and Midpoint integration implementation, collision detection, as well as importing and rendering in Maya.
HTML/CSS/JavaScript, Processing.js, February 2013
I dsigned and created my personal website.
Ruby on Rails, jQuery, CSS, January 2013
I designed and created the International Chinese Language Teacher Society website for a startup.
C++, December 2012
I implemented a 3D ray tracer from scratch in C++, which includes creating a 3D scene graph, creating primitives (sphere, cube, cylinder) and meshes (surface revolution and extrusion), and implementing the ray tracer using the modified Phong shading model. The ray tracer can render reflectivity, transparency and refraction.
C++, September 2012
I implemented a volumetric renderer from scratch and then generated some nice clouds with it. Used a voxel buffer data structure to store voxels and implemented ray march process which gets data from the voxel buffer. Used Perlin noise to generate clouds, pyroclastic, cottons and cloudy sky images.
Unity3D, C#, December 2012
My teammates and I designed and developed Bounzzz, a physically based, 2D side scroller arcade style game. The player is given a ball which he has to balance and not let it fall on the ground. I was responsible for game art, UI design and development.
Unity3D, C#, September 2012
I designed and developed a game based on the classic Asteroid game.
Ruby on Rails, jQuery, CSS, Fall 2012
Betterific is a start up company that focuses on innovation, user experience and crowdsourcing. I worked with the CEO and CTO to define requirements, design user experience, and develop website.
HTML/CSS/Javascript, August 2012
I designed and developed a UI prototype for a gesture based drawing tool. Conducted user testing using HCI methods.
HTML/CSS/JavaScript, Summer 2012
Invidio is a start up company that provides interactive video experience using computer vision methods. I worked with the CEO, CTO to design the UX and develop the front-end of the website.
See samples: landing page | image1 | image2
Maya C++ API, MEL, May 2012
I implemented a Maya Non-Photorealistic Line Drawing Tool based on SIGGRAPH 2010 paper: Programmable rendering of line drawing from 3D scenes along with my teammate. I was responsible for implementing GUI and rendering effects.
C++, March 2012
I implemented rigid body simulation.
C++, December 2011
I implemented curve editor, BVH player, particle system, behaviour model.