I updated Grade with some ideas on my repo and while at it noticed some people would get confused with the plethora of settings so I made a brief guide below.
The changelog:
- Fix signal_type not being parsed
- Fix a typo on SLANG no-LUT
- Fix GLSL fallback defaults
- Add headers for parameters and move up White Point on the stack
- Remap CRT Brightness and CRT Contrast values to more CRT-like (also go negative)
- Add CRT flare given a CRT reflection percentage and a Surround Luminance in nits (at simulated 2700K)
- Quantize model conversion to 8-bits to replicate CRT (and console) circuit arithmetics (not sure about this one so please test)
Signal Type (0:RGB 1:Composite) = 0:RGB disables CRT color controls (Hue, U and V)
Phosphor (-2:CRT-95s -1:P22-80s 1:P22-90s 2:NTSC-J 3:PAL) = Emulated CRT phosphor gamut
Diplay Color Space (-1:709 0:sRGB 1:DCI 2:2020 3:Adobe) = Host display calibrated color space
Dark to Dim adaptation = Dark to Dim OOTF fpr 709 and 2020 color spaces
// ANALOG CONTROLS // = This block is for CRT related controls so they behave like a CRT would do
White Point = Emulated CRT white point temperature. Typically blue voltage was increased to increase the perceptual brightness of the image also as typically red phosphors would decay quick
CRT Hue = HUE drift
CRT U Shift = Color drift in the U channel
CRT V Shift = Color drift in the V channel
CRT U Multiplier = Color burst to control saturation in U channel
CRT V Multiplier = Color burst to control saturation in V channel
CRT Gamma = CRT output gamma (EOTF)
CRT Brightness = CRT brightness control (misnomer for Offset)
CRT Contrast = CRT contrast control (misnomer for Gain)
CRT Beam Red = Controls the summed average of beam voltage current and phosphor decay for red
CRT Beam Green = Controls the summed average of beam voltage current and phosphor decay for green
CRT Beam Blue = Controls the summed average of beam voltage current and phosphor decay for blue
CRT Lambert Refl. in % = Percetange of flare/glare lambertian reflectance (F0) of CRT display
Surround Luminance -nits-= Surround luminance in nits (cd/m2) for emulated room viewing environment at 2700K surround illuminant
Vignette Toggle = Toggles vignetting effect around the borders
Vignette Strength = Controls the vignette strength of the effect
Vignette Power = Controls the decay rate for the vignette
// DIGITAL CONTROLS // = Digital color grading controls for artistic purposes
Sega Luma Fix = Fix white level for Retro Sega Systems; Genesis, 32x, CD and Saturn 2D had color palettes designed in TV levels to save on transformations
Brightness = Increases brightness (read "Gain") in a roll-off fashion (aka no clipping)
Contrast = Applies a sigmoidal (aka no clipping) contrast
Contrast Pivot = Sets the pivot for the sigmoidal contrast, therefore allowing going from an S shaped curve to a more power like (think gamma) curve
Saturation = Increase or lower the global saturation
Dullness/Vibrance = Interacts with "Saturation" to bias its weight over most saturated areas vs least saturated areas
Hue vs Sat Red = Increase or lower saturation in reds
Hue vs Sat Green = Increase or lower saturation in greens
Hue vs Sat Blue = Increase or lower saturation in blues
Black Level = Raise the black level in a "Lift" fashion
Black-Red Tint = Red tint for the black floor (noop if blacks are not raised)
Black-Green Tint = Green tint for the black floor (noop if blacks are not raised)
Black-Blue Tint = Blue tint for the black floor (noop if blacks are not raised)
White-Red Tint = Red tint for the whites (similar to CRT Beam Red but keeping brightness)
White-Green Tint = Green tint for the whites (similar to CRT Beam Red but keeping brightness)
White-Blue Tint = Blue tint for the whites (similar to CRT Beam Red but keeping brightness)
Red-Green Tint = Green contribution to Reds
Red-Blue Tint = Blue contribution to Reds
Green-Red Tint = Red contribution to Greens
Green-Blue Tint = Blue contribution to Greens
Blue-Red Tint = Red contribution to Blues
Blue-Green Tint = Green contribution to Blues
LUT 1 Toggle = Enable LUT 1 (look LUT)
LUT Size 1 = Size of LUT 1 (8, 16, 32, 48, 64)
LUT 2 Toggle = Enable LUT 2 (technical LUT)
LUT Size 2 = Size of LUT 2 (8, 16, 32, 48, 64)