~wahn/rs-pbrt

Physically based rendering (PBR) with Rust

ea7293b Merge branch 'master' of git.sr.ht:~wahn/rs-pbrt

~wahn pushed to ~wahn/rs-pbrt git

17 days ago

60396dc Merge branch 'master' of git.sr.ht:~wahn/rs-pbrt

~wahn pushed to ~wahn/rs-pbrt git

30 days ago

#rs_pbrt

crates.io 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/rs_pbrt/index.html or https://www.rs-pbrt.org/doc/crates/rs_pbrt/index.html

#Usage

> cargo build --release --no-default-features
> ./target/release/rs_pbrt --help
rs_pbrt version 0.9.8 (unknown) [Detected 28 cores]

Physically based rendering (PBR) with Rust

Usage: rs_pbrt [OPTIONS] --path <PATH>

Options:
      --cropx0 <CROPX0>          Specify an image crop window <x0 x1 y0 y1> [default: 0.0]
      --cropx1 <CROPX1>          Specify an image crop window <x0 x1 y0 y1> [default: 1.0]
      --cropy0 <CROPY0>          Specify an image crop window <x0 x1 y0 y1> [default: 0.0]
      --cropy1 <CROPY1>          Specify an image crop window <x0 x1 y0 y1> [default: 1.0]
  -i, --integrator <INTEGRATOR>  ao, directlighting, whitted, path, bdpt, mlt, sppm, volpath
  -t, --nthreads <NTHREADS>      use specified number of threads for rendering [default: 0]
  -s, --samples <SAMPLES>        pixel samples [default: 0]
  -p, --path <PATH>              The path to the file to read
  -h, --help                     Print help information
  -V, --version                  Print version information

#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 GitLab repository (pbrt_ganesha.tar.gz).

#Subsurface Scattering (SSS)

SSS Dragon

The scene can be found within the GitLab repository (sss_dragon.tar.gz).

#Stochastic Progressive Photon Mapping (SPPM)

SPPM CausticGlass

The scene can be found within the GitLab repository (caustic_glass.tar.gz).

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

Ecosystem

The scene can be found within the GitLab repository (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 ofPBRT

The scene can be found within the GitLab repository (pbrt_hair.tar.gz).

#Japanes Classroom by NovaZeeke

Classroom room rendered byrs_pbrt

The scene can be found within the GitLab repository (bitterli_classroom.tar.gz).

#The White Room by Jay-Artist

The White Room rendered byrs_pbrt

The scene can be found within the GitLab repository (bitterli_living-room-2.tar.gz).

#Country Kitchen by Jay-Artist

Kitchen rendered byrs_pbrt

The scene can be found within the GitLab repository (bitterli_kitchen.tar.gz).

#The Wooden Staircase by Wig42

Staircase rendered byrs_pbrt

The scene can be found within the GitLab repository (bitterli_staircase.tar.gz).

#Conference Room by Anat Grynberg and Greg Ward

Conference room rendered byrs_pbrt

The scene can be found within the GitLab repository (radiance_conference_room folder).

#Theater by Charles Ehrlich and Greg Ward

Theater rendered byrs_pbrt

Theater rendered byrs_pbrt

The scene can be found within the GitLab repository (radiance_theater folder).

For more information check out the rs-pbrt web page.

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