Research: prior art for analytic noise integration along warped ray segments
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
dcd4c80547
commit
f8c01e37bf
1 changed files with 425 additions and 0 deletions
425
docs/research/analytic-noise-integration-prior-art.md
Normal file
425
docs/research/analytic-noise-integration-prior-art.md
Normal file
|
|
@ -0,0 +1,425 @@
|
|||
# Analytic Noise Integration Along Warped Rays: Prior Art Survey
|
||||
|
||||
This is the facts file for an idea the operator raised on 2026-10-03:
|
||||
|
||||
> "I would be happy if we could just skip the space we know has no meaningful structure
|
||||
> because it's outside of the noise warp range. But what you said about affine arithmetic
|
||||
> makes me wonder if we can somehow, even within the distorted domain, figure out a series
|
||||
> of optimal (in terms of extracting structure over multiple frames) spans for which we can
|
||||
> analytically integrate the noise gradients over those ray segments."
|
||||
|
||||
Self's sketch, as given to this pass:
|
||||
|
||||
- Simplex noise along a straight ray is piecewise polynomial in t, so its line integral
|
||||
is closed-form per crossed cell.
|
||||
- A domain warp p + w(p) is nearly affine over a short span, with an affine-arithmetic
|
||||
error bound, so within that span the warped ray is a straight line in noise space.
|
||||
- Low octaves are integrated exactly. High octaves are replaced by their expectation,
|
||||
with a variance bound.
|
||||
- Clamped density max(0, n - c) is integrated by root-finding per piece.
|
||||
- Spans are cached and refined across frames.
|
||||
|
||||
Eyes pass, 2026-10-03. This file gives facts and evidence pointers only. It makes no
|
||||
recommendation.
|
||||
|
||||
Verification marks:
|
||||
|
||||
- **[fetched]** The claim was read in the cited source's full text during this pass.
|
||||
PDFs were converted with `pdftotext -layout`.
|
||||
- **[search]** The claim came from a search-result summary or abstract, not a full read.
|
||||
- **[derivation]** The claim is elementary mathematics worked out in this pass from a
|
||||
fetched definition. It is not a claim made by any cited source.
|
||||
- **[not found]** The pass searched for this kind of work and found nothing.
|
||||
|
||||
## 0. Premises of the sketch, checked against definitions
|
||||
|
||||
- **[fetched] + [derivation]** Simplex noise kernel degree. Gustavson, *Simplex noise
|
||||
demystified* (2005), gives the 3D reference code. Each of the four simplex corners
|
||||
contributes `t^4 * dot(g, d)` with `t = 0.6 - |d|^2`, and the contribution is zero
|
||||
when `t < 0`. On a straight ray `d` is affine in the ray parameter, so `|d|^2` is
|
||||
quadratic and each corner term is a polynomial of degree 8 + 1 = 9. The pieces have
|
||||
two kinds of breakpoint: the simplex faces the ray crosses (where the corner set
|
||||
changes), and the entry and exit of each corner's support sphere (`|d|^2 = 0.6`).
|
||||
Both kinds are roots of polynomials of degree 2 or lower in the ray parameter, so the
|
||||
breakpoints are closed-form. With the 0.6 radius, the support extends past the
|
||||
simplex, and the reference code truncates it at the simplex boundary. The resulting
|
||||
small discontinuity across faces is a known property of that constant. It does not
|
||||
change the piecewise-polynomial structure.
|
||||
- **[derivation]** Classic Perlin noise (Perlin 2002 quintic fade `6t^5 - 15t^4 + 10t^3`,
|
||||
read in Gustavson's text **[fetched]**) is, within one lattice cube along a straight
|
||||
ray, a polynomial of degree 3 x 5 + 1 = 16. Its breakpoints are the cube faces.
|
||||
- **[fetched]** Piece count grows with frequency. Balint (CESCG 2019, section 2)
|
||||
states that many noise functions are piecewise integrable, but the number of pieces
|
||||
is linear in the noise frequency. Their cost is therefore similar to numerical
|
||||
integration. Balint designed cosine noise to escape this limit (section 1.1 below).
|
||||
- **[derivation]** For the clamp `max(0, n - c)` on a degree-9 or degree-16 piece,
|
||||
the roots of `n - c` are needed. Polynomials of degree 5 or more have no general
|
||||
closed-form roots (Abel-Ruffini), so the clamp needs numerical root isolation per
|
||||
piece, for example Sturm sequences, Descartes' rule or Bernstein-basis subdivision.
|
||||
The integral between the isolated roots is closed-form.
|
||||
|
||||
## 1. Closed-form line integrals of noise, and analytic optical depth
|
||||
|
||||
### 1.1 Cosine noise: Balint, *Closed Form Transmittance in Heterogeneous Media Using Cosine Noise*, CESCG 2019 (non-peer-reviewed)
|
||||
|
||||
- **[fetched]** It computes noise defined as an offset plus a sum of cosines of
|
||||
`x . S_i`. The paper uses 24 quasirandom vectors S_i, with Sobol directions on the
|
||||
sphere and lengths in [0.8, 1.2], to look roughly like Perlin noise. Fractal octaves
|
||||
are further cosine sets. Its line integral is a sum of sines, so the optical depth
|
||||
over any segment is exact. The paper says this takes two noise samples, one at each
|
||||
segment end. It also gives closed-form distance sampling, by inverting the integral
|
||||
with binary search.
|
||||
- **[fetched]** Cost: two noise-sized evaluations per segment, independent of octave
|
||||
count. Table 1 reports transmittance evaluation at 179 ms closed-form against
|
||||
1250 ms for delta tracking, about 7x faster. A real-time demo with 16 samples ran
|
||||
at 80 fps at 675 x 1200 (RTX 2080 Ti).
|
||||
- **[fetched]** Error: exact, with no error term, for the bare sum. The limits are
|
||||
stated in section 6. Multiplying by a shape function, or composing with a shaping
|
||||
function, generally destroys the elementary antiderivative. The workarounds
|
||||
recover exactness only piecewise: constant multipliers between bounding isosurfaces,
|
||||
or a cubic polynomial interpolant of the multiplier along the ray, since the product
|
||||
of a polynomial and cosines has an elementary antiderivative. Negative densities from
|
||||
a low offset are handled by clamping samples and integrals, which is not an exact
|
||||
`max(0, .)` integral. Domain warp is not discussed.
|
||||
|
||||
### 1.2 Gabor kernels: Condor, Hermann, Yurtsever, Didyk, *Gabor Fields: Orientation-Selective Level-of-Detail for Volume Rendering*, ACM TOG 45(4) art. 62, 2026 (arXiv 2602.05081)
|
||||
|
||||
- **[fetched]** It computes closed-form definite line integrals of anisotropic 3D Gabor
|
||||
kernels along an arbitrary ray segment (eq. 9). Each kernel is whitened into its
|
||||
canonical space with a ZCA matrix, so any covariance, that is any affine-transformed
|
||||
kernel, uses the same formula. The segment integral is the real part of a
|
||||
complex-erf (Faddeeva) difference.
|
||||
- **[fetched]** Cost: the complex erf is evaluated by a truncated Taylor series with
|
||||
early exit, capped at 16 terms. Segments shorter than 1e-4 in whitened units fall back
|
||||
to a single midpoint evaluation. Kernels are spatially clamped with an adaptive extent
|
||||
that shrinks with frequency (eq. 15). The paper also renders procedural clouds as
|
||||
Gaussians modulated by Gabor noise.
|
||||
- **[fetched]** Error: each segment integral is exact apart from the erf truncation.
|
||||
Orientation-selective masking of kernels whose line integral is near zero trades a
|
||||
small error, or variance under stochastic selection, for speed. The paper reports
|
||||
about 1.78x to 1.96x speedups. Per segment the density-integral estimator is
|
||||
unbiased, but transmittance is biased by Jensen's inequality. Eq. 19 gives the
|
||||
second-order bias as `0.5 * Var(tau) * exp(-E[tau])`.
|
||||
|
||||
### 1.3 Analytically integrable media, older
|
||||
|
||||
- **[search]** Iser, *Real-time Light Transport in Analytically Integrable
|
||||
Quasi-heterogeneous Media*, CESCG 2018. Balint cites it **[fetched]** as using only
|
||||
exponential and spherical density functions.
|
||||
- **[fetched via Gabor Fields related work]** The closed-form Gaussian-primitive
|
||||
transmittance line (Knoll et al. 2021; Condor et al. 2025, *Don't Splat your
|
||||
Gaussians*) is the base that Gabor Fields extends.
|
||||
|
||||
### 1.4 Piecewise-polynomial segment integration in scientific volume rendering
|
||||
|
||||
- **[fetched]** Engel, Kraus, Ertl, *High-Quality Pre-Integrated Volume Rendering Using
|
||||
Hardware-Accelerated Pixel Shading*, Graphics Hardware 2001. The scalar field along
|
||||
the ray is assumed piecewise linear between samples. The volume rendering integral of
|
||||
each linear segment, through an arbitrary nonlinear transfer function, is then one
|
||||
lookup in a table indexed by front scalar, back scalar and segment length. Cost: one
|
||||
texture lookup per segment, plus recomputing the table when the transfer function
|
||||
changes. Error: exact for the piecewise-linear model. The model error is the
|
||||
scalar field's deviation from linear between samples.
|
||||
- **[search]** Williams, Max, Stein, *A High Accuracy Volume Renderer for Unstructured
|
||||
Data*, IEEE TVCG 4(1), 1998. Exact integration through tetrahedra with linearly
|
||||
varying scalar and piecewise-linear transfer functions.
|
||||
|
||||
### 1.5 Polynomial noise along a ray
|
||||
|
||||
- **[not found]** No published closed-form segment integral of Perlin or simplex noise
|
||||
was found, as a method or a code library. Balint's remark in section 0 is the only
|
||||
published statement found on the piecewise approach, and it dismisses it on cost
|
||||
grounds.
|
||||
|
||||
## 2. Noise designed for analytic filtering or integration
|
||||
|
||||
- **[fetched]** Lagae, Lefebvre, Drettakis, Dutré, *Procedural Noise using Sparse Gabor
|
||||
Convolution*, ACM TOG 28(3), 2009. It computes a sparse-convolution noise of Poisson
|
||||
impulses with Gabor kernels. Each kernel is a Gaussian in frequency, so filtering with
|
||||
a Gaussian pixel filter multiplies Gaussians, which gives an analytically filtered
|
||||
kernel. Cost: the paper typically uses 100 impulses per kernel, or 25 to 50 at lower
|
||||
densities. Table 2 (GTX 280) reports, at 20 impulses per cell, 290 fps for 2D noise,
|
||||
111 fps for unfiltered surface noise and 50 fps for filtered surface noise. Error:
|
||||
the filtering is exact for a Gaussian filter. The noise statistics converge with
|
||||
impulse density.
|
||||
- **[fetched]** Lagae, Drettakis, *Filtering Solid Gabor Noise*, ACM TOG 30(4), 2011. It
|
||||
slices solid Gabor noise, filters each slice of each Gabor kernel, and gets a
|
||||
generalisation of the projection-slice theorem. It also states that wavelet noise
|
||||
integrates solid noise perpendicular to the surface. That is a line integral of noise
|
||||
along the normal, done in the basis.
|
||||
- **[search]** Cook, DeRose, *Wavelet Noise*, ACM TOG 24(3), 2005. A quadratic B-spline
|
||||
noise band, which is almost band-limited, built from a precomputed coefficient tile.
|
||||
Its 3D-to-surface projection integrates the noise along the normal. The original PDF
|
||||
was not retrievable in this pass. Pixar and ACM both returned HTML.
|
||||
- **[fetched, survey]** Lagae et al., *A Survey of Procedural Noise Functions*, CGF 2010.
|
||||
- Lewis's sparse convolution noise has a power spectrum equal to the kernel's,
|
||||
scaled.
|
||||
- Frequency clamping (Norton, Rockwood, Skolmoski 1982) cancels bands above the filter
|
||||
rate. It works only for narrowly band-pass noise, and Perlin noise is only weakly
|
||||
band-pass.
|
||||
- Nonlinear functions of noise, such as thresholds and colour maps, are not filtered
|
||||
by filtering the noise. That is unsolved in general.
|
||||
- Heidrich, Slusallek, Seidel 1998 (below) computes an area average of a procedural
|
||||
shader with an error bound, using affine arithmetic.
|
||||
- Perlin noise's amplitude distribution is visibly non-Gaussian, because it is zero at
|
||||
every lattice point and has few gradients. The other noises surveyed are
|
||||
approximately Gaussian.
|
||||
- **[fetched, via the survey above]** "Filtering procedural textures" lineage:
|
||||
- Rhoades et al. 1992 filters the colour table over `[N - e, N + e]`.
|
||||
- Hart et al. 1999 sets `e` from the local noise gradient.
|
||||
- Lagae 2009 sets the range from the analytically known loss of variance.
|
||||
|
||||
## 3. Affine arithmetic, reduced AA, Taylor models, and bounds on warps
|
||||
|
||||
### 3.1 Gamito and Maddock
|
||||
|
||||
- **[fetched]** Gamito, Maddock, *Ray Casting Implicit Fractal Surfaces with Reduced
|
||||
Affine Arithmetic*, The Visual Computer 23:155-165, 2007. The full method is read in
|
||||
Gamito's PhD thesis (Sheffield), sections 5.3 to 5.4.
|
||||
- **Computes:** a root of `g(t) = 0` along a ray, by subdividing intervals of t. Each
|
||||
interval is tested with an inclusion `G(T)` computed in reduced AA (Messine's AF1).
|
||||
The form is `t0 + t1 e1 + t2 e2`: e1 is the shared ray-parameter symbol, and e2
|
||||
absorbs every new nonlinearity by condensation after each operation.
|
||||
- **Noise in RAA:** gradient-noise kernels lose no correlation under RAA, because the
|
||||
three multiplications are local to one kernel and the cubic Hermite fade is done by
|
||||
a single Chebyshev affine approximation. The same holds for sparse convolution
|
||||
noise. Cellular noise loses accuracy, because `min` needs cancellation between
|
||||
condensed terms, and the F2 and F3 kernels were not implementable.
|
||||
- **Interval optimisation:** the parallelogram `g1/t1` slope plus or minus `g2`
|
||||
shrinks `[ta, tb]` before subdividing (eq. 5.27).
|
||||
- **Cost:** Table 5.2, gradient-noise hypertexture, average evaluations per ray and
|
||||
time:
|
||||
|
||||
| Method | Evaluations per ray | Time |
|
||||
|---|---|---|
|
||||
| IA | 116.57 | 7m35s |
|
||||
| Standard AA | 61.69 | 40m41s |
|
||||
| RAA | 61.69 | 6m43s |
|
||||
| RAA + interval optimisation | 46.39 | 5m04s |
|
||||
|
||||
RAA costs three numbers per quantity against two for IA. Standard AA is tight
|
||||
but slow because its error-symbol lists grow.
|
||||
- **Error bound:** conservative inclusion, as proven for AA by Comba and Stolfi 1993.
|
||||
Rounding error is ignored.
|
||||
- **[fetched]** Gamito thesis, chapter 9, *Surface Deformation with Flow Mapping*.
|
||||
- Domain deformation `f(d(x))` with `d` defined by streamlines, that is by an ODE.
|
||||
This is the case closest to a domain warp in this survey.
|
||||
- Gamito states that a robust and tight AA estimate of the deformed ray `s(t)` was not
|
||||
obtainable through the numerical ODE solution, so robustness was given up.
|
||||
- The replacement test uses Lipschitz unbounding spheres at `s(ta)` and `s(tb)`. A
|
||||
span is skipped if `|s(tb) - s(ta)| < min(ra, rb)` (eq. 9.23). A sharp turn of the
|
||||
deformed ray between the endpoints can make this test wrong.
|
||||
- He names truncated Taylor-series range estimation (Nedialkov et al. 2004) as the
|
||||
possible fix, at higher cost and complexity.
|
||||
|
||||
### 3.2 Other affine and interval arithmetic sources
|
||||
|
||||
- **[fetched, bibliographic]** Comba, Stolfi, *Affine Arithmetic and its Applications to
|
||||
Computer Graphics*, SIBGRAPI 1993. de Figueiredo, Stolfi, *Affine Arithmetic: Concepts
|
||||
and Applications*, Numerical Algorithms 37, 2004. Gamito cites both. AA keeps
|
||||
first-order correlations through shared noise symbols. Each nonaffine operation adds
|
||||
one symbol, whose coefficient bounds the linearisation error. Chebyshev or min-range
|
||||
affine approximations give that coefficient for unary functions.
|
||||
- **[search]** Knoll, Hijazi, Kensler, Schott, Hansen, Hagen, *Fast Ray Tracing of
|
||||
Arbitrary Implicit Surfaces with Interval and Affine Arithmetic*, CGF 28(1), 2009.
|
||||
Inclusion-preserving reduced AA, SIMD CPU at interactive rates, and a stackless GPU
|
||||
version.
|
||||
- **[fetched, abstract]** Fryazinov, Pasko, Comninos, *Fast Reliable Ray-tracing of
|
||||
Procedurally Defined Implicit Surfaces Using Revised Affine Arithmetic*, Bournemouth
|
||||
TR-NCCA-2009-04. Revised AA, which also keeps one accumulated error symbol, is
|
||||
reported fastest among the IA and AA variants compared, including on pseudo-random
|
||||
procedural objects.
|
||||
- **[fetched]** Sharp, Jacobson, *Spelunking the Deep: Guaranteed Queries on General
|
||||
Neural Implicit Surfaces via Range Analysis*, ACM TOG 41(4), 2022. This is AA through
|
||||
long compositions of nonlinear layers, which is structurally like noise composed with
|
||||
a warp. Table 1 compares the variants. Time is relative to one scalar evaluation,
|
||||
length is the 1D region that can be certified, and raycast time is relative to the
|
||||
best method:
|
||||
|
||||
| Variant | Time | Length | Raycast time |
|
||||
|---|---|---|---|
|
||||
| Interval | 2.4x | 0.011 | 34.3x |
|
||||
| Affine-full | 95.3x | 0.821 | 8.4x |
|
||||
| Affine-fixed (no new symbols kept, extra error condensed into one) | 4.7x | 0.306 | 1.0x |
|
||||
|
||||
The paper uses affine-fixed for ray casting and affine-full for 3D queries.
|
||||
- **[fetched, survey quote of abstract]** Heidrich, Slusallek, Seidel, *Sampling of
|
||||
Procedural Shaders using Affine Arithmetic*, ACM TOG 17(3):158-176, 1998. It computes
|
||||
the average of a procedural shader over a finite area, with an AA error bound.
|
||||
- **[fetched, project page]** Keeter, *Massively Parallel Rendering of Complex
|
||||
Closed-Form Implicit Surfaces*, ACM TOG 39(4), 2020. Interval arithmetic over a
|
||||
shallow, high-branching tile hierarchy does two things: it skips empty tiles, and it
|
||||
prunes the expression tape per tile. One benchmark drops the expression size by about
|
||||
two orders of magnitude. It requires only C0 continuity, so warps and blends that break
|
||||
Lipschitz continuity are allowed.
|
||||
|
||||
### 3.3 Lipschitz bounds through warps
|
||||
|
||||
- **[fetched]** Galin, Guérin, Paris, Peytavie, *Segment Tracing Using Local Lipschitz
|
||||
Bounds*, CGF 39(2), 2020. It computes a local Lipschitz bound over a ray segment
|
||||
instead of a global one. Section 4.4 covers warps `f o w^-1`, and bounds the gradient
|
||||
by the product of the field gradient bound over the transformed segment and the
|
||||
Jacobian norm bound over the segment. Cost: fewer field queries than sphere tracing,
|
||||
with no acceleration structure. Error: conservative, if the local bounds are
|
||||
conservative.
|
||||
- **[fetched]** Seyb, Jacobson, Nowrouzezahrai, Jarosz, *Non-linear Sphere Tracing for
|
||||
Rendering Deformed Signed Distance Fields*, ACM TOG 38(6), 2019.
|
||||
- **Computes:** the ray in deformed space as a curve in undeformed space, by
|
||||
integrating an ODE whose derivative is the inverse-deformation Jacobian times the ray
|
||||
direction. An initial value comes from rasterising a deformed hull mesh.
|
||||
- **Error control:** step requirements for the curve are separated from those for the
|
||||
SDF. Adaptive Runge-Kutta (RKF45 and DP54 evaluated) is used far from the surface,
|
||||
and forward Euler near it, against an error tolerance.
|
||||
- **Scope:** surfaces only. There is no density integration.
|
||||
- **[fetched]** Moinet, Neyret, *Fast Sphere Tracing of Procedural Volumetric Noise for
|
||||
Very Large and Detailed Scenes*, CGF 2025 (Eurographics), HAL hal-05046040.
|
||||
- **Computes:** sphere tracing of FBM density fields, using first- and second-order
|
||||
(2-Lipschitz) forward inclusion functions. The FBM partial sums act as a nested
|
||||
bounding volume hierarchy: the remaining octaves are bounded by their amplitude sum
|
||||
`s(i+1, n)`, so evaluation stops early once a point is provably outside.
|
||||
- **Cost:** up to 12x faster than classical sphere tracing on opaque or constant-density
|
||||
scenes. Only up to 1.8x on non-constant density, and that gain comes from empty-space
|
||||
skipping alone. One example frame: 16 ms against 110 ms naive at 1024 x 1024 on a
|
||||
4080 Ti.
|
||||
- **Stated limits:** FBM used as a domain warp is not supported, nor are nonlinear
|
||||
transforms of FBM. The paper names analytic estimation of the contribution of
|
||||
sub-pixel detail as an open problem.
|
||||
|
||||
### 3.4 Taylor models
|
||||
|
||||
- **[search]** Berz, Makino, *Verified Integration of ODEs and Flows Using Differential
|
||||
Algebraic Methods on High-Order Taylor Models*, Reliable Computing 4, 1998. Makino,
|
||||
Berz, *Taylor Models and Other Validated Functional Inclusion Methods*, IJPAM 2003.
|
||||
- **Computes:** a Taylor model is a polynomial of order n plus an interval remainder
|
||||
bound, which encloses any function given as code over a box. The sharpness of the
|
||||
remainder scales with the box width to the power n + 1. The method also gives
|
||||
verified ODE flows.
|
||||
- **Verified integration:** Berz and Makino also published *New Methods for
|
||||
High-Dimensional Verified Quadrature* (Reliable Computing 1999). There the integral
|
||||
of the polynomial part is exact, and the remainder bound times the domain measure
|
||||
bounds the error.
|
||||
- First-order AA is the n = 1 case in spirit: an affine part plus a bounded remainder.
|
||||
|
||||
### 3.5 Affine bound on a warp over a span
|
||||
|
||||
- **[derivation]** Over a segment of half-length r, the best affine approximation
|
||||
(Chebyshev) of a C2 coordinate function has sup error at most `r^2 / 4` times the
|
||||
maximum of its second derivative along the segment. Linear interpolation of the
|
||||
endpoints has `r^2 / 2` times that maximum. The noise error caused by a displacement
|
||||
error of size `delta` is at most `L_noise * delta`. This is the same chain-rule
|
||||
structure Galin uses in section 4.4.
|
||||
|
||||
## 4. Statistical or expected-value treatment of high-frequency detail
|
||||
|
||||
- **[fetched]** Heitz, Nowrouzezahrai, Poulin, Neyret, *Filtering Color Mapped Textures
|
||||
and Surfaces*, I3D 2013. It computes the filtered value of a colour map applied to a
|
||||
procedural function as `<C, N(mu, sigma^2)>`. The noise's footprint distribution is
|
||||
replaced by a Gaussian with the footprint's mean and variance. This equals the colour
|
||||
map convolved with `N(0, sigma^2)` and evaluated at the mean, which is precomputed into
|
||||
a 2D table indexed by (mu, sigma). Cost: one lookup after mu and sigma are computed.
|
||||
Error: exact when the driving function's footprint distribution is Gaussian. For a
|
||||
specific noise instance it converges as the footprint grows, and the paper states this
|
||||
limit.
|
||||
- **[derivation]** For `X ~ N(mu, sigma^2)`, `E[max(0, X - c)] = (mu - c) Phi(z) +
|
||||
sigma phi(z)` with `z = (mu - c) / sigma`. This is the rectified-Gaussian mean, and the
|
||||
scalar instance of the Heitz 2013 construction for the map `max(0, . - c)`. The
|
||||
survey's fetched finding that Perlin noise is non-Gaussian bears on how accurate it is.
|
||||
- **[search]** Olano, Baker, *LEAN Mapping*, I3D 2010. Dupuy et al., *LEADR Mapping*, ACM
|
||||
TOG 32(6), 2013. They store the first and second moments of slopes in mipmaps. Linear
|
||||
filtering of the moments gives a Gaussian or Beckmann slope distribution per
|
||||
footprint. Cost: two extra texture channels and linear filtering. Error: the Gaussian
|
||||
assumption.
|
||||
- **[fetched]** Gabor Fields (1.2): band and orientation masking of high-frequency
|
||||
kernels, with the Jensen bias of transmittance `~ 0.5 Var(tau) exp(-E[tau])`.
|
||||
- **[search]** Vicini, Jakob, Kaplanyan, *A Non-exponential Transmittance Model for
|
||||
Volumetric Scene Representations*, ACM TOG 40(4), 2021. Bitterli et al., *A Radiative
|
||||
Transfer Framework for Non-exponential Media*, ACM TOG 37(6), 2018. Jarabo, Aliaga,
|
||||
Gutierrez 2018, arXiv 1805.02651. Unresolved, correlated sub-voxel density makes
|
||||
transmittance non-exponential. Positive correlation gives slower decay than exponential.
|
||||
- **[search]** Kettunen, d'Eon, Pantaleoni, Novák, *An Unbiased Ray-Marching
|
||||
Transmittance Estimator*, ACM TOG 40(4), 2021. A power-series estimator built around a
|
||||
control variate. The control variate is a ray-marched mean-density estimate, and rare
|
||||
higher-order terms remove the bias. It is relevant as the known way to make a
|
||||
deterministic or expected-value optical depth unbiased.
|
||||
- **[fetched]** Schneider, *The Real-time Volumetric Cloudscapes of Horizon: Zero Dawn*,
|
||||
SIGGRAPH 2015 Advances course. The high-detail noise is applied only as erosion where
|
||||
the low-detail sample is non-zero. Rays take cheap large steps until the low-detail
|
||||
isosurface is hit, step back once, and then take full samples. After several zero
|
||||
samples they return to cheap stepping. This is an octave-level skip heuristic with no
|
||||
bound. Moinet (3.3) is the bounded version for FBM.
|
||||
|
||||
## 5. Temporal reuse of per-pixel or per-tile raymarch structure
|
||||
|
||||
- **[fetched]** Schneider 2015 (above). The full raymarch cost about 20 ms. Each frame
|
||||
renders 1 of 16 pixels per 4 x 4 block into a quarter-resolution buffer, and
|
||||
reprojects the previous frame. Where reprojection fails, for example at screen edges,
|
||||
a low-resolution buffer is substituted. The paper reports 10x or more faster, with a
|
||||
target of about 2 ms on PS4.
|
||||
- **[search]** Klein, Strengert, Stegmaier, Ertl, *Exploiting Frame-to-Frame Coherence
|
||||
for Accelerating High-Quality Volume Raycasting on Graphics Hardware*, IEEE
|
||||
Visualization 2005. First-hit depths of the previous frame are reprojected by point
|
||||
splatting to estimate per-pixel ray start points. About 2x on typical datasets.
|
||||
- **[search]** Yagel, Shi, *Accelerating Volume Animation by Space-Leaping*, IEEE
|
||||
Visualization 1993. A C-buffer of first non-transparent voxel coordinates, updated
|
||||
across frames. Gudmundsson, Randén 1990 introduced inter-frame empty-space skipping.
|
||||
- **[search]** Scherzer et al., *Temporal Coherence Methods in Real-Time Rendering*,
|
||||
CGF 2012 STAR (Eurographics 2011). Reprojection caches, with depth-tolerance validity
|
||||
tests for disocclusion.
|
||||
- **[search]** Hillaire, *Physically Based Sky, Atmosphere and Cloud Rendering in
|
||||
Frostbite*, SIGGRAPH 2016 course. Temporal reprojection for volumetric clouds. Details
|
||||
were not read in this pass.
|
||||
- **[fetched]** Gamito thesis, chapter 7: progressive refinement rendering of
|
||||
Lipschitz-bounded and AA-bounded surfaces. It refines across passes within one image,
|
||||
not across animated frames.
|
||||
- **[not found]** No source was found that caches per-ray span partitions, affine
|
||||
forms or certified intervals across frames and refines them.
|
||||
|
||||
## 6. Warp linearisation combined with exact segment integration
|
||||
|
||||
- **[not found]** No source was found that combines piecewise affine linearisation of a
|
||||
domain warp, with an error bound, and exact closed-form integration of noise over the
|
||||
resulting segments.
|
||||
- Nearest pieces, each covering part of the combination:
|
||||
|
||||
| Source | What it covers | What it leaves out |
|
||||
|---|---|---|
|
||||
| Gamito ch. 9 | Bounding a deformed ray | No integral. AA gave up on the ODE warp |
|
||||
| Seyb 2019 | ODE curved ray with adaptive error control | Surfaces only |
|
||||
| Galin 2020 | Jacobian-norm local bounds through warps | Surfaces, not integration |
|
||||
| Keeter 2020 | Interval pruning that tolerates warps | Surfaces |
|
||||
| Gabor Fields 2026 | Closed form for any affine-transformed Gabor kernel along a segment | No warp |
|
||||
| Balint 2019 | Closed form for cosine noise | Composition and warps break it |
|
||||
| Pre-integration (Engel 2001) | Exact per-segment integral | Under a piecewise-linear model of the scalar |
|
||||
| Moinet 2025 | Bounded FBM octave skipping | Excludes FBM used as a domain warp |
|
||||
|
||||
- **[search]** Rezk-Salama et al., *Fast Volumetric Deformation on General Purpose
|
||||
Hardware*, Graphics Hardware 2001. Fetched text: piecewise-trilinear deformation
|
||||
patches with adaptive subdivision, rendered by object-aligned slicing. The
|
||||
approximate inverse is `x + O(delta^2)`. A search summary describes the deformed rays
|
||||
as polylines, but the fetched text uses slicing, not per-ray exact integration.
|
||||
|
||||
## Sources
|
||||
|
||||
- Balint 2019: https://www.cl.cam.ac.uk/~rkm38/pdfs/balint2019cosine_noise.pdf
|
||||
- Condor et al. 2026, Gabor Fields: https://arxiv.org/pdf/2602.05081
|
||||
- Gamito PhD thesis: https://staffwww.dcs.shef.ac.uk/people/S.Maddock/phd_theses/gamito/thesis_small.pdf
|
||||
- Gamito, Maddock 2007: https://link.springer.com/article/10.1007/s00371-006-0090-7
|
||||
- Lagae et al. 2009, Gabor noise: https://www-sop.inria.fr/reves/Basilic/2009/LLDD09/LLDD09PNSGC_paper.pdf
|
||||
- Lagae, Drettakis 2011: https://inria.hal.science/inria-00606907/file/paper_0049_preprint.pdf
|
||||
- Lagae et al. 2010 survey: https://www-sop.inria.fr/reves/Basilic/2010/LLCDDELPZ10/LLCDDELPZ10STARPNF.pdf
|
||||
- Heitz et al. 2013: https://inria.hal.science/hal-00765799
|
||||
- Sharp, Jacobson 2022: https://arxiv.org/pdf/2202.02444
|
||||
- Seyb et al. 2019: https://cs.dartmouth.edu/~wjarosz/publications/seyb19nonlinear.html
|
||||
- Galin et al. 2020: https://hal.science/hal-02507361
|
||||
- Moinet, Neyret 2025: https://inria.hal.science/hal-05046040
|
||||
- Keeter 2020: https://www.mattkeeter.com/research/mpr/
|
||||
- Fryazinov et al. 2009: https://eprints.bournemouth.ac.uk/11708/1/TR-NCCA-2009-04.pdf
|
||||
- Knoll et al. 2009: https://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2008.01189.x
|
||||
- Berz, Makino 1998: https://link.springer.com/article/10.1023/A:1024467732637
|
||||
- Engel et al. 2001: https://www3.cs.stonybrook.edu/~mueller/teaching/cse616/engel.pdf
|
||||
- Gustavson 2005: https://cgvr.cs.uni-bremen.de/teaching/cg_literatur/simplexnoise.pdf
|
||||
- Schneider 2015: https://advances.realtimerendering.com/s2015/
|
||||
- Kettunen et al. 2021: https://jannovak.info/publications/URM/URM.pdf
|
||||
- Vicini et al. 2021: https://dvicini.github.io/non-exponential-representation/
|
||||
- Rezk-Salama et al. 2001: https://www3.cs.stonybrook.edu/~mueller/teaching/cse616/p17-rezk-salama.pdf
|
||||
- Klein et al. 2005: https://www.researchgate.net/publication/4188150
|
||||
Loading…
Reference in a new issue