aboutsummaryrefslogtreecommitdiff

soft-raycasting-demo

A simple (and slightly messy) software ray casting renderer, written in Rust. It uses rust_minifb to create a window within which to render and capture input. Here's some of it's features:

  • A cell based layout system.
  • Affine texture mapped walls, floors and ceilings, with each cell able to have unique textures.
  • A simple font renderer, used for an FPS display.
  • Primitive BMP parsing for fonts and textures.
  • Simple lighting effect based on the alignment of a cell's walls.
  • Sprite rendering.
  • Adjustable camera height.
  • A 2D Z-buffer.
  • Thin wall support, including transparency.
  • Per-tile fog (but not volumetric).

Based on Lode Vandevenne's graphics tutorials. All code is WTFPL licensed, and the assets in res/textures are the property of ID Software.