*Warning*: this page may not work on your mobile device


Camera Position:

Look Angle:

Lighting Position:

This is a project I did for school, but I went above and beyond the requirements. We were required to implement a certain number objects and shaders, but I architected my program so that I could render as many objects with as many shaders as I want. I do this via data-driven programming (I give my program a list of objects). I had a lot of fun doing this and, in the future, it would be cool to implement object shadows!

Getting my WebGL script running in this react project was a whole other problem to solve. I ended up bundling the whole script with webpack and then using raw JavaScript to create a script element.