Mobile-DDGI: Lightweight Probe-Based Global Illumination via Adaptive Budget Allocation

Best Poster Award I3D 2026 Best Poster Award
June 2026 Taekgeun You, Woong Seo, Donghee Han and Insung Ihm I3D Companion '26: Companion Proceedings of the Symposium on Interactive 3D Graphics and Games, Article No. 16

Abstract

While Dynamic Diffuse Global Illumination (DDGI) and its extensions achieve efficient real-time global illumination on desktop hardware, their computational overhead remains a prohibitive bottleneck for resource-constrained mobile platforms. To address this limitation, we introduce an adaptive, probe-based framework that aggressively prioritizes updates within the camera frustum. Central to our approach is a novel probe importance metric that optimally distributes a strictly constrained mobile ray budget to the most perceptually significant probes. Evaluated across four distinct mobile ray tracing pipelines, our method significantly reduces the overall ray budget while robustly adapting to rapid radiometric and geometric changes without compromising visual fidelity.

Key Contributions

  1. Camera-attached multiple probe volumes
  2. Per-frame probe update budget
  3. Probe importance metric

Core Idea

Mobile-DDGI combines three ideas:

  1. Camera-attached cascaded probe volumes
  2. Tracking window-based logical probe movement
  3. Adaptive probe update budget allocation

The renderer maintains multiple DDGI probe volumes around the camera. Each volume has a different probe spacing, allowing dense indirect lighting near the viewer and coarser coverage farther away.

Only a limited number of probes are updated every frame. The update budget is assigned to probes that are expected to have the greatest visual impact.


Probe Volume Structure

Mobile-DDGI uses camera-attached cascaded DDGI volumes.

PropertyDescription
Volume typeCamera-attached cascaded probe volumes
Probe grid size16 x 8 x 16 probes per cascade
Cascade spacingEach cascade doubles the spacing of the previous one
Probe movementTracking window / infinite scrolling-style logical index update

This structure keeps high-resolution probe coverage near the camera while avoiding full-scene dense probe allocation.


Adaptive Probe Update Algorithm

Mobile-DDGI updates probes in the following order:

StepOperationDescription
1Update newly active probesProbes newly entering the active region due to camera movement are updated first.
2Compute probe importanceEach probe receives an importance value based on usage, distance, and view-center proximity.
3Sort probes by priorityProbes are sorted according to the computed importance value.
4Update high-priority probesA fixed portion of the remaining budget is assigned to visually important probes.
5Round-robin updateThe residual budget is used to update the remaining probes sequentially.

In the evaluated configuration, the update budget is set to 200 probes per 16 x 8 x 16 cascade. For four cascades, this means that only 800 probes are updated per frame out of 8,192 total probes.


Probe Importance Metric

Each probe is assigned an importance score ρ\rho:

ρ=wrefwdistwcenter\rho = w_{\mathrm{ref}} \cdot w_{\mathrm{dist}} \cdot w_{\mathrm{center}}
TermMeaningPurpose
wrefw_{\mathrm{ref}}Probe usage weightPrioritizes probes contributing to the current indirect-lighting computation.
wdistw_{\mathrm{dist}}Distance weightAssigns greater importance to probes closer to the camera.
wcenterw_{\mathrm{center}}View-center weightAssigns greater importance to probes closer to the screen center.

Probe Usage Weight

wref={1,if probe is referenced,wrefmin,otherwise.w_{\mathrm{ref}} = \begin{cases} 1, & \text{if probe is referenced}, \\[4pt] w_{\mathrm{ref}}^{\mathrm{min}}, & \text{otherwise}. \end{cases}

The weight wrefw_{\mathrm{ref}} prevents unused probes from being completely ignored while assigning higher priority to probes that directly contribute to shading.

Distance Weight

wdist={1,if pc<k,exp((pck)),otherwise.w_{\mathrm{dist}} = \begin{cases} 1, & \text{if } \lVert \mathbf{p}-\mathbf{c} \rVert < k, \\[4pt] \exp\left( -\left( \lVert \mathbf{p}-\mathbf{c} \rVert-k \right) \right), & \text{otherwise}. \end{cases}

where:

SymbolDescription
p\mathbf{p}Probe position
c\mathbf{c}Camera position
kkDistance threshold

Probes near the camera are more likely to affect the final image and are therefore updated more aggressively.

View-Center Weight

The projected screen-space position of probe is defined as

d=(XclipWclip,YclipWclip).\mathbf{d} = \left( \frac{X_{\mathrm{clip}}}{W_{\mathrm{clip}}}, \frac{Y_{\mathrm{clip}}}{W_{\mathrm{clip}}} \right).

Its normalized distance from the center of the screen is

nd=clamp(d,0,1).n_d = \operatorname{clamp} \left( \lVert \mathbf{d} \rVert, 0, 1 \right).

The view-center weight is then computed as

wcenter=max(1smoothstep(0.7,1,nd),wcentermin).w_{\mathrm{center}} = \max \left( 1- \operatorname{smoothstep} \left( 0.7, 1, n_d \right), w_{\mathrm{center}}^{\mathrm{min}} \right).

The weight wcenterw_{\mathrm{center}} assigns higher priority to probes projected near the center of the user’s view. This formulation also supports future gaze-aware or foveated-rendering extensions.


Probe State Machine

Mobile-DDGI uses a probe state machine to avoid unnecessary probe updates.

StateDescription
FRESHMANNewly introduced probe that needs initialization.
CANDIDATEProbe selected as a potential update target.
UPDATEProbe selected for ray tracing and DDGI data update.
INACTIVEProbe that is not actively updated in the current frame.

Rendering Pipeline

The Mobile-DDGI rendering pipeline is organized as follows:

StepStageDescription
1Geometry passRender scene geometry and G-buffer data.
2Check probe referenceDetermine which probes are referenced during indirect lighting.
3Priority sortSort probes using the adaptive importance metric.
4Probe traceTrace rays for selected probes.
5Probe classificationClassify probes based on activity and update state.
6Probe updateUpdate probe irradiance and distance data.
7Indirect lighting passEvaluate indirect lighting from DDGI probe data.
8Lighting passCombine direct lighting, indirect lighting, and material shading.

Summary

Mobile-DDGI reduces DDGI update cost on mobile GPUs by allocating a strict per-frame probe update budget to the most important probes.

The algorithm prioritizes:

  1. Newly active probes caused by camera movement
  2. Probes referenced by current indirect lighting
  3. Probes close to the camera
  4. Probes close to the center of the user’s view
  5. Remaining probes through round-robin updates

This makes probe-based global illumination more suitable for mobile ray tracing environments with limited ray tracing throughput and strict performance constraints.