Raw File
Tip revision: ca6e9b19fb122c126d605207d9f4790e86b03651 authored by Guo Yu on 19 September 2022, 21:16:05 UTC
Tip revision: ca6e9b1
# Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs

[Yu Guo](, [Miloš Hašan](, [Shuang Zhao]( 

In ACM Transactions on Graphics (SIGGRAPH Asia 2018). 

<img src="" height="250px"><img src="" height="250px"><img src="" height="250px"><img src="" height="250px"><img src="" height="250px">

[[Supplemental Materials](]
[Fastforward on Siggraph Asia 2018 ([Video]([Slides](] \
[Presentation on Siggraph Asia 2018 ([Slides](]
[[Two Minute Papers](]

## Overview
This is a branch of the Mitsuba (0.6.0) renderer (official repo:

## Install

  ### Linux (Preferred, Tested on Ubuntu 16.04, 18.04)
   - `$ sudo apt update`
   - `$ sudo apt upgrade`
   - `$ sudo apt install git scons libboost-all-dev libpng-dev libjpeg-dev libopenexr-dev libxerces-c-dev libeigen3-dev libfftw3-dev libglewmx-dev freeglut3-dev`
   - `$ git clone`
   - `$ cd layeredbsdf/`
   - `$ mv`
   - `$ scons -j x` (x = # of cpu cores)
   - `$ source`
   Now you can render scenes
   - `$ mitsuba xxx.xml`
  ### Windows (Tested on Windows 10 x64)
   - install visual studio 2017
   - clone this git to local folder
   - go to folder ..\layeredbsdf\
   - rename to
   - download [dependencies](
## Examples in paper (click image to download scene files)

<a href="">
  <img src="" title="teaser" height="128px">
<a href="">
  <img src="" title="figure2" height="128px">
<a href="">
  <img src="" title="figure3" height="128px">

<a href="">
  <img src="" title="figure8" height="128px">

<a href="">
  <img src="" title="figure11" height="128px">


<a href="">
  <img src="" title="figure12t" height="128px">

<a href="">
  <img src="" title="figure12b" height="128px">

<a href="">
  <img src="" title="figure13" height="128px">

<a href="">
  <img src="" title="figure14" height="128px">

<a href="">
  <img src="" title="figure15" height="128px">

## Scene file (.xml) explanation
 - `<scene version="0.6.0">` (Here using 0.6.0, but not 0.5.0)
 - `<integrator type="path_layered">` (`path_layered` preferred, but can still use `path`, `volpath` or `volpath_simple` instead)
 - `<bsdf type="multilayered"> ... </bsdf>` (BSDF type is `multilayered`, both our `uni-dir` and `bi-dir` methods are implemented here)
## Notes
 - Default precision in `` is `single`. If you find too many warnings or even it is crashed when rendering scenes, you should try `double` precision instead. (Already provided in ``)
 - `conductor` and `dielectric` are not supported now, use `roughconductor (a=0.001)` and `roughdielectric (a=0.001)` instead.
 - Welcome to report bugs and leave comments (Yu Guo:
back to top