https://github.com/wahn/rs_pbrt
Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...
https://github.com/wahn/rs_pbrt
graphics pathtracer pathtracing pbrt physically-based-rendering raytracer rendering rust
Last synced: 5 months ago
JSON representation
Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...
- Host: GitHub
- URL: https://github.com/wahn/rs_pbrt
- Owner: wahn
- License: other
- Created: 2016-12-21T18:53:02.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-29T17:42:51.000Z (about 1 year ago)
- Last Synced: 2024-05-12T07:22:26.338Z (11 months ago)
- Topics: graphics, pathtracer, pathtracing, pbrt, physically-based-rendering, raytracer, rendering, rust
- Language: Rust
- Homepage: https://www.rs-pbrt.org
- Size: 210 MB
- Stars: 797
- Watchers: 22
- Forks: 58
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - wahn/rs_pbrt
- awesome-pest - rs_pbrt - Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. (Projects)
- awesome-rust - wahn/rs_pbrt - Implements a counterpart to the PBRT book's (3rd edition) C++ code. (Applications / Graphics)
- fucking-awesome-rust - wahn/rs_pbrt - Implements a counterpart to the PBRT book's (3rd edition) C++ code. (Applications / Graphics)
- fucking-awesome-rust - wahn/rs_pbrt - Implements a counterpart to the PBRT book's (3rd edition) C++ code. (Applications / Graphics)
README
# rs_pbrt
[](https://crates.io/crates/rs_pbrt)
[](https://rs-pbrt.readthedocs.io/en/latest/?badge=latest)
[](https://deps.rs/repo/github/wahn/rs_pbrt)
[](https://builds.sr.ht/~wahn/rs-pbrt?)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
```shell
> cargo build --release --no-default-features
> ./target/release/rs_pbrt --help
rs_pbrt version 0.9.12 (unknown) [Detected 28 cores]Physically based rendering (PBR) with Rust
Usage: rs_pbrt [OPTIONS] --path
Options:
--cropx0 Specify an image crop window [default: 0.0]
--cropx1 Specify an image crop window [default: 1.0]
--cropy0 Specify an image crop window [default: 0.0]
--cropy1 Specify an image crop window [default: 1.0]
-i, --integrator ao, directlighting, whitted, path, bdpt, mlt, sppm, volpath
-t, --nthreads use specified number of threads for rendering [default: 0]
-s, --samples pixel samples [default: 0]
-p, --path The path to the file to read
-h, --help Print help information
-V, --version Print version information
```## Test Scenes
Some images of the test scenes are shown below, but you can find more
test scenes on [GitLab][test-scenes].## Ganesha Statue
Very detailed scan of a small statue with over 4.3 million triangles,
illuminated by a few area light sources.
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`pbrt_ganesha.tar.gz`).## Subsurface Scattering (SSS)

The scene can be found within the [GitLab repository][gitlab_pbrt]
(`sss_dragon.tar.gz`).## Stochastic Progressive Photon Mapping (SPPM)
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`caustic_glass.tar.gz`).## Ecosystem (Cover image for the first edition of the PBRT book)

The scene can be found within the [GitLab repository][gitlab_pbrt]
(`pbrt_ecosys.tar.gz`).## Landscape (Cover image for the third edition of the PBRT book)

## Hair
The [hair scattering][hair-scattering] model in action:
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`pbrt_hair.tar.gz`).## Japanes Classroom by NovaZeeke
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`bitterli_classroom.tar.gz`).## The White Room by [Jay-Artist][jay-artist]
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`bitterli_living-room-2.tar.gz`).## Country Kitchen by [Jay-Artist][jay-artist]
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`bitterli_kitchen.tar.gz`).## The Wooden Staircase by [Wig42][wig42]
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`bitterli_staircase.tar.gz`).## Conference Room by Anat Grynberg and Greg Ward
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`radiance_conference_room` folder).## Theater by Charles Ehrlich and Greg Ward
The scene can be found within the [GitLab repository][gitlab_pbrt]
(`radiance_theater` folder).For more information check out the `rs-pbrt` [web page][rs-pbrt].
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)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.[test-scenes]: https://gitlab.com/jdb-walter/rs-pbrt-test-scenes/wikis/home
[gitlab_pbrt]: https://gitlab.com/jdb-walter/rs-pbrt-test-scenes/-/tree/master/pbrt
[jay-artist]: https://www.blendswap.com/user/Jay-Artist
[wig42]: https://www.blendswap.com/user/Wig42
[hair-scattering]: http://www.pbrt.org/hair.pdf
[rs-pbrt]: https://www.rs-pbrt.org