This is a course project I did during Computer Graphics in CMU. In this project, I had hands-on practice on render-related topics on both 2D graphics and 3D graphics. The course has provided us skeleton code for two software, DrawSVG and Scotty3D. They provided the basic UI and functions like file IO, and I was able to focus on the graphics-related functions themselves.
The programming language for this project is C++.
Below are some demonstrations of the project:
(Rasterizing triangles and performing super-sampling anti aliasing)
(Rasterizing texture image and perform mipmapping)
(Performing various operations on object scale)
(Performing operation on vertex/edge/face scale. Available operations include move, rotate, scale, bevel and collapse/delete)
Worked on physical-based rendering algorithm for Lambert, glass and mirror material. Also supported sampling and rendering for various light source like area light and HDRI map.
Apply rigging and skinning for half-edge structured 3D models. Also supported IKs.