Cpu Recursive Ray Tracer

CSE167 - Computer Graphics - Final Project

Within CSE 167: Computer Graphics, I developed both a (1) bezier and bspline 3d modeling program, and (2) a CPU-based recursive ray tracer

3d Curve Modeling Program

Using OpenGL and C++, I constructed a program capable of both visualizing B-Spline and Bezier Curves, as well as revolving the curves to generate a mesh, arbitrary 3rd transforms to the meshes, and rotating the camera view (through transformations of the ModelView matrix)

Model program examples

CPU Recursive Ray Tracer

Using C++, I, along with my partner, Jett Bui,, also constructed a recursive ray tracer.

The raytracer assignment originally featured basic functionality, including creating scenes of geometric primitives (triangles, spheres) with reflective raytracing. Using optimizations of octree and multiprocessing, we were able to achieve a 160x speedup for complicated scenes (including the Stanford Dragon)

As a part of extensions of the project, we added:

  • Normal Mapping
  • Environment Mapping (skybox cubemap)
  • Texture color mapping w/ Nearest-Neighbor and linear interpolation
  • Anti Aliasing
  • Soft Shadows
  • Snell’s Law Refractions
Raytracing results gallery