{"id":13632498,"url":"https://github.com/wahn/rs_pbrt","last_synced_at":"2025-04-18T02:33:25.030Z","repository":{"id":38705455,"uuid":"77078031","full_name":"wahn/rs_pbrt","owner":"wahn","description":"Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...","archived":false,"fork":false,"pushed_at":"2024-01-29T17:42:51.000Z","size":220441,"stargazers_count":797,"open_issues_count":3,"forks_count":58,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-05-12T07:22:26.338Z","etag":null,"topics":["graphics","pathtracer","pathtracing","pbrt","physically-based-rendering","raytracer","rendering","rust"],"latest_commit_sha":null,"homepage":"https://www.rs-pbrt.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wahn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-12-21T18:53:02.000Z","updated_at":"2024-04-29T13:40:41.000Z","dependencies_parsed_at":"2023-12-30T18:33:09.349Z","dependency_job_id":"d581b9a0-4fc0-4a8c-b062-b3556db4bb84","html_url":"https://github.com/wahn/rs_pbrt","commit_stats":{"total_commits":1627,"total_committers":9,"mean_commits":"180.77777777777777","dds":"0.33927473878303627","last_synced_commit":"159a9787d509dc22fbc52032274e4cc7eae5f559"},"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wahn%2Frs_pbrt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wahn%2Frs_pbrt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wahn%2Frs_pbrt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wahn%2Frs_pbrt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wahn","download_url":"https://codeload.github.com/wahn/rs_pbrt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249414253,"owners_count":21267724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphics","pathtracer","pathtracing","pbrt","physically-based-rendering","raytracer","rendering","rust"],"created_at":"2024-08-01T22:03:04.863Z","updated_at":"2025-04-18T02:33:24.573Z","avatar_url":"https://github.com/wahn.png","language":"Rust","funding_links":[],"categories":["Rust","Applications","Projects"],"sub_categories":["Graphics"],"readme":"# rs_pbrt\n\n[![crates.io](https://img.shields.io/crates/v/rs_pbrt.svg)](https://crates.io/crates/rs_pbrt)\n[![Documentation Status](https://readthedocs.org/projects/rs-pbrt/badge/?version=latest)](https://rs-pbrt.readthedocs.io/en/latest/?badge=latest)\n[![dependency status](https://deps.rs/repo/github/wahn/rs_pbrt/status.svg)](https://deps.rs/repo/github/wahn/rs_pbrt)\n[![builds.sr.ht status](https://builds.sr.ht/~wahn/rs-pbrt.svg)](https://builds.sr.ht/~wahn/rs-pbrt?)\n\u003c!-- [![](https://tokei.rs/b1/github/wahn/rs_pbrt?category=code)](https://github.com/wahn/rs_pbrt) --\u003e\n\u003c!-- [![](https://img.shields.io/github/release-date/wahn/rs_pbrt.svg)](https://github.com/wahn/rs_pbrt/releases) --\u003e\n\u003c!-- [![](https://img.shields.io/github/issues-raw/wahn/rs_pbrt.svg)](https://github.com/wahn/rs_pbrt/issues) --\u003e\n\u003c!-- [![Build Status](https://travis-ci.com/wahn/rs_pbrt.svg?branch=master)](https://travis-ci.com/wahn/rs_pbrt) --\u003e\n\nYou can find more information about `rs_pbrt` at https://www.rs-pbrt.org/about ...\n\n**Rust** crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:\n\nhttp://www.pbrt.org\n\nCurrent **Rust** (development) documentation:\n\nhttps://www.janwalter.org/doc/rust/rs_pbrt/index.html\nor\nhttps://www.rs-pbrt.org/doc/crates/rs_pbrt/index.html\n\n## Usage\n\n```shell\n\u003e cargo build --release --no-default-features\n\u003e ./target/release/rs_pbrt --help\nrs_pbrt version 0.9.12 (unknown) [Detected 28 cores]\n\nPhysically based rendering (PBR) with Rust\n\nUsage: rs_pbrt [OPTIONS] --path \u003cPATH\u003e\n\nOptions:\n      --cropx0 \u003cCROPX0\u003e          Specify an image crop window \u003cx0 x1 y0 y1\u003e [default: 0.0]\n      --cropx1 \u003cCROPX1\u003e          Specify an image crop window \u003cx0 x1 y0 y1\u003e [default: 1.0]\n      --cropy0 \u003cCROPY0\u003e          Specify an image crop window \u003cx0 x1 y0 y1\u003e [default: 0.0]\n      --cropy1 \u003cCROPY1\u003e          Specify an image crop window \u003cx0 x1 y0 y1\u003e [default: 1.0]\n  -i, --integrator \u003cINTEGRATOR\u003e  ao, directlighting, whitted, path, bdpt, mlt, sppm, volpath\n  -t, --nthreads \u003cNTHREADS\u003e      use specified number of threads for rendering [default: 0]\n  -s, --samples \u003cSAMPLES\u003e        pixel samples [default: 0]\n  -p, --path \u003cPATH\u003e              The path to the file to read\n  -h, --help                     Print help information\n  -V, --version                  Print version information\n```\n\n## Test Scenes\n\nSome images of the test scenes are shown below, but you can find more\ntest scenes on [GitLab][test-scenes].\n\n## Ganesha Statue\n\nVery detailed scan of a small statue with over 4.3 million triangles,\nilluminated by a few area light sources.\n\n![Ganesha Statue](https://www.janwalter.org/assets/ganesha.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`pbrt_ganesha.tar.gz`).\n\n## Subsurface Scattering (SSS)\n\n![SSS Dragon](https://www.janwalter.org/assets/sss_dragon.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`sss_dragon.tar.gz`).\n\n## Stochastic Progressive Photon Mapping (SPPM)\n\n![SPPM Caustic\nGlass](https://www.janwalter.org/assets/caustic_glass_pbrt_rust_sppm.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`caustic_glass.tar.gz`).\n\n## Ecosystem (Cover image for the first edition of the PBRT book)\n\n![Ecosystem](https://www.janwalter.org/assets/ecosys.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`pbrt_ecosys.tar.gz`).\n\n## Landscape (Cover image for the third edition of the PBRT book)\n\n![Landscape](https://www.janwalter.org/assets/landscape_rust_pbrt_view_0.png)\n\n## Hair\n\nThe [hair scattering][hair-scattering] model in action:\n\n![Curly and straight hair rendered by Rust version of\nPBRT](https://www.janwalter.org/assets/hair_rust_pbrt.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`pbrt_hair.tar.gz`).\n\n## Japanes Classroom by NovaZeeke\n\n![Classroom room rendered by\nrs_pbrt](https://www.janwalter.org/assets/classroom_pbrt_rust.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`bitterli_classroom.tar.gz`).\n\n## The White Room by [Jay-Artist][jay-artist]\n\n![The White Room rendered by\nrs_pbrt](https://www.janwalter.org/assets/living-room-2_pbrt_rust_mlt.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`bitterli_living-room-2.tar.gz`).\n\n## Country Kitchen by [Jay-Artist][jay-artist]\n\n![Kitchen rendered by\nrs_pbrt](https://www.janwalter.org/assets/kitchen_pbrt_rust.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`bitterli_kitchen.tar.gz`).\n\n## The Wooden Staircase by [Wig42][wig42]\n\n![Staircase rendered by\nrs_pbrt](https://www.janwalter.org/assets/staircase_pbrt_rust.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`bitterli_staircase.tar.gz`).\n\n## Conference Room by Anat Grynberg and Greg Ward\n\n![Conference room rendered by\nrs_pbrt](https://www.janwalter.org/assets/conference_room_pbrt_rust_current.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`radiance_conference_room` folder).\n\n## Theater by Charles Ehrlich and Greg Ward\n\n![Theater rendered by\nrs_pbrt](https://www.janwalter.org/assets/theater_pbrt_rust_corner.png)\n\n![Theater rendered by\nrs_pbrt](https://www.janwalter.org/assets/theater_pbrt_rust_stage.png)\n\nThe scene can be found within the [GitLab repository][gitlab_pbrt]\n(`radiance_theater` folder).\n\nFor more information check out the `rs-pbrt` [web page][rs-pbrt].\n\n\u003c!-- For more info look at the [Wiki][wiki] page or the [release notes][release-notes]. --\u003e\n\n\u003c!-- Here you find another Rust implementation: --\u003e\n\n\u003c!-- https://bitbucket.org/abusch/rustracer --\u003e\n\n## License\n\nLicensed under either of\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or\n  http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or\n  http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the\nApache-2.0 license, shall be dual licensed as above, without any\nadditional terms or conditions.\n\n[test-scenes]:          https://gitlab.com/jdb-walter/rs-pbrt-test-scenes/wikis/home\n[gitlab_pbrt]:          https://gitlab.com/jdb-walter/rs-pbrt-test-scenes/-/tree/master/pbrt\n[jay-artist]:           https://www.blendswap.com/user/Jay-Artist\n[wig42]:                https://www.blendswap.com/user/Wig42\n[hair-scattering]:      http://www.pbrt.org/hair.pdf\n[rs-pbrt]:              https://www.rs-pbrt.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwahn%2Frs_pbrt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwahn%2Frs_pbrt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwahn%2Frs_pbrt/lists"}