Skip to content

Samplin' Safari is a research tool to visualize and interactively inspect high-dimensional (quasi) Monte Carlo samplers.

License

Notifications You must be signed in to change notification settings

wkjarosz/SamplinSafari

Repository files navigation

Samplin' Safari

macOS build Linux build Windows build Emscripten build

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.

Screenshots

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: screenshot1 Viewing all 2D projections of a 6D point set:

screenshot2

Viewing the 3rd, 5th, and 6th dimenions of a 6D point set in 3D with a beautifully antialiased tri-planar grid:

screenshot3

Visualizing the point indices, coordinates, and drawing a custom elementary interval grid to validate the stratification of the point set:

screenshot4

Features

  • 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.

Running Samplin' Safari

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.

Building

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

Acknowledgements

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.