1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! # pbrt
//!
//! [Rust][rust] crate to implement at least parts of the [PBRT
//! book][book]'s C++ code. You can find a copy of the current code
//! [here][repo].
//!
//! The main render loop for integrators implementing the
//! `SamplerIntegrator` trait can be found [here].
//!
//! There are three more render loops:
//!
//! 1. [render_bdpt][render_bdpt] for bidirectional path tracing
//! 2. [render_mlt][render_mlt] for Metropolis Light Transport
//! 2. [render_sppm][render_sppm] for Stochastic Progressive Photon Mapping
//!
//! [rust]: https://www.rust-lang.org
//! [book]: http://www.pbrt.org
//! [repo]: https://github.com/wahn/rs_pbrt
//! [here]: https://www.rs-pbrt.org/doc/crates/pbrt/integrators/fn.render.html
//! [render_bdpt]: https://www.rs-pbrt.org/doc/crates/pbrt/integrators/bdpt/fn.render_bdpt.html
//! [render_mlt]: https://www.rs-pbrt.org/doc/crates/pbrt/integrators/mlt/fn.render_mlt.html
//! [render_sppm]: https://www.rs-pbrt.org/doc/crates/pbrt/integrators/sppm/fn.render_sppm.html

#[macro_use]
extern crate hexf;
extern crate atom;
extern crate atomic;
extern crate byteorder;
#[cfg(feature = "openexr")]
extern crate half;
extern crate image;
#[macro_use]
extern crate lazy_static;
extern crate num;
#[cfg(feature = "openexr")]
extern crate openexr;
extern crate ply_rs;
extern crate rayon;
extern crate time;
extern crate typed_arena;

pub mod accelerators;
pub mod blockqueue;
pub mod cameras;
pub mod core;
pub mod filters;
pub mod integrators;
pub mod lights;
pub mod materials;
pub mod media;
pub mod samplers;
pub mod shapes;
pub mod textures;