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 directly to the frame buffer 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

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