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.
Jan Walter e057694f13 Finish StratifiedSampler::start_pixel(...). See issue #122. 1 week ago
assets Implement and use (e.g. for AO) latin_hypercube(...). 1 week ago
examples Reactivate SPPMIntegrator. Bring back examples/parse_blend_file.rs. 2 weeks ago
profile Start profiling via cpuprofiler crate. 2 years ago
src Finish StratifiedSampler::start_pixel(...). See issue #122. 1 week ago
.gitignore Wed Dec 21 20:00:39 CET 2016 3 years ago
.travis.yml Travis fails far too often. Let's try this. 6 months ago
Cargo.lock typed-arena = "2.0" 1 week ago
Cargo.toml typed-arena = "2.0" 1 week ago
LICENSE Initial commit 3 years ago
Makefile Example code for MitchellNetravali and LanczosSincFilter. 3 months ago
OpenEXR.txt [skip ci] Add './bootstrap' step and bash environment. 2 years ago
README.md [skip ci] Landscape (Cover image for the third edition of the PBRT book). 3 months ago

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

> cargo run --release -- -h
Usage: target/release/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

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

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