The RetroArch Shader Thread

The place for all discussion on gaming hardware
User avatar
SGGG2
Posts: 747
Joined: Thu Dec 31, 2009 1:03 am
Location: East Coast, US

Re: The RetroArch Shader Thread

Post by SGGG2 »

Xyga, I believe I have the same issue as you with the shaders not saving changes. The nightlies are generally good, but they're basically betas and sometimes have issues.

Crt-caligari with SPOT_HEIGHT set to 0.8

Image

Via Neogaf: http://www.neogaf.com/forum/showpost.ph ... count=1667
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

So since I can't get anywhere with the beta, I've tried using the latest nightly, dowloaded the build, redist, cores, 'latest' cores, and everything seems to load fine... except shaders that don't show.

I mean there's no .cg nor .cgp files to select, only the usual subfolders (the files are here though when I just browse in Windows).

And I've checked the main folders names and paths... I don't get it.

I know I might just hear the echo but, anyone got any idea ? Help ? Anything ?

(Been trying to find a fully usable RetroArch build with actually configurable shaders for over a week now :lol: )

EDIT; Forget the help I got it to work, doing exactly the opposite of what I've read lol.
- first set 'collapse subgroups: ON' to get the old structure and normal shaders menu back
- then load crt-royale.cgp, and modify at will using 'Parameters (Menu)' not '(Current)' -> AFAIK there isn't a single mention of this anywhere.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

One thing that's a bit annoying is when I disable the border/corner effect (pass 12 of crt-royale) everything becomes significantly darker and I can't get around the issue just using the gamma and contrast parameters.
Playing R-Type Delta without that border pass was almost impossible (way too dark).

Well I can live with it but it'd be better without...

So, I've managed to find 'starting' parameters I kinda like;

bloom_underestimate_levels 0.70 -> was almost blinding @ .80
mask_type 0.00 -> I'm not a fan of the messy dotty look of type 1
mask_sample_mode 1.00 -> made things much better indeed
mask_triad_size_desired 3.00 -> 2.00 would be nice maybe if my flat panels had absolutely perfect response times, but they don't so 3.00 looks best

Compared to default settings this looks much cleaner and more realistic on a 1080p display. But it really depends on the source, i.e Deathsmiles and Progear look better than Thunder Force IV or Axelay with the same settings.

See the pic below, sometimes scanlines show that 'oval spot series' shape (many parts of the boss) when other still look rather blocky (the ship and more particularily the 'menus').
Many phosphor/triad details just get blended away when things are moving so of course the screenshots don't tell everything.
Spoiler
Image
I still don't understand what the beam settings and subpixel aa do, it's not really easy to see the changes even using the live runtime (current) because of that stupid semi-transparent checkered UI background. :(

Aside from that, well, I have a feeling it looks better using a 1200p display, but on my 42" 1080p it's just too awesome a feeling.
Almost completely defeats all of my external scalers by the way. ^^
The only thing my DVDO's are better at is keeping lines thickness more consistent while in overscanned fullscreen.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

My current crt-royale settings;

1./ Load Shader Preset > > > crt-royale.cgp

Shader Passes: 12 (default)

2./ Shader Parameters (Menu)

diffusion_weight 0.04 (less obvious halos)
bloom_underestimate_levels 0.70 (taming the sometimes blinding bright spots)
mask_type 0.00 (much better looking aperture grille)
mask_sample_mode 1.00 or 0.00 (sharper or blurrier, depending on the emulated system and taste)
mask_triad_size_desired 3.00 (default)
border_size 0.00
border_darkness 0.00
border_compress 1.00

3./ Apply Shader Changes

So, in my eyes the best thing to do is to pick a sample mode by emulated system and personal preference.
I find 0.00 (lanczos) to actually render blurrier/'fatty' scanlines more suited for i.e. the SNES, and 1.00 (mipmapped) to look sharper and best suited for i.e. 240p shmups in MAME.
EDIT: well the minus with 0.00 is that it's not as good during movement as it blurs things a bit too much.

Minimizing the three 'border' settings got rid of borders/corners without having to disable pass 12 (disabling that pass makes things much too dark so it's best to leave it on even if it's kind of useless).

Two issues I haven't found a solution for yet;
- tweaking size/overscan to adjust scanlines alignment/thickness without having to use 'integer scaling'.
- both MD/GEN are choppy, laggy, whatever my sync settings, i don't get it. :?:
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

I won't let this thread die, shame on you dirty quitters ! :wink:

My new settings, fucking awesome on my 42" 1080p tv;

diffusion_weight 0.04
bloom_underestimate_levels 0.70
beam_max_sigma 0.15
mask_type 0.00
mask_sample_mode 0.00
mask_triad_size_desired 3.00
border_size 0.00
border_darkness 0.00
border_compress 1.00

(Integer Scaling: OFF)

^ This to me, is looking more and more like the real thing, and I have a genuine RGB Sony Trinitron KV-29LS35B standing next to the lcd hdtv to talk.
Of course it's not quite the same yet (it can't be), the Trinitron naturally doesn't blur details away when stuff's in movement (well it does but not that much), and there's no irregular scanlines thickness, the lighting variations/distribution of a crt also cant be replicated well-enough by the shader.
But the 'form factor' through these crt-royale settings is rather impressive, and I know I still have several settings to explore, tweak things further and further.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

So I've been aiming at something closer to what my Sony Trinitron Wega KV-29LS35B actually looks like, and this is where I am right now;

Integer Scaling: OFF
Display: 1080p 42" AMVA (Sony W6) with maxed-out backlight and contrast levels

1./ Load Shader Preset > > > crt-royale.cgp

Shader Passes: 12 (default)

2./ Shader Parameters (Menu)

levels_contrast 1.11 (little boost, facultative)
diffusion_weight 0.00 (no halation at all)
bloom_underestimate_levels 0.18 (spot is much thinner than default but still a bit plump)
beam_min_sigma 0.00
beam_max_sigma 0.18 (more pronounced scanlines)
beam_max_shape 2.00 (looks better with this at minimum value, for some reason)
beam_horiz_filter 2.00 (seems like a kind of horizontal smoothing, so the phosphors blend slightly more together)
mask_type 0.00 (aperture grille)
mask_sample_mode 1.00 (0.00 is much too raw/sharp, I mean phosphors look too big and obvious compared to the real thing)
border_size 0.00
border_darkness 0.00
border_compress 1.00

every other parameter: default value

3./ Apply Shader Changes

Keep in mind I'm looking at a 42" 1080p lcd, sitting approximately 4.5ft / 1.4m from it.
Since it's an LCD (and not the fastest on the market) there's a degree of smear/blur eating-away some of the finest details on moving parts and objects.
Image

Larger pics to view in real full size;
Spoiler
Image
Spoiler
Image
Spoiler
Image
If you see it live it's actually quite close that KV-29LS35B.
The things that hurt the most in the comparison aside from the response time, are the brightness and contrast levels the Sony W6 lcd obviously can't reach even though it's a VA, and quite bright. The brightness/contrast amplitude on a real crt is just too much.
Colors and blacks aren't too bad though.
The pixel brightness variations/shades are not on par as well, because the distribution on the emu side is not the same regular graduation seen on the crt, but I believe it can do better, I just have to find better values with some 'beam' parameters and stuff.
Then there's the scanlines unevenness (ckeck the blue sky) which I should fix on the emu side, but I don't know how to do it properly without using the integer scaling option (which I don't want to use yet).

EDIT: very different, with settings closer to my previous, and this time on a 1200p display;
Image
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xan
Posts: 760
Joined: Mon Sep 23, 2013 12:04 pm

Re: The RetroArch Shader Thread

Post by Xan »

So how much lag do you get with this setup? Do you use VSync?

Do you think that a higher end Sony model would give you better results?

The uneven scanlines is what I noticed right away and what irks me, but other than that it's pretty good for an emulator I suppose. The white bloom on the last picture looks quite obviously unnatural though.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Xan wrote:So how much lag do you get with this setup? Do you use VSync?
RetroArch has got that thing they call 'hard gpu sync' supposedly giving you the least possible lag when 'hard gpu sync frames' and 'frame delay' are set to '0'.

It's meant to be resource-heavy but if your cpu/gpu are not too sucky it will work... I have however experienced issues with it, sometimes the fps fall down to 30 fps and stay stuck until I switch to windowed mode and back to fullscreen again.

I have my doubts about what that thing does exactly (as I do with GroovyMame's 'frame_delay' command) because it seems like it basically tells the GPU to handle the sync job and define the number of buffering frames.

If that's the case, well, I've been doing the same for years already just by managing the settings myself in the AMD or nVidia control panel.
My old ATI gpu allows syncing at 0 frames under XP (is it really zero I don't know, but it's working without issues) and my current nVidia under Win 7 allows for 1 frame minimum (in fullscreen mode).

When I just turn all sync options OFF in the emulator and use the GPU sync controls in place, everything syncs just as smoothly, and I don't experience annoying 30fps bugs or crackling sound.

And at least like this I have a better idea of what's the actual lag (you also have to know how much delay the emu and active driver produce, what your OS, USB, and display produce too, to get the whole picture).

EDIT: to answer your question I suspect I get a total delay of about 2 frames with my current setup. If it was more I would notice it.
Xan wrote:Do you think that a higher end Sony model would give you better results?
No, not really, or not by much. Haven't tried the new 4K with FALD myself though. ^^

Specialized high-end monitors will do better (120Hz/144Hz, G-Sync/FreeSync, Strobing/ULMB) but those only come in 27" size for now, it's still a new territory for display manufacturers; check this one, pretty much the most advanced on the market; http://www.tftcentral.co.uk/reviews/acer_xb270hu.htm
Available sometime in April or May.
I am personally waiting to see more ambitious models (larger and maybe 4K) or with a better bang-for-buck ratio.
Xan wrote:The uneven scanlines is what I noticed right away and what irks me
There are options in retroArch to control internal resolution, scaling and overscan, but I have yet to figure how they work together.
Xan wrote:but other than that it's pretty good for an emulator I suppose. The white bloom on the last picture looks quite obviously unnatural though.
Yeah it's to much, you can turn it off completely, but I think I've noticed a little bit of it can add to the actual spot bloom and participate to the 'shaping'.
Still studying that...
I wish I had a higher resoltion monitor or TV already, since the various effects seem to benefit from more pixel real estate.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Xan
Posts: 760
Joined: Mon Sep 23, 2013 12:04 pm

Re: The RetroArch Shader Thread

Post by Xan »

Yeah, I know about the Acer, but even on an IPS blur is noticeable to me. I can definitely imagine the issues with scanlines, it might be like emulating a GB game with repeating patterns on the PSP with its 100ms screen, the backgrounds just smear while scrolling (obviously not nearly as much but still visibly perhaps). I think we really need some high-res OLEDs to come close to emulating a CRT properly, but saying that is like beating a dead horse at this point.

It's good if you don't get any tearing or such on your setup, that was always the biggest issue for me with emulators.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

The Acer is the fastest IPS in existence AFAIK. With its overdrive activated and running at 144Hz it's twice as fast as the average IPS.
Around 5ms average (and I'm not talking about g2g) without noticeable overshoot isn't much blur really, quite the performance !

Anyway, God knows I want to see this on a huge 4K OLED too... :mrgreen:

Tearing isn't a big problem with emulators, you can v-sync those at quite low delay cost as long as you tell your GPU to do handle it and how.

Might not work in all situations but it's always always been my preferred method, as emus sometimes have very shady v-sync options I don't fully trust.
i.e. MAME in d3d mode queues 3 frames if you activate v-sync in the emulator's settings, so better leave everything off and speak directly with your GPU. It works.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Shogun
Posts: 98
Joined: Sat Jan 15, 2011 9:17 am

Re: The RetroArch Shader Thread

Post by Shogun »

Xyga thanks for posting all the details about your setups. I'm currently using your second to last setup and it looks great on my 55 inch plasma. The only thing I was noticing was when using non-integer scaling you get uneven scanlines that make a kind of moire-type effect. When I enable integer scaling that goes away but then it shrinks the screen size down to use about 45% of the screen area. I've searched around for a solution and it seems you either use integer scaling and deal with the borders or you use non-integer scaling and deal with the uneven scanlines. Has anyone here come across a fix for this yet?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Yeah I know that's annoying, the other day I was trying to change the resolution and scaling values, but the related GUI settings all seem to be locked.
There's still the 'overscan' settings in the crt-royale parameters, but it's not convenient and seeing how it works not really what we're looking for.
Haven't had the time to look further into the issue yet but I will asap.

There are many other things I'm still trying to understand with RA and that shaders management system, it's really very under-documented. :?
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Shogun
Posts: 98
Joined: Sat Jan 15, 2011 9:17 am

Re: The RetroArch Shader Thread

Post by Shogun »

I've managed to minimize the banding with the following settings:

diffusion_weight 0.15
bloom_underestimate_levels .55
bloom_excess .00
beam_max_sigma .21
beam_max_shape 2.50
beam_shape_power .80
border_size 0.00
border_darkness 0.00
border_compress 1.00

I feel like there is a fine line between blurring things just enough to remove the banding issue and not making everything look blown out. I've been using the above settings on every system and it appears to be looking good so far. Playing with diffusion weight or bloom excess helps. I've tried to bump up bloom excess to .05 which really helps but then I get audio cracking.

Outside that I am experiencing random performance dropouts in PS1 using mednafen core where the sound will just randomly start crackling. My HTPC is a bit old but was playing everything fine the past day or so. I'll try messing with the hard gpu sync and see if that gets me any performance gains.
twipley
Posts: 6
Joined: Tue Apr 21, 2015 11:34 pm

Re: The RetroArch Shader Thread

Post by twipley »

I am looking for accurate handheld shaders. I know the Game Boy already has accurate shader from Harlequin, but what to mimic how the Lynx (1989) and Game Boy Advance (2001) really looked like?

Here are two different shaders for LCD:
https://github.com/hizzlekizzle/quark-s ... gwg.shader
https://github.com/HarlequinVG/shaders/ ... lcd_shader

Here are screen comparisons between these two shaders (in the "LCD Shader" section):
http://filthypants.blogspot.ca/2013/04/ ... r-and.html


I have absolutely no idea about what these two consoles are supposed to look like.

The only thing I know is that these https/sites.google.com/site/bocclevs/ screenshots are supposed to be similar to a real Lynx output. What about it? Which shader for that? harlequin-lcd, or cgwg-lcd? And what about the GBA?
twipley
Posts: 6
Joined: Tue Apr 21, 2015 11:34 pm

Re: The RetroArch Shader Thread

Post by twipley »

Or perhaps both are wrong, since no one is smoothing hard edges. And it seems the real thing (at least on the GBA) has a little blur, which smoothens things out: http://i.imgur.com/mRVYMnU.jpg Perhaps somehow, a second shader pass has to be added, which blurs things out? Or a new shader created altogether for each of these systems?

Also, screenshots cannot do justice, as they do not tell if there is motion blur or not such as may be in the shader. Well, we're in the need for expert opinions!
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Bump! Resuming my 'proper RA settings' quest.

So I'm still trying to figure how to solve two things:

- internal scaling/prescaling -> couldn't figure how to do that in RA yet, I'm starting to wonder if that's even possible as there's no mame.ini nor .cfg anywhere.
RGUI resolution options either seem locked or not doing anything.
Core options are so bare there's nothing to help there.

- auto-rotate mame -> none of the confusing rotation options available in RGUI seem to do what I want. This results in every time I launch a vertical/tate shmup in MAME it displays in the wrong orientation and I have to press TAB in order to rotate the game using MAME's own UI video options.

Has anyone got any idea about those ? :|

Read tons of stuff that always end up not directly related to those issues or not working in practice.
If I can't ever solve both problems I'm going to drop RA and switch to the 'new' HLSL available in UIFX instead and learn how to use it.
RA on Windows despite the incredible crt-royale exclusive, is really too stiff and confusing/obscure for even average-experienced users to enjoy.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
twipley
Posts: 6
Joined: Tue Apr 21, 2015 11:34 pm

Re: The RetroArch Shader Thread

Post by twipley »

and just to precise some things on what I brought up just above:
Lynx (LCD filter in Handy): http://i.imgur.com/PpFMBt7.png
Lynx (real thing): http://i.imgur.com/UD3JC0F.jpg (one sees, quite less scanlines)
GBA (real thing): http://i.imgur.com/pV9B6Us.png (edges here are quite softened out)

And also, harlequin-lcd seem to beat cgwg-lcd in color accuracy (if hunterk blog screenshots are representative).

EDIT: it appears that for Lynx, Handy's LCD filter
http://i.imgur.com/PpFMBt7.png
http://i.imgur.com/NRTeUbp.png

is what is most accurate. No need for a shader here.

Only thing left to discuss is the best GBA shader. Maybe a simple, blur shader is best.
creamygarlicdip
Posts: 67
Joined: Wed Oct 15, 2014 8:32 pm

Re: The RetroArch Shader Thread

Post by creamygarlicdip »

I've been mildly obsessed with shaders and retroarch lately. A setting i recommend that looks alot like what the actual consoles do is GTUv050. I'm using it on my 46" samsung led 1080p. setting integer scaling on, aspect ratio 4:3, vsync on, hard gpu sync on. It's fantastic, with my sega saturn controllers connected via usb adapter there is no perceptable input lag with hard gpu sync on.

If you go edit the config.h file in the gtu-v050 folder

comment out the line:

#define compositeConnection

what this does is disable the feature the emulates a composite signal making it look like rgb. I read on a site that doing this makes it look alot like an upscaling job done by an xrgb mini. I dont own an xrgb mini but i can verify it looks great and very authentic. This picture is from a testing app for the settings spitting out a jpeg

Image
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: The RetroArch Shader Thread

Post by Unseen »

creamygarlicdip wrote:what this does is disable the feature the emulates a composite signal making it look like rgb. I read on a site that doing this makes it look alot like an upscaling job done by an xrgb mini. I dont own an xrgb mini but i can verify it looks great and very authentic.
To me it looks slightly more blurry than an actual SNES via XRGB Mini, but that could also be caused by the slightly higher resolution of your screenshot.
Image
(screengrab from a random test recording I still had on my disk)
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Xyga wrote:My old ATI gpu allows syncing at 0 frames under XP (is it really zero I don't know, but it's working without issues) and my current nVidia under Win 7 allows for 1 frame minimum (in fullscreen mode).
You can't do V-Sync without adding at least a frame of latency.
A setting of '0' allows the application to decide how many frames are buffered rather than not buffering anything (V-Sync is double-buffered) and it will use 3 if the application does not specify a value.
Setting it to '1' forces it to the minimum possible.

I use RetroArch's Hard GPU Sync combined with the driver set to 1 max pre-rendered frames.
V-Sync in the application should have the potential for lower latency than forcing it in the driver.


The advantage of G-Sync or FreeSync/Adaptive-Sync (note: not the same as Adaptive V-Sync) is that they eliminate the latency of V-Sync while also removing tearing.
And since both sync to variable refresh rates, it means that you have no problem emulating systems that have non-standard outputs without stuttering or having to alter the speed.

For example, the arcade version of R-Type runs at 55 FPS rather than 60.
With a regular 60Hz V-Synced display, the game is either going to stutter, or it has to be sped up ~9% to keep it smooth and in sync with the refresh rate.
~9% is such a large change that it's outside of the default range that RetroArch's Audio Sync feature even works - though you can get it working if you edit the config file.

With G-Sync or FreeSync/Adaptive-Sync, the display simply operates at 55Hz to match the framerate of the game without any of these issues.

Of course if you have a monitor which supports 55Hz - or perhaps a multiple of it - you can use regular V-Sync to play it at the original speed without any stutter/tearing, but you still get the additional latency of V-Sync, and I don't know that RetroArch will automatically switch the refresh rate of the display on a per-game basis even if yours does support 55/110/165Hz.


As for filters/scanlines/scaling options, this is tricky.
Personally, I would rather have a slightly imperfect aspect ratio than use non-integer scaling.
Non-integer scaling always distorts the image as things move across the screen.
You can try to hide it by throwing filters on top, but I just don't find the results to be acceptable.

For scanlines, it is everything or nothing for me.
Without true scanlines - which completely blank out every other line - I just don't see the point.
Fake half-done scanlines just don't have the intrinsic benefit that true scanlines do with 2D artwork, and I find them to be a distraction.

So this places even more restrictions on your image size.
We have gone from filling the height of the display when using non-integer scaling, to slightly less than full-screen with integer scaling.
And to use proper scanlines, the vertical scale must now be a factor of 2, which may reduce the image size even further, depending on the resolution of your display and the game you are trying to emulate.

But I am using a 46" 1080p display for now, so even though it can reduce the size of the image quite a bit, the final image when playing SNES games for example, would be a 33" diagonal 4:3 image - which is still a lot bigger than a 19" BVM.


For "true" scanlines, I use the interlacing.cg shader, found in the misc folder.
Set to 4x Nearest, this will give you perfect scanlines as long as you're using integer scaling and the vertical scale is a factor of 2.

In addition to potentially reducing the size of the image, this will reduce your brightness by quite a lot - but the solution to that is not what many fake CRT/scanline shaders like 'CRT Royale' do, where they screw with the color/gamma to try and make up for the loss of brightness - because that never looks right.
No, the solution is to turn up your display's backlight so that it's twice as bright.
That restores the brightness lost from turning every other line black without screwing up the color/gamma of the image.


Now if you're wanting to truly simulate the structure of a CRT, rather than just drawing scanlines on the image or emulating its flaws (like bloom) it is possible.
Most of the popular shaders I have seen don't do a very good job of actually recreating the look of a CRT in my opinion.
Though I have yet to own a BVM/PVM, the shaders typically result in a considerably worse image than any consumer-grade CRT I ever owned, and the bloom/blur effects they use give me a headache.
But properly simulating the mask of a CRT places even more restrictions on scaling (horizontal must now be a factor of 3) and it requires a lot of brightness - far more than even adding scanlines.
There are so many compromises you have to make at 1080p really means that it's not going to be worthwhile until 4K is common. And even then, it won't be worthwhile unless you have one of those HDR displays that are super bright, or you don't mind gaming in a dark room with a dim display.
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Actually, I take it back.
While you may not want to use it for horizontal games, crt-easymode with its mask set to 100, sharpness at 100, and everything else switched off is perfect for adding "scanlines" to vertical shooters on a 1080p screen where you can only do 3x scale.
Of course it still means that you lose a lot of brightness and resolution.

Before
After

The "before" shot had its brightness reduced to make the comparison easier.
I think I forgot to switch off the gamma correction (I correct 2.20 > 2.40) which is why the color is slightly different.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Yeah I was starting to suspect the forced '0' frames in the ATI cpl was dodgy. Anyway I'm not using it for RA which I run on an different pc w/ an nVidia gpu.

What I don't understand regarding Hard GPU Sync is that it's still syncing right @ '0' frames set in RA's video settings, though with difficulties as sometimes it just doesn't sync on the first try (have to press F repeatedly to switch to windowed and back to fullscreen).
The gpu is set to application preference so it's just expecting instructions.
This is a weird thing but surprisingly it makes everything very responsive, I don't quite get the theory maybe it's BS but libretro say something like using sound to sync the video, dunno.

Regarding G-Free/Sync of course I'd like to own a compatible monitor but I just can't spend the asking prices right now and actually none of the few models available are satisfying-enough for me yet, I'm still lurking.
Until then using under-60Hz rates, well I've tried with the only monitor I have that's supposed to be able to handle those but in practice it didn't work.

Regarding CRT shaders and scaling - I don't agree with you at all. :mrgreen:

First on integer: what RA needs is a way to do integer scaling with out-of-bounds resolutions, like it can be done with the Frame Meister or marq's DIY video digitizer & scandoubler project.
Otherwise in too many cases it is really too small, as someone who genuinely loathes to have huge borders all-round the picture the current integer scaling feature in RA is just unacceptable.
Also even for those who can deal with borders getting a bigger display is one thing, yes, but think about the huge number of users who probably can't do it in practice.

Then on CRT shaders; I've tried the alternatives of course many are pleasing, but none get even close to what CRT-Royale is capable of.
Actually I'm quite surprised at all the hate this shader is getting (actually no; I hated it too in the beginning because it's just too tricky).
If people are giving up on it only because of the current impossibility to fix the scaling without the integer scaling option on, it's okay I understand (and I'm one of them).
But for everything in regards of realism I just can't believe what I'm reading in many places and to see the alternatives people propose and they think look better (sorry dude but you ESPrade scanlined screenshot just doesn't makes sense to me, that's definitely not what I'm aiming at).

If you check a few posts above you'll see I could achieve pretty awesome rendering on 1080 and 1200 displays, but with a lot of effort and consistently comparing directly with the two genuine 15KHz CRT RGB TV's I own.
I've been playing on such TV's + arcade cabs almost all my life and I know what it's supposed to look like, and even if CRT-Royale isn't quite exactly what it needs to be yet, it's still considerably more realistic than any other solution at the moment (though I have yet to dive into the fixed HLSL to compare, will probably do next week).

I've read many disappointed comments when it come to CRT-Royale (including mine), and there's one thing I've come to understand: every individual situation is different, and we cannot efficiently share settings, only knowledge about individual settings.

This shader (or shader mix) because it does a million of things to the picture, will give different results for every resolution, display, and emulated system used, and it demands the user a LOT of work from a very under-documented program on a very unintuitive platform (RA) to get it right.
Frankly I've tried CRT-Royale on three different displays while still comparing to the CRT's live, and it looked different on all three of them because of their technical properties (responsiveness, contrast, achievable brightness, black, color accuracy, etc) I had to search and find new values to adapt CRT-Royale every time to make it look right.

Again I insist that the only major problem with CRT-Royale (aside from the complexity) is the limitation on scaling, otherwise it's unquestionably the absolute best 'CRT simulator' around period.
Even at 1080p it's unbelievably close, obviously it requires more pixel real estate to shine - plus really flexible scaling as mentioned - but that's not a definitive issue as higher resolution displays are becoming common and affordable.
I can't wait to see what it's capable of at 4K and maybe beyond.

The many people giving up on RA and CRT-Royale is a consequence of what I've mentioned a few times before: RA - and I'm speaking specifically about the Windows version - is absolutely and unnecessarily too messy, tricky, unfriendly to a HUGE MAJORITY of users, and if you add CRT-Royale which requires a LOT of time, dedication, and guessing, well the RA package is doomed for reputation.
People will keep being interested in RA for the Android, Linux/Pi, and console ports as a multi-emu frontend, but they will keep straying away from the most advanced and I would even dare say vanguard features like CRT-Royale because of a few un-fixed things like scaling and because it's way too tricky.

So I'm giving up on CRT-Royale... temporarily. Because I would need either a much higher resolution display, or see that RA finally offers genuine scaling flexibility for it to look right.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Xyga wrote:What I don't understand regarding Hard GPU Sync is that it's still syncing right @ '0' frames set in RA's video settings, though with difficulties as sometimes it just doesn't sync on the first try (have to press F repeatedly to switch to windowed and back to fullscreen).
The gpu is set to application preference so it's just expecting instructions.
This is a weird thing but surprisingly it makes everything very responsive, I don't quite get the theory maybe it's BS but libretro say something like using sound to sync the video, dunno.
I'm really not clear on what Hard GPU Sync does, other than it is apparently very time-sensitive when set to '0', thus rather demanding on your hardware. Does it work for you if set to '1' instead?
I've never had an issue at '0' but my PC is quite high-end.
Xyga wrote:Regarding G-Free/Sync of course I'd like to own a compatible monitor but I just can't spend the asking prices right now and actually none of the few models available are satisfying-enough for me yet, I'm still lurking.
Until then using under-60Hz rates, well I've tried with the only monitor I have that's supposed to be able to handle those but in practice it didn't work.
I agree, I just thought it was worth mentioning that there are some additional benefits for emulation that people may not have realized, and pointing out that those are the true solution for latency.
In theory you could have a flat panel with G-Sync or FreeSync/Adaptive-Sync that is lower latency than a V-Synced CRT.
While CRTs are multi-sync, V-Sync is still necessary, and the refresh rate cannot be adjusted dynamically.
I'm hoping that we will see some big screen TVs with support for Adaptive-Sync, instead of an expensive and small monitor.
Xyga wrote:First on integer: what RA needs is a way to do integer scaling with out-of-bounds resolutions, like it can be done with the Frame Meister or marq's DIY video digitizer & scandoubler project.
I'm not sure what you mean by "out-of-bounds" resolutions. If you mean overscanning beyond the edge of the display, you can do that right now.
Xyga wrote:Otherwise in too many cases it is really too small, as someone who genuinely loathes to have huge borders all-round the picture the current integer scaling feature in RA is just unacceptable.
Also even for those who can deal with borders getting a bigger display is one thing, yes, but think about the huge number of users who probably can't do it in practice.
Well my point was that even with "large" borders (you can usually get them pretty close to the edge of your screen) the end result is typically much larger than any of the high-end CRTs.
Xyga wrote:Then on CRT shaders; I've tried the alternatives of course many are pleasing, but none get even close to what CRT-Royale is capable of.
Actually I'm quite surprised at all the hate this shader is getting (actually no; I hated it too in the beginning because it's just too tricky).
If people are giving up on it only because of the current impossibility to fix the scaling without the integer scaling option on, it's okay I understand (and I'm one of them).
But for everything in regards of realism I just can't believe what I'm reading in many places and to see the alternatives people propose and they think look better (sorry dude but you ESPrade scanlined screenshot just doesn't makes sense to me, that's definitely not what I'm aiming at).
Pixels
Scanlines
Scanlines + CRT Easymode

You don't get the bloom, but it seems pretty close to a CRT to me.
I bet a shader could start to emulate the bloom at 4K too, if that's something you wanted.
The softness of analog and the bloom of a CRT are not things I really want to emulate though.

I accept that scanlines are necessary, and at least for some games, simulating a shadow mask can really help make everything appear to be smoother. But that's as far as it needs to get for me, at least as far as the "look" is concerned. There are other problems with non-CRTs like motion.
Xyga wrote:If you check a few posts above you'll see I could achieve pretty awesome rendering on 1080 and 1200 displays, but with a lot of effort and consistently comparing directly with the two genuine 15KHz CRT RGB TV's I own.
I've been playing on such TV's + arcade cabs almost all my life and I know what it's supposed to look like, and even if CRT-Royale isn't quite exactly what it needs to be yet, it's still considerably more realistic than any other solution at the moment (though I have yet to dive into the fixed HLSL to compare, will probably do next week).

I've read many disappointed comments when it come to CRT-Royale (including mine), and there's one thing I've come to understand: every individual situation is different, and we cannot efficiently share settings, only knowledge about individual settings.
I've never been able to get anything but a blurry picture out of CRT Royale and I get a headache from straining to focus on the image.
Unless I have overlooked a setting somewhere, if you're CRTs are like the output from CRT Royale, they need the focus or convergence adjusted.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Exidna wrote:
Xyga wrote:First on integer: what RA needs is a way to do integer scaling with out-of-bounds resolutions, like it can be done with the Frame Meister or marq's DIY video digitizer & scandoubler project.
I'm not sure what you mean by "out-of-bounds" resolutions. If you mean overscanning beyond the edge of the display, you can do that right now.
How do you do that ?
I've been looking and asking everywhere and the only setting that responded was inside the CRT-Royale parameters, but it's working in manual increments and there's the transparent GUI in front so I can't see well what's going on with the actual picture, getting it to integer is impossible like that.
Inside RA video settings everything in direct relation to scaling refuses to respond, the settings are simply locked for me...
Exidna wrote:
Xyga wrote:Otherwise in too many cases it is really too small, as someone who genuinely loathes to have huge borders all-round the picture the current integer scaling feature in RA is just unacceptable.
Also even for those who can deal with borders getting a bigger display is one thing, yes, but think about the huge number of users who probably can't do it in practice.
Well my point was that even with "large" borders (you can usually get them pretty close to the edge of your screen) the end result is typically much larger than any of the high-end CRTs.
Well the fact that I cannot stand borders is one thing, getting an even smaller (I could never get close-enough to the edges) when I don't use a big TV is another, but more annoying is the fact that any CRT-Royle settings I use don't work well at all when Integer Scaling is on, it's too small/tight to work anything and I don't want that.
Fullscreen integer scaled, even if a few lines are left out of the display's edges, and with my CRT-Royale settings + finally correctly spaced scanlines -> this is how I want it and I don't see how it could be any better on a 1080 display.
Exidna wrote:
Xyga wrote:Then on CRT shaders; I've tried the alternatives of course many are pleasing, but none get even close to what CRT-Royale is capable of.
Actually I'm quite surprised at all the hate this shader is getting (actually no; I hated it too in the beginning because it's just too tricky).
If people are giving up on it only because of the current impossibility to fix the scaling without the integer scaling option on, it's okay I understand (and I'm one of them).
But for everything in regards of realism I just can't believe what I'm reading in many places and to see the alternatives people propose and they think look better (sorry dude but you ESPrade scanlined screenshot just doesn't makes sense to me, that's definitely not what I'm aiming at).
Pixels
Scanlines
Scanlines + CRT Easymode

You don't get the bloom, but it seems pretty close to a CRT to me.
I bet a shader could start to emulate the bloom at 4K too, if that's something you wanted.
The softness of analog and the bloom of a CRT are not things I really want to emulate though.

I accept that scanlines are necessary, and at least for some games, simulating a shadow mask can really help make everything appear to be smoother. But that's as far as it needs to get for me, at least as far as the "look" is concerned. There are other problems with non-CRTs like motion.
Xyga wrote:If you check a few posts above you'll see I could achieve pretty awesome rendering on 1080 and 1200 displays, but with a lot of effort and consistently comparing directly with the two genuine 15KHz CRT RGB TV's I own.
I've been playing on such TV's + arcade cabs almost all my life and I know what it's supposed to look like, and even if CRT-Royale isn't quite exactly what it needs to be yet, it's still considerably more realistic than any other solution at the moment (though I have yet to dive into the fixed HLSL to compare, will probably do next week).

I've read many disappointed comments when it come to CRT-Royale (including mine), and there's one thing I've come to understand: every individual situation is different, and we cannot efficiently share settings, only knowledge about individual settings.
I've never been able to get anything but a blurry picture out of CRT Royale and I get a headache from straining to focus on the image.
Unless I have overlooked a setting somewhere, if you're CRTs are like the output from CRT Royale, they need the focus or convergence adjusted.
Oh God no, don't take it the wrong way but what you're showing me doesn't look even close to my TV's and definitely not like the consumer Trinitron I'm basing my settings 'quest' on.
Yours as I see it in that CRT-easymode totally lack the variable thickness and brightness intensity, there's zero blending in brighter spots, nor shaping, nor life to colors and contrast...sorry but this totally lacks realism and looks nothing like I've ever experienced with CRT's.
(PS: my trinitron's okay except in the corners, but my Royale settings weren't ideal and also limited by the two displays, what I'm showing is as close as I could get with what I know about parameters)

-> This is what I mean when I say it's impossible to share CRT-Royale settings, most people are using different displays and more importantly have completely different ideas of what a CRT simulation should look like.

CRT-Royale is extremely hard to use and puzzling, it took me weeks of hair-pulling googling/reading, trial-and-error etc to get closer to what I wanted, and I still only understand maybe 1/3 of all of the settings and parameters.
Obviously while I was discussing it on other forums as well, there was not a single person who would agree with the other on the settings and the desirable output.
I think it's too advanced, too complex, and that in reality very few people have seen what it can really do.
We see people posting about Royale, sharing settings and screenshots, but nothing much ever reaching a consensus.
I know I'm far from having seen all of it, but I believe I went a bit further than average in a sense that I did not give up too soon (which let's be honest most people do).

I really believe Royale has no future if it stays in RA and doesn't get better useability and documentation, and that would be too bad because it's awesome (well...it can be).
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Xyga wrote:
Exidna wrote:
Xyga wrote:First on integer: what RA needs is a way to do integer scaling with out-of-bounds resolutions, like it can be done with the Frame Meister or marq's DIY video digitizer & scandoubler project.
I'm not sure what you mean by "out-of-bounds" resolutions. If you mean overscanning beyond the edge of the display, you can do that right now.
How do you do that ?
I've been looking and asking everywhere and the only setting that responded was inside the CRT-Royale parameters, but it's working in manual increments and there's the transparent GUI in front so I can't see well what's going on with the actual picture, getting it to integer is impossible like that.
Inside RA video settings everything in direct relation to scaling refuses to respond, the settings are simply locked for me...
It's been moved to the core options now in the nightly versions, presumably because you might want a different scale for each system.
I haven't figured out how you are supposed to properly configure things on a per-core basis yet though.
Because it is only a couple of hundred megs, I just use different copies or RA for each system.

If you grab the nightly from 21/04 (nightly = beta = potentially buggy, and things broke since then) the GLUI menu driver lets you see what you're doing with scaling.
The XMB covers it up, and RGUI is ugly and partially covers it up.
I'm not sure if there's an option somewhere to make it more transparent than it currently is, as that would be nice.
When you are running a game, go to: Options > Video options > Custom Ratio

Image Image Image

Xyga wrote:Well the fact that I cannot stand borders is one thing, getting an even smaller (I could never get close-enough to the edges) when I don't use a big TV is another, but more annoying is the fact that any CRT-Royle settings I use don't work well at all when Integer Scaling is on, it's too small/tight to work anything and I don't want that.
Fullscreen integer scaled, even if a few lines are left out of the display's edges, and with my CRT-Royale settings + finally correctly spaced scanlines -> this is how I want it and I don't see how it could be any better on a 1080 display.
Well the only solution is a larger, higher resolution display. Non-integer scaling will always result in a distorted image with edges that flicker when anything moves.
Depending on what filters you use, you may be able to reduce some of that to a level that you don't find distracting, but I just can't stand it at all.
Exidna wrote:Oh God no, don't take it the wrong way but what you're showing me doesn't look even close to my TV's and definitely not like the consumer Trinitron I'm basing my settings 'quest' on.
Yours as I see it in that CRT-easymode totally lack the variable thickness and brightness intensity, there's zero blending in brighter spots, nor shaping, nor life to colors and contrast...sorry but this totally lacks realism and looks nothing like I've ever experienced with CRT's.
The color and contrast is my camera at fault. Sony can never seem to get color right like Nikon and Canon do. But you get stupid amounts of resolution in a pocketable camera. (Alpha 5100)

Instead of an up-close macro, a wider shot starts looking more like what you see in person rather than having the camera inches from the screen.

Image

But as I said, this setup does not reproduce the blooming (variable beam width) of a CRT.
The better a CRT gets, the closer and closer it gets to perfect 1:1 scanlines and less and less bloom, which is why I personally prefer not to start blurring the image with shaders.
That said, you might prefer the easymode scanlines which do have variable intensity rather than the "perfect" scanlines here.

I do think that there is room for some variable beam width emulation and perhaps trying to blend the mask vertically to give the scanlines a more "rounded" look instead of them being "flat" but trying to emulate things like halation via a shader as CRT Royale does just doesn't work in my opinion. It looks really fake.
Exidna wrote:(PS: my trinitron's okay except in the corners, but my Royale settings weren't ideal and also limited by the two displays, what I'm showing is as close as I could get with what I know about parameters)

-> This is what I mean when I say it's impossible to share CRT-Royale settings, most people are using different displays and more importantly have completely different ideas of what a CRT simulation should look like.

CRT-Royale is extremely hard to use and puzzling, it took me weeks of hair-pulling googling/reading, trial-and-error etc to get closer to what I wanted, and I still only understand maybe 1/3 of all of the settings and parameters.
Obviously while I was discussing it on other forums as well, there was not a single person who would agree with the other on the settings and the desirable output.
I think it's too advanced, too complex, and that in reality very few people have seen what it can really do.
We see people posting about Royale, sharing settings and screenshots, but nothing much ever reaching a consensus.
I know I'm far from having seen all of it, but I believe I went a bit further than average in a sense that I did not give up too soon (which let's be honest most people do).

I really believe Royale has no future if it stays in RA and doesn't get better useability and documentation, and that would be too bad because it's awesome (well...it can be).
As you move to higher and higher-end CRTs, it really does change the look.
I don't know the source for these images as I saved them a long time ago - it may even have been from a post here, as I've been lurking for years - but these are both PVMs.
It's a 2530 with a resolution of 560 TVL on the left, and a 20M4U with a resolution of 800 TVL on the right:

Image Image

Image Image

And those are just PVMs, the best BVMs have even more defined scanlines, less variable width/bloom, and 900-1000 TVL resolution.
Though a lot of people in this hobby do seek them out, I know a lot of people that actually don't like the look of high-end CRTs. They actually prefer the older or lower-end PVMs, or even prefer consumer-grade CRTs with RGB connections/mods.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Exidna wrote:If you grab the nightly from 21/04 (nightly = beta = potentially buggy, and things broke since then) the GLUI menu driver lets you see what you're doing with scaling.
The XMB covers it up, and RGUI is ugly and partially covers it up.
I'm not sure if there's an option somewhere to make it more transparent than it currently is, as that would be nice.
When you are running a game, go to: Options > Video options > Custom Ratio[/url]
Thank I didn't know this ever existed. Will try ASAP !

EDIT: I've messed up the quote tags and lost something, well anyway somewhere I was mentioning that I'm not looking for fullscreen integer within the 1080p area, but rather with out-of-the limit (like in overscan area) integer scaling leaving a number of lines out.
e.g. 224x5 = 1120, leaving 20 lines out both on top and bottom. With a system like the MD with thick borders it's better.
Exidna wrote:As you move to higher and higher-end CRTs, it really does change the look.
...
I know a lot of people that actually don't like the look of high-end CRTs. They actually prefer the older or lower-end PVMs, or even prefer consumer-grade CRTs with RGB connections/mods.
And I am one of them, I don't find the PVM that much better than the consumer tubes and the BVM are really too much, what I'm aiming at is what I've seen and played on most of my life: consumer-grade rgb crt's and arcade monitors.
Seriously some of those BVM's are so sharp with super strong scanlines I don't see the point, I could get something quite close with a good plasma and a Mini (considering the work those broadcast monitors are giving people I don't think that would be a bad tradeoff).

I'll try to shoot decent pictures of my trinitron tomorrow with my crappy phone camera to show you what I wish for and I believe Royale can get very close to.

PS: I'm thinking, if it's the high TVL you like you can try the following settings:
mask_type 0.00 (aperture grille)
mask_sample_mode 1.00 (sharper)
mask_triad_size_desired 2.00 (triads much narrower than 3.00)

Alternatively there's:
mask_specify_num_triad 1.00 (activates the option below)
mask_num_triads_desired 480 (values from 342 to 1920) -> which in combination with desired triad size gives you some more flexibility over triads but it's a tricky thing that would require proper calculations to get right.

Of course the first two sample modes, as well as all bloom, beam and filtering options (which are too high by default) heavily affect the look.
With triad size @ 2.00 anyway I've obtained better results on a 1600x1200 display, higher the better of course.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Xyga wrote:EDIT: I've messed up the quote tags and lost something, well anyway somewhere I was mentioning that I'm not looking for fullscreen integer within the 1080p area, but rather with out-of-the limit (like in overscan area) integer scaling leaving a number of lines out.
e.g. 224x5 = 1120, leaving 20 lines out both on top and bottom. With a system like the MD with thick borders it's better.
Yes, it lets you do that. See the shot of Metal Slug being set to "1920x1344" which will crop the top and bottom of the image on a 1080p screen.
Note: the menus have a black bar across the top and bottom, which makes it look as though there are borders all around - they disappear when you exit the menu.
Xyga wrote:
Exidna wrote:As you move to higher and higher-end CRTs, it really does change the look.
...
I know a lot of people that actually don't like the look of high-end CRTs. They actually prefer the older or lower-end PVMs, or even prefer consumer-grade CRTs with RGB connections/mods.
And I am one of them, I don't find the PVM that much better than the consumer tubes and the BVM are really too much, what I'm aiming at is what I've seen and played on most of my life: consumer-grade rgb crt's and arcade monitors.
Seriously some of those BVM's are so sharp with super strong scanlines I don't see the point, I could get something quite close with a good plasma and a Mini (considering the work those broadcast monitors are giving people I don't think that would be a bad tradeoff).

I'll try to shoot decent pictures of my trinitron tomorrow with my crappy phone camera to show you what I wish for and I believe Royale can get very close to.

PS: I'm thinking, if it's the high TVL you like you can try the following settings:
mask_type 0.00 (aperture grille)
mask_sample_mode 1.00 (sharper)
mask_triad_size_desired 2.00 (triads much narrower than 3.00)

Alternatively there's:
mask_specify_num_triad 1.00 (activates the option below)
mask_num_triads_desired 480 (values from 342 to 1920) -> which in combination with desired triad size gives you some more flexibility over triads but it's a tricky thing that would require proper calculations to get right.

Of course the first two sample modes, as well as all bloom, beam and filtering options (which are too high by default) heavily affect the look.
With triad size @ 2.00 anyway I've obtained better results on a 1600x1200 display, higher the better of course.
Well for many of us, it's that scanlines make a huge difference to the perception of 2D artwork. Adding scanlines makes the image look much higher resolution than it actually is.
Blurring the image is not a trait that I am looking to replicate. I can take my glasses off for that.

If the goal is to replicate the resolution of a CRT, not the blooming/softness and other characteristics, Easymode with the mask set to 100 is unmatched in my opinion.
As long as you are running at a scale which is a multiple of 3 horizontally, you get a true simulation of the mask, dedicating 3 pixels per CRT line.
Of course to do this, you need a lot of resolution. With the SNES for example, 1080p can only just manage 6x5 if you crop the top and bottom off the image, which gives it an aspect ratio of 1.37:1 and would be equivalent to 512 TVL. (SNES is 256px wide, the mask takes 3 pixels per line, so 6x scale means that you end up with 512 TVL)
4K allows for 9x8 (1.29:1, 768 TVL) without cropping, and 5K allows for 12x10 without cropping. (1.37:1, 1024 TVL)

Anything which is not a multiple of 3 pixels per line cannot do a proper simulation of the mask.
It can add texture to the image without adding much color fringing if it's done well, but it's not truly replicating the lower resolution of a CRT.
And of course if you just use scanlines without the mask, you have tripled the resolution because the flat panel has that many extra lines - but that's too smooth for some people.

It's clear to me now that many people have a different idea of what a "CRT Filter" should look like though, and they are not trying to replicate the look of the best CRTs, or even simulate the aspects which improve the pixel art (scanlines + mask) without including the bad aspects of a CRT. (softness, bloom, misconvergence, color bleed, low contrast etc.)
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

Good ! I will try that custom aspect feature asap and see if it screws up Royale or not.
Exidna wrote:the bad aspects of a CRT. (softness, bloom, misconvergence, color bleed, low contrast etc.)
I think you idealize one particular type of crt and look which most games were not designed or intended for to begin (normal people never owned any broadcast monitors) and maybe you think anything that's different would be 'wrong'.
I hope you realize whatever you think of those screenshots I've put up there that those are obviously attempts at simulating what normal low res rgb crt displays looked like ? with scanlines and all ? (if you can't see the scanlines look again the whole thing screams it, they're quite obvious both on my trinitron and on Royale running on the lcd)
Maybe PVM's and particularly BVM's with that heavy computer-like w/ huge ever-thick black lines look are the only crt's you've ever experienced I don't know, but personally after over three decades playing on crt's I am certainly not trying to replicate a run-down TV, just a common well-working consumer one, with a preference for the aperture grille type like the Trinitron which looks absolutely great.

I'll show a number of pictures of mine asap I promise, it's not perfect but I might be able to source some good pics of similar ones to add to the comparison with Royale.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Exidna
Posts: 90
Joined: Wed Apr 29, 2015 8:00 pm

Re: The RetroArch Shader Thread

Post by Exidna »

Xyga wrote:I think you idealize one particular type of crt and look which most games were not designed or intended for to begin (normal people never owned any broadcast monitors) and maybe you think anything that's different would be 'wrong'.
No, I don't think it is "wrong" but at the same time, all of these CRT Shaders are far softer than any CRT I ever used.
Perhaps 4K resolution is required to do the type of filtering they want without having to blur the image.

I think that part of the problem is that a lot of the shaders seem to be emulating the look of a photograph of a CRT, instead of the CRT itself.
I can get CRT Royale configured to a way that I quite like the look of, if only I could have it not also blur the image and put a fake bloom on top of it.

Image
(oops, the aspect ratio was wrong there, but you get the idea)

This is a screenshot rather than a photograph, and you can see that it does a decent job simulating the mask and the variable beam width. But you can also see how blurry that is, and how unnatural the bloom looks - and I haven't figured out how to get rid of those.

Making it blurry like this does help to mask errors from non-integer scaling, or non-ideal ratios for scaling, and it stops you losing so much brightness as you do when truly simulating the mask, but I honestly get a headache from looking at it.
Even the photographs of my TV are sharper than that, and that's going through a camera.
Xyga wrote:Maybe PVM's and particularly BVM's with that heavy computer-like w/ huge ever-thick black lines look are the only crt's you've ever experienced I don't know, but personally after over three decades playing on crt's I am certainly not trying to replicate a run-down TV, just a common well-working consumer one, with a preference for the aperture grille type like the Trinitron which looks absolutely great.

I'll show a number of pictures of mine asap I promise, it's not perfect but I might be able to source some good pics of similar ones to add to the comparison with Royale.
The CRTs I grew up with were all relatively small but they did have RGB connections on them.
And a huge amount of gaming for me was done in front of computer monitors rather than CRT televisions.

But even then, the CRT TVs I used did not have a soft image. They had a low resolution image, but it was sharp.
A lot of the filters seem to be trying to make the image "low resolution" by blurring it instead.
Of course Easymode with the mask at 100 is far sharper than any CRT - but that's what CRT technology was progressing towards.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The RetroArch Shader Thread

Post by Xyga »

If you look at my own screenshots you should notice they're significantly sharper, forget about the halation effect in the SO one, those were my previous settings before I had completely removed it.

Keep in mind consumer trinitrons indeed show rounder and plumpier spots made of more crude phosphors, less defined of course, but they're by no means 'blurry' except when a particular spot is bright enough so it blends in the specific area.
And I'm not trying to use any blur to mask non-integer scaling errors,

Also quite naturally the SNES looks much blurrier than the MD even though it's not really fair to call it 'blur' (most available SNES around were coming w/ RGB scart but weren't the late revisions with sharper video).

You screenshot indeed looks way too blurry and soft, here's part of my settings that should look sharper (I'm trying to get that even sharper without killing the round shaping);

diffusion_weight 0.00 (zero halation)
bloom_underestimate_levels 0.18 (get it even lower if you want)
beam_min_sigma 0.00
beam_max_sigma 0.18 (careful with that one if it's too low it starts messing things up)
beam_max_shape 2.00 (minimum value, dunno why it looks slightly sharper like that)
beam_horiz_filter 2.00 (same as above)
mask_type 0.00 (still aperture grille)
mask_sample_mode 1.00 or 0.00 -> see what fits best in your case, depending on the emulated system

I'll do my own pictures later today but in the meantime here are photos of standard consumer trinitrons;

Same as mine KV-29LS35B, a guy I know was in the process of fixing the geometry and took the picture with slightly lowered brightness though:
Spoiler
Image
Image
And here an older, curved, KV-29FX1B (I'm trying to get one atm) a guy put in his cab in replacement of his nanao/toshiba;
Spoiler
Image
Image
Those photos though are not satisfying enough, I'll try to post closeups of my 29LS35B later today if I can do anything decent with my shitty camera.

Anyway even though pictures don't tell everything you can already see the difference, those don't look like PVM and not at all like BVM.
Well those were the kind of trinitrons people had at home and consoles were running on.
This is what I'm trying to get close to, even with the very limited 1920x1080 resolution, and it's tough.
PS: easymode whatever the settings don't get even close to that, it's looking totally different from a crt whatever I've tried, not realistic nor natural at all.

Now even if we speak about the arcades there were no 'SD' cabs equipped with anything like broadcast monitors as well, actually even Japanese universal sd cabs were never equipped with exceptional monitors (even though I find the nanao/toshiba very pleasing but you would hate it as it's even 'blurrier' and messier than a consumer trinitron. well it's not an aperture type anyway)

I'll be back with more stuff, I have to try that nightly build you've pointed and new settings ideas.

EDIT: as expected my camera is shite so I can't get decent pics of my tv.
Here's the sharpest I could take, unfortunately my camera over-brightens the white areas and as a whole doesn't capture the phosphors shape well-enough. Also the colors are atrocious. Anyway...
What neither the RA screenshots nor photos capture are the real differences overall brightness of the displays (my MVA TV is quite bright at max, but still behind the CRT at around 50~60% brightness.
Spoiler
Image
So this is more or less what I'm trying to get close to, and it's easier at 1200p.
I'll come back tonight after trying new settings.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Post Reply