Monday | Wednesday | Friday, 11:00am - 11:50am, CIT 368

Spring 2022
Demo day Zoom recording: click here.

Liquid Simulation with the Fluid Implicit Particle (FLIP) Method

Adrian Chang, Yiwen Chen, Zack Cheng, Brynn Chernosky

Simulating liquids using this method.

Wildfire Simulation

Anderson Addo, Peter Li, Ziang Liu

Simulating wildfire propagation using this method.

Photon Beams

Paul Biberstein, Neev Parikh

Rendering better images faster using volumetric photon mapping, based on this paper.

Generating Digital Painting Lighting Effects

Marc Mapeke, Paul Molnar, Sean Zhan

Relighting digital paintings, based on this paper.

Conditional Neural Radiance Fields for Synthetic Scenes

Jianxin Gu, Nick Huang, Arman Maesumi

Training NeRF representations of 3D scenes with controllable attributes (light intensity, light position, material properties).

Neural Collision Detection

Ji Won Chung, Aditya Ganeshan, Dylan Hu

Training a Neural SDF representation of a deformable object to perform accurate collision detection during physical simulation, based on this paper. The first video shows how the ball misses colliding with the hand when collisions are computed against the (low res) tetrahedral simulation mesh. The second video shows how this collision is correctly detected when using the neural SDF.

Smoke Simulation

Anna Finkelstein, Alex Mina, Zach Mothner, Danielle Rozenblit

Simulating smoke, based on this paper.

Spring 2021
Demo day Zoom recording: click here.

Spring 2020
Demo day Zoom recording: click here.

Stylizing 3D Renders by Example

David Charatan, Vikas Thamizharasan, Qian Zhang, Andrew Peterson

Stylizing 3D renders using hand-drawn/painted art based on this paper

Stylizing Videos by Example

Bryce Blinn, Isa Milefchik, Caleb Trotz, Maggie Wu

Stylizing videos using hand-drawn/painted art based on this paper

Snow Simulation

Jenna Soenksen, Jeff Demanche

Simulating the motion of packed snow based on this paper


Henry Stone, Katie Scholl, Meredith Young-Ng, Selena Ling

Converting strokes painted in VR to watertight surface meshes based on this paper

Smoke Simulation

Tucker Berckmann, Ryan Greenblatt

Simulating the motion of smoke and fire based on this paper

Spring 2019

Cloud Simulation

Vicki Tan, Brad Guesman, Kelly Wang

An implementation of cumuliform cloud simulation with computational fluid dynamics based on this paper

Volume Rendering

Ruiqi Mao, David Mayans, Arun Drelich, Ashley Kim

An implementation of volume rendering based on algorithms described in this Pixar paper


Montana Fowler, Ben Gabinet, Leon Lei, Fawn Tong

An application to perform stroke consolidation in artist sketches as per this paper.

Image-based material editing

Natalie Lindsay, Purvi Goel, Michael Chen

Tools for artists to edit the scene lighting, object materials, and texture patterns in single images.

Liquid Simulation and Surface Tracking

Dylan Tian, Thomas Vandermillen

Nothing more graphics than a fluid simulation! Implementation based on this paper

Controlling Caustics

Michael Cosgrove, Grishka Barboy, Brandon Li, Dain Woods

Controlling material shape for bending light to produce fancy caustics, as per this paper

Spring 2018

Spatio-temporal Variance-Guided Filtering

Loudon Cohen, Raphael Kargon

An implementation of SVGF based on this paper. Uses a spatially-aware hierarchical filter combined with temporal accumulation/reprojection to attempt real-time denoised path-tracing.

NPR Renderer

Kai Wang, Tianmu Lan, Ruolan Tang

A non-photorealistic renderer with a watercolor and ink style.

Position-based Fluids

Adarsh Narayanan, Daniel Engel, Jeffery Hao

An iterative density solver integrated into the Position Based Dynamics framework (PBD). Based on this paper.

Simulation of Curly Hair

Cecilia Bèrriz, Roman Blum, Nicholas Tomlin, Eli White

A simulation of curly hair based on this work.

Simulates hair using three springs (stretch, bending, and core) and collisions using spheres around each particle and the approximate head model. Utilizes MSAA, single/multi-hair interpolation, B-spline smoothing, billboarding, and hair shading.

SMMB Renderer

Sarah Gilmore, Mae Heitmann, Manav Kohli, Ben Weissmann

A bidirectional path-tracing implementation with multiple importance sampling, sub-surface scattering, and feature-enhanced denoising.

Spring 2017

Rendering virtual objects into photographs

Numair Khan, Patricio Ricaud, Betty Peng

Our project aims to insert a virtual object into a real photograph of a room. We created a user interface to use G3D scenes to model the room, light sources, and simple geometry (i.e. desks, chairs, etc.) based on the photograph. We then place the virtual object into the scene/image and render the two together.

Photon Beams

Deformable "knuckles" for realistic hands

Liam Callanan

Spring 2016

Unified Particle Systems

Abdullah Yousufi, Neel Virdy, Sam Gondelman

We have designed a GPU based particle system to handle inter-particle interactions. The system is versatile enough to support numerous mediums, including fluids, smoke, rigid bodies, cloth, and granular materials, all in real time. The underlying constraint system is easily extensible to support a wide variety of constraints.

Generation of Unbounded Procedural Landscape using Hydrology

Lucas Priebe, Vijay Narayanan

We used the paper "Terrain Generation Using Procedural Models Based on Hydrology" to generate procedural terrain over an endless landscape.

Transforming 3D models into contours with stylized shading

Divya Mahadevan, Josh Tveite, Michelle Lin, Vivian Morgowicz

An implementation of the paper “Computing smooth surface contours with accurate topology” by Pierre Benard, Aaron Herzmann, and Michael Kass (2014). We re-mesh and refine 3D models to extract consistent contours. Contours are then composited with a watercolor shader to produce a stylized 2D representation of the original model.

Predictive-Corrective Incompressible SPH Simulation

Zihao Li, Samuel Johnson, Dixuan Yang

This work is based on Predictive-Corrective Incompressible SPH (PCISPH), which is an improvement of the original SPH simulation method by applying an additional prediction-correction loop to achieve the incompressibility as well as allowing larger simulation timesteps. In order to enhance the quality and stability of this simulation, we integrated concepts from other related papers such as enabling self-adjusted time steps, applying particle collision tests, using a more practical "cohesion-viscosity-curvature surface tension model", dealing with boundary particle issues result from insufficient neighbors, etc. Once we have the particles simulated, we render them using screen-space fluid rendering with curvature flow. This technique creates a screen space smooth mesh from the particles using a blurred depth map. It also creates a thickness map of the particles. Combining these two maps with realistic shading produces realistic rendering of water in real time.

Spring 2015

Shallow Lava Flow Simulation

By Nate Bowditch (nbowditch)

Description: "Lava flow over a heightmap-based terrain is simulated using a simplified version of the shallow water equations. The project started out by implementing the paper Fast Hydraulic Erosion Simulation and Visualization on GPU by Xing Mei, Philippe Decaudin, and Bau-Gang Hu. In this paper, values such as the flow and height of fluid at each cell on a grid are stored on the GPU in the pixels of textures. These values are used to redraw the mesh of the fluid after each timestep as well as calculate how the fluid will move. To make this work for lava, heat energy is tracked across cells, and over time, heat energy slowly approaches the temperature of the environment. The average temperature between adjacent cells is made to be proportional to the cross-sectional area of the virtual pipe connecting the adjacent cells. This virtual pipe limits the flow between adjacent cells; thus, temperature is made to have an effect on the viscosity of the lava, where hotter lava is less viscous. To get the lava to be a realistic color, there is a simplified integration over wavelength energy values found via Planck's law. Hotter lava appears bright orange and cool lava appears dark red or black."

Unified Particle Solver

An implementation of Macklin et. al's Unified Particle Physics for Real-Time Applications for both the CPU and GPU.

This physics simulation was implemented on both the CPU (leveraging the Qt framework) and GPU (using CUDA) as a final project for Brown University's graduate-level course CSCI2240: Interactive Computer Graphics by Evan Birenbaum '15, Logan Barnes '15, and Geoff Trousdale '15.

Hairy Potter and the Real Time Hair

Physical simulation and GPU rendering of hair and fur in real time utilizing techniques from a salmagundi of papers By Mike Ravella (mravella), Brandon Montell (bmontell), and Andrew DiMarco (adimarco)

Real-time Hair from Mike Ravella on Vimeo.

Spring 2014

Material Point Snow Simulation on the GPU

An implementation of a paper by Disney (A Material Point Method for Snow Simulation) that was improved on by using CUDA to move calculations to the GPU. Team members are: Max Liberman (mliberma), Wil Yegelwel (wyegelwe), Eric Jang (evjang) and Tim Parsons (taparson). See the project page for more information.


Volume visualization of the human brain, or other 3D models, using slab-based raycasting and rendered using CUDA. Team members are: Robin Martens (rmartens) and Jake Stern (jastern).

Interactive Non-Photorealistic Rendering

For our final project we implemented a non-photorealistic shader based on Gooch et al. [1999] with silhouette edge detection using geometry shaders. As well, we implemented a non-photorealistic based smoke effect and its physical simulation using ODE (physics engine) according to McGuire et al. [2006] Our final product was a simple airplane shooter game for showcasing the effects and shaders we created. Team members are: Arthur Yidi (ayidi), Jixuan Wang (jw16) and Michael Murphy (mjm9). See the project page for more information.