3 ms·
Show HN: A toy ray tracer in Rust
- banachtarski 11y agoPath tracer. Ray tracer implies a Whitted Ray Tracer. This is clearly using Monte Carlo sampling and BRDFs to scatter rays using multi-bounce lighting (hence paths instead of rays)
- Twinklebear 11y agoYou're right, these images are rendered with path tracing (I do also have a Whitted integrator). However tray_rust is a ray tracer in the general sense where it refers to a family of methods that all involve tracing rays to render an image, eg. Whitted recursive ray tracing, Path tracing, Bidirectional path tracing, Photon mapping, Metropolis light transport, Vertex Connection and Merging, etc. (since I hope to implement some of these methods as well!).
- CyberDildonics 11y agoRay tracing is just colliding a line with some other goemetric primitive. It doesn't imply Whitted ray tracing at all. Basically all offline rendering now in toy renderers to high end production renderers is some sort of physically based ray tracing, so it is the norm rather than the exception.
- banachtarski 11y agoThe point is definitely pedantic but the differentiating factor in my mind isn't whether the ray is physically based or not. The important fact is that the ray undergoes multiple bounces, so at the end, a pixel isn't lit with a single ray, but many rays that meet end to end.
- tinco 11y agoI didn't know that Physically Based Rendering was introduced as a book, and that book is a literate program (as in, you can compile the book and get a physically based renderer as a binary) that was so influential that it received an academy award(!). There's a video of two famous actors announcing them, being professionals they explain exactly what the book is about convincingly despite not having a clue what they are talking about: https://www.youtube.com/watch?v=7d9juPsv1QU https://www.youtube.com/watch?v=7d9juPsv1QU In their receiving speech they give a shout out to Donald Knuth for pioneering literate programming.