Visual Computing

University of Konstanz
ACM Transactions on Graphics

An Adaptive Point Sampler on a Regular Lattice

A. Ahmed, T. Niese, H. Huang, O. Deussen
Teaser of An Adaptive Point Sampler on a Regular Lattice


Source Code (C++) (.zip, 2.2MB) Paper


We present a framework to distribute point samples with controlled spectral properties using a regular lattice of tiles with a single sample per tile. We employ a word-based identification scheme to identify individual tiles in the lattice. Our scheme is recursive, permitting tiles to be subdivided into smaller tiles that use the same set of IDs. The corresponding framework offers a very simple setup for optimization towards different spectral properties. Small lookup tables are sufficient to store all the information needed to produce different point sets. For blue noise with varying densities, we employ the bit-reversal principle to recursively traverse sub-tiles. Our framework is also capable of delivering multi-class blue noise samples. It is well-suited for different sampling scenarios in rendering, including area-light sampling (uniform and adaptive), and importance sampling. Other applications include stippling and distributing objects.



Grid Morphing: In this demo we show two scales of the self-similar point set. The list on the left refers to the higher resolution set, scaled to unit area. Drag to move around, use the mouse wheel or pinch to zoom. What You See Is What You Get!

2757 points
You need to upgrade your browser to view this.
Show Strata

Sequences: In this demo we compare the progressive (self-coincident) variant of ART (left) to the post-optimized variant (right). The size of the tables is larger for the latter. Drag the slider to increase or decrease the number of samples.



  acmid      = {3073588},
  address    = {New York, NY, USA},
  articleno  = {138},
  author     = {A. Ahmed, T. Niese, H. Huang, O. Deussen},
  doi        = {10.1145/3072959.3073588},
  issn       = {0730-0301},
  issue_date = {July 2017},
  journal    = {ACM Transactions on Graphics},
  keywords   = {blue noise, monte carlo, multi-class blue noise, quasi-monte carlo, sampling, self-similarity, thue-morse word, tiling},
  month      = {jul},
  number     = {4},
  numpages   = {13},
  pages      = {138:1--138:13},
  publisher  = {ACM},
  title      = {An Adaptive Point Sampler on a Regular Lattice},
  url        = {},
  volume     = {36},
  year       = {2017}


We thank the anonymous reviewers for their detailed feedback to improve the paper. Thanks to Cengiz Ă–ztireli for sharing the grid test scene. Thanks to Carla Avolio for the voice over of the supporting video clip. This work was partially funded by Deutsche Forschungsgemeinschaft Grant (DE-620/22-1), the National Foreign 1000 Talent Plan (WQ201344000169), Leading Talents of Guangdong Program (00201509), NSFC (61522213, 61379090, 61232011), Guangdong Science and Technology Program (2015A030312015), and Shenzhen Innovation Program (JCYJ20151015151249564).