compiler for Mini language. utilizes LLVM IR.
interpreter including: lexing, parsing, evaluation, objects, and static type checking
exploration and collection game called obtain., focused on aesthetics and graphics technology exploration. includes a variety of technologies such as normal mapping, spring implemented camera motion, collision detection, bloom, particle system with billboarding, soft shadows, and view frustum culling.
fully implemented raytracer including Blinn-Phong BRDF, refractions and reflections, super sampling, object transforms, bounding volume hierarchies, Monte Carlo global illumination, depth of field, and generated animations with python scripting.
video game that incorporates collision detection, randomly generated map layouts, skysphere with layered textures that are interpolated with a randomly generated sun position that makes for a cool effect, as well as a particle system with billboarding.
i drew a graphic visualizing SpiderMonkey's runtime data structures that is pretty cute and useful.