/Probulator

Experimentation framework for probe-based lighting

Primary LanguageC++MIT LicenseMIT

Probulator

Experimentation framework for probe-based lighting.

ProbulatorGUI_Armadillo

Example report

Radiance Irradiance Irradiance Error (sMAPE) Mode
![Radiance] Ennis-radianceMCIS.png ![Irradiance] Ennis-irradianceMCIS.png N/A Monte Carlo
[Importance Sampling]
Reference
![Radiance] Ennis-radianceAC.png ![Irradiance] Ennis-irradianceAC.png ![IrradianceError] Ennis-irradianceErrorAC.png Ambient Cube
![Radiance] Ennis-radianceSHL1G.png ![Irradiance] Ennis-irradianceSHL1G.png ![IrradianceError] Ennis-irradianceErrorSHL1G.png Spherical Harmonics L1
[Geomerics]
![Radiance] Ennis-radianceSHL1.png ![Irradiance] Ennis-irradianceSHL1.png ![IrradianceError] Ennis-irradianceErrorSHL1.png Spherical Harmonics L1
![Radiance] Ennis-radianceSHL2.png ![Irradiance] Ennis-irradianceSHL2.png ![IrradianceError] Ennis-irradianceErrorSHL2.png Spherical Harmonics L2
![Radiance] Ennis-radianceSHL3.png ![Irradiance] Ennis-irradianceSHL3.png ![IrradianceError] Ennis-irradianceErrorSHL3.png Spherical Harmonics L3
![Radiance] Ennis-radianceSHL4.png ![Irradiance] Ennis-irradianceSHL4.png ![IrradianceError] Ennis-irradianceErrorSHL4.png Spherical Harmonics L4
![Radiance] Ennis-radianceSHL2W.png ![Irradiance] Ennis-irradianceSHL2W.png ![IrradianceError] Ennis-irradianceErrorSHL2W.png Spherical Harmonics L2
[Windowed]
![Radiance] Ennis-radianceSG.png ![Irradiance] Ennis-irradianceSG.png ![IrradianceError] Ennis-irradianceErrorSG.png Spherical Gaussians
[Naive]
![Radiance] Ennis-radianceSGLS.png ![Irradiance] Ennis-irradianceSGLS.png ![IrradianceError] Ennis-irradianceErrorSGLS.png Spherical Gaussians
[Least Squares]
![Radiance] Ennis-radianceSGLSA.png ![Irradiance] Ennis-irradianceSGLSA.png ![IrradianceError] Ennis-irradianceErrorSGLSA.png Spherical Gaussians
[Least Squares + Ambient]
![Radiance] Ennis-radianceSGNNLS.png ![Irradiance] Ennis-irradianceSGNNLS.png ![IrradianceError] Ennis-irradianceErrorSGNNLS.png Spherical Gaussians
[Non-Negative Least Squares]

Other pre-generated reports in HTML and Markdown formats are included in the repository.

How to build

CMake is used to generate native build projects for target platform.

Windows, Visual Studio 2015

mkdir Build
cd Build
cmake -G "Visual Studio 14 2015 Win64" ..
cmake --build . --config Release

Visual Studio 2013 may also work.

MacOS, Xcode

mkdir Build
cd Build
cmake -G Xcode ..
cmake --build . --config Release

Linux

Linux support is not fully implemented.

How to run

Run ProbulatorGUI from the build output directory (Build/Source/ProbulatorGUI/Release by default).

HDR Probe Credits

Bernhard Vogl

  • wells.hdr

USC Institute for Creative Technologies

  • ennis.hdr
  • grace.hdr
  • pisa.hdr
  • uffizi.hdr

Authors

  • Yuriy O'Donnell
  • David Neubelt