5 years ago I was 17 and learning to code C/C++ in a coding bootcamp (42). One of the projects was a simple C ray tracer. I really enjoyed working on the project and always loved computer graphics, so I decided to create my own path tracer from scratch, in C++, without using any third-party libraries.
I ended up working on it consistently for over a year, then sporadically when CG excitement hit me again. Recently I polished it and completed some unfinished features and decided to make it public, finally. It's a C++20 Path Tracer with a CPU renderer. It is able to render good-looking images with reasonable performance and sample count.
Btw this was initially coded without AI, but I've used it for the recent clean up and features. This project is a personal favorite of mine, and it can improve a lot, so I'd love to hear your feedback.
How did you like 42? Would you recommend it? I worked some great devs who came out of 42. They all wanted to be game developers. The industry is notoriously unreliable. So they pivoted to writing business software where the client actually pays you for more features. LOL.
A C++ ray tracer from scratch was the course project for my computer graphics class in 2016. I enjoyed the exercise immensely. Not nearly as robust as yours of course.
Ray tracing is one of those problems that is conceptually so simple, yet continues to take so much mindshare because of all the challenges to implementation.
I think these kind of projects fail to impress these days, with or without AI.
You need a second order effect, like “I did X using this thing I built Y”, where X is the actual impressive part and the Y is just an implementation detail. Maybe like that Roman Empire Names thing.
23 comments
[ 3.4 ms ] story [ 76.2 ms ] thread5 years ago I was 17 and learning to code C/C++ in a coding bootcamp (42). One of the projects was a simple C ray tracer. I really enjoyed working on the project and always loved computer graphics, so I decided to create my own path tracer from scratch, in C++, without using any third-party libraries.
I ended up working on it consistently for over a year, then sporadically when CG excitement hit me again. Recently I polished it and completed some unfinished features and decided to make it public, finally. It's a C++20 Path Tracer with a CPU renderer. It is able to render good-looking images with reasonable performance and sample count.
Btw this was initially coded without AI, but I've used it for the recent clean up and features. This project is a personal favorite of mine, and it can improve a lot, so I'd love to hear your feedback.
One of my worries about AI is that doing these deep dives are a lot harder to justify.
Now this is how you catch attention
???
Very fun! Packing data for GPU-side BVH was quite tricky.
I think many people go through the very popular https://raytracing.github.io/
There was a big influx of this when Sebastian Lague did his video series on building a ray tracer.
You need a second order effect, like “I did X using this thing I built Y”, where X is the actual impressive part and the Y is just an implementation detail. Maybe like that Roman Empire Names thing.