Show HN: I wrote a C++ ray tracer from scratch without AI

github.com

131 points by martiano 8 hours ago


ssenssei - 3 hours ago

_" Btw this was initially coded without AI, but I've used it for the recent clean up and features. "_

???

martiano - 8 hours ago

Hey HN,

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.

jasonjmcghee - 2 hours ago

This is (or at least used to be) a right of passage in the graphics world.

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.

evilturnip - 3 hours ago

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.

ivanjermakov - 3 hours ago

Me too, but in TS/WebGPU: https://github.com/ivanjermakov/moonlight

Very fun! Packing data for GPU-side BVH was quite tricky.

Phelinofist - 4 hours ago

"Without AI" is the new "Written in Rust", SCNR

eleventen - 4 hours ago

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.

cultofmetatron - 6 hours ago

for anybody else interested in this undertaking, I recommend this book https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...

Alifatisk - 5 hours ago

> without AI

Now this is how you catch attention

deadbabe - 25 minutes ago

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.

brianolson - an hour ago

yup. me too. once upon a time that was a 2 week assignment in graphics class in college

sharpfuryz - 3 hours ago

Have you considered rewriting it in Rust? Not for any technical reason (I say it reflexively now)

ddtaylor - 2 hours ago

HN ongoing support and disdain for AI is perplexing.

rajhphuyal - 2 hours ago

Great work on such a technically challenging project.

throwpoaster - an hour ago

Nice, I once built a ray tracer without using an SQL database.

py93 - 3 hours ago

Very cool!

itsthecourier - 4 hours ago

for the love of the game, very refreshing good ol' coding

tuinorizn - 3 hours ago

[dead]