CathodeRetro::ArtifactSettings
A description of how noisy the generated signal is. Think of this as a bad cable or RF transmission between the nice, cleanly-generated source signal and the back of the TV.
Specifically, it controls three things:
Ghosting
Ghosting is a rough approximation of what can happen with some connectors, especially with an RF signal: some "pre-echo" of the signal arrives first, adding a little "ghost" version of the image to the side of the main image.
Noise
Noise is both how "snowy" is the picture, as well as how jittery the individual scanlines are.
Temporal Artifact Reduction
Temporal artifact reduction is a way for some emulations to get the approximate feel of the machine being emulated without needing to actually flicker the screen. It effectively renders the same frame twice with two different sets of phase offsets and allows blending between the two.
See Reducing Emulated Temporal Aliasing for additional details.
Index
Members
- ghostVisibility
-
float ghostVisibility = 0.0f
Type
float
Description
A [0..1]
value describing how visible the signal ghost is:0
means "not visible at all."1
means "as strong as the real signal."
- ghostSpreadScale
-
float ghostSpreadScale = 0.71f
Type
float
Description
How far does each sample of the ghost spread from the last, in input texels. Essentially, it is the "blurriness" of the ghost. - ghostDistance
-
float ghostDistance= 3.1f
Type
float
Description
The offset (in input texels) of the ghost from the main signal: - At 0, the ghost is lined up perfectly with the main signal (i.e. it's not visible).
- At positive values, the ghost is to the left of (before) the main signal.
- At negative values, the ghost is to the right of (after) the main signal.
- noiseStrength
-
float noiseStrength = 0.0f
Type
float
Description
The strength of the noise added to each scanline, with 0
being a pristine signal and1
being "wow that is a lot of noise." - instabilityScale
-
float instabilityScale = 0.0f
Type
float
Description
The scale of horizontal "wobble" per-scanline: with 0
being no wobble at all. - temporalArtifactReduction
-
float temporalArtifactReduction = 0.0f
Type
float
Description
A
[0..1]
value for how much to blend between two different phases (the current frame's phase and the phase that was used in the previous frame) to reduce temporal aliasing.0
disables temporal aliasing reduction completely, and1
is a perfect 50/50 blend between the two phases.