crt-distort-coordinates
Do a barrel distortion to a given texture coordinate to emulate a curved CRT screen.
Index
Functions
Functions
- ApproxAtan2
-
float2 ApproxAtan2( float2 y, float2 x)
Description
Do a fast approximation of a two-component atan2 calculation. This is only accurate near 0 (it only uses a few terms from its taylor series, so becomes increasingly inaccurate away from the origin. But it is good enough for our purposes.
Called by
DistortCRTCoordinates
.Parameters
y
-
Type:
float2
The y component(s) of the angle (corresponding to the sine of the angle(s)).
x
-
Type:
float2
The x component(s) of the angle (corresponding to the cosine of the output angle(s)).
Return Value
Type: float2
A pair of angles, one for each y, x pair of inputs.
- DistortCRTCoordinates
-
float2 DistortCRTCoordinates( float2 texCoord, float2 distortion)
Description
Do a barrel distortion to a given texture coordinate to emulate a curved CRT screen.
Called by generate-screen-texture and rgb-to-crt.
Parameters
texCoord
-
Type:
float2
The original texture coordinate, intended to come straight from the full-render-target quad, in
[-1..1]
range (not standard[0..1]
) distortion
-
Type:
float2
A (horizontal, vertical) distortion pair which describes the effective curvature of the virtual screen.
Return Value
Type: float2
The texture coordinates, distorted to emulate being on a curved screen.