ps-t ② 自定义过滤、筛选
推荐
置顶
精华
鸣潮MOD 讨论

正确的理解TextureUsage.json

错误理解:各个ps-t放着几张贴图

正确理解:每条vs-ps调用ps-t

筛选

现在可以根据两条vs-ps的ps-t# 不同的贴图格式进行筛选,只要理解vs-ps是分开的,可以使用各种方法进行判断,下面给出几种方案

首先先把贴图匹配进来,没有匹配到的贴图,那个ps-t将被视为null,这点很重要

一般来说,匹配这3个够用了,然后写if

只替换第一条vs-ps,不换描边那个vs-ps。描边正常

如果换描边的vs-ps,看看效果。描边的ps-t0被我的法线占据,而漫射没有被替换

ps-t不能写严格判定

ps-t# === null 始终为false

ps-t# !== null 始终为true

以下两种写法等价

ps-t0 && !ps-t1 && ps-t2 && ps-t3 && !ps-t4

ps-t0 != null && ps-t1 == null && ps-t2 != null && ps-t3 != null && ps-t4 == null

小偷懒

只写一个BC7判断

(filter_index是可以自定义数字的)

极致偷懒

利用没有匹配到的贴图,那个ps-t将被视为null这一点,可以只写一个BC7判断ps-t是不是null

但是要注意其他mod,有没有把其他贴图匹配进来

比如RabbitFX,就写了一堆规则匹配,就不能这么干了,如下

其他注意事项

想要完整判断TextureUsage.json提取时关闭这些选项

一些后面位置的ps-t会变动,写if的时候不要对它们做判断

match_format​ 类型可以写数字,对应关系见DXGI_FORMAT (dxgiformat.h) - Win32 应用 |Microsoft Learn

match_format​ 类型大部分是BC7_TYPELESS​

如果明明是BC7但没有匹配上,就去加BC7_UNORM​和BC7_UNORM_SRGB​匹配

by xqfa 更新于 前天 01:07
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
1个大佬推荐该主题
默认
最新
1