Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current default scanline overlay configuration is not pixel perfect #90

Open
gnadenlos opened this issue Oct 10, 2017 · 19 comments
Open

Comments

@gnadenlos
Copy link

Recommended settings are:

Settings/Video:

  • Aspect Ratio -> Custom
  • Aspect Ratio X Pos. -> 128 (identical pixel size, factor 4) or 192 (4:3) or 160 (Sega Genesis)
  • Aspect Ratio Y Pos. -> 24
  • Aspect Ratio Width -> 1024 (identical pixel size, factor 4) or 896 (4:3) or 960 (Sega Genesis)
  • Aspect Ratio Height -> 672
  • Integer Scale -> OFF
  • Crop Overscan (Reload) -> ON
  • Bilinear Filtering -> OFF

Settings/Onscreen Display/Onscreen Overlay:

  • Display Overlay -> ON
  • Overlay Preset -> scanlines.cfg
  • Overlay Opacity -> 0.70

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.

@gnadenlos gnadenlos reopened this Oct 10, 2017
@ClusterM
Copy link
Owner

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

@gnadenlos
Copy link
Author

gnadenlos commented Oct 11, 2017

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
Copy link
Owner

Ok.

@ClusterM
Copy link
Owner

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
Copy link

itends commented Oct 11, 2017

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
Copy link
Owner

No, shaders sould be disabled.

@gnadenlos
Copy link
Author

gnadenlos commented Oct 11, 2017

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
Copy link

rsn8887 commented Oct 11, 2017

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
Copy link

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
Copy link

gromber commented Oct 12, 2017

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
Copy link
Author

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
Copy link

rsn8887 commented Oct 15, 2017

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
Copy link
Author

gnadenlos commented Oct 15, 2017

@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
Copy link

rsn8887 commented Oct 15, 2017

@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
Copy link
Author

gnadenlos commented Oct 16, 2017

@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
Copy link

@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
Copy link

rsn8887 commented Nov 11, 2017

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

  • go to my earlier comment here (two posts above),
  • right-click on the scanline image in that comment
  • select save linked file as
  • save as scanlines.png
  • transfer the file "scanlines.png" via ftp into the snes mini folder /etc/libretro/.config/retroarch/overlay/ . You can overwrite the original or rename it to "scanlines_orig.png" for example
    Note: Ftp can be enabled on the snes mini while it is connected to windows. Then you can access the folders and copy files over.

@bankaiprimera
Copy link

bankaiprimera commented Nov 11, 2017

@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
Copy link

Where can I download this overlay?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants