Software rendering in 500 lines of bare C++
haqr.eu - 192 poäng - 32 kommentarer - 22584 sekunder sedan
Kommentarer (12)
- articulatepang - 19690 sekunder sedanI went through this a few months ago in Rust. I wrote all the code by hand, no LLMs. Then I went ahead and added a small "game" on top, plus some special effects like pixelization shaders and chromatic aberration at the edge of a flashlight.
https://github.com/kshitijl/tinyrenderer-rs
if anyone is interested! The repo has lots and lots of in-progress screenshots so you can see the renderer come to life, plus all the hilarious visual bugs along the way.
I learned a lot! My biggest lesson, other than the specifics of how rendering works, was that modern CPUs are really fast: a single-threaded CPU renderer can definitely run an interactive 3D game with some fancy special effects.
- nkanaev - 17519 sekunder sedanThis resource, along with Mathematics for Computer Graphics by John Vince [1], was truly indispensable when I wrote my own software renderer [2]. This was long before LLMs, so the whole process took me at least a couple months - most of it trying to wrap my head around math behind computer graphics and tracking down C segmentation faults. Fun times.
[1]: https://www.amazon.co.uk/Mathematics-Computer-Graphics-John-...
- bob1029 - 19991 sekunder sedanI wish we could have just one of these tutorials properly cover the concern of triangle clipping. This is the part that I struggle with the most in a software renderer. If you are going to be building a practical one, this is something you will eventually have to deal with, even for super basic scenes. Any time geometry intersects the view frustum you need to clip those triangles.
- espetro - 16854 sekunder sedanFinally an engineering feat that's not built in Rust
- 0x1ceb00da - 6225 sekunder sedanOk I'm following along but how do I view the tga files that this program produces? Windows can't open them.
- t1234s - 20830 sekunder sedanI jumped when the first image loaded on the page.. didn't expect that.
- anthk - 15062 sekunder sedanThere was a software rendered game in vein of Tomb Raider 1 graphics for both DOS and Unix, but I can't remember its name. It was an exploration game, modern, a bit cyberpunkish, in 3D.
- brcmthrowaway - 10799 sekunder sedanHow does this differ from POVRay?
- fithisux - 13780 sekunder sedanThis is a very good article.
- uncivilized - 15749 sekunder sedanI thought this would be something new but it’s just ssloy’s tinyrenderer. Article should have a date since it’s old as dirt
- chrisjj - 19088 sekunder sedan"Comments
An error occurred: API rate limit already exceeded "
- Sharlin - 13111 sekunder sedanI've been wanting to write a series of articles exactly like this for a long time. Good that someone else has done it now =D
Nördnytt! 🤓