Provenance-Emu / Provenance

iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
https://provenance-emu.com
Other
5.96k stars 686 forks source link

Smoothing & scan line filters #54

Closed cplr closed 6 years ago

cplr commented 9 years ago

Definitely not a high priority item, but I think generally people would love different smoothing and "scan line" filters. Even better would be curved-CRT shaders :). This project has some potential shaders that could be used for the curved-CRT look: https://github.com/Swordfish90/cool-retro-term

latzen79 commented 8 years ago

Oh!!! I need scanlines for my appletv , scanlines and moré filters

Naatan commented 8 years ago

This would be amazing! +1

MysticalOS commented 8 years ago

http://filthypants.blogspot.com/2012/03/xbr-vs-hqx-interpolation-filter.html That's the one I'd love to see not sure of performance impact though. however ios devices are a lot more powerful than they used to be, you could possibly add such a filter with device restriction or at very least warning that they probably shouldn't be enabled on weaker devices.

MysticalOS commented 8 years ago

iNDS recently added a bunch of filters and they are pretty great. Worth checking out. some at higher performance cost than others but modern iOS devices are pretty strong. i tried most of those filters with no performance loss, and that's with an emulator that's already inherently more demanding. https://github.com/WilliamLCobb/iNDS

dasilvetz commented 7 years ago

Having seen the various filters on the NES Classic console, have to say, would be great if Provenance supported similar features! +1 http://www.theverge.com/2016/9/30/13089242/nes-classic-nintendo-new-features-multiple-display-modes

gklka commented 7 years ago

https://github.com/OpenEmu/OpenEmu – OpenEmu for Mac also has a lof of excellent filters, maybe they can be used in this project too.

circa-III commented 7 years ago

Surprised this hasn't been implemented. Especially for a tvOS app. Would love to see it happen!

braindx commented 6 years ago

I've just added this, along with enabling 4K resolution for Apple TV 4Ks, to my branch here: https://github.com/braindx/Provenance/tree/crt-filter

The shader is one that I just wrote but I am releasing it into the public domain. It's heavily inspired by Timothy Lottes' shader, but that one is expensive to perform in a single pass and doesn't scale down well. I wanted something that was going to be performant on my Apple TV 4K and still look decent on my phone. Of course, now that it's hooked up, the shader can be replaced with whatever shader you want by replacing the contents of shader_crt_fragment.glsl. There are also a number of settings that can be tweaked at the top of the file.

Let me know if you'd like me to make this a formal pull request.

gklka commented 6 years ago

Works like a charm! Will you make a pull request of it?

braindx commented 6 years ago

Done: #608

sevdestruct commented 6 years ago

Closing this. If any new filter or shader work is done, will do under new ticket or PR, such as #639 for Non-Linear Stretch feature and @braindx is looking into porting over the retroarch libraries to this sometime.