Rust crate to implement at least parts of the PBRT book's C++ code. See also https://www.rs-pbrt.org/about ...
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.0 KiB

rs_pbrt

Build Status

Rust crate to implement at least parts of the PBRT book’s C++ code:

http://www.pbrt.org

Current Rust documentation:

https://www.janwalter.org/doc/rust/pbrt/index.html

Usage

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

USAGE:
    rs_pbrt [OPTIONS] <path>

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

OPTIONS:
    -t, --nthreads <nthreads>    use specified number of threads for rendering [default: 0]

ARGS:
    <path>    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

sss_dragon_pbrt.tar.gz

Stochastic Progressive Photon Mapping (SPPM)

SPPM CausticGlass

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 ofPBRT

Japanes Classroom by NovaZeeke

Classroom room rendered byrs_pbrt

classroom_pbrt.tar.gz

The White Room by Jay-Artist

The White Room rendered byrs_pbrt

living-room-2_pbrt.tar.gz

Country Kitchen by Jay-Artist

Kitchen rendered byrs_pbrt

kitchen_pbrt.tar.gz

The Wooden Staircase by Wig42

Staircase rendered byrs_pbrt

staircase_pbrt.tar.gz

Conference Room by Anat Grynberg and Greg Ward

Conference room rendered byrs_pbrt

conference_room_pbrt.tar.gz

Theater by Charles Ehrlich and Greg Ward

Theater rendered byrs_pbrt

Theater rendered byrs_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