tflsguoyu / layeredbsdf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs

Yu Guo, Miloš Hašan, Shuang Zhao.

In ACM Transactions on Graphics (SIGGRAPH Asia 2018).

[Paper] [Code] [Supplemental Materials] [Poster] [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: https://github.com/mitsuba-renderer/mitsuba)

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 https://github.com/tflsguoyu/layeredbsdf.git
  • $ cd layeredbsdf/
  • $ mv config_linux.py config.py
  • $ 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)

About

License:GNU General Public License v3.0


Languages

Language:C++ 91.7%Language:C 6.7%Language:Python 0.6%Language:Objective-C++ 0.4%Language:GLSL 0.3%Language:XSLT 0.2%Language:Objective-C 0.1%Language:Shell 0.0%Language:CSS 0.0%