Horizontal edge falloff
How scan and readout nonuniformity can reduce signal level toward the beginning and end of each horizontal line.
Visible effect
Both ends of every scan line lose level
Signal brightness falls toward both horizontal extremes while the central portion remains comparatively unchanged. Because the variation follows scan position rather than radial image height, it does not have the circular shape of ordinary optical vignetting.
The visible profile can arise from beam landing, scan velocity, target/readout uniformity, blanking, or analogue processing. This article isolates only the horizontal gain envelope.
Physics
The response varies with horizontal scan position
The electron beam and signal chain do not necessarily maintain identical sensitivity across the complete horizontal sweep. Landing geometry, velocity, target uniformity, and circuit response can contribute.
The model uses a fourth-power horizontal envelope by default and exposes its exponent for comparison.
Mathematics
A symmetric horizontal gain envelope
Normalized x is recentered and doubled so both edges reach one. Amount A sets edge loss and exponent p controls how closely the reduction is concentrated near the extremes.
Shader
A bounded quartic generalization
The shader computes one horizontal multiplier and applies it equally to RGB.
// WHAT: Reduce camera-tube response near both horizontal scan extremes.
// HOW: Convert horizontal UV to a centre-to-edge distance, shape that distance
// with an exponent, and multiply every colour channel by the resulting gain.
// WHY: This is scan/readout nonuniformity, so it follows horizontal scan
// position rather than the radial field angle used by optical vignetting.
// uv is normalized texture space: x=0 and x=1 are the two scan-line edges.
vec3 horizontalEdgeFalloff(
vec3 source,
vec2 uv,
float amount,
float power
) {
// edgeDistance is zero at the centre and one at either horizontal edge.
float edgeDistance = abs(uv.x - 0.5) * 2.0;
float shapedEdge = pow(edgeDistance, max(1.0, power));
float transmission = 1.0 - clamp(amount, 0.0, 1.0) * shapedEdge;
return source * max(0.0, transmission);
}- Source texture
- Scan-position gain envelopeOne fullscreen render pass
- Measure distance from horizontal centre
- Evaluate the edge falloff profile
- Multiply the source signal
- Display output
Why these steps are here
- Recenter normalized horizontal position.
- Mirror the two halves with an absolute value.
- Raise edge distance to the selected power.
- Subtract the bounded loss from unity.
- Multiply signal level without remapping geometry.
Notes
- A real camera may show asymmetric falloff; this isolated model is symmetric.
- The pass does not include horizontal blanking or sync pulses.
- Use measured flat-field footage when calibrating a particular tube and camera chain.
References
RCA Review, September 1954 — television pickup tubes — primary camera-tube research covering aperture response, lag, flare, transfer response, scanning, and shading.