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

[FEATURE REQUEST] Blargg's NTSC filter #1808

Open
rrrcabral opened this issue Feb 2, 2025 · 7 comments
Open

[FEATURE REQUEST] Blargg's NTSC filter #1808

rrrcabral opened this issue Feb 2, 2025 · 7 comments

Comments

@rrrcabral
Copy link

rrrcabral commented Feb 2, 2025

I loved the CRT filter "CRT Royale Smooth" because it gave me a very faithful feeling of the SNES on a CRT, for example,
but it was missing something... something to blur the pixels a little, to simulate the old TV cables that did this.

I saw that in the settings there is a "Color Bleed" that could theoretically do this,
but I didn't like the smoothing, it was not sharp in an unpleasant way,
and I would expect a smoothing that rounded things out more and reduced the jaggedness of the pixels,
which is exactly what I saw with the "Blargg's NTSC filter".

I loved the "Blargg's NTSC filter" in the Mesen NES emulator.
It has a draggable bar that allows you to customize the degree of blur,
and it's great for finding the right point to your liking, which for example removes dots where there should be a transparency effect
and other smoothing that makes it more faithful to a tube TV with cable as well.

so for me "CRT Royale Smooth" (already present) + "Blargg's NTSC" filter should be perfect.

@remutro
Copy link
Contributor

remutro commented Feb 2, 2025

If Blargg's NTSC filter is an slang based shader and you can find a copy of it (if it was in Mesen maybe you can find it there? RetroArch would be another place to see if it is available), all you need to do to add it to ares is create a new directory for it in the Shaders directory (if on Windows the Shaders directory is in the same location as the ares executable). The shaders menu in ares is dynamically generated when the app loads based on the shaders it finds in that directory.

@rrrcabral
Copy link
Author

I forgot to mention, but a bilinear filter might also help smooth out the pixels to make them look more like old cables. I don't remember finding that in the settings, the default seems to be "Nearest Neighborhood".

Just out of curiosity, if anyone wants to test this Blargg filter in Mesen, put
'-39 in resolution' there, that was the value that gave me a nostalgic NES feeling and might be a good starting point.

@rrrcabral
Copy link
Author

rrrcabral commented Feb 2, 2025

If Blargg's NTSC filter is an slang based shader and you can find a copy of it (if it was in Mesen maybe you can find it there? RetroArch would be another place to see if it is available), all you need to do to add it to ares is create a new directory for it in the Shaders directory (if on Windows the Shaders directory is in the same location as the ares executable). The shaders menu in ares is dynamically generated when the app loads based on the shaders it finds in that directory.

But by doing this, would it be possible to use 2 shaders at the same time?
Because "CRT Royale Smooth" is already a selectable shader in the Ares menu.
And I'm talking about using Blargg together with this CRT shader. That's the only way it would be ideal.
If it's not possible to use 2 together, then Blargg should be an internal implementation of Ares.

@remutro
Copy link
Contributor

remutro commented Feb 2, 2025

I believe you would have to alter the shaders in order to have them both run, ares currently doesn't have a way to pick more then one shader. Much more knowledgeable folks in the ares discord may be able to assist. But at least for now that functionality isn't baked into ares.

@Screwtapello
Copy link
Contributor

If Blargg's NTSC filter is an slang based shader...

It's not, it's a CPU-based post-processor. bsnes calls them "filters" as distinct from GPU-based "shaders", and they date back to the ZSNES/snes9x era, so some people have a very strong nostalgic attachment to them.

@remutro
Copy link
Contributor

remutro commented Feb 3, 2025

In that case we won't be able to load it as we require slang shaders now (via the use of librashader). I'm sure there must be something pretty close within either the crt or ntsc menu options? If you find one that is pretty close, you might be able to tweak some values just a little more to get it to wher eyou are happy with it.

@kev4cards
Copy link
Contributor

Blargg's NTSC filter has been ported to a slang shader: libretro/slang-shaders@8731861 .
The shader will be available when ares updates to the most recent slang-shaders commit.
You can create a preset in RetroArch and place that into ares' shaders directory to achieve a CRT Royale Smooth + Blargg's NTSC combo.

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

No branches or pull requests

4 participants