Gabor Fields: Orientation-Selective Level-of-Detail for Volume Rendering

ACM Transactions on Graphics (SIGGRAPH 2026)
Teaser: Gabor Field level-of-detail decomposition on the volumetric Bunny Level-of-detail decomposition of a Gabor Field: frequency- and orientation-selectivity lets us mask particle collections at render time for continuous LOD, faster rendering, and a controllable bias–variance trade-off when sample cost matters. OpenVDB volumetric Bunny.


Gaussian-based volumetric representations make physically based rendering practical at a fraction of the memory and runtime cost of dense voxel grids, but level-of-detail (LOD) remains inefficient: prefiltering or mipmap-style Gaussians costs extra memory, requires re-fitting per level, and can produce harsh transitions between LODs. We introduce Gabor Fields: mixtures of primitive anisotropic Gabor kernels (Gaussian envelopes with harmonic modulation). Since each kernel lives in a known frequency band, filtering becomes a matter of pruning primitives. Combined with analytic line integrals and a hierarchical fitting procedure, this yields continuous LOD, stochastic masking along rays for cheaper single- and multiple-scattering traversal, and easy integration within volumetric path tracing frameworks.

TL;DR: an alternative to Gaussian kernels that achieves ~2 dB higher PSNR at equal primitive count and renders up to ~1.4× faster at equal variance, provides free runtime level-of-detail, and plugs into control-variate theory for even further acceleration (an extra  ~2× or more), all while keeping the two orders of magnitude compression over voxel grids of Don't Splat your Gaussians.


The anisotropic Gabor kernel

Each anisotropic Gabor primitive is a Gaussian envelope with a cosine planar wave. A plain Gaussian is a special case of the anisotropic Gabor where the modulation frequency ω is zero. In the Fourier domain the kernel is two symmetric lobes at ±ω, so unlike a Gaussian its spectrum is concentrated in a specific frequency band and a specific orientation rather than spilling across all frequencies.





Gabor Fields

A Gabor Field is a single continuous decomposition: a low-pass, high-density volume of Gaussians (zero-ω Gabors), plus a residual of Gabor kernels carrying the higher frequencies. Since we can analytically compute each kernel's power spectrum, filtering becomes simply removing the kernels that do not contribute meaningfully at the desired cutoff frequency.



Gaussian base, Gabor residual, and their sum

Continuous LOD from a single asset

Gabor Fields enable filtering volumes in a completely continuous manner: as the frequency cutoff shrinks, kernels are masked before tracing, making rendering faster, with no popping, no re-fitting, and no extra storage (no mipmaps, no pyramids).





Orientation selectivity and ray-space masking

Gabors are also directional. As a ray aligns with a kernel's wave direction, its positive and negative lobes cancel and the contribution collapses. We exploit this by splitting each frequency band into oriented, steerable sub-bands, so kernels that cannot contribute to a ray are masked before any intersection.



Contribution collapses as the ray aligns with ω (left); each frequency band splits into steerable, oriented sub-bands (right).

Gaussians as control variates

A Gabor Field stacks a low-frequency Gaussian base and a series of higher-frequency Gabor residuals that layer together into the full signal, and the base alone already carries most of the density. We can leverage this to accelerate rendering.




The low-pass base is an ideal control variate. We develop a series of stochastic-analytic estimators, where we always trace and analytically integrate the Gaussian base (~2% of the total primitives), and at each sample stochastically select which Gabor residuals to include. Crucially, every selected Gabor is still integrated in closed form: variance only comes from selecting which kernels we trace against. That choice is free: we can prioritise by frequency band, by contribution, or by perceptual importance (foveation-aware or blue-noise style), accelerating rendering with little variance (absorbing mediums) or bias (scattering mediums).

The objective in the end is reducing the main bottleneck of primitive volume rendering: the number of intersections per ray.


Control-variate acceleration on the Disney cloud: unbiased and two accelerated variants Disney Cloud, using the Gaussian base as a control variate. Our unbiased reference renders in 977 s. Control Variate PLA (power-law accumulating) accelerates the primary camera paths: we always integrate the Gaussian base and stochastically include the Gabor residuals with a power-law probability over frequency (a parameter β trades a little high-frequency error for speed), giving 623 s. Zero NEE additionally accelerates the shadow rays (next-event estimation towards the light): since almost all of the field's density lives in the Gaussian base, these rays trace against the base only (~2% of total primitives) and skip the Gabors entirely, reaching 522 s; close to the same appearance at nearly 2× the speed.

Other applications

  • Efficient motion blur, by removing the primitives that destructively interfere with themselves along the direction of travel.
  • Foveated rendering, through eccentricity-aware level-of-detail, and by shifting the error into high frequencies, blue-noise style.
  • Procedural cloud generation without any regression, just layered, natural-looking Gabor kernel noise.


Citation

Jorge Condor, Nicolai Hermann, Mehmet Ata Yurtsever, and Piotr Didyk. Gabor Fields: Orientation-Selective Level-of-Detail for Volume Rendering, ACM Transactions on Graphics (SIGGRAPH 2026).

@article{10.1145/3811369,
  author = {Condor, Jorge and Hermann, Nicolai and Yurtsever, Mehmet Ata and Didyk, Piotr},
  title = {Gabor Fields: Orientation-Selective Level-of-Detail for Volume Rendering},
  year = {2026},
  issue_date = {July 2026},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  volume = {45},
  number = {4},
  issn = {0730-0301},
  url = {https://doi.org/10.1145/3811369},
  doi = {10.1145/3811369},
  journal = {ACM Trans. Graph.},
  month = jul,
  articleno = {62},
  numpages = {20}
}


Acknowledgements

This project has received funding from the Swiss National Science Foundation (SNSF, Grant 200502) and an academic gift from Meta. We acknowledge access to Alps at the Swiss National Supercomputing Centre, Switzerland under USI's share (project ID u6).


Affiliation

USI