[求助] 寻找有shader滤镜功能的模拟器

楼主: YuQilin (神兽)   2018-09-05 16:20:01
我想找可以自由套用shader滤镜的模拟器,
例如Snes9x可以在Video里设定,
选择使用D3D或OpenGL的shader滤镜,
加载用cg语言撰写的.cgp档案,
用shader放大画面来提升2D游戏的清晰度。
我想套用的shader滤镜叫做“4xbr-hybrid-crt”,
它是我觉得显示效果最好的2D画面放大滤镜。
xbr是效果很好的2D像素放大的算法,
但是有时候它放大的画面会有很严重的失真,
例如文字的斜线会变得扭曲变形,
或者有很多的细节会变得消失不见,
使得游戏的画面看起来像用刷笔描绘的油画,
反而不如原始像素直接放大看起来还比较真实。
各种像素放大算法的比较图
https://i.imgur.com/TQxSyJd.png
可以看到XBR4x的前后箭头和三角波浪线条特别平滑,
完全看不到锯齿,而且画面相当清晰锐利,
但是花朵的花瓣样式变形,花瓣间连接处的细节丧失,
右边的ABC文字扭曲,
方块图形和下方的矩形波则可以很明显的发现直角完全消失。
但是“4xbr-hybrid-crt”这个滤镜,
混合了xbr、Reverse-AA和crt扫描线的算法,
改善了上述的缺点,特别是减轻了xbr的油画感,
在一些2D游戏上有着很棒的显示效果。
以下的图片如果看缩图会看到缩放失真造成的横格线,
要打开来看,以1:1显示才会看到在模拟器上真正的显示效果。
FC的吞食天地2诸葛孔明传
原始像素直接放大 汉字和英文字的转折有明显的锯齿
https://i.imgur.com/GiWF44a.png
用4xbr-hybrid-crt放大
https://i.imgur.com/a4YqO0H.png
原始像素直接放大 刘备的头像和日文的假名有明显的锯齿
https://i.imgur.com/dlnI5iF.png
用4xbr-hybrid-crt放大
https://i.imgur.com/h6oRPml.png
FC的太空战士3
原始像素直接放大 数字和人物图象和上方背景的颗粒感
https://i.imgur.com/7cZ0pRM.png
用4xbr-hybrid-crt放大
https://i.imgur.com/Wl6QzVz.png
SFC的勇者斗恶龙3
原始像素直接放大 有很粗重的噪声和颗粒感
https://i.imgur.com/ynUDYfg.png
用4xbr-hybrid-crt放大
https://i.imgur.com/NQpDp3D.png
SFC的超时空之钥
原始像素直接放大
https://i.imgur.com/C4Orfs2.png
用4xbr-hybrid-crt放大
https://i.imgur.com/cz9DsrT.png
原始像素直接放大
https://i.imgur.com/VN16s72.png
用4xbr-hybrid-crt放大
https://i.imgur.com/ci91CEs.png
原始像素直接放大
https://i.imgur.com/gME5OYV.png
用4xbr-hybrid-crt放大 日文字补得不太好看 感觉已经是极限了
HP/MP有些分不太清楚 蜡烛台补得不错
https://i.imgur.com/bIhLCMN.png
原始像素直接放大
https://i.imgur.com/9RUQeFw.png
用4xbr-hybrid-crt放大
https://i.imgur.com/lSsJZv4.png
MD的梦幻模拟战2
原始像素直接放大
https://i.imgur.com/nj0KJoc.png
用4xbr-hybrid-crt放大
https://i.imgur.com/WZFbqaO.png
原始像素直接放大
https://i.imgur.com/bkvTe1R.png
用4xbr-hybrid-crt放大 绿地上的小白点缩小快要看不到了
https://i.imgur.com/sN5dNuQ.png
PS的梦幻模拟战1+2增值版
Pete的OpenGL2 Driver 默认会开启Bilinear滤镜 画面非常模糊
https://i.imgur.com/l8dvKaY.png
gpuBladeSoft 2D显示效果最好的plugin 原始像素直接放大
https://i.imgur.com/xyMKI3W.png
用4xbr-hybrid-crt放大
https://i.imgur.com/3rzHC3J.png
总结
优点:减少画面的颗粒感,平滑曲线,
和其他算法相比保留较多的细节,较锐利
缺点:画面会有一条一条的暗线,造成总亮度下降,色彩饱和度下降,
有时线条失真的瑕疵仍然相当明显
整体观感:有变得比较好看XD
不过不是所有模拟器都支援自由加载cg语法的shader滤镜,
像是SEGA的Fusion,GBA的mGBA、VBA-M,PSX的ePSXe等等,
都不支援自由套用cg、glsl、slang语法的滤镜,
所以这些模拟器都无法使用4xbr-hybrid-crt来放大画面。
我有找到两个整合型的模拟器接口,RetroArch和BizHawk,
RetroArch有支援cg、glsl、slang三种语法的shader,
BizHawk则有支援cg的shader。
不过RetroArch的操作接口在桌机上我觉得不是很方便,
而TAS推出的BizHawk则功能非常强大,非常非常好用,
可以取代很多单独的模拟器成为使用主力,
不过它有一个很严重的缺点是加载shader以后启动的速度会变得很慢。
这两个模拟器还有一个共同的问题,
即使暂停模拟器的运作,shader仍然会继续画面的运算,
所以GPU会一直维持在高负载的状态。
有时候游戏玩到一半,我会暂停模拟器开其他的视窗查攻略资料,
这时因为shader仍然在继续运算,GPU的负担非常重,
所以会拖累其他视窗的显示效能,反应会变得相当迟钝。
想要完全停止shader的运算,必须将模拟器的视窗最小化,
才能释放GPU的资源,让电脑的运作恢复正常。
因为我这人非常懒惰,
所以希望可以按一个手把上的按钮就帮我做到视窗最小化的操作XD
我是利用JoyToKey这个软件,将Windows视窗最小化的快速键:
“先按Alt+Space”“然后按下N”这两个动作映射到手把的按钮上,
这样只要按一下按钮就可以立刻最小化模拟器的视窗。
设定的方法是:
1. 打开JoyToKey,指定一个要用来做最小化的按钮,
切换到设定的第三个项目
“Keyboard emulation: switch between multiple assignments”
“模拟键盘的按键输入:在指定的不同按键之间切换”。
2. 将第一组 [Input1] 的输入设为“Alt+Space”,
第二组 [Input2] 则是单独一个“N”,Input3、4不需设定,
然后勾选下面的
“Execute from [Input1] to [Input4] in sequence at the specified duration”
“以指定的时间间隔依序送出 [Input1] 到 [Input4] 的按键”
后面的Input Hold Duration用默认的20msec即可。
这样当按下手把上的指定按钮,JoyToKey就会自动帮我送出:
“先按Alt+Space”隔20msec以后“再接着按下N”的组合键,
自动将执行中的模拟器视窗最小化。
虽然利用JoyToKey可以减少操作上的麻烦,
不过我还是想找找看有没有其他整合型或者单独的模拟器,
可以加载cg或glsl或slang语言的shader,
而且没有“启动速度慢,要最小化才能停止GPU运算”的问题。
请大家帮忙推荐。
shader滤镜列表
https://emulation.miraheze.org/wiki/List_of_shaders_and_filters#CRT
cg shaders
https://github.com/libretro/common-shaders
glsl shaders
https://github.com/libretro/glsl-shaders
slang shaders
https://github.com/libretro/slang-shaders
cg/glsl/slang shaders整合包
http://www.emu-france.com/emulateurs/5-consoles/51-nintendo-super-nintendo/3677-cg-glsl-slang-shaders-pack/
RetroArch
https://www.retroarch.com/
BizHawk
http://tasvideos.org/BizHawk.html
作者: oginome (荻野目洋子)   2018-09-05 16:32:00
推~不过我想有支援的你都找过了~我个人是追求颗粒感和扫描线~
作者: qazxswptt (...)   2018-09-05 17:06:00
推尝试 之前有试过一阵xbr 其实你找得也差不多了
作者: srwcc (老马)   2018-09-05 17:39:00
作者: silomin (惦惦吃的多)   2018-09-05 18:57:00
推好多滤镜 个人是最喜欢接近原版画面的XD
作者: napdh (..)   2018-09-05 19:16:00
我觉得retroarch设计就是为了手把,用个xbox手把还蛮方便的
作者: wenen (天空骑士---湛蓝羽翼)   2018-09-05 20:13:00
RetroArch在最新的1.7.4版加入桌面UI,更适合电脑使用,试看吧。 开启程式后按F5就可切换
作者: tzouandy2818 (Naked Bear)   2018-09-05 21:47:00
要是scan line能自由开关就更好了

Links booklink

Contact Us: admin [ a t ] ucptt.com