From b27b46c99ac613bb07b3ebdeaf59e7e98e2fccc4 Mon Sep 17 00:00:00 2001 From: Eric Zhang Date: Sun, 3 Jan 2021 17:54:19 -0600 Subject: [PATCH 1/3] N17: Add rpt --- content/posts/newsletter-017/index.md | 26 +++++++++++++++++++ content/posts/newsletter-017/rpt-collage.jpg | Bin 0 -> 2149192 bytes 2 files changed, 26 insertions(+) create mode 100644 content/posts/newsletter-017/rpt-collage.jpg diff --git a/content/posts/newsletter-017/index.md b/content/posts/newsletter-017/index.md index b4c7d6223..14e30c9fe 100644 --- a/content/posts/newsletter-017/index.md +++ b/content/posts/newsletter-017/index.md @@ -89,6 +89,32 @@ This month's updates: ## Library & Tooling Updates +### [rpt: a rust path tracer](https://github.com/ekzhang/rpt/) + +![demo renders](rpt-collage.jpg) +_Sample images rendered by path tracing._ + +[rpt] by [@ekzhang] is a physically based, CPU-only rendering engine written in +Rust. It uses path tracing to generate realistic images of 3D scenes. + +There's a lot of features, including kd-tree mesh acceleration, physical +material properties (microfacet BSDF with multiple importance sampling), HDRI +environment maps, OBJ/MTL/STL files, depth of field, and particle physics +simulation. + +It's also parallelized with [rayon] and available as a library on [crates.io]. +The entire source code, including code for the above examples and more, is very +short (~3K SLOC). Future directions include extending the renderer with +bidirectional path tracing and other features. + +_Discussions: +[/r/rust](https://reddit.com/r/rust/comments/k81wwi/rpt_v01/)_ + +[rpt]: https://github.com/ekzhang/rpt +[@ekzhang]: https://www.ekzhang.com/ +[rayon]: https://github.com/rayon-rs/rayon +[crates.io]: https://crates.io/ + ## Popular Workgroup Issues in Github diff --git a/content/posts/newsletter-017/rpt-collage.jpg b/content/posts/newsletter-017/rpt-collage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6042b871b92c143a7f8d40246d9f43855147dfec GIT binary patch literal 2149192 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