mirror of
https://github.com/Blinue/Magpie.git
synced 2026-06-24 02:04:10 +00:00
添加ravu预置缩放模式以及更新文档
This commit is contained in:
parent
f0922a3716
commit
60d75d0cde
8 changed files with 56 additions and 20 deletions
10
Magpie/Properties/Resources.Designer.cs
generated
10
Magpie/Properties/Resources.Designer.cs
generated
|
|
@ -79,16 +79,16 @@ namespace Magpie.Properties {
|
|||
/// ]
|
||||
/// },
|
||||
/// {
|
||||
/// "name": "动漫 2x(ACNet)",
|
||||
/// "name": "通用(RAVU)",
|
||||
/// "model": [
|
||||
/// {
|
||||
/// "effect": "scale",
|
||||
/// "type": "ACNet"
|
||||
/// "type": "ravuZoom",
|
||||
/// "scale": [ 0, 0 ]
|
||||
/// },
|
||||
/// {
|
||||
/// "effect": "scale",
|
||||
/// "type": "mitchell",
|
||||
/// "scale": [ 0, 0 [字符串的其余部分被截断]"; 的本地化字符串。
|
||||
/// "effect": "misc",
|
||||
/// "type": "Anime4KDen [字符串的其余部分被截断]"; 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string BuiltInScaleModels {
|
||||
get {
|
||||
|
|
|
|||
|
|
@ -135,6 +135,21 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "通用(RAVU)",
|
||||
"model": [
|
||||
{
|
||||
"effect": "scale",
|
||||
"type": "ravuZoom",
|
||||
"scale": [ 0, 0 ]
|
||||
},
|
||||
{
|
||||
"effect": "misc",
|
||||
"type": "Anime4KDenoiseBilateral",
|
||||
"variant": "mode"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "动漫 2x(ACNet)",
|
||||
"model": [
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
窗口放大镜!
|
||||
|
||||
可以将任意窗口全屏显示,支持高级缩放算法,包括[Anime4K](https://github.com/bloc97/Anime4K)(本项目包含一个Direct2D移植)、Lanczos等。
|
||||
可以将任意窗口全屏显示,支持高级缩放算法,包括[Anime4K](https://github.com/bloc97/Anime4K)、[RAVU](https://github.com/bjin/mpv-prescalers)、Lanczos等。
|
||||
|
||||
主要用于游戏窗口的放大显示,适用于那些不支持全屏模式,或者游戏自带的全屏模式会使画面模糊的情况。
|
||||
|
||||
|
|
@ -21,12 +21,13 @@
|
|||
程序预置了数种缩放模式,如果没有符合你的需求的,请[自定义缩放](docs/自定义缩放.md)。
|
||||
|
||||
1. 通用:Lanczos+锐化
|
||||
2. ACNet:[ACNetGLSL](https://github.com/TianZerL/ACNetGLSL)的移植
|
||||
3. Anime4K:存在多种变体
|
||||
2. 通用:RAVU
|
||||
3. ACNet:[ACNetGLSL](https://github.com/TianZerL/ACNetGLSL)的移植
|
||||
4. Anime4K:存在多种变体
|
||||
* 动漫 2x(Anime4K):对输入应用一次Anime4K,适合放大1~2倍。默认使用降噪版本。
|
||||
* 动漫 2x(Anime4K+ThinLines):执行Anime4K后细化线条。一般能产生更好的视觉效果。
|
||||
* 动漫 4x(Anime4K x2):应用两次Anime4K,适合放大2~4倍的情况。
|
||||
4. Pixel:将每个像素放大整数倍,可以完整保留原窗口的视觉效果。有2x,3x,4x三种放大倍率可选。
|
||||
5. Pixel:将每个像素放大整数倍,可以完整保留原窗口的视觉效果。有2x,3x,4x三种放大倍率可选。
|
||||
|
||||
#### 抓取模式
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
// ravu-lite-r3 Pass1
|
||||
// ÒÆÖ²×Ô https://github.com/bjin/mpv-prescalers/blob/master/ravu-lite-r3.hook
|
||||
|
||||
|
||||
cbuffer constants : register(b0) {
|
||||
int2 srcSize : packoffset(c0);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
// ravu-lite-r3 Pass2
|
||||
// ÒÆÖ²×Ô https://github.com/bjin/mpv-prescalers/blob/master/ravu-lite-r3.hook
|
||||
|
||||
|
||||
cbuffer constants : register(b0) {
|
||||
int2 srcSize : packoffset(c0);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
// ravu-zoom-r3
|
||||
// 移植自 https://github.com/bjin/mpv-prescalers/blob/master/ravu-zoom-r3-yuv.hook
|
||||
|
||||
|
||||
cbuffer constants : register(b0) {
|
||||
int2 srcSize : packoffset(c0.x);
|
||||
int2 destSize : packoffset(c0.z);
|
||||
|
|
@ -40,6 +44,7 @@ D2D_PS_ENTRY(main) {
|
|||
float2 pos = Coord(0).xy / Coord(0).zw;
|
||||
float2 subpix = frac(pos - 0.5);
|
||||
pos -= subpix;
|
||||
// LUT_POS 的等价,但它到底是什么?
|
||||
subpix = lerp(float2(0.5, 0.5) / float2(9.0, 9.0), 1.0 - 0.5 / float2(9.0, 9.0), subpix);
|
||||
float2 subpix_inv = 1.0 - subpix;
|
||||
subpix /= float2(5.0, 288.0);
|
||||
|
|
|
|||
|
|
@ -11,30 +11,29 @@ Magpie启动时会在所在目录搜索ScaleModels.json,如果未找到则会
|
|||
"model": [
|
||||
{
|
||||
"effect": "scale",
|
||||
"type": "lanczos6",
|
||||
"type": "lanczos",
|
||||
"scale": [ 0, 0 ],
|
||||
"ARStrength": 0.7
|
||||
},
|
||||
{
|
||||
"effect": "sharpen",
|
||||
"type": "adaptive",
|
||||
"curveHeight": 0.6
|
||||
"curveHeight": 0.8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "动漫 2x(Anime4K)",
|
||||
"name": "通用(RAVU)",
|
||||
"model": [
|
||||
{
|
||||
"effect": "scale",
|
||||
"type": "Anime4K",
|
||||
"curveHeight": 0.3,
|
||||
"useDenoiseVersion": true
|
||||
"type": "ravuZoom",
|
||||
"scale": [ 0, 0 ]
|
||||
},
|
||||
{
|
||||
"effect": "scale",
|
||||
"type": "mitchell",
|
||||
"scale": [ 0, 0 ]
|
||||
"effect": "misc",
|
||||
"type": "Anime4KDenoiseBilateral",
|
||||
"variant": "mode"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -76,6 +75,10 @@ Magpie支持的缩放效果有:
|
|||
* 参数
|
||||
* scale:缩放比例,和其他缩放算法不同,此值必须是正整数,因为图像尺寸只能等比例整数倍放大。默认值为1。
|
||||
7. ACNet:ACNetGLSL的移植。固定的将输入放大至两倍。
|
||||
8. ravuLite:ravu-lite-r3的移植。固定的将输入放大至两倍。
|
||||
9. ravuZoom:ravu-zoom-r3的移植。支持任意倍数的缩放。
|
||||
* 参数
|
||||
* scale:缩放比例,值必须是有两个元素的数组,分别指定长和高的缩放比例。如果是[0, 0],则等比缩放到屏幕能容纳的最大大小。默认值为 [1,1]。
|
||||
|
||||
### 锐化效果
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
# HookTextureResolver
|
||||
|
||||
用于读取mpv hook中的TEXTURE块。
|
||||
用于读取mpv hook中的TEXTURE块。[RAVU](https://github.com/bjin/mpv-prescalers)使用了TEXTURE块,移植到hlsl时必须将其解码。
|
||||
|
||||
移植时必须将其解码,转换为hlsl可以理解的数组。
|
||||
较小的TEXTURE块可以转换为hlsl数组,较大的TEXTURE块则必须导出为纹理图片,将其作为effect的输入。
|
||||
|
||||
导出为图片时的一个问题是Direct2D不支持读取alpha通道,因此我将导出图片的宽度增加一倍以容纳更多信息。
|
||||
|
||||
png格式的每个颜色通道只有8位,因此导出时会有严重的精度损失。为了缓解这个问题,我进行了一些简单的压缩。实践证明,一定程度的精度损失对RAVU的效果没有肉眼可见的影响。
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue