this is a website about me, caroline cullen

LANGUAGE DESIGN


Mini Compiler - Java

compiler for Mini language. utilizes LLVM IR.

Nexus Interpreter - SML

interpreter including: lexing, parsing, evaluation, objects, and static type checking



GRAPHICS

Game Engine - C++

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.

RayTracer - C++

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.

Blender the Video Game - C++, OpenGL

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.



OTHER

SpiderMonkey Runtime Data Structures Visualization Graphic

i drew a graphic visualizing SpiderMonkey's runtime data structures that is pretty cute and useful.