A9VG电玩部落论坛

 找回密码
 注册
搜索
12
返回列表 发新帖
楼主: loveddr7909

请教模拟器如何抽线

[复制链接]

精华
0
帖子
390
威望
0 点
积分
471 点
种子
168 点
注册时间
2017-11-2
最后登录
2024-1-1
 楼主| 发表于 2022-5-17 11:36  ·  未知 | 显示全部楼层
lunamos 发表于 2022-05-16 17:37
本帖最后由 lunamos 于 2022-5-16 17:40 编辑

首先是个人认为480P等离子的不抽线的480P画面其实更好看,也更有特点。抽线用虽说也很不错,但属于模拟CRT的方式了,直接玩CRT岂不是更好。

言归正传,抽线可以用RetroArch的scanline-fract滤镜(在shaders/scanlines目录下面),可以设置抽几根(480P的话就是抽1根),darkness拉到最大就是纯黑的线,boost bright降到0就是不加荧光效果。这样就是忠实抽线的效果了。注意一定要保证整数缩放。当然也可用overlay实现,但不同游戏要改,比较麻烦。

如果不用RetroArch前端,多数其它模拟器也都有类似的scanline滤镜,可稍微研究一下。



放大看看:



非常感谢详细说明。之所以想用pc,是我主力电脑24小时开着,同时接了6个显示设备,比较方便。
发自A9VG iPhone客户端

精华
0
帖子
390
威望
0 点
积分
471 点
种子
168 点
注册时间
2017-11-2
最后登录
2024-1-1
 楼主| 发表于 2022-5-17 12:01  ·  未知 | 显示全部楼层
lunamos 发表于 2022-05-16 17:37
本帖最后由 lunamos 于 2022-5-16 17:40 编辑

首先是个人认为480P等离子的不抽线的480P画面其实更好看,也更有特点。抽线用虽说也很不错,但属于模拟CRT的方式了,直接玩CRT岂不是更好。

言归正传,抽线可以用RetroArch的scanline-fract滤镜(在shaders/scanlines目录下面),可以设置抽几根(480P的话就是抽1根),darkness拉到最大就是纯黑的线,boost bright降到0就是不加荧光效果。这样就是忠实抽线的效果了。注意一定要保证整数缩放。当然也可用overlay实现,但不同游戏要改,比较麻烦。

如果不用RetroArch前端,多数其它模拟器也都有类似的scanline滤镜,可稍微研究一下。



放大看看:



还有一个问题,我手头好几个ra,不知道为什么,都选不了你说的这个滤镜,选择那个文件夹后,里面显示是空的,已经确认文件确实在那。
发自A9VG iPhone客户端

精华
0
帖子
1172
威望
0 点
积分
1200 点
种子
23 点
注册时间
2012-7-22
最后登录
2024-4-25
发表于 2022-5-17 12:15  ·  山东 来自手机 | 显示全部楼层
chain416 发表于 2022-5-17 10:22
pc crt用120hz亮度可以保证

低解原生240p 120hz当然很亮了,同一个屏幕比480p亮一个级别。
这种只是模拟器自带抽线加480p就不行,肉眼可见的暗

精华
0
帖子
93
威望
0 点
积分
93 点
种子
19 点
注册时间
2016-10-13
最后登录
2023-8-27
发表于 2022-5-17 12:18  ·  日本 | 显示全部楼层
loveddr7909 发表于 2022-5-17 12:01
还有一个问题,我手头好几个ra,不知道为什么,都选不了你说的这个滤镜,选择那个文件夹后,里面显示是空 ...

这个也常见。可以确认一下这两点:

1. 后端渲染器的选择。如果是Vulkan就要找slang文件夹,GL就找glsl文件夹。不同的渲染器只能加载自己对应格式的滤镜。

2. 加载的是着色器还是预设。GL着色器的扩展名是GLSL,而预设是GLSLP。以RA的桌面UI为例,如果你的文件扩展名是GLSL,这里就要选择添加着色器,而不是添加预设。之后再保存成一个预设就行了。


也可以试试把下面我保存的预设命名为scanline-fract.glslp,保存到shaders/shaders_glsl/scanlines下面(确认shaders/shaders_glsl/scanlines/scanline-fract.glsl这个文件存在就行),再加载这个预设。

shaders = "1"
feedback_pass = "0"
shader0 = "shaders/scanline-fract.glsl"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
THICKNESS = "1.000000"
DARKNESS = "1.000000"
BRIGHTBOOST = "1.000000"

精华
0
帖子
390
威望
0 点
积分
471 点
种子
168 点
注册时间
2017-11-2
最后登录
2024-1-1
 楼主| 发表于 2022-5-17 12:37  ·  未知 | 显示全部楼层
lunamos 发表于 2022-05-17 12:18


这个也常见。可以确认一下这两点:

1. 后端渲染器的选择。如果是Vulkan就要找slang文件夹,GL就找glsl文件夹。不同的渲染器只能加载自己对应格式的滤镜。

2. 加载的是着色器还是预设。GL着色器的扩展名是GLSL,而预设是GLSLP。以RA的桌面UI为例,如果你的文件扩展名是GLSL,这里就要选择添加着色器,而不是添加预设。之后再保存成一个预设就行了。


也可以试试把下面我保存的预设命名为scanline-fract.glslp,保存到shaders/shaders_glsl/scanlines下面(确认shaders/shaders_glsl/scanlines/scanline-fract.glsl这个文件存在就行),再加载这个预设。

shaders = "1"
feedback_pass = "0"
shader0 = "shaders/scanline-fract.glsl"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
THICKNESS = "1.000000"
DARKNESS = "1.000000"
BRIGHTBOOST = "1.000000"


谢谢,已经搞定。确实缺少slang里这个文件夹,我又下了不同版本的ra,最后终于找到了。之前也试着写了个glslp,也不行。估计是3070卡默认就是vulkan了。

其实第一次尝试抽线就是找scanlines文件夹,当时估计就是显示为空,所以只能去crt文件夹里找。这次您的解释无比清晰,而且讲出了所以然,再次感谢大神
发自A9VG iPhone客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-4-26 10:58 , Processed in 0.187495 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部