No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
data
include/mitsuba
src
README.md
SConstruct
config_linux.py
config_windows.py
setpath.sh

README.md

Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs

Yu Guo, Miloš Hašan, Shuang Zhao. In ACM Transactions on Graphics (SIGGRAPH Asia 2018). [Project page]

Overview

This is a branch of the Mitsuba (0.6.0) renderer (official repo: https://github.com/mitsuba-renderer/mitsuba)

Install

Linux (Preferred, Tested on Ubuntu 16.04)

  • $ git clone https://github.com/tflsguoyu/layeredbsdf.git
  • $ cd layeredbsdf/
  • $ mv config_linux.py config.py
  • $ sudo apt install build-essential scons mercurial libpng12-dev libjpeg-dev libilmbase-dev libxerces-c-dev libboost-all-dev libopenexr-dev libglewmx-dev libxxf86vm-dev libpcrecpp0v5 libeigen3-dev libfftw3-dev
  • $ scons -j x (x = # of cpu cores)
  • source setpath.sh 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 config_windows.py to config.py
  • download dependencies

Examples in paper (click image to download scene files)


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 config.py 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 config.py)
  • 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: tflsguoyu@gmail.com)