Programming Art Animation Blog Everything


Controlling procedural modelling interactively with guiding curves

Written in collaboration with Abhishek Madan, Andrew McBurney, Paul Bardea and Tammy Liu.

October 28, 2018

A method of interactive procedural model searching, written for my fourth year research project.

We present a likelihood function for Sequential Monte Carlo sampling that lets artists draw guiding curves to control the output of generating grammars. This framework enables the high-level structure of models to be intuitively specified while allowing for sufficient variation in the low-level details. Our method can be computed at interactive rates to enable the short feedback loops required for exploratory design.


September 21, 2018

Interactive art through growing vine people.

The Engulfed Cathedral: CS488 final project

July 25, 2018

A raytraced 3d renderer and short animation created with it for Waterloo's computer graphics course.

I used this project to implement graphics techniques such as photon mapped lighting, ambient occlusion, volumetric materials, constructive solid geometry, and inverse kinematics, along with sampling methods for inverse procedural modelling.

Shawarma Tycoon

July 14, 2018

Grow your upstart Shawarma restauraunt into a local business juggernaut!

This project is functional but highly sarcastic.

See more in Programming


View from QNC

December 16, 2017

View from inside QNC in the winter

Emerald Bay

June 14, 2017

Emerald Bay in Lake Tahoe, made at a Google paint night

Palo Alto Bears

June 11, 2017

Sketches of some bear sculptures in a park by my house

View from Tahoe

May 31, 2017

View of the mountains in the Lake Tahoe region

See more in Art



May 4, 2017

A vignette about the changing of seasons.

On Privacy and Encryption

March 8, 2017

A video essay about why we shouldn't build backdoors into our encryption

Air on the Side of Caution

June 2, 2014

A mysterious man tries to get on a plane.

The Last Supper

April 14, 2014

Obnoxious customers enter a restaurant right before closing.

See more in Animation


A year and a half of music

December 19, 2018

As a Google Play Music subscriber, I get jealous of Spotify's year-in-review stats. I decided to remedy this by scraping my music listening data and doing some analysis myself.

Improving the procedural modelling workflow

November 17, 2018

A discussion of the most tedious parts of something made to make modelling less tedious, and how they can be improved.

Real-time shadows: arriving at the SSAO algorithm

April 14, 2018

A review of the design constraints leading to the widespread use of SSAO

Purpose: A Year in Review

December 21, 2017

A reflection on the growing up I did this year.

See more in Blog