Coding Projects

CS 184: Computer Graphics and Imaging

Below are links to project write-ups for CS 184, which I took in the Spring 2019 semester at Cal. Projects are implemented using C++. Code samples are available upon request.

Project 4: ClothSim

In this project, I implemented real-time a cloth simulator using a mass and spring system, applying numerical integration to simulate cloth movement. I also implemented collisions with other objects as well as cloth self-collisions. Finally, I implemented diffuse, Blinn-Phong, texture mapping, bump and displacement mapping, and mirror shading using GLSL.

Project 3-2: PathTracer

In this project, I added additional features to my ray tracer from Project 3-1, including more complicated materials, environment lights, and depth of field effects.

Project 3-1: PathTracer

In this project, I implemented the core routines of a physically-based renderer using a pathtracing algorithm, practicing concepts such as ray-scene intersection, acceleration structures, and physically based lighting and materials.

Project 2: MeshEdit

In this project, I built Bezier curves and surfaces using de Casteljau's algorithm, manipulated half-edge meshes, and implemented loop subdivision.

Project 1: Rasterizer

In this project, I implemented a simple rasterizer including features like supersampling, hierarchical transforms, and texture mapping with antialiasing. The above image was rendered using my program.