No description
Find a file
2025-11-07 15:24:23 +00:00
src Added BxDF support, still somewhat broken. Starting work on image reading, writing. At the moment, this is completely broken. Fixed some issues with cameras, matrix operations, math 2025-11-07 15:24:23 +00:00
.gitignore Added transformations, quaternion logic, spectra, and beginning of camera 2025-11-03 02:14:10 +00:00
Cargo.toml Refactored, added camera types, filters, films, starting on reflection and scattering 2025-11-05 03:37:13 +00:00
README.md Added BxDF support, still somewhat broken. Starting work on image reading, writing. At the moment, this is completely broken. Fixed some issues with cameras, matrix operations, math 2025-11-07 15:24:23 +00:00

PBRust

Description

A Rust implementation of the physically based renderer described in the tremendous book Physically Based Rendering: From Theory to Implementation by Matt Pharr, Wenzel Jakob, and Greg Humphreys. This project aims to explore modern Rust features, and create a performant and stable rendering engine.

This implementation is currently under development and serves as a learning exercise for both advanced rendering techniques and cutting-edge Rust programming.

Getting Started

This project requires the Rust nightly toolchain

To install the nightly toolchain:

rustup toolchain install nightly
rustup default nightly

To get a local copy up and running, follow these simple steps.

1.  **Clone the repository:**
    ```sh
    git clone <your-repository-url>
    cd pbrt
    ```

2.  **Build the project:**
    ```sh
    cargo build
    ```

3.  **Run the executable:**
    ```sh
    cargo run
    ```

4.  **Run tests:**
    ```sh
    cargo test
    ```

## Dependencies

This project relies on the following external crates:

*   [**bitflags**](https://crates.io/crates/bitflags)
*   [**bumpalo**](https://crates.io/crates/bumpalo)
*   [**num**](https://crates.io/crates/num) & [**num-traits**](https://crates.io/crates/num-traits)
*   [**once_cell**](https://crates.io/crates/once_cell)
*   [**rand**](https://crates.io/crates/rand)
*   [**thiserror**](https://crates.io/crates/thiserror)


## Help

Good luck.

command to run if program contains helper info


## Authors

## Version History

## License

This project is licensed under the [NAME HERE] License - see the LICENSE.md file for details

## Acknowledgments