A CPU-based real-time renderer built in Rust, this project implements core graphics techniques like triangle rasterization, perspective projection, Phong shading, and texture mapping, rendering via X11. It serves as a hands-on learning tool and a foundation for exploring efficient CPU-based software rendering.
install the latest version of rust and:
$ sudo apt install libx11-dev libxi-dev libxfixes-dev libxcursor-dev libwayland-dev clang pkg-config llvm
$ git clone https://github.com/mororo18/draw.git
$ cd draw
$ cargo run --release
- perspective projection
- triangle clipping
- camera movement by mouse input
- phong shading
- texture mapping
- wavefront .obj fileformat
- normal mapping
- decent user interface :(
- anti-alising
- vertical synchronization