Something to read … (see links)
Q: What is rs-pbrt
?
A: A Rust version of PBRT
Render your first scenes using the rs_pbrt
executable:
https://www.rs-pbrt.org/blog/2018-11-16-getting-started
(after getting the source code and compiling it via cargo)
Call for participation in case you know Blender and Python:
https://www.rs-pbrt.org/blog/2018-11-20-using-blender-for-scene-creation
What’s the intended audience?
- People who want to learn about rendering (by reading the book, comparing C++ vs. Rust code)
- Curious about Rust? “
a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
” - Using the Python API? Hint: Once, in 2000/2001 I was responsible for the Python API of Blender - a long time before it (Blender) went Open Source … have done a lot import/export scripts back then (from my LinkedIn profile: “… developed a lot of freely available import/export scripts (OpenInventor, VRML 2.0, RenderMan, Povray, Radiance, Panorama, Lightflow Rendering Tools, Lightwave, Wavefront Object Files (OBJ), and 3DS).”)
To be honest, who needs another renderer? You got Cycles …
A: People who want to learn how to write their own one, or do research in that field …
Why Rust? Because I wish it would have been around 30 years ago. Nearly everything which is related to hacking and security problems comes down to problems in languages like C and C++ (dangling pointers, buffer overflows, memory leaks etc.).
I did a lot of render research in the past (even before I joined NaN, the company once behind non-open-source
, but free-for-artists
Blender). The Rust implementation is good enough as I developed it over the last 2 years (based on the books C++ code) to render beautiful images but not finished yet, it supports directlighting
, (uni-directional) path
tracing, bi-directional path tracing (bdpt
), and Metropolis Light Transport (mlt
) …
But:
I might stop investing so much time (I got a job to do). I learned a lot about the Rust language, it can easily compete with C/C++. I’m looking for participation in case someone really wants to make this production ready or at least teach Rust
/rendering
/Python
/Blender
somewhere (universities, colleges, etc.) … I still got some time to spend on this and there are things you could learn from me (and build on top of) … Enough.
If someone is interested to work on this: Let me know … here or per email (as mentioned in the links above)