Io_scene_pbrt (Blender export) & rs-pbrt (a Rust based PBR implementation)

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:

(after getting the source code and compiling it via cargo)

Call for participation in case you know Blender and Python:

What’s the intended audience?

  1. People who want to learn about rendering (by reading the book, comparing C++ vs. Rust code)
  2. Curious about Rust? “a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
  3. 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) …


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)

1 Like