An rendered image of Hatsune Miku in Scotty3D.
An action figure of Hatsune Miku, rendered by my implementation of Scotty3D.

Scotty3D is a C++ 3D graphics toolkit including a mesh editor, a path tracer and an interactive animator. This is part of the coursework of the CMU 15-462/662 Computer Graphics course and the base code is available on GitHub.

The rendered image above used art assets by Rummy[1] and Breanne Millette[2].


  1. Model: Miku Hatsune V3 (Rummy) by Rummy, Link: https://mikumikudance.fandom.com/wiki/Miku_Hatsune_V3_(Rummy). ↩︎

  2. Skybox image: Carousel by Breanne Millette on Artstation, Link: https://www.artstation.com/artwork/xwWGX. ↩︎

PathTracer

  • Coded key features for a Monte Carlo path tracer, including the BVH builder/traverser, the path tracing algorithm and importance-based environment map sampler
  • Implemented extra techniques such as multi-jittered sampling
  • Extended the Collada parser and the material class to support rendering textured surfaces

MeshEdit

  • Finished key functions for a halfedge-based mesh editor
  • Coded local operations such as edge collapse and global operations such as isotropic remeshing

Animation

  • Finished key features of an interactive animator with skeleton kinematics
  • Implemented "an integrator for the wave equation across the mesh" [1]

  1. Description copied from the wiki page of Scotty3D's GitHub repo. ↩︎