Scotty3D

 This 3D graphics software implements interactive mesh editing, realistic path tracing, and dynamic animation.

Implementing the functionality of the program constitutes the majority of the coursework for 15-462/662 Computer Graphics at Carnegie Mellon University.

Mesh Editing

We implemented several local and global mesh operations. The local operations include flip, collapse, split and bevel. The global operations include simplification, subdivision and triangulation.

During the process of implementing these operations, I had a deeper understanding of both the algorithms and the operations themselves. I also realized some issues may be caused by specific operation like beveling may cause coincide vertexes.

After implementing the functionalities, we also applied this engine to build our own models.

Scotty3DBevel.jpg
Webp.net-gifmaker (1).gif
WeChat Image_20200529002950.png

Path Tracing

I implemented rendering equation and Monte Carlo integration to render life real images.

Meanwhile, I implemented BVH structure to speed up collision detection and importance sampling the environment map to render skybox and global illumination.

cow_render.png
Slow Lightning 1 Loop.gif
Image.png

Animation

I implemented basic rigging operations like creating the joints, saving key frames using these joints and interpolating the animation with these frames.

Besides, I also implemented inverse kinematics and physical simulation, which introduced me to more practical and advanced topics.

ik.gif
CMU462_ Scotty3D 2020-05-29 01-02-09.gif