renderust
renderust copied to clipboard
Simple graphics engine capable of rendering wavefront .obj files
renderust
OpenGL-like renderer written from scratch in Rust.
Based on this guide: tinyrenderer.
Triangle rasterization is done using scanline method.
Controls
[1] — toggle normal map
[2] — toggle specular light
[3] — toggle glow map
[4] — toggle self shadow
[5] — toggle ambient occlusion
[R] — toggle light spin
[WASD / Space / Shift] — move model
[LMB] — rotate model
[Scroll] — zoom camera
[Ctrl+S] — save image (to ./output.bmp)
Demo

Diablo
Without effects

With effects (normal maps, specular light, self shadowing, glow map, ambient occlusion)

Self shadows from two lights (which are directed top-down and back-forward)

More pictures


Video
