# 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 Rust programming.

## Getting Started

This project requires the Rust nightly toolchain

To install the nightly toolchain:
```sh
rustup toolchain install nightly
rustup default nightly
```

To get a local copy up and running:

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

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

3.  **Run test:**
    ```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)
* TODO: Generate docs with cargo docs. There are a lot more crates.


## 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
