Renderer · function
jitterClip
source moved in clip space by jitter, which is what a contributed pass does with the frame's
jitter (PrepareContext.jitter) to draw where the renderer's own verbs drew this frame.
Explained in Hello world.
function jitterClip(out: Float32Array, source: ArrayLike<number>, jitter: ArrayLike<number>): Float32Arrayimport { jitterClip } from '@driftengine/core';Parameters
| Parameter | Type | Description |
|---|---|---|
out | Float32Array | |
source | ArrayLike<number> | |
jitter | ArrayLike<number> |
In depth
In the camera's own convention, before any correction: jitter is a fraction of the clip
square, x rightward and y upward as mat4.perspective has them, so the matrix it applies to is
the one the consumer built — a pass then multiplies by clipCorrection or depthCorrection
exactly as it would have, and the offset arrives on screen where the renderer's did. Scaled by w,
as jitterProjection is, so it is a constant screen offset at every depth.
A zero jitter leaves a finite matrix bit for bit — each term gains a zero — so a frame that is not reconstructed draws exactly what it drew before this existed.