Aiming to build a pure self-made C++-based renderer.
This project aims to document my self-learning journey in Computer Graphics and further improve it in the future. I will try to write all the code myself and strive to accurately reproduce the equations. As a result, the code may have a fully-personalized style. One of the main objectives is to ensure that all important code blocks are accompanied by detailed annotations, providing better understanding for readers. Additionally, I will work towards adding more functions and reproducing interesting papers using this renderer.
This project is powered by WSL2 with Ubuntu 20.04.
sudo apt install gcc libx11-dev
make ./main
Press W A S D I K to control the camera.
Press 8 2 4 6 + - to control the light.
- Orbital Camera
- UI
- Antialiasing
- Back-face culling
- Skybox
- Ray-tracing for Rasterizer
- ……
https://nostarch.com/computer-graphics-scratch
https://github.com/ssloy/tinyrenderer