Skip to content

mororo18/draw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

draw

real-time renderer from scratch

description

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.

dependencies

install the latest version of rust and:

$ sudo apt install libx11-dev libxi-dev libxfixes-dev libxcursor-dev libwayland-dev clang pkg-config llvm

build and run

$ git clone https://github.com/mororo18/draw.git
$ cd draw
$ cargo run --release

screenshot

alt text

todo

  • 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

About

cpu-based real-time renderer from scratch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages