jalberse / shimmer

Physically based rendering in Rust
Apache License 2.0
33 stars 0 forks source link

Shimmer

Shimmer is a physically based, spectral rendering system based on the ray tracing algorithm. It is currently under development.

Example Scenes

transparent_machine

Render of a glass machine, showing the effects of dispersion. Model created by @beeple

crown

A render of a crown model created by Martin Lubich.

ganesha

Ganesha - a classic model with millions of triangles, scanned by Wenzel Jakob.

Test and example scenes are available in the shimmer-scenes repository.

Acknowledgements

Shimmer is primarily based on the pbrt-v4 rendering system from pbrt.org, following "Physically Based Rendering: From Threory to Implementation" (fourth ed.) by Matt Pharr, Wenzel Jakob, and Greg Humphreys. Shimmer's goal isn't necessarily to be a 1:1 port of PBRT to Rust, however, so it may deviate where desired. If you're interested, rs-pbrt is a Rust implementation of PBRT v3.

The parsing logic for the PBRTv4 file format was borrowed from mxpv's implementation, extended as necessary.

Appropriate licenses are based in the licenses/ folder.