Dogway's grading shader (slang)

Well that’s interesting because you have something to compare. Could you find a combination of phosphor and temperature that roughly matches the CRT? maybe this is a case for European CRT using also P22 phosphors.

And I’m curious about what kind of controls the CRT has.

What i am doing is

Get primaries in a 3x3 matrix (find zr,zg,zb by subtracting 1-x-y etc)
get xw, yw, find zw (1-xw-yw)
get a vec3 (xw/yw, 1.0, zw/yw)
put the matrix and the vec3 here to find 3 unknowns
https://www.1728.org/unknwn3.htm

then multiply my initial matrix of primaries with matrix 3x3 
[unknown_x, 0, 0, 
0, unknown_y,0,
0,   0,  unknown_z]`

get the matrix XYZ

I would say PAL or CRT-95s is close in Grade with temp 6500, from memory didn’t check side by side.

1 Like

Try to use grade-no-LUT where everything is disabled and simply enable NTSC signal, then one phosphor and some temperature.

What you posted is unknown to me, it looks like extracting white point from the primaries and applying directly in RGB. You need to multiply primaries in xyz space and temperature reference white (not to confuse with HDR reference white) in a LMS space.

When you get the chance try a side by side comparison

This is what i am doing (have to find 3 unknowns a1, a2, a3) and the result should be same with XYZ matrix calculated the “hard way”

2 Likes

Ok, I understand now. It’s simply a forward transformation in column major order matrix. You don’t need a LMS because you are using the C white point coordinates defined for the FCC NTSC primaries.

It’s fine except that the FCC NTSC was conceived in 1953 and barely used. In 1979 it was officially deprecated although it was barely used already. Try to use SMPT-C primaries with D65 white point for the standard NTSC-U colors from 1980s and up.

2 Likes

OK so checked side by side, on grade, 3-pal and -1 709 and contrast 70, saturation 0.15 is close. Temp 5800-6000… Ntsc-j is there too at 6000k. That’s an actual pal Amiga driving the CRT

2 Likes

Strange to see a CRT so warm. Is your monitor calibrated to D65? If not it might be more blue than D65 and explain the compensation to D60.

The rest looks fine as I guess you tested without scalines/mask.

1 Like

It could be, i don’t know. But in any case blue is red-ish at points and green is blue-ish at points. Very different colors than default Windows, actually colors are absolutely brilliant. RGB is pale and desaturated, colors are not correct, red is orange-ish etc.

If you load ffc1953-fake on glsl and enter parameters 0.23, 0.52, 0.10 it’s 90% there.

1 Like

Rincewind had a post on his blog where he suggested that warm temperatures are expected of typical Amiga monitors (at least the PAL versions I would assume), so maybe this also applies to some TVs.

https://blog.johnnovak.net/2022/04/15/achieving-period-correct-graphics-in-personal-computer-emulators-part-1-the-amiga/#crt-colour-profile-and-monitor-controls

Btw. does “Red Push” factor into this? On my 2000er TV set, I adjusted down the "R-Drive (or cut?) parameter a lot, because red looked totally overblown in NTSC (this strangely applies also to RGB unless input is send from a PAL60 device, I thought there’d be no color encoding)

1 Like

That’s interesting because it matches mostly DariusG observations regarding contrast and saturation. White Point wise though it recommends 6100K but instead goes and uses the Warm white point of Guest’s Reshade port.

If I look at this image it’s hard to imagine the white point being lower than 6100K. If any I’d say 7000K, although I would need to pair it with the custom Philips primaries. This looks like a very specific scenario. I studied the match done by Guest and this is the primaries and white point:

This calibrated CRT profile covers amongst others
Philips CM8533, Philips VS-0080, and Commodore 1084
 WP: 0.317073, 0.348432 (~6174.68K)
 0.635,  0.339,  
 0.300,  0.620,
 0.154,  0.060,

Blues are mostly same as sRGB, Green is a tiny bit more pure (less blue), and Reds are less pure with more green in it. But primaries wise it doesn’t deviate much from sRGB, colors are mostly affected by the white point which seems to be out of locus but approximates to a CCT of 6175K.

One thing that picked my interest is how he recalls CRTs from the 80s (Western models I guess) with warm (D65?) white points. Is this for TV CRTs or PC CRTs?

2 Likes

In context, I think he’s refering to the RGB capable consumer monitors that were typically used with the Amiga, but also other computers, because they have various inputs and (depending on the model) connectors. Composite input means you could connect consoles also. They could even switch to color-limited digital RGB, making it possible to connect actual IBM-PC compatibles provided they used CGA or EGA 200 line (15 KHz) modes.

In chromaticity.glsl custom primaries (not yet accepted the PR), and no touch wp (-1.0) Is 99% equal to Trinitron PAL

rx = 0.56
ry = 0.34
gx = 0.25
gy = 0.60
bx = 0.17
by = 0.06

Most probably that would work correctly only in chromaticity and not in a plain calculation some place else.

Default RGB (greenish)

Real PAL Amiga Colors

1 Like

Yes, that looks very red. Ok, so what I see is that you don’t want to mimic how the Amiga looked on the “official” CRT, but how it looks on your Trinitron. Maybe they didn’t change phosphors and simply changed the temperature, you can try with P22_J (your primaries tends to that) and lower temperature until a close match.

And this is ignoring if the Amiga had a custom palette or something like the NES, or Sega consoles.

Well there was no “official” CRT but let’s say it was the 1084S (mine died a long time ago, didn’t bother to fix it). I think that if shader matches colors on PC and CRT then it would match any content you feed on the pc(even if snes etc) , it would look the same on CRT. About the primaries I agree it is closer to p22 that is a bit close to smpte-c and lower temperature. Looks like it’s on 5500-6000 area.

You should check the glsl preset “Sony-Trinitron-pal” I uploaded when it compiles and is available. That’s super close to how this CRT represents colors.

I used an Android app that measures temperature on white and reports 6900k on CRT (240p suite white screen). I used Wii-Retroarch on RGB cable to Trinitron.

Maybe not perfect but should be somewhat accurate. Also 6200k on my laptop, and 5900k on another LCD i have on my big desktop with GTX-1070 which i calibrated, it has controls for that. So you are right the CRT should be around there 6800-7000k.

After multiple measurements you were right the primaries are 0.63-64, 0.32-33, 0.29, 0.58-59, 0.150-155 0.055-060. Close to PAL primaries. So the temperature only changes and possibly gamma difference.

So I believe ntsc-j should be smpte-c 525 lines ntsc with 9300k temp(?).

1 Like

NTSC-J is based on EBU Tech-E (formerly JEDEC-P22) so it’s close to those primaries if you check, have a look at my primaries list.

SMPTE-C was the NTSC-U standard but it was a “target” colorimetry based on Conrac CRTs measurements from the 80s. A metameasurement from global 1979-1994 NTSC-U CRTs delivered the primaries you can find in P22_80s.

I have some sources that say that PAL CRT temperatures were 6900K if that helps, and NTSC-U 7100K, but as you know, those vary from unit to unit.

2 Likes

I measured mine and it’s 6900k (PAL). Grade PAL and some tweaks is almost there at 6900k. Very impressive arsenal of tweaks there (i think vignette should be off by default, there isn’t any at least on my flat TV).

1 Like

Now the Grade update I did 2 weeks ago for black lift and gamma compensation should be in the Repo (currently as PR).

I also included the fixes DariusG did to the glsl versions.

@DariusG I saw in your other thread that you took photos of your CRT, would be nice if you could take some with lights off so you take out warm reflections on the display and if possible a way to avoid bloom on the CRT, I guess the CRT has higher nits than the laptop.

Also what is your latest version of your ntsc port? I’m curious to try.

3 Likes

You want to see the colors of the CRT? The problem is that the cellphone is a wide gamut device, what you see on screen is different than what you get if you transfer to PC. Colors are more pale and desaturated on the PC side. I think that is the case except if it has some sRGB option or it is sRGB calibrated by default.

About the NTSC, you mean the EMMIR port? That is on halt for the moment as it requires plenty hours of studying the code, converting hundreds of lines etc, and i find it more fun to play with traditional shaders. At some point probably i will jump back to it.

1 Like