Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: A toy ray tracer in Rust (github.com/twinklebear)
77 points by Twinklebear on Aug 9, 2015 | hide | past | favorite | 5 comments



I 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

In their receiving speech they give a shout out to Donald Knuth for pioneering literate programming.


Path 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)


You'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!).


Ray 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.


The 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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: