CathodeRetro::ArtifactSettings

Jump to Index

 

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 and 1 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, and 1 is a perfect 50/50 blend between the two phases.