Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ pbrt-v3 Public
forked from mmp/pbrt-v3

Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.

License

Notifications You must be signed in to change notification settings

phyqh/pbrt-v3

 
 

Repository files navigation

PBRT-MIRROR

Build

PBRT uses cmake as its build system. And we add c++17 support based on the original code base. To clone the code base, please run the following command:

git clone --recursive https://github.com/Aaron19960821/pbrt-mirror

You can also initialize all submodules when you do not clone the project recursively. Please run the following command:

git submodule update --init --recursive

To build this project, please use the following commands:

mkdir build && cd build
cmake ..
make -j

Note that cmake will not export compile commands defaultly. Thus if you want to set up LSP for this project for better development experience, please add -DCMAKE_EXPORT_COMPILE_COMMANDS=YES to your cmake configuration.

Major changes

The most significant change should be lightsampler, currently we provide the following light samplers:

uniform: sample lights uniformly.
SLC: [CY19]stochastic light cut introduced by Cem Yuksel.
NRL: [JP19]naive Q-learning based method.
VARL: periodic Q-learning based method.
BROAS: [PETR18] Bayesian Online Regression for adaptive direct illumination
VABORAS: Variance-Aware variant of BORAS
RIS: Resampled importance sampling.
NRLMIS: MIS on direct illumination with NRL.
VARLMIS: MIS on direct illumination with VARL.

To render a scene, one must specify a light sampler. We recommend you to use uniform if the number of lights is not large and it will provide a slow but rebust result.

About

Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.3%
  • C 12.4%
  • Python 0.9%
  • CMake 0.4%
  • Shell 0.0%
  • ReScript 0.0%