This repo is based on the assignments of Computer Graphics course GAMES101 with code refactoring and additional features.
- Language Standard: C++ 17
- Build: CMake
- Additional Libraries:
- Eigen (linear algebra)
- OpenCV, stb_image (image processing)
- OBJ Loader (model loading)
Implement both rasterization and ray tracing.
-
Real-time displaying a textured cow with Blinn-Phong lighting model and bilinear interpolation texture sampling.
-
Bézier Curve generation with anti-aliasing.
-
Whitted-Style ray tracing (Blinn-Phong lighting model with shadow effects and different materials).
-
Bounding Volume Hierarchy (implement naive BVH and BVH with SAH partition)
-
Path Tracing (BSDF with microfacet model, multiple importance sampling, anti-aliasing)
-
Rope Simulation (Semi-implicit Euler & Explicit Verlet)