SGGX-H Clustering for LoD Rendering
- The paper introduces a hierarchical clustering strategy that merges SGGX distributions to preserve anisotropic details while reducing computational complexity.
- It represents microflake orientations using a 3×3 covariance tensor with eigen-decomposition, ensuring compact and accurate depiction of directional features.
- Performance benchmarks show reduced error metrics and memory usage, demonstrating the method’s efficiency in rendering complex materials at multiple LoD levels.
SGGX-H clustering for Level-of-Detail (LoD) is a hierarchical, microgeometry-aware representation and aggregation technique for efficiently capturing and rendering the anisotropic orientation distributions found in volumetric materials at multiple spatial scales. Developed for applications such as path tracing of fibers, brushed metals, and other materials with complex sub-voxel structure, the method builds upon the Symmetric GGX (SGGX) microflake model and introduces a parallel voxelization and clustering algorithm that maintains critical appearance features while enabling memory and computation-efficient multiresolution rendering (Fabre et al., 14 Apr 2026).
1. SGGX Microflake Orientation Model
In SGGX-H, local orientation distributions (e.g., fiber tangents, normals) within each voxel are represented using a single SGGX distribution—a 3×3 symmetric positive-definite covariance tensor, Σ. The probability density function for microflake normals over the unit sphere is given by
With eigenvectors and eigenvalues , the spheroid matrix is expressed as
This matrix encodes principal axis areas and orientations, and is compactly stored using six parameters—three diagonal elements and three off-diagonal terms. Fitting an SGGX to a set of directional samples obtained from sampled geometry proceeds by computing the mean-centered covariance matrix:
Eigen-decomposition yields principal axes and variances, allowing efficient storage and reconstruction.
2. Hierarchical SGGX–H Clustering Algorithm
The SGGX-H method introduces a bottom-up hierarchical (agglomerative) clustering strategy tailored to voxel blocks at each LoD level. For a block containing child voxels, each described by a fitted SGGX, the procedure merges similar orientation distributions to reduce per-block complexity:
- For each merge, similarity between SGGX distributions is computed by sampling 0 (e.g., 5,000) directions from each, binning the results, and evaluating the symmetric x-Wasserstein distance between histograms.
- The most similar pair is merged by concatenating their sample sets, recomputing a histogram, and fitting a new SGGX.
- Clustering proceeds until a target number 1 (typically 3) of SGGXs remains per block.
The algorithm can be summarized as:
1
Merging is always accompanied by refitting the covariance matrix from the union of samples:
2
where 3 is the total number of merged orientation samples.
3. Multiresolution Voxelization and Data Aggregation
The voxelization pipeline operates at multiple hierarchical levels on the GPU leveraging CUDA for performance and sparse memory use, involving:
- Level-3 (finest): Input primitives are voxelized only in occupied regions; each voxel collects raw orientation samples (positions, normals, tangents, material IDs).
- Level-2: Aggregates Level-3 samples, organizes them by block, computes per-voxel histograms, and assesses density/occupancy.
- Level-1 (coarse): Aggregates Level-2 blocks if needed; histogramming and SGGX fitting are repeated.
Each occupied finest-level voxel is fitted to a compact 6-byte SGGX descriptor. For each Level-1 block (comprised of up to 4 child voxels), the set of SGGXs is clustered via SGGX-H, yielding up to 5 per block for coarser LoDs. The result is a block-indexed data structure containing lists of SGGX descriptors corresponding to different LoD levels.
4. Level-of-Detail Selection and Rendering
At render time, LoD selection is driven by the projected screen-space footprint ("classic MIP-map criterion"):
6
Blending between nearest LoD levels is performed via floor/ceil strategies. For each shading point:
- Retrieve the corresponding block's list of up to 7 SGGX distributions for the selected LoD.
- Either randomly select one SGGX based on its mass (number of merged children), or treat the set as a mixture and sample accordingly.
- Generate one microflake normal from the selected SGGX (using Visible Normal Distribution Function sampling).
- Evaluate microflake-based phase functions or microfacet BRDFs for shading; model choice is decoupled from the SGGX-H representation.
5. Complexity, Memory Footprint, and Quantitative Performance
Memory overhead at the finest level is minimized by storing only 6 bytes per non-empty voxel. Coarser levels store up to 8 SGGXs per block, again using 6 bytes per distribution, and overall memory usage scales with the sparsity of actual geometry rather than the full grid resolution.
Performance benchmarks for midpoint grid sizes (e.g., 9 with approximately 8 million nodes) show total voxelization times of 20–40 seconds on a GTX 1080 Ti, inclusive of histogramming and per-voxel SGGX fitting. This is competitive with or faster than direct rasterization-based voxelization, particularly when handling arbitrary geometric primitives.
Quantitative evaluation demonstrates significant preservation of anisotropic features at coarser LoDs. Comparisons with naive averaging and single-SGGX-per-block fitting show that SGGX-H clustering achieves 5–15% error reduction in F-metric, LPIPS, and 0 error metrics, with the largest benefits observed at high downsampling levels. This improved accuracy is visually reflected in materials such as brushed steel, volumetric hair, and vegetation, where orientation anisotropy is critical (Fabre et al., 14 Apr 2026).
6. Significance and Extensions
SGGX-H provides an efficient and memory-scalable solution for rendering complex microstructured materials across multiple resolutions, supporting real-time visualization and path tracing tasks where both quantitative accuracy and appearance fidelity are paramount. By leveraging hierarchical clustering based on statistically grounded microflake orientation descriptors and efficient GPU computation, it facilitates high-fidelity appearance aggregation for a range of material types.
This suggests that the method may be broadly applicable wherever microstructural anisotropy determines appearance and traditional isotropic or naive aggregation approaches fail to capture key scattering behaviors.
Key reference:
- Fabre et al., "Fast Voxelization and Level of Detail for Microgeometry Rendering" (Fabre et al., 14 Apr 2026)