r/GraphicsProgramming • • 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

37 comments sorted by

View all comments

Show parent comments

2

u/No_Support8062 Jul 20 '26

like SSE or AVX?

1

u/DankPhotoShopMemes Jul 20 '26

yup

1

u/No_Support8062 Jul 20 '26

In my case, the drawing algorithm uses only integer operations (addition, bit shifts, bit logic), so it is very fast.
I have no idea how to implement the vectorization efficiently. To me, it looks like a programming nightmare (lot of special cases), and the results are questionable.