Please show off what crt shaders can do!

In regards to phosphor gamuts- the following is taken from the readme for guest-advanced (emphasis added). The same thing applies to the grade phosphor gamuts.


“CRT colors” changes the default colors to something more close to what the RGB Phosphors in CRTs produce.

These profiles are about subtle changes, but if you were used to the display of CRTs you may remember the display having more vivid greens, softer yellows and red, etc. It all depends on the type of CRT you were looking at, but admittedly CRT colors are different from the default sRGB color gamut that is prevalent in today’s LCD screens.

The CRT colors are based on research of the CIE chromaticity coordinates of the most common phosphors used back in the day. Therefore we ended up with 3 “specs” which are EBU standard phosphors, P22-RGB phosphors and the SMPTE-C standard. These three profiles can be selected under “CRT colors” as number 1, 2 and 3.

Then there are two additional “calibrated” profiles that actually quite closely match a Philips based CRT monitor and a Trinitron monitor. They are profile number 4 and 5.

Some more information on these profiles can be read below.

The main drawback currently is that Phosphor color primaries are partly outside the sRGB spectrum, such that for these profiles a “Wide Color Gamut” monitor is needed / recommended. This is what the “Color space” option is for. If you happen to own a monitor that is able to display DCI-P3 color gamut, then set this option to “1”. Option “2” is for AdobeRGB and “3” for Rec. 2020. DCI-P3 is verified to be quite accurate.

4 Likes

thanks for sharing bud. Looking beautiful any of them.

1 Like

I dont know if there is much to these colour transforms - as far as I’ve seen the matrices are just the standard colour transforms that are defined in the ITU-R standards: rec. 601, rec. 709, rec. 2020 etc. I’m not sure there is any need for wide colour gamut monitors they are just transforming the colours between those various standards.

The ones you mention are transforming from the two rec. 601 standards (525 lines/625 lines) to rec. 709. You can then use others to move into wider colour gamuts if you wish such as DCI-P3 or AdobeRGB, rec. 2020 etc.

You can see them all here and the other ones such as DCI-P3, AdobeRGB and ACES (Chapter 14: Colour Primaries):

Certainly this is what the Sony Megatron uses and it matches all the matrices found in Grade and Guest Advanced as far as I can see (you need to transpose them btw).

5 Likes

Thank you, I’m glad you like them. For the 8/16 bit presets I was planning on dirtying up the image with a lot of noise to give a more “analog” look if that makes any sense but decided to just leave it the way it is. Here’s some examples of what I meant,

No noise:

Extra noise:

No noise:

Extra noise:

The settings I used for the noise were “Add Noise” at -0.60 and “Noise Resolution” at 1.00. Using those settings washes out the colors and smears the mask a bit but for some reason I liked how it looked, in the end I didn’t end up using those settings though but it was an alternative at one point.

1 Like

if you have any other Composite-looking shader/preset for Sega Genesis, you’re pretty welcome. I think that type of connection looking fits very well that console. I don’t know, it’s a personal preference but I think along with NES/SNES seem to fit better off that old school games era.

Those are all the presets I have that I posted up there so far and I agree, all the old systems from that era look good with the composite/RF look

what is the address to locate your other presets ? once again thank you for it bud.

I’m not sure I understand. The CRT color profiles are all NTSC gamuts, which are wider than the sRGB gamut. Anything outside the sRGB gamut will be clipped and colors won’t display with the proper saturation, right? You need to use a gamut that’s as wide as NTSC, like rec 2020 or DCI-P3, AdobeRGB etc. To use one of these you need a wide gamut display, correct?

I think I’ve misunderstood you.

2 Likes

There are no others, they’re all in the link I posted above in that shader post

Yeah so there are a number of things to unpack here. First let’s start with the matrices - I’m not sure how good your linear algebra is but essentially you can think of a matrix transforming one space into another i.e from your square dining room into your rectangular kitchen say or more pertinently from your rec.601colour space to rec. 709 colour space.

A correct transform matrix can never move a point inside a bounded region of a source space to outside the equivalent bounded region of a target space. As in if a blue is not being clipped in rec. 601 then the correct transform matrix will not make the equivalent blue clip in the target colour space.

There’s a slight kink in the simplicity because all these colour matrices transform into an intermediate colour space: CIE XYZ but we can ignore that here.

Ok so we could go on for pages about linear algebra so let’s stop there. Next ‘NTSC is a larger colour gamut at least in the blue direction than sRGB’ (to paraphrase) is that really true? NTSC is rec. 601 525 line colour space and sRGB is identical to rec. 709 colour space it just uses a different gamma curve. So did the engineers really make rec.709 smaller than rec.601 in blues? I’m not sure I’ve seen that written anywhere but I’m willing to be proved wrong.

Then onto the next thing your displays actual colour space Vs theoretical standard colour spaces. When a monitor says 95% DCI-P3 it’s only capable of displaying 95% of DCI-P3 colours and colours outside of that, the 5% will get clipped i.e be the same colour as one of the 95%. However what those 5% of colours are you don’t know and will change from monitor to monitor let alone, model to model or make to make.

Lastly if your TV is doing any kind of colour transforms as in brightness, contrast etc it could well push the colours outside of the colour space that your TV is capable of and so result in clipping.

Whether any of that has anything to do with what you’re seeing I don’t know but I hope it helps in finding the issue or making more sense of it.

4 Likes

I am not sure that rec 601 is the color space for NTSC. It’s the standard for SD content, introduced in 1982. And yes, it’s practically identical to rec 709. NTSC is its own RGB color space, introduced in 1953 by the FCC.

Can you explain this diagram? This pretty clearly shows that NTSC is a wider gamut, no? Btw it’s mostly wider in greens as you can see:

image

https://www.eizo.com/library/basics/lcd_monitor_color_gamut/

Yes, but you cannot use a transform to display a wide color gamut on an sRGB display and not get a clipped and incorrect image, correct? It’s not the transform causing the clipping it’s the fact that the display can’t display all the colors you’re giving it.

4 Likes

Lastly it’s all about of representation of the RGB (#,#,#) values. A calibrated dci-p3 for example represents and produces colors which weren’t present on the ordinary crt displays, giving a too saturated look, since primary colors, mostly green, have different chromatic.

In GDV, for example, a calibrated dci-p3 display when selecting the dci-p3 gamut should produce colors as seen on a sRGB limited display.

Selecting an appropriate color profile can bring colors closer to the desired crt look, but sRGB doesn’t differ too much from established crt phosphor specs.

It makes less sense to narrow the gamut on the sRGB calibrated/capable display, since the transformation is relative and will result in loss of saturation.

Reverse transformations to fake a wider gamut are a bit silly though and could give weird results. It’s best to just increase saturation a bit if someone wants more saturated colors.

6 Likes

I think I’m on the same page.

sRGB is based on the most commonly used CRT phosphors but that doesn’t mean that sRGB covers all of NTSC. In fact, sRGB only covers about 72% of NTSC.

The important points for users:

-If you want to use a CRT phosphor gamut you should use a wide color gamut display, preferably rec2020 since it’s the only one that contains all of NTSC (afaik). You should also select the correct color space setting in the shader.

-If using a wide color gamut display the user should select the correct color space setting regardless of if they’re using a CRT phosphor gamut.

-If using an sRGB display one should just use phosphor gamut = 0 (in grade), or not use a CRT phosphor gamut.

2 Likes

Yes I think its wrong. There’s no way that NTSC is nearly the same colour space as AdobeRGB. It doesn’t make sense does it? Why would the standards committee go down in colour gamut space - especially by that much. (EDIT: I now see why they went down in colour space: because no TV of the time could reproduce the colours in the 1953 NTSC colour space.)

All the images I see are much more like this, which makes far more sense to me:

CG318-4K-color_modes

Yes thats exactly right and what I’m saying. Whether you’d be able to really notice the difference between EBU (PAL) and 709 I’m not sure (my guess is that I doubt it with the naked eye - PAL vs NTSC (SMPTE-C) more so though)

I’m not sure where that NTSC colour space has come from but what I can say is that all the colour gamut transforms everybody is using (Grade, Guest and Sony Megatron) conform to the EBU (PAL/rec. 601 625 line) and SMPTE-C (NTSC/rec. 601 525 line) colour spaces. Just look and compare the numbers in matrices in the shaders vs those in the Khronos Groups pdf - they all match up and aren’t anything to do with this much larger NTSC colour gamut. I dont know :man_shrugging:

EDIT: Ah-ha! I see where that larger colour gamut is coming from (from the Khronos Groups pdf):

14.5 NTSC 1953 color primaries The following chromaticity coordinates are defined in ITU-R BT.470-6 and SMPTE 170m as a reference to the legacy NTSC standard: Rx = 0.67 Ry = 0.33 Gx = 0.21 Gy = 0.71 Bx = 0.14 By = 0.08 Wx = 0.310 Wy = 0.316 (Illuminant C)

This is much larger - they were getting well ahead of themselves with this colour space and thats then why in the 1970’s everybody moved to the EBU and SMPTE-C colour spaces that the TV’s of the time could actually produce with their phosphors. Obviously 1980’s/1990’s consoles were way past the point of using the 1953 NTSC standard. Everything would look very wrong if we used that input colour gamut.

1 Like

That does appear to be what happened, though.

"The sRGB color gamut covers about 72% of the NTSC gamut."

https://www.eizo.com/library/basics/lcd_monitor_color_gamut/#:~:text=The%20sRGB%20color%20gamut%20covers,for%20applications%20involving%20still%20images.

This diagram shows the same thing:

and this one

https://color.viewsonic.com/explore/content/Color-gamut_205.html

1 Like

Yes I think it started with color spaces based mostly on pure theory and over time they became more empirical and based on what displays could actually do.

1 Like

The Reason why NTSC changed is right in the wiki article:

NTSC - Wikipedia

TL;DR early phosphors were crappy and so they decided to sacrifice saturation for brightness. NTSC was never very popular unlike SMPTE C

2 Likes

Yes you’re right it did happen - I just edited my post - see “EDIT:” and was because they way over stretched back in 1953 (some might say the same is occuring with brightness in the rec.2020 spec). As I say in the edit no TV could actually display that and so the rec. 601 standard came out that brought everything back more inline with what could be done with the technology of the time. Its a colour gamut nobody was using much past 1970 it would seem.

1 Like

yep now we’re slightly back to theory with the rec2020 spec since displays might peak at 90% coverage.

Ok so the grade CRT gamuts and the GDV CRT gamuts are all within rec 601?

In short, does this part of the readme for guest-dr-venom need to be revised?

"

"

@guest.r

1 Like