Giter Site home page Giter Site logo

frankfanslc / rs_pbrt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wahn/rs_pbrt

0.0 1.0 0.0 215.6 MB

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...

Home Page: https://www.rs-pbrt.org

License: Other

Makefile 0.03% Rust 99.90% Handlebars 0.07%

rs_pbrt's Introduction

rs_pbrt

crates.io Build Status Documentation Status dependency status builds.sr.ht status

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

> cargo build --release --no-default-features
> ./target/release/rs_pbrt --help
rs_pbrt 0.9.5
Parse a PBRT scene file (extension .pbrt) and render it

USAGE:
    rs_pbrt [OPTIONS] <path>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --cropx0 <cropx0>            Specify an image crop window <x0 x1 y0 y1> [default: 0.0]
        --cropx1 <cropx1>            Specify an image crop window <x0 x1 y0 y1> [default: 1.0]
        --cropy0 <cropy0>            Specify an image crop window <x0 x1 y0 y1> [default: 0.0]
        --cropy1 <cropy1>            Specify an image crop window <x0 x1 y0 y1> [default: 1.0]
    -i, --integrator <integrator>    ao, directlighting, whitted, path, bdpt, mlt, sppm, volpath
    -t, --nthreads <nthreads>        use specified number of threads for rendering [default: 0]
    -s, --samples <samples>          pixel samples [default: 0]

ARGS:
    <path>    The path to the file to read

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

License

Licensed under either of

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.

rs_pbrt's People

Contributors

abusch avatar therealprof avatar wahn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.