CathodeRetro::ScreenSettings
Index
Members
- distortion
-
Vec2 distortion = { 0.0f, 0.0f }
Type
Vec2
Description
A pair of
[0..1]
values describing how much to distort the virtual screen.The
x
value controls the horizontal distortion, and they
value controls the vertical distortion. A value of0
means "no distortion along that axis."- These values are scaled to really max out at 1.0 - above 1.0 things get ... weird.
- It is recommended that these values never get too far from each other - too much distortion on one axis vs. the other doesn't look right.
- screenEdgeRounding
-
Vec2 screenEdgeRounding = { 0.0f, 0.0f }
Type
Vec2
Description
How much additional rounding of the edges we want to emulate a screen that didn't have a rectangular bezel shape. - cornerRounding
-
float cornerRounding = 0.0f
Type
float
Description
How much to round the corners (to emulate an old TV with rounded corners). - maskType
-
MaskType maskType = MaskType::SlotMask
Type
MaskType
Description
The variety of mask to use. - maskScale
-
float maskScale = 1.0f
Type
float
Description
The scale of the mask on the screen. At 1.0
there is one "tile" of the mask per input scanline. At2.0
it is visually twice as large, making one tile per every two input scanlines. - maskStrength
-
float maskStrength = 0.0f
Type
float
Description
How much the mask is multiplied with the on-screen image to produce the final output. A value of
0.0
means the mask is invisible, where a value of1.0
means that the mask is fully multiplied with the on-screen image.The math for this is:
maskedRGB = onscreenColor * lerp({white, maskRGB}, maskStrength)
- maskDepth
-
float maskDepth = 0.5f
Type
float
Description
The darkness of the spaces between the phosphors in the mask. Adjusting this will adjust both the brightness of the resulting image as well as the amount of visibility of the mask.
A value of
0
means that the spaces between the phosphors are pure black. - phosphorPersistence
-
float phosphorPersistence = 0.0f
Type
float
Description
How much of the previous frame to blend into the next frame: 0
for "none" and1
for "the previous frame is just as bright as the current frame. - scanlineStrength
-
float scanlineStrength = 0.0f
Type
float
Description
A [0..1]
value describing how strong the scanline effect is. - diffusionStrength
-
float diffusionStrength = 0.0f
Type
float
Description
A [0..1]
value describing how much the "glass" in front of the "phosphors" diffuses the light passing through it. - borderColor
-
Color borderColor = { 0.05f, 0.05f, 0.05f, 1.0f }
Type
Color
Description
The color around the edges of the screen, where there's no visible picture.