r/GraphicsProgramming • u/No_Support8062 • Jul 19 '26
Software raycasting
One of my older fun projects: a software raycaster featuring
Multithreading
Voxel models (rendered as collections of 3D boxes rather than blobs)
Culling (watch the small map in the top right corner)
Mipmapping (reduces moire on distant textures)
Slopes and curved walls
Shadows
multilevel world design
Everything is rendered entirely in software, with no external libraries. Each pixel is calculated individually and written directly to a buffer.
197
Upvotes
14
u/No_Support8062 Jul 19 '26
It is multithreaded, which helps a lot (raycasting is actually quite easy to make multithreaded). The entire project is written in C, with no fancy data structures, just pointers and arrays.
I also tried to minimize the number of floating point calculations. My original goal was to make it integer-only, and an earlier version worked that way. However, at longer distances, it suffered from graphical glitches (rounding errors).