Configuring CRT-Easymode

[QUOTE=BlockABoots;29230]What about…

Sharpness H - 0.75 Sharpness V - 1.00 Mask Type 1.0 Mask Strength 0.20 Scanline Strength 0.75 Scanline Beam Width Min - 0.50 Scanline Beam Width Max - 0.50 Scanline Brightness Min - 0.75 Scanline Brightness Max - 0.75 everything else - default

??[/QUOTE]

I’m sorry, but no. This is far too bright and too sharp compared to any CRT I ever owned, and any scanline or mask emulation is hardly even noticeable. Not even an XRGB-mini looks this sharp unless you’re outputting at 1080p. Here are some example shots using the settings I provided. As usual, you have to click the image and then use the zoom function on the page that comes up to view the image at the correct scale. I’ve also increased my monitor’s backlight to 100%, which compensates for the loss of brightness without tampering with the colors and contrast. If these shots appear dim, you may need to increase your TV/monitor’s backlight setting.

Aperture Grill Settings:

No Mask Settings:

Currently, I’m preferring no mask. At 1080p, the mask doesn’t seem like it is worth the loss of color and contrast, even though this can be minimized with the right settings. However, some might prefer the mask if they prefer the look of “fuzzy” scanlines.

I think I may also lower V sharpness to around 50 and see how that looks.

EDIT: Just realized that you may be using the easymode-halation shader, which might look very different with the settings you posted. I’m using only CRT-Easymode by itself.

Ah yes indeed I am. May I ask why your not using his newer halation shader?..you don’t have to have the halation effect enabled if you don’t want but I find it adds a nice glow that you get from crts.

Also you seem to be making conflict statements you said in a previous post…

But above you say that the settings I suggested are far too bright!!

It might be worth trying easymode’s latest version?

[QUOTE=BlockABoots;29237]Ah yes indeed I am. May I ask why your not using his newer halation shader?..you don’t have to have the halation effect enabled if you don’t want but I find it adds a nice glow that you get from crts.

Also you seem to be making conflict statements you said in a previous post…

But above you say that the settings I suggested are far too bright!!

It might be worth trying easymode’s latest version?[/QUOTE]

The halation shader is more resource intensive and won’t quite run on my old dual core workstation that I’ve converted into an emu box. It could also add input lag as a result of this, and I play a lot of twitch games.

I don’t know why you think I’ve contradicted myself. To clarify: displays are going to need to be a lot brighter in order to properly emulate both scanlines and a mask without the screen becoming unacceptably dark. With the settings you posted, you’ve got a bright screen- overly bright, I’d say- but there is barely any hint of scanline or mask emulation present, and the intended effect is lost.

The challenge with all CRT shaders is overcoming the brightness limitation of current display tech while still providing convincing scanlines and/or a mask. With current display tech this means you have to strike a compromise between brightness, color, contrast, and mask/scanline intensity.

4K and OLED might solve this, but as mentioned earlier, it’s possible that displays will just never be bright enough to properly emulate the shadowmask, because it would involve a max brightness level that was much higher than would ever be used under any normal viewing conditions. Manufacturers likely aren’t going to seek to push the max brightness that high because it would be a waste and it would only serve a very small niche.

[QUOTE=BlockABoots;29138]Thanks for the reply EasyMode, regarding the scanline beam parameter, whilst setting that at a higher makes the scanlines wider does it also make the edges of the scanline softer as they would appear on a CRT, or are the edges still sharp?

Also any decision to add a Vignette effect to your shader, kind of like that effect in solid12345’s new shader and think it would make a nice addition to your shader. Maybe have a value slider so the intensity of it can be altered?[/QUOTE]

If you lower the brightness the edges will appear softer, but I don’t think it’s a worthwhile trade-off. At 1080p non-integer, there isn’t much room to play with the beam parameters while keeping the lines looking even, so I keep things set to 1.0/1.0.

I’ll be adding a vignette effect with an intensity parameter, I just don’t know when. I’m pretty lazy :).

[QUOTE=Nesguy;29160]good to know! Do you have any suggested alterations to brightness or gamma if not using the halation shader?

regarding the scanline variability, I haven’t actually been able to disable it. I thought setting beam min/max to 0.50/0.50 would do it, but I still get slightly thinner lines over white areas. I find this to be a desirable feature, but how do you actually go about disabling it, if for some reason someone wanted to?

You may want to check out crt-hyllian, I find that it does a pretty good job of handling scanline variability.[/QUOTE]

Setting gamma to 2.4 in / 2.2 out should improve visibility in dark areas.

Setting the beam to 1.0 / 1.0 produces even results. However, when the brightness boost is applied it inadvertently makes those thinner lines. Lowering brightness boost to 1.0 should stop that, but like I said above, I don’t think the trade-off is worth it.

Hyllian’s scanline variability is indeed very nice looking.

Resolution and brightness are definitely the most limiting factors in CRT emulation. So many compromises have to be made, especially if you want non-integer scales to look good.

The halation shader makes some improvements when it comes to brightness. It automatically compensates as scanline or mask strength is increased, which keeps things bright and colorful. It has it’s limitations though.

I wonder if the HDR tech that’s showing up in new TVs can help in this area, assuming GPUs and shaders added support for it. Currently, RetroArch shaders are limited to outputting colors in the 0.0 to 1.0 range. An expanded range like 0.0 to 2.0 would be a godsend.

[QUOTE=EasyMode;29265] Setting gamma to 2.4 in / 2.2 out should improve visibility in dark areas.[/quote]

Thanks! That helps quite a bit - see the results below. Honestly, I see very little to complain about in my latest shots that isn’t a limitation of 1080p resolution. This is coming very close to the real thing.

Is there a limit to how high gamma can be pushed? I don’t really understand gamma very well, to be honest. Does it adjust the black level and the white level at the same time? Or does it try to raise the brightness of the middle range without altering black/white level? I’ve never really understood it.

Do you have any further suggestions for brightness/gamma adjustment based on my latest shots/settings? I think contrast could be a little higher and that the color might still be a little washed out in some areas.

Setting the beam to 1.0 / 1.0 produces even results. However, when the brightness boost is applied it inadvertently makes those thinner lines. Lowering brightness boost to 1.0 should stop that, but like I said above, I don’t think the trade-off is worth it.

For kicks, I turned off the brightness boost to see what would happen. As expected, the result was an unacceptably dark screen with scanlines applied even with my display’s backlight at 100%. This was with the mask turned off, scanlines only.

I prefer to keep beam at 0.5/0.5 because this gets as close as possible to “1:1” scanlines, where the gaps are of equal thickness to the visible lines. I think 1:1 scanlines look better, and it seems to be what’s desired by those who care about scanlines. I don’t mind the slight beam variation that occurs with this - I see it as an added bonus.

I wonder if the HDR tech that’s showing up in new TVs can help in this area, assuming GPUs and shaders added support for it. Currently, RetroArch shaders are limited to outputting colors in the 0.0 to 1.0 range. An expanded range like 0.0 to 2.0 would be a godsend.

oooh, hadn’t thought of that. Yes, that would be helpful :slight_smile:

Here are my latest settings: H sharpness: 0.0 V sharpness: 0.50 mask strength: 0.60 scanline strength: 0.80 beam min width: 0.50 beam max width: 0.50 scanline min brightness: 0.00 scanlines max brightness: 0.00 input gamma: 2.4 output gamma: 2.2 brightness boost: 1.6 dilation: 0.00 everything else default.

I’m using 5x vertical integer scale for all shots in this thread, and my display’s backlight is set to 80-100%.

Here are some example shots with these settings (click image and then click the zoom icon on the new page to see at original scale) :

Here is the same shot of Samus on an NEC 2530:

You can visit the thread that the above shot came from to see several close-ups of an XM 29 plus, including one of Secret of Mana: http://shmups.system11.org/viewtopic.php?f=6&t=34162&start=30

I think this is getting pretty close to the real thing in terms of brightness, color, contrast, and the prominence of the mask/scanlines. I think the color and contrast might still be improved slightly, though.

made a few changes to my settings in the last post and posted new shots; I bumped up gamma input/output to 2.6/2.4 and I reduced brightness boost to 1.4. I think this is ever so slightly better, but at this point it could be placebo.

Is there any way that the automatic brightness adjustment can be added to the regular version of CRT-easymode? I think there are too many variables to consider when trying to emulate a mask and scanlines if the goal is maintaining color, brightness and contrast. I’ve been fiddling for days and while I’ve gotten results that I think are okay, I feel there is still some slight room for improvement.

The halation version is just a tad too intense for older systems, while the regular version of easymode runs fine on my old dual core workstation. This makes it ideal for MAME cabs/ emu boxes. An automatic brightness adjustment for the regular version of crt-easymode would be really useful to this group of users.

Nesguy, why not try and create a overlay where you use the overlay for the increased brightness ? A overlay would be cheap, performance wise, and should run on older hardware. You could add any wanted increase in HDR, brightness/contrast/color etc… to the overlay itself, and avoid messing with the shader. For example. You could use Photoshop and create a fullsize, fullscreen white overlay, with whatever transparency setting you want, and use the alpha channel’s layer parameters (Lighten, Darken, Multiply, etc…) try Overlay, and adjust the opacity levels to suit. When used in Retroarch, the overlay should add brightness, contrast, etc… to your image. And any increase wanted could then be tweaked in Photoshop, or even the shader.

[QUOTE=John.Merrit;29334]Nesguy, why not try and create a overlay where you use the overlay for the increased brightness ? A overlay would be cheap, performance wise, and should run on older hardware. You could add any wanted increase in HDR, brightness/contrast/color etc… to the overlay itself, and avoid messing with the shader. For example. You could use Photoshop and create a fullsize, fullscreen white overlay, with whatever transparency setting you want, and use the alpha channel’s layer parameters (Lighten, Darken, Multiply, etc…) try Overlay, and adjust the opacity levels to suit. When used in Retroarch, the overlay should add brightness, contrast, etc… to your image. And any increase wanted could then be tweaked in Photoshop, or even the shader.[/QUOTE]

I’m not sure that would work- I can see raising white level/black level and color, but I don’t think this gets around the inherent screen brightness limitation of the display. Anyway, even if possible, I don’t know enough about this stuff to do this without a huge amount of trial and error and it would be too time consuming for me. Maybe someone else with a little more knowledge wants to give this a shot?

I think I’m going to give up on the mask, at least until I have an OLED display, assuming that it’s bright enough. There are too many compromises and adjustments that have to be made, and the enhancement to picture quality is actually pretty negligible IMO. Setups using only scanlines and the right amount of blur can look just as good, if not better. In short, the results aren’t really worth the effort, even if you manage to get it right.

This was a fun shader to play around with, but I think I’m going to switch back to crt-hyllian. It does everything I want minus the mask, and it seems to run slightly better on my refurbished dual core workstation that I’ve converted into an emu box. Crt-easymode was actually pushing this system to its limits, and it’s fully overlocked.

[QUOTE=Nesguy;29313]Thanks! That helps quite a bit - see the results below. Honestly, I see very little to complain about in my latest shots that isn’t a limitation of 1080p resolution. This is coming very close to the real thing.

Is there a limit to how high gamma can be pushed? I don’t really understand gamma very well, to be honest. Does it adjust the black level and the white level at the same time? Or does it try to raise the brightness of the middle range without altering black/white level? I’ve never really understood it.

Do you have any further suggestions for brightness/gamma adjustment based on my latest shots/settings? I think contrast could be a little higher and that the color might still be a little washed out in some areas. [/QUOTE]

You can raise the output gamma to whatever you like. It doesn’t effect the black or white level, just the in-between colors.

I don’t have any more suggestions for settings.

[QUOTE=Nesguy;29332]Is there any way that the automatic brightness adjustment can be added to the regular version of CRT-easymode? I think there are too many variables to consider when trying to emulate a mask and scanlines if the goal is maintaining color, brightness and contrast. I’ve been fiddling for days and while I’ve gotten results that I think are okay, I feel there is still some slight room for improvement.

The halation version is just a tad too intense for older systems, while the regular version of easymode runs fine on my old dual core workstation. This makes it ideal for MAME cabs/ emu boxes. An automatic brightness adjustment for the regular version of crt-easymode would be really useful to this group of users.[/QUOTE]

I’m of two minds about this. I could add the new features to the regular shader, but not without altering the look and performance of it. On the other hand, I could try to further optimize the halation shader and give users the option to toggle further performance boosts by commenting out definitions (disabling unwanted features) at the top of the file. I’m leaning toward the latter.

Edit (I missed the post below):

[QUOTE=Nesguy;29357]I’m not sure that would work- I can see raising white level/black level and color, but I don’t think this gets around the inherent screen brightness limitation of the display. Anyway, even if possible, I don’t know enough about this stuff to do this without a huge amount of trial and error and it would be too time consuming for me. Maybe someone else with a little more knowledge wants to give this a shot?

I think I’m going to give up on the mask, at least until I have an OLED display, assuming that it’s bright enough. There are too many compromises and adjustments that have to be made, and the enhancement to picture quality is actually pretty negligible IMO. Setups using only scanlines and the right amount of blur can look just as good, if not better. In short, the results aren’t really worth the effort, even if you manage to get it right.

This was a fun shader to play around with, but I think I’m going to switch back to crt-hyllian. It does everything I want minus the mask, and it seems to run slightly better on my refurbished dual core workstation that I’ve converted into an emu box. Crt-easymode was actually pushing this system to its limits, and it’s fully overlocked.[/QUOTE]

Actually, if the regular shader was pushing your system to it’s limits then, I doubt I can get the halation shader running on your system. Oh well.

Also I have a 1080p LG OLED. Unfortunately since it doesn’t use a standard subpixel structure, mask emulation doesn’t look correct on it :frowning:

Hello, I really like the bloom/glow effect of the CRT-Royale shader, I think I’ve reached a somewhat similar effect on CRT-EasyMode Halation by raising its diffusion setting, am I doing it right? If I want to bloom the brighter pixels which settings should I change? Thank you.

[QUOTE=Hamiroshi;31171]Hello, I really like the bloom/glow effect of the CRT-Royale shader, I think I’ve reached a somewhat similar effect on CRT-EasyMode Halation by raising its diffusion setting, am I doing it right? If I want to bloom the brighter pixels which settings should I change? Thank you.[/QUOTE]

Yeah, raise the diffusion or halation parameters for a glowing effect around bright pixels. The only difference between these two settings is that halation will have the mask pattern (the RGB tinted dots) show up within the glow. It’s a minor difference.

Thanks.

Which one should I use to simulate a CRT TV better, the Halation or the Diffusion? I’m using both,0.3 for the Halation and 0.10 for the Difusion, with Type 1 mask and no interlace.

Which settings do you recommend for a good Halation and Diffusion?

[QUOTE=Hamiroshi;31367]Thanks.

Which one should I use to simulate a CRT TV better, the Halation or the Diffusion? I’m using both,0.3 for the Halation and 0.10 for the Difusion, with Type 1 mask and no interlace.

Which settings do you recommend for a good Halation and Diffusion?[/QUOTE]

I like the default settings, personally. They’re a bit on the subtle side, so you may want to raise them to your own preference.

After trying just about every CRT and NTSC shader available, I finally settled in a combination of GTU v-50’s first two passes (for color blending and de-dithering) and custom settings of Easymode’s halation shader, trying to get the closest I could to my Philips 29" SDTV.

The thicker scanlines make integer scale a must. The lack of brightness caused by them would be close to unnacceptable too, but I was able to make it look excellent cranking contrast and backlight of my LCD monitor to maximum levels and using the color temperature controls to brighten it even further. It shines (didn’t want to use the brightness boost in the shader itself, because i felt it messed with the scanlines and mask, but I might be mistaken).

I’d much prefer using Mask Type 1.0 with 0.15-0.20ish mask strenght, but this leads to an even more severe version of those wavy patterns when vertically scrolling which I see in some shaders like crt-aperture and crt-hyllian, so I used 2.0 mask with fainter settings. Close enough and no wavyness.

These are my settings:

Shaders: 7

Shader 0: crt/shaders/gtu-v050/pass1 Filter: Don’t care Scale: 1x

Shader 1: crt/shaders/gtu-v050/pass2 Filter: Nearest Scale: 1x

Shader 2: crt/shaders/crt-easymode-halation/linearize Filter: Nearest Scale: 1x

Shader 3: crt/shaders/crt-easymode-halation/blur_horiz Filter: Nearest Scale: 1x

Shader 4: crt/shaders/crt-easymode-halation/blur_vert Filter: Nearest Scale: 1x

Shader 5: crt/shaders/crt-easymode-halation/threshold Filter: Nearest Scale: 1x

Shader 6: crt/shaders/crt-easymode-halation/crt-easymode-halation Filter: Linear Scale: Don’t care

Parameters: Composite Connection Enable 1: 1.00 Composite Connection Enable 2: 1.00 Signal Resolution Y: 256.00 Signal Resolution I: 99.00 Signal Resolution Q: 77.00 Gamma Input: 2.45 Retro Pixel Size: 0.84 Gamma Output: 2.10 Sharpness Horizontal: 0.00 Sharpness Vertical: 0.00 Mask Type: 2.00 Mask Strength Min.: 0.07 Mask Strength Max.: 0.07 Mask Size: 1.00 Scanline Strength Min.: 0.20 Scanline Strength Max.: 0.85 Scanline Beam Min.: 0.40 Scanline Beam Max.: 0.50 Geom Curvature: 0.00 Geom Warp: 0.00 Geom Corner Size: 0.00 Geom Corner Smoothness: 150.00 Interlacing Toggle: 1.00 Halation: 0.04 Diffusion: 0.02 Brightness: 1.00

My monitor settings:

For general use in the computer, I have it set to: Backlight: 50 Contrast: 91 Brightness: 37 Color temperature: R00/G00/B00

For these shaders, I’m using: Backlight: 100 Contrast: 100 Brightness: 45 Color Temperature: R+18/G+15/B+30

(the color temperature scale in my monitor goes from -30 to +30)

Screenshots:

1 Like

Edit #6: Sorry, this is the last edit, I swear. :grin: I kept making some small changes here and there. The new gamma settings are particularly a game changer for this preset. I updated the screenshots to reflect the latest settings.


Nah, my previous preset was ok, but the shadow mask was a bit distracting and overall I felt it still lacked authenticity. I decided to redo the job, again trying to mimic my own TV. Got really really closer this time and don’t want to do it again, so now I’m really settling (edit: kind of, lol).

Thank you, Easymode. Your shader is great!

This is probably quite blurry for most. That’s intended, since I just wanted to emulate an ordinary CRT with ordinary cables. Increasing “signal resolution Y” or disabling composite connection sharpens the image a little bit. Ignoring the GTU-v50 passes makes it look a lot like default Easymode, but to me this is almost like the difference between a normal CRT shader and no shader at all (much blockier).

Same shaders as before. BILINEAR FILTERING OFF.

Parameters: Composite Connection Enable 1: 1.00 Composite Connection Enable 2: 1.00 Signal Resolution Y: 224.00 Signal Resolution I: 103.00 Signal Resolution Q: 63.00 Gamma Input: 2.65 Retro Pixel Size: 0.84 Gamma Output: 2.02 Sharpness Horizontal: 0.00 Sharpness Vertical: 0.55 Mask Type: 2.00 Mask Strength Min.: 0.13 Mask Strength Max.: 0.13 Mask Size: 1.00 Scanline Strength Min.: 0.25 Scanline Strength Max.: 0.90 Scanline Beam Min.: 1.05 Scanline Beam Max.: 1.10 Geom Curvature: 0.00 Geom Warp: 0.00 Geom Corner Size: 0.00 Geom Corner Smoothness: 150.00 Interlacing Toggle: 1.00 Halation: 0.05 Diffusion: 0.03 Brightness: 1.00

Adding a lot of blue to the color temperature is important to make it look as vivid as a CRT. Most of them have a white point that is much much cooler than the standard 6500k of modern displays, even on “warm” settings.

I have my monitor now set at:

Backlight: 100 Contrast: 100 Brightness: 47 Color temperature: R-01/G+03/B+29

Screenshots:

2 Likes

Sorry to necro this old topic but this is still my favorite CRT shader. Simple to configure (I leave it at default settings though) and it has unobtrusive scanlines that give it that right amount of sharpness, though sometimes it’s TOO sharp. On old C64 games (VICE x64) like Mr. Do! or Champions of Krynn the individual pixels are too emphasized and it looks bad. How can I soften or blur it a bit yet still have that CRT-easymode scanline goodness?

You could try adjusting the “SHARPNESS_H” parameter in CRT-easymode to see if that does it for you, or you could try adding tvout-tweaks or tvout-tweaks-multipass. It works really well for adjustable blur/sharpness.

Thanks, I’ll try that. Here’s an example of Mr. Do! on the C64 VICE x64 core with CRT-easymode. Pixels look so razor sharp and separated that the pixelart in the artists’ original vision just gets lost, I suspect. However, I’m also using HUGE custom viewports that enlarge the C64’s default screen size removing those borders on top and bottom and that could be contributing to the problem. I don’t think these old games were meant to be seen on huge 43"+ modern LCD/plasma screens so all irregularities are magnified. Most games on most 8-bit/16-bit systems, however, look really nice with this shader but since I’m on a major C64 kick lately I’m trying to optimize it for that system. I already found a fantastic external color palette for VICE (colodore) that makes the C64 colors really stand out and not look so muted like they especially did on PAL systems.

At this point it’s difficult/impossible to tell what the artist’s exact intentions were. Most pixel artists worked on CRT computer monitors which were considerably sharper than the average TV, but some artists also worked with a dual monitor setup where one of the displays was a TV using a composite video connection, to see what the art would look like when displayed on a regular TV.

I personally love the way RGB monitors look for all eras of content; I’m not a fan of very blurry displays and I love what prominent scanlines do for pixel art. I also think that CRT shaders at 1080p definitely leave something to be desired; they somehow always look either too blurry or too sharp to me no matter how they’re configured. LCDs just aren’t great displays, particularly for 240p content. Plasmas are a lot better, but my plasma TV still doesn’t compare to my CRT monitor for 240p content.

I think you’re right that 240p content wasn’t meant to be displayed on the giant displays we use today. I always recommend people sit a bit farther back from their displays when viewing 240p content so that the cognitive low-pass filter can do its job.

2 Likes