DriftCapture · interface

GaussianGradients

Where the gradients go: one entry per parameter of every Gaussian.

Explained in DriftCapture.

interface GaussianGradients
import type { GaussianGradients } from '@driftengine/capture';

Properties

NameTypeDescription
positionsreadonlyFloat64ArrayThree per Gaussian.
scalesreadonlyFloat64Array
rotationsreadonlyFloat64ArrayFour per Gaussian, xyzw.
colorsreadonlyFloat64Array
sh1readonlyFloat64ArrayNine per Gaussian, and left at zero for a cloud with no band to fit.
screenreadonlyFloat64ArrayThe gradients as the screen sees them, nine per Gaussian: the two of its centre in pixels, the three of its screen covariance, its opacity, and its resolved colour.
More

Everything else here is a chain rule away from these. They are kept because the tiled device rasteriser computes exactly this much and nothing further — the projection and the band are per-splat work that is not worth a dispatch — so this is the surface scripts/gpu-parity.mjs holds the two rasterisers to.

opacitiesreadonlyFloat64ArrayOne per Gaussian.