~wahn/rs-pbrt

Physically based rendering (PBR) with Rust

41ff523 Update image crate.

~wahn pushed to ~wahn/rs-pbrt git

21 days ago

a4415af Prepare v0.9.7 release.

~wahn pushed to ~wahn/rs-pbrt git

29 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 0.9.7
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:
        --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]

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