Free as in Freedom: Codeberg.org. Create your repos and join us!
Join Donate
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 5657d8cf13 Update pixel values from this pass's photons multi-threaded. 2 gün önce
assets Compute vertex tangents and create triangle mesh from subdivision mesh. 3 ay önce
examples Fix casting (after integer overflow) in hash(...) function. 1 hafta önce
profile Start profiling via cpuprofiler crate. 1 yıl önce
src Update pixel values from this pass's photons multi-threaded. 2 gün önce
.gitignore Wed Dec 21 20:00:39 CET 2016 2 yıl önce
.travis.yml [Travis] Rust stable and beta should work now. 7 ay önce
Cargo.lock Removing the bottleneck for HaltonSampler, using lazy_static crate. 1 hafta önce
Cargo.toml Removing the bottleneck for HaltonSampler, using lazy_static crate. 1 hafta önce
LICENSE Initial commit 2 yıl önce
Makefile Fix casting (after integer overflow) in hash(...) function. 1 hafta önce
OpenEXR.txt [skip ci] Add './bootstrap' step and bash environment. 1 yıl önce
README.md Fix link to sss_dragon_pbrt.tar.gz. 1 ay önce

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