Awesome
Correlation-Aware MIS for Bidirectional Rendering Algorithms
Implementation of the Eurographics 2021 Paper "Correlation-Aware Multiple Importance Sampling for Bidirectional Rendering Algorithms" by Pascal Grittmann, Iliyan Georgiev, and Philipp Slusallek.
This is an updated / improved version of the original codebase used to generate all results and figures in the paper and its supplemental. The results should be very close to those in the paper, but might not be identical. The original codebase can be found in the Releases.
Building and running
On x86-64 bit Windows, Linux, or macOS, dependencies are downloaded automatically from Nuget. You can simply run the two experiments in Release mode:
cd VcmExperiment
dotnet run -c Release
cd BidirExperiment
dotnet run -c Release
On other platforms, you need to compile the dependencies from source, as outlined below.
Creating figures
The figures were generated with figuregen version 0.7.1. You can install that exact version via pip:
python -m pip install figuregen==0.7.1
The comparison figures can be generated by running, for example:
cd VcmExperiment
python ./makefigures.py
Compiling SeeSharp (version 1.4.0)
The rendering experiments are based on the SeeSharp rendering framework. They have been tested with version 1.4.0, which is available via Nuget.
<a href="https://www.nuget.org/packages/SeeSharp/"><img src="https://buildstats.info/nuget/SeeSharp" /></a>
SeeSharp, in turn, relies on two C++ wrapper libraries: TinyEmbree and SimpleImageIO. Currently, only x86-64 binaries for Windows, Linux, and macOS are available via Nuget. On other architectures / OSs you will need to compile them from source. Instructions can be found in the respective README.md files.
Test scenes and licensing
The source code, but NOT the figures and test scenes, is released under the same MIT License as the original SeeSharp framework.
Copyright of the test scenes:
- The ModernHall and MinimalistWhiteRoom scenes were shared by Wig42 on Blend Swap (CC-BY)
- The TargetPractice scene was modelled by Vladislav Hnatovskiy and Mira Niemann (CC-BY). License info on the textures and meshes of that scene can be found in the Scenes/TargetPractice/License.md file.
- The Box, HomeOffice, IndirectRoom, LampCaustic, and RoughGlasses scenes were modelled by Pascal Grittmann (CC-0)
The figures, which are generated by the Python scripts, are part of the published paper and follow the same licensing as the entire paper.