Samplin' Safari is a research tool to visualize and interactively inspect high-dimensional (quasi) Monte Carlo samplers.
It was initially developed as part of the publication:
Orthogonal Array Sampling for Monte Carlo Rendering
Wojciech Jarosz, Afnan Enayet, Andrew Kensler, Charlie Kilpatrick, Per Christensen
In Computer Graphics Forum (Proceedings of EGSR), 38(4), July 2019
Project page PDF
and now released under the 3-clause BSD license. For details, see the LICENSE file.
Samplin' Safari running inside a web browser on an iPad (left), and in portrait orientation on an iPhone (right). Click the image to try it in a browser yourself: Viewing all 2D projections of a 6D point set: Viewing the 3rd, 5th, and 6th dimenions of a 6D point set in 3D with a beautifully antialiased tri-planar grid: Visualizing the point indices, coordinates, and drawing a custom elementary interval grid to validate the stratification of the point set:- interactively switching samplers, setting number of samples, dimensions, and various sampler parameters
- 3D and 2D orthographic views for X, Y and Z dimensions
- view of all 2D projections (useful for high-dimensional samples)
- show 1D projections of points alongside the 2D or 3D view
- custom mapping of any (higher) dimensions to X, Y or Z
- save all of these views as vector EPS or SVG files
- save and load points to/from CSV text files
- show point index and point coordinates
- show beautifully antialiased grids for various stratification levels
- displaying only a subset of points, either by subsetting on sample index, or sample coordinates.
The easiest way to try out Samplin' Safari is to load up the web version by following this link.
Alternatively, you can check out the latest release for precompiled binaries for various platforms.
Assuming you have CMake and a C++17 toolchain, compiling should be as simple as (dependencies are automatically downloaded via CPM.cmake so you will need an active internet connection during cmake configure):
git clone https://github.com/wkjarosz/SamplinSafari.git
cd SamplinSafari
mkdir build
cd build
cmake ../
cmake --build . -j 4
Samplin' Safari was primarily developed by Wojciech Jarosz though it depends on a number of external libraries and techniques, as listed on the in-app about dialog.