Rust crate to implement at least parts of the PBRT book's C++ code. See also https://www.rs-pbrt.org/about ...
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
examples
profile
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
Makefile
OpenEXR.txt
README.md

README.md

rs_pbrt

Build Status dependency 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

> ./target/release/examples/rs_pbrt -h
Usage: ./target/release/examples/rs_pbrt [options]

Options:
    -h, --help          print this help menu
    -i FILE             parse an input file
    -t, --nthreads NUM  use specified number of threads for rendering
    -v, --version       print version number

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

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

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