Does this look ok, I enabled HDR in RA and made sure the brightness was up and all the power saving options were off, I’m using a LG G2
It’s the crt-sony-megatron-gba-gbi-hdr shader
Does this look ok, I enabled HDR in RA and made sure the brightness was up and all the power saving options were off, I’m using a LG G2
It’s the crt-sony-megatron-gba-gbi-hdr shader
Is it supposed to this black at one side, it seems to be black for like 6 bars and then changes to grey then white.
Not works on Reshade 6.xx version
thanks
Last weeks I had some time to play around with the Megatron shader and tried hard to replicate the look of my 31khz Arcade CRT, which is used for 3D games in 480p (640x480).
Here are some pics I took with my smartphone and as you can see the colors, brigntness and overall look of the OLED with the Megatron shader is very similar to the Arcade CRT.
Note: If you download the pictures, you can zoom in very closely and see how silimar the Slotmask of the Megatron shader is working compared to the CRT.
CRT: OLED:There are three important things which are necessary to achieve a convincing CRT look. First thing is you need a good blur shader, which replicates the softness of a CRT. CRT’s are never perfectly sharp as a pixel based display. If you just use the Megatron shader alone without any additional blur shader it will be too sharp and looks digital / fake.
The best thing I found is a Gaussian Blur shader. Bilinear filters don’t look right to my eyes and should only be used for texture filtering and not for filtering the whole picture.
After this the Megatron shader should be configured percisely to achieve a correct Slotmask and neutral colors.
And finally Lilium´s SDR / HDR inverse tonemapping has to be applied. I just discovered it a few weeks ago and this in my opinion is the absolute best shader when it comes to converting SDR to HDR. I have tried almost everything to replicate the dynamic look of the CRT:
Windows Auto HDR, Megatron´s inbuilt HDR tonemapping, Nvidia RTX HDR conversion etc. and none has come this close.
With Lilium’s tonemapping it does not look like it has been converted from SDR to HDR, it looks very similar to my CRT in all aspects and various test patterns have confirmed this to me. The overall brightness boost is very good and it brightens the bright parts of the picture just like the CRT does with its automatic brightness limiter (ABL). And this while keeping good accurate colors.
The picture just pops with vibrancy and dynamic and is not looking boring and flat like it normally would without the SDR to HDR conversion. CRT’s have a certain dynamic and captivating look to them, which can be achieved here.
Later I will post the exact configuration of my whole setup and shader configuration.
Looking forward to this as this can be used as a nice base preset!
Great job! Looks virtually flawless!
You can take a look at my preset packs to see what I’ve used to soften things a bit. I used CRT-GUEST-ADVANCED-NTSC and Super-XBR.
My Shader Presets also integrate Dogway’s Grade.
Really thanks for sharing these man. These look beautiful already.
Consider zipping them and sharing them as a pack as well otherwise they might eventually get lost in the comments.
@RetroCrisis, @sonkun, @Nesguy, @RetroGames4K, @Hyllian, Guest.R, HunterK, HyperspaceMadness, Duimon, MajorPainTheCactus take a look at this!!!
This is very interesting, eager to learn more.
Thank you Cyber, I will also take a look at CRT Guest and Super XBR. The Gaussian Blur shader works perfectly already and matches the look of my CRT. Do you mean by zipping and sharing to make a preset pack? I don’t know if this is easy, as this is a Reshade setup and not Retroarch and also there is more stuff to it than just a preset in Reshade, which I will explain now.
First you need a HDR capable display, if possible an LG OLED, because I already tried it with a Philips Mini-LED monitor and even though it was a very bright one with HDR 1400, it has not looked as good as on my 800 Nits LG OLED GX.
Those LG OLED’s have a feature which is very important to achieve a convincing bright and dynamic CRT look. The feature is called “dynamic tonemapping”, which you can switch on in the menu. If you don’t have a LG OLED I am not sure if other brands of TV’s and monitors have a similar setting. The 1400 nits Philips Mini-LED monitor for example hadn’t such a setting. Maybe MajorPainTheCactus can tell us if his Samsung QD-OLED has a similar feature.
Then you need to download the latest Reshade version with full add-on support:
During the setup choose the correct path of the emulator and then select the correct rendering API of the emulator you want to choose. I have setup my emulators with Vulkan, so this is what I choose here:
After this select “legacy effects” and “Reshade HDR shaders by Lilium” which will contain the Gaussian Blur shader and the inverse tonemapping shader:
On the next site select the add-on “AutoHDR by EndlesslyFlowering (original by MajorPainTheCactus)”:
Then finish the Reshade setup.
Now make sure your display is in HDR mode, then start your emulator. In the Reshade settings of the emulator you have to check if the AutoHDR add-on is activated:
Then make sure the Gaussian Blur and inverse tonemapping shader are configured like this:
Note, that the target brightness setting should be adjusted according to the capabilities of your display, in my case 800 nits for the LG GX OLED. You can also play around with GaussianBlurStrength setting, for me anything between 0.600 and 0.800 works well depending on how soft I want the image to look.
After this download the Reshade Megatron pack from MajorPainTheCactus:
and unzip the files in your “Shaders” folder within the emulator folder:
When done correctly, open your emulator again and you should see the Megatron available:
Now configure Megatron exactly like this:
Note, that the “CRT_Height” setting at the bottom has to be changed to 2160, if you have a 4K display. This is very important, otherwise your Slotmask will not look correct. Also very important is the order of the shaders: At the top needs to be the Gaussian Blur filter, then Megatron and at the bottom Lilium’s inverse tonemapping. If you mess up the order, it will not look correct!
If you have done everything correctly, you should now have an image which will be extremely close to a real CRT. In my humble opinion this is the most authentic shader configuration I have yet seen. I can compare it directly to a CRT, so this is not only by guessing how it should look. This configuration works also for 2D games, but here I prefer slightly different settings with scanlines, which I will post later too.
I hope, that I have not forgotten something and if so I will post it afterwards.
Here is another screenshot I took from my OLED:
This is the game Soulblade running in Duckstation. I cannot capture it perfectly with my phone camera, but I can assure you, that this shader configuration looks very authentic.
Here is what it would look like without the shader:
Focus also on the green writings / fonts at the top and how well the shader masks them like a real CRT. The shader masks text within older games very well as you can see, without looking weird and fuzzy like it would look without shaders. Please download the pictures and zoom in, so you can see very closely how the Slotmask works.
Text without shader:
Text with shader:
Even if the internal resolution within the emulators is setup to 4x or beyond, the shader will mask it so well, that it does not look weird, like it normally would. It looks very analogous, soft and at the same time very dynamic and vibrant and hides the flaws of older games very well. I hope you can try it out!
If you don’t have a HDR capable display, you can also leave the AutoHDR plugin and Lilium’s tonemapping out of the configuration and just use GaussianBlur and Megatron. Configuration is otherwise the same. You will have a convincing mask and softness, but the brightness and pop will not be the same as with HDR. Currently I think a 4K LG OLED with the dynamic tonemapping setting is what will work best. From the model LG OLED 9 series upwards to current 4 series should all be fine, older generations like the 6,7 and 8 series - I’m not sure.
Some more pictures:
20240623_123439-min|666x500I also like to spice it up with some chromatic abberation shaders It gives an additional blur, but different than the GaussianBlur filter. The image and Slotmask blends together even more. But be sure to use a chromatic abberation filter on top within Reshade, above Gaussian Blur. You can also use Megatron to add chromatic abberation, but the shader from Cshade is very easy and does not need any configuration.
Also important:
My OLED is working with 4:4:4 chroma / PC mode in HDR game mode and the graphics card should also output RGB 4:4:4. I configured this in the Nvidia control panel.
And if possible with activated G-Sync or VRR etc. because this prevents tearing and leaves the inputlag very low. In the case of my OLED around 10 to 15 ms or so. I have no tearing, motion, inputlag or stuttering issues this way!
You’re welcome @Dennis1, the CRT-GUEST-ADVANCED-NTSC I was referring to is not the complete shader but a preset which decouples several passes of it just for the NTSC and AfterGlow emulation. It still requires that you download the full shader package though.
Yes, this is what I had in mind.
I didn’t realize you were using Re-Shade.
Thanks for the detailed setup guide, however I think this information is way too important and significant to end up buried in the anals of the Sony Megatron Color Video Monitor thread just as a post among the thousands though.
Feel free to give my CyberLab Megatron NX Death To Pixels Shader Preset Pack a spin, in particular my “Near Field” presets to see if they look decent enough on your setup as well since I don’t use any reference other than “what looks good to my eyes at the time” and I don’t use the stock Sony Megatron Color Video Monitor setup so I’m just curious to see how my latest updates might look.
Ironically, I hardly even got to using them because my E6P OLED is out of order at the moment so I’m in no man’s land when it comes to these things these days. Thanks for the anecdote about the Phillips MiniLED although, I think that there might be some variance in the performance among MiniLED implementations among different models for example I’m looking at the Sony Bravia 9 and wondering if it will be as good as an OLED for these things but OLED is there already in my opinion and you don’t even have to pay such a premium compared to the Bravia 9 to get something that would be at least near enough to perfect for most.
Looking forward to your 2D system presets!
If you put this in its own thread like it deserves to be, and let people know it exists, I could see this becoming a very useful tool for those who are interested in and enthusiastic about accurate CRT emulation.
It’s probably among the closest I’ve ever seen, if not the closest to matching a real CRT, judging from the photos you’ve shared!
Ok got it, I will try this and your Preset pack out and will give you my feedback And thank you for your kind words about the shader, within the next days I will open a new thread with the configuration. And you can be sure, that it really come close to a CRT. The whole purpuse of trying to mimick a CRT is, that I can get rid of it
Up to date I was hesitating, because shaders did not convince me enough, there was always something looking fake to my eyes (too blurry, weird colors, weird mask, not enough image dynamic etc…). So I decided to do my best and combine different shaders to get as close as possible to the real thing.
Lilium’s hdr inverse tonemapping is a real gamechanger here, because the image in combination with dynamic tonemapping of my LG TV seems so vibrant and alive now. And after I figured out how to setup Megatron correctly, after many trials and also the correct Blur shaders I will soon sell my CRT, as I am finally happy now about how it looks. I can forget now, that I am playing with a shader, as my brain gets fooled enough now, that I am sitting in front of a CRT.
CRT’s take a lot of space, are heavy (if you look closely at the first picture I posted, I have put the CRT on a transport cart, so I can hide it away after usage and testing ). They also make buzzing noises, do not have the same perfect black level like an OLED - close though - and the 27 inches are small compared to my 55 inch OLED.
The size of the 4:3 part of the OLED TV is still around 44 inches, so about as big as the biggest CRT ever produced, which was as far as I know around 40 inches. For 3D games it can’t be big enough for me. For 2D games and scanlines my sweet spot is between 20 and 25 inch diagonal.
First, here are some screenshots of the 2D preset.
What you can see in the color bars and greyscale is, that there is no clipping. First I was worried, that the SDR to HDR tm and dynamic tm of the LG will cause clipping, but thankfully there is none.
! Here a comparison to a JVC D-series (not mine): And a Sony Trinitron (not mine): 20240623_195036-min|666x500Most pictures are with the Aperture Grille mask, and the last two with slotmask. For 2D games I perfer the Aperture grille and for 3D games the slotmask, but both are fine for 2D.
Basically the configuration is the same as I posted for 3D games above. But two things will be different:
The “CRT_Height” setting of Megatron has to be changed from 2160 to 224 and instead of the GaussianBlur shader you have to use the “CShade HorizontalBlur” shader, because Gaussian Blur shader blurs the image in all directions and messes with the scanlines and horizontal blur, as the name suggests, only blurs the image horizontally and leaves the scanlines clean of scaling artifacts.
As you can see here, the OLED with dynamic tonemapping and Lilium’s HDR inverse tm manages to render this like a real CRT:
OLED:
The green text is really bright and has not the flat look anymore. It glows similar to my CRT.
Here is a picture from the CRT as a comparison (scaled different in 480p without scanlines):
With the LG G3 and G4 with MLA panels, it will almost be as double as bright as on my LG GX. I think these TV’s will easily surpass the CRT in regards of brightness and image dynamics.
Fantastic, thanks for sharing these.
Seeing that you’re not using Sony Megatron Color Video Monitor’s Tone Mapping it should be possible to use virtually any other shader to apply the CRT emulation aspect. If you wanted to have the almost identical vertical lines glowing out from the top and bottom of the letters as here as well as the faint image of the RGB phosphors stripes which can be visible in the photo even on the black, then you should be able to use the CRT-Guest-Advanced/HD/NTSC Re-Shade ports which also include those “missing” effects. A bit of “Magic Glow” plus “Base Mask” should do the trick.
Thanks, that sounds good. I just downloaded the Guest reshade package with HD, Advanced and NTSC. But there are so many settings, which I have to try and this will take some time. Do you have some quick tips how to configure it? Phosphor stripes, RGB slotmask and Magic Glow can be tweaked very extensively as far as I can tell. The RGB slotmask should be as good as with Megatron and as far as I remember trying Guest’s shaders in the past, I have never achieved the same fidelity. But maybe in the newer releases it changed or I did something wrong, not sure.
I’d just test out a bunch of presets that @Cyber , @sonkun or @RetroCrisis have done. There’s a lot of settings that interact with each other, shader needs a dissertation and user manual fr. @guest.r (it’s a fantastic shader tho)
That’s true, its way more complicated than Megatron But maybe the end result will be worth it? I am not sure yet.
I fail already to setup a convincing slot mask or Aperture Grille in guest’s shader. I tried them all, all mask strengths and all different types of mask patterns, but it still does not look as good as the Megatron masks to me.
Most of the CRT-Guest-Advanced stuff I’ve made was done via Mega Bezel so some of the parameters wouldn’t translate to identical looks when using standalone Guest due to the effects of the other included shaders in Mega Bezel’s shader pipeline, however Sonkun has done a lot of stuff using CRT-Guest-Advanced and also more recently Retro Crisis. With that said you can load one of my Mega Bezel presets using Guest Advanced and some of the settings might apply but you’re probably better off starting with stock or one of Retro Crisis. You can use my Slot Mask and Scanline settings though. I’d say just go for it and don’t be intimidated. There’s a lot of help available once you don’t decide to go it completely alone.
For the most part many of the parameters have the side effect of enhancing the brightness in not so accurate ways but all you have to do is turn them off/lower them and crank the Mask Strength to 1.00.
GSL Scanline Type - 2 gives opaque scanline gaps. Mask 6, Mask 10 and Mask 12/13 are the RGB Masks. Then from there you can morph them into your Slot Mask or Shadow Mask using the parameters below which have gone through some evolution in order to make things a lot easier than before.
But I digress, that’s enough off topic for now.
If you provide some labelled zoomed in shots of the masks that you’re trying to reproduce, I should be able to recreate them. I think I did it before or at least shared a screenshot when someone had made a similar comment.
Just a quick note, if I use the Aperture Grille mask with 240p content and scanlines, I like to use the red vertical deconvergence set @ default -14. This is very important, as the mask really shines with this setting. All red lines of the mask are shifted slightly upwards, which gives a very authentic look.
I am not sure, what can be improved with the Megatron shader and Lilium’s inverse tonemapping anymore, as it looks almost perfect now in my eyes from seating distance. Where I see slight improvements for the future is when the OLED’s get RGB instead of RGBW subpixels and 8K for more detailed masks. But I am not sure if this will ever happen.
I am so happy, that MajorPainTheCactus programmed the shader for us, can’t be thankful enough for this Gem. I hope that people can try Lilium’s inverse tonemapping and some horizontal Blur shaders out, as this is the cherry on top and makes the shader complete in my eyes.
With Horizontal Blur:
Without:
With the additional Blur shader the image looks much better and smoother, less pixelated and digital I would say. The phosphors are more rounded and ellipse-shaped like it should be.
Tem como disponibilizar esse shader ?
I still can’t believe how similar the picture on the OLED with 8K @ 800 TVL setting and the CRT looks with content above 240p without scanlines (i.e. PS2, Dreamcast, Gamecube etc.)
The slotmask appears a bit coarser on a 55 inch TV in comparison to a 27 inch CRT, but it is not very noticable yet. I would’t go any lower with the TVL setting though, as this is the treshold in my opinion.
CRT:
OLED:
CRT close:
OLED close: