69 lines
1.6 KiB
Markdown
69 lines
1.6 KiB
Markdown
# 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:
|
|
```sh
|
|
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
|