JessubKim / rs_pbrt

Rust crate to implement at least parts of the PBRT book's C++ code. See also https://www.rs-pbrt.org/about ...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Rust crate to implement at least parts of the PBRT book's C++ code. See also https://www.rs-pbrt.org/about ...

License:GNU General Public License v3.0


Languages

Language:Rust 99.5%Language:Python 0.3%Language:Makefile 0.2%