WebGL and three.js Demos

Unless otherwise stated, I created these projects as part of the Computer Graphics Programming course at the University of Montana. You can find all the source code here.

Flying Table

After teaching myself WebGL in preparation for my capstone project WikiNatural, I made... this to demonstrate everything I'd learned.

Icosahedron

The first project in Computer Graphics Programming involved generating an icosahedron in three different ways, using the Geometry, IcosahedronGeometry, and PolyhedronGeometry classes in three.js. Use the controls in the upper right to switch between generation methods.

Height Field

In this project, I generate height fields using the recursive and iterative diamond-square algorithm and grayscale images. Use the controls in the upper right to change images or variables in the algorithm. You can read more about the diamond-square algorithm in this demo here.

Disco Forest

This project required us to generate randomized trees and forests using only cylinders. It also required us to use different types of lights, so I made a disco forest. It goes well with some Daft Punk. Use the controls in the upper right to change the tree generation variables.

Snowman

I wanted to experiment with object parenting and rigging in this project inspired by Disney's Frozen. Use the controls in the upper right to change the method used to parent objects to one another. You can read more about the rig here.

IK-Rig

For the final project in Computer Graphics Programming, I continued experimenting with rigging by creating the basics of an inverse kinematic rig for an arm or leg. Use the controls in the upper right to control the limb and view its constraints. You can read more about the mathematics and rig behind this demo here.

WikiNatural

WikiNatural was my capstone project as an undergraduate Computer Science student. I contributed to the map layout, panel layout, user interface controls, and animations. You can learn more about WikiNatural here.

Created by Emily Palmieri, 2017