ClusterM / retroarch-clover

GNU General Public License v3.0
321 stars 50 forks source link

Current default scanline overlay configuration is not pixel perfect #90

Open gnadenlos opened 6 years ago

gnadenlos commented 6 years ago

Recommended settings are:

Settings/Video:

Settings/Onscreen Display/Onscreen Overlay:

That way it is pixel perfect. One scanline for each real pixel.

It is important to use "Crop Overscan = ON", so every SNES game will have the same vertical resolution of 224 pixels. That way using Aspect Ratio Height of 672 is factor 3 - this is the factor the overlay was made for.

ClusterM commented 6 years ago

You can tune it for yourself. It's a matter of taste.

gnadenlos commented 6 years ago

IMO it's a matter of taste wether you use scanlines at all, wether you combine them with other filters, etc.

But if you use scanlines in form of an overlay you should always aim for one scanline per real pixel - that's how the overlay was designed and how the original description (the one you retweeted) explained the configuration.

On old tube TVs you also have one scanline per pixel and some graphics were designed based on that effect. So to get the most authentic graphics you have to try to replicate that effect on modern LCD screens as close as possible.

ClusterM commented 6 years ago

Ok.

ClusterM commented 6 years ago

But 75% opacity is too much.

Original canoe's canlines:

image

RetroArch's 75% scanlines:

image

RetroArch's 50% scanlines:

image

RetroArch's 25% scanlines:

image

itends commented 6 years ago

Is it necessary to have a shader active when we already use an overlay? Because right now the snes9x2010 shader is enabled. Or is it used for additional smoothing? That shader also causes distorted additional scanlines on the right side of the screen for me.

ClusterM commented 6 years ago

No, shaders sould be disabled.

gnadenlos commented 6 years ago

The opacity is a matter of taste, I just went for .70, because that was the recommendation in the image you linked on Twitter. If you want to get close to Canoe it's to high.

The really important options are:

Aspect Ratio Height -> 672 (for SNES and Genesis or whatever corresponds to factor 3 for other systems) Integer Scale -> OFF Crop Overscan (Reload) -> ON

Because this will result in "pixel perfect" scanlines (224x3=672) for SNES and Genesis/MegaDrive. "Crop Overscan = ON" ensures, that all SNES games will output at 224 pixels.

The rest of the configuration is more flexible.

Using factor 3 (960 for Genesis) or 4 (1024 for SNES) for "Aspect Ratio Weight" is useful, because it will give you uniform pixel sizes. The problem is that you can't achieve a 4:3 aspect ratio using that values. That's why 896 pixels may be another option, that will give you 4:3 aspect ratio for SNES and Genesis.

Additional info: I've contacted the creator of the overlay and he confirmed, that his overlay is designed for "Aspect Ratio Height" factor 3.

rsn8887 commented 6 years ago

Is it not possible to reproduce exactly the Clover CRT filter in Retroarch, by adjusting the aspect ratio, screen centering, filtering, and scanline appearance to match?

I think that should be the goal, to have no discernible difference between Clover and Retroarch, for a uniform feel.

rhester72 commented 6 years ago

Unfortunately, no. It would require the use of shaders with 3x resampling, which when coupled with the Snex9x2010 core, the hardware just isn't capable of doing. Using an overlay is a reasonable compromise - I've also been experimenting with using the NESCE shader with 2x resampling. The scanlines look a bit better, but the "softness" it imparts to the image looks pretty odd and unappealing (to me).

gromber commented 6 years ago

great integration! if you activate crt in dash, you have it on retroarch and same with decorative, i created a custon cfg if i want to have diferent settings that have original emulator, but its great.

gnadenlos commented 6 years ago

The new scanlines in V1.0 are really close to Nintendos CRT mode, but you still are missing the important "Crop Overscan (Reload) -> ON" setting.

Without that setting some games have a different height and you don't have factor 3 anymore.

Here is an example (Terranigma):

Using Crop Overscan = ON will result in factor 3: https://i.imgur.com/mLlulZW.png

Without Crop Overscan = ON you don't get factor 3 for that game: https://i.imgur.com/S7KMos3.png

Using "Crop Overcan = ON" will result in factor 3 for almost all games.

rsn8887 commented 6 years ago

EDIT: I got it to work. I had to select Crop Overscan manually, but it was never saved! So when I re-loaded the game to see if it works, it always reverted back to the old setting.

The only way I could get it to stick was by selecting "Save Core Overides." Then from then on it worked, The scanlines are now aligned perfectly with the pixels.

Why are settings not saved when I select "Save current configuration" or "save new configuration". Also what is the difference between the two? Retroarch's menu is completely unclear to me.

gnadenlos commented 6 years ago

@rsn8887: The current version has opacity 1.0 and a new overlay, so it seams you have some leftovers in your configuration if you still have 0.5 as default. You should try to use "unistall" in hakchi2 to get rid of those leftovers.

Are you talking about a NTSC version of the game with Retroarch?

Here is my result: https://i.imgur.com/I9LCY5K.jpg

Edit: So you have solved the problem - that's why I asked Cluster to set Crop Overscan to ON as default. This setting is mandatory if you want pixel perfect scanlines.

rsn8887 commented 6 years ago

@gnadenlos: You were right, I DID have a leftover old overlay which did not get deleted with uninstall. I used FTP to update all files. But the new overlay seems to be off - it is not pixel perfect anymore now, even with Crop Overscan.

You can see it in your own example picture, the scanlines do not align with each pixel in the same way. I suspect some scaling is now wrong in the new overlay.

If you look at your screenshot closely, you have a dark scanline in the center of each pixel.

Comparing the new to the old overlay, the old overlay was "correct:" The dark scanlines were inbetween pixels. The new overlay is offset by one pixel and therefore incorrect in my opinion. I will upload a new overlay to fix this, so that the pixels themselves are bright, and the space inbetween pixels is dark.

scanlines

I am not sure what was wrong with the original scanlines.png with the black lines. It allowed users to change their own opacity. With these new files, the user cannot make the scanlines darker anymore.

gnadenlos commented 6 years ago

@rsn8887: Yes, I prefer the look of the old, darker scanlines.png too, but I understand that Cluster aims for the Canoe CRT look.

The problem and probably the reason why Cluster changed it, is that opacity will affect the border image too. So if you want the border images to look the same as in Canoe you have to use opacity 1.0 and adjust the scanline overlay image instead.

I haven't verified the alignment of the new png in detail, but if it is as you say, it should be fixed/replaced. Scanlines should not be in the center of the 3 scaled pixels we get per real pixel.

So to make borders and scanlines work we would need a new overlay image that works with opacity 1.0, but has the correct alignment of the scanlines.

I hope Cluster will fix those problems (overlay image with correct alignment and "Crop Overscan = ON"), because many users don't know about the problem or don't know how to fix it themselves and will unnecessarily get somewhat less than perfect results.

bankaiprimera commented 6 years ago

@rsn8887: is it recommended to use the scanlines template you posted earlier with Hakchi 2.21f and the latest RA cores (https://github.com/KMFDManic/NESC-SNESC-Modifications/releases/), with opacity 1.00?

@gnadenlos and @rsn8887: What is currently the best way to enjoy pixel perfect scanlines?

thanks!

rsn8887 commented 6 years ago

It is a matter of taste. I like my version (posted in a thread above), but the default is also ok.

In my version, the bright area of the scanlines are centered on the SNES pixels, with dark in-between.

In the version included with retroarch-clover currently, the bright area of the scanlines is in between the SNES pixels, e.g. the center of each pixel is dark.

You have to set opacity 100, that is intended. Otherwise the borders will also become transparent.

These scanlines ONLY work with SNES. Other consoles have different pixel sizes.

In order to install my version

bankaiprimera commented 6 years ago

@rsn8887 Thanks for the explanation. I can't find the .config folder, it doesn't exist.. /etc/libreto does exist. Should I make a folder or something?

EDIT: I figured it out, I should've entered the entire adress and use root as user and clover as password. Now I can reach the folder. I'll check back with my finding. Thanks a lot!

NEStalgia commented 11 months ago

Where can I download this overlay?