rs_pbrt

crates.io Build Status Documentation Status dependency status builds.sr.ht status

You can find more information about rs_pbrt at https://www.rs-pbrt.org/about ...

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:

http://www.pbrt.org

Current Rust (development) documentation:

https://www.janwalter.org/doc/rust/rspbrt/index.html or https://www.rs-pbrt.org/doc/crates/rspbrt/index.html

Usage

```shell

cargo build --release --no-default-features ./target/release/rspbrt --help rspbrt 0.9.6 Parse a PBRT scene file (extension .pbrt) and render it

USAGE: rs_pbrt [OPTIONS]

FLAGS: -h, --help Prints help information -V, --version Prints version information

OPTIONS: --cropx0 Specify an image crop window [default: 0.0] --cropx1 Specify an image crop window [default: 1.0] --cropy0 Specify an image crop window [default: 0.0] --cropy1 Specify an image crop window [default: 1.0] -i, --integrator ao, directlighting, whitted, path, bdpt, mlt, sppm, volpath -t, --nthreads use specified number of threads for rendering [default: 0] -s, --samples pixel samples [default: 0]

ARGS: The path to the file to read ```

Test Scenes

Some images of the test scenes are shown below, but you can find more test scenes on GitLab.

Ganesha Statue

Very detailed scan of a small statue with over 4.3 million triangles, illuminated by a few area light sources.

Ganesha Statue

The scene can be found within the repository (assets/scenes/ganesha.tar.gz).

Subsurface Scattering (SSS)

SSS Dragon

sssdragonpbrt.tar.gz

Stochastic Progressive Photon Mapping (SPPM)

SPPM Caustic
Glass

caustic_glass.tar.gz

Ecosystem (Cover image for the first edition of the PBRT book)

Ecosystem

pbrt_ecosys.tar.gz

Landscape (Cover image for the third edition of the PBRT book)

Landscape

Hair

The hair scattering model in action:

Curly and straight hair rendered by Rust version of
PBRT

Japanes Classroom by NovaZeeke

Classroom room rendered by
rs_pbrt

classroom_pbrt.tar.gz

The White Room by Jay-Artist

The White Room rendered by
rs_pbrt

living-room-2_pbrt.tar.gz

Country Kitchen by Jay-Artist

Kitchen rendered by
rs_pbrt

kitchen_pbrt.tar.gz

The Wooden Staircase by Wig42

Staircase rendered by
rs_pbrt

staircase_pbrt.tar.gz

Conference Room by Anat Grynberg and Greg Ward

Conference room rendered by
rs_pbrt

conferenceroompbrt.tar.gz

Theater by Charles Ehrlich and Greg Ward

Theater rendered by
rs_pbrt

Theater rendered by
rs_pbrt

theater_pbrt.tar.gz

For more info look at the Wiki page or the release notes.

Here you find another Rust implementation:

https://bitbucket.org/abusch/rustracer

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.