Moderators: Mug UK, Zorro 2, Greenious, spiny, Sorgelig, Moderator Team
paulbnl wrote:Back in the day graphic designers were making content that was viewed on a CRT. A CRT has a very different gamma curve compared to an LCD display. Low and mid-tones are much darker on a CRT.
So the designers compensated for this by brightening the darker parts. If the content is viewed on an LCD then the gamma needs to be corrected.
Here is an album with pictures comparing SNES original and gamma corrected screenshots to photos of a CRT.
https://imgur.com/a/sEOsvMm
I propose adding an option to Mister.ini that enables gamma correction for HDMI. The analog output does not need it because a CRT will most likely be connected to that output anyway.
Here is a build of the SNES core with always-on gamma correction on HDMI if someone wants to try it.
https://drive.google.com/file/d/12FrBLfYS4wFAs95T9qJdAtH-goV8lmGT/view?usp=sharing
paulbnl wrote:Here is an album with pictures comparing SNES original and gamma corrected screenshots to photos of a CRT.
https://imgur.com/a/sEOsvMm
I propose adding an option to Mister.ini that enables gamma correction for HDMI.
ghogan42 wrote:
Those screenshots look good. Is that just a normal gamma correction of (RGB)^(2.5/2.2) or so?
I did that to the Genesis core a while back and nobody seemed interested then.
Btw, Grabulosaure indicated in the past that ACAL's support for paletted color could be used for gamma correction without adding new hardware to ASCAL. Presumably because the palette LUT could be a gamma LUT table instead.
Presonally I'd like to have: gamma 2.5 to linear gamma 1.0, then interpolated/scaled in the ACAL, and then finally converted to the output gamma 2.2. That would be best for quality but I understand that that is more work for little gain.
paulbnl wrote:Here is an album with pictures comparing SNES original and gamma corrected screenshots to photos of a CRT.
https://imgur.com/a/sEOsvMm
paulbnl wrote:
Here is an album with pictures comparing SNES original and gamma corrected screenshots to photos of a CRT.
https://imgur.com/a/sEOsvMm
Sorgelig wrote:Gamma corrected looks like cheap monitor with weird colors
SegaMan wrote:
I like the idea!
It may be because of the camera but the CRT images in the link are awful and in no way representative of a good CRT image.
Was the CRT and LCD screen calibrated? Or how did you determine the gamma value?
On my benq gaming monitor the gamma core looks too dark and many details are lost.
SegaMan wrote:I like the idea!
It may be because of the camera but the CRT images in the link are awful and in no way representative of a good CRT image.
Was the CRT and LCD screen calibrated? Or how did you determine the gamma value?
On my benq gaming monitor the gamma core looks too dark and many details are lost.
Sorgelig wrote:On my monitor video looks perfect without any additional corrections. Not like that washed out overbrighted screenshots.
Sorgelig wrote:I think gamma correction can be added on core side and add OSD option for different gamma corrections.
It can be done on slow clock areas. Doing it on system level where video clock is high, will add more instabilities.
It's just can be a pass-through module where you can enable/disable the gamma corrections.
Threepwood wrote:
Because of this issue of calibration there will be no reliable feedback from users unless they have calibrated screens that can at least do 100% sRGB (my BenQ gaming monitor has only about 90% and it shows). Thus I looked at the gamma corrected images on a hardware calibrated Eizo in sRGB mode and the changes paulbnl made are much better than the original image.
@paulbnl @sorgelig do you think it would be possible to have a customizable gamma setting that could be tweaked in the .ini, or a menu option in the cores' OSD?
Sorgelig wrote:I think gamma correction can be added on core side and add OSD option for different gamma corrections.
It can be done on slow clock areas. Doing it on system level where video clock is high, will add more instabilities.
It's just can be a pass-through module where you can enable/disable the gamma corrections.
paulbnl wrote:The problem with adding it at the core side is that the gamma correction will be applied at both the HDMI and analog output.
JamesF wrote:CRT gamma ranged from 2.1 to 2.5, depending on where you set your 'brightness' control.
A well behaving studio CRT is standard 2.2 with clearly visible black shades, just like well behaved IPS LCD panel.
Those 'gamma corrected' images in the first post are way too dark, actually, my sony trinitron looks remarkably similar to what I see on my calibrated Dell IPS panel, and I calibrate all my displays with the i1 Display Pro.
paulbnl wrote:Ok I have added another build that goes from 1.1 to 1.3. Although I find the difference between 1.0 and 1.1 to be very small.
I prefer the 1.3 setting myself. It looks similar to my CRT.
JamesF wrote:1.3 and 1.4 equals to a gamma (transfer function) of 2.86 and 3.08 which no display has/had, CRT or otherwise, regardless how good it looks to you.
I think the problem here is most LCD displays start deviating from 2.2 for the black shades and become closer to a gamma of 1 (brighter) as the shades become darker,, the reason for this is CRTs have more contrast ratio and can follow closer to ideal power curve further down the darker shades where LCD can't.
As said, most LCD screens (TVs, PC monitors) would have a sRGB gamma curve instead of true true 2.2 to 2.4 power curve, where above 0.5 (128) input it will have a gamma of 2.2, and gradually lower gamma below 0.5 input,, sometimes called "black compensated gamma curve" for LCD screens.
https://commons.wikimedia.org/wiki/File:SRGB_gamma.svg
I believe the true problem here is the darker shades simply appear darker on a CRT because of the above, and raising the gamma curve to 2.8-3.0 for the entire image on a LCD is a (very) wrong solution as it makes the middle and brighter shades completely off.
Plus, this is a cosmetic fix for the very last part of the chain and not a part of the core/console in any way, the core should not be responsible for fixing a mediocre/poor LCD display.
An idea on discord by Kitrinx was to use DSP for LUTs for each gamma curve using shaders/filters.
Users browsing this forum: Bigrussian, vorvek and 3 guests