Skip to content

HambuP/Rasterizer_LOVE2D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧊 3D Software Rasterizer

A simple 3D software rasterizer built from scratch in Lua using LÖVE2D. No GPU acceleration—just pure CPU rendering to understand how 3D graphics work.

Demo

Features

  • Triangle rasterization using edge functions and barycentric coordinates
  • Perspective projection with configurable field of view
  • Z-buffering for correct depth sorting
  • Perspective-correct interpolation for depth values
  • FPS camera with mouse look (yaw/pitch) and WASD movement
  • 3D transformations with rotation matrices

What's Missing

This is a learning project, so it intentionally lacks:

  • ❌ Textures
  • ❌ Lighting (Phong, Blinn-Phong, etc.)
  • ❌ Backface culling
  • ❌ View frustum clipping (only near plane clipping implemented)
  • ❌ Anti-aliasing

If you want to understand how everything works and/or want to recreate this simple rasterizer on your own, I've made a Fully Detailed Documentation with that purpose.

About

Simple Softawere Rasterizer with Z-buffering from Scratch using LOVE2D (Fully Documented)

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages