This is a small application for exploring different 2D sampling strategies. It is mostly exploratory and implementations here have not been optimized for performance. Currently Poisson Disk Sampling is doing a bunch of avoidable mallocs.
Currently implemented:
- Uniform random sampling
- Stratified sampling
- Poisson Disk Sampling [Fast Poisson Disk Sampling in Arbitrary Dimensions, Bridson]
- Visualization: Allow switching between different samplings during runtime.
- Low discrepancy sequences
- Higher dimensional sampling
- Variants of sampling according to probability map
This is just a single file with dependencies for visualization. You can compile it by simply:
gcc sampling.c -o sampling -lglfw3 -lopengl32 -lglew32 -lnanovg
Dependency list:
- glfw
- glew
- nanovg