Multiple-Scattering Microfacet BSDFs with the Smith Model




  • Paper topic: Rendering
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 5
  • Software language: C/C++
  • License: unspecified
  • Build mechanism: None
  • Dependencies: glm
  • Documentation score {0,1,2}: 2
  • Reviewer: Julie Digne <>
  • Time spent for the test (build->first run, timeout at 100min): 30min

Source code information


The authors provide both a mitsuba plugin and a tutorial implementation source code. 

For the mitsuba plugin, by adding the .cpp and .h to mitsuba/src/bsdfs folder and adding lines:
plugins += env.SharedLibrary('roughconductorGGX', ['roughconductorGGX.cpp'])
plugins += env.SharedLibrary('roughdiffuseGGX', ['roughdiffuseGGX.cpp'])
plugins += env.SharedLibrary('roughdielectricGGX', ['roughdielectricGGX.cpp']) 
to mitsuba/src/bsdfs/SConscript , everything compiles well. The examples work after using the mitsuba gui to convert the scenes from version 0.5 to 0.6. However the examples are not the same as in the paper (but they do loook similar).

The tutorial code consists in a C++ class (with a very precise and clear technical documentation) but no example is given. The code looks fine but I was not able to produce some results with the tutorials.

If you want to contribute with another review, please follow these instructions.

Please consider to cut/paste/edit the raw JSON data attached to this paper.