我正在尝试压缩法线贴图纹理,所以我正在使用ASTC 4x4。
它对于其他纹理(又称漫反射)完全有效,但是法线贴图的质量损失太大。
有没有办法直接改善法线贴图的ASTC质量?
我尝试使用-normal-psnr标志,但是它会使我的纹理变灰(而不是普通的蓝色)
ASTC法线图:
PNG法线贴图:
答案 0 :(得分:0)
在参考编码器中使用法线模式压缩法线图将法线图存储为X + Y图。 X存储在R通道中(并在G和B中重复),而Y存储在A通道中,这就是为什么它看起来是灰色的。您需要在着色器中重建Z。基于完整的法线应该是单位长度这一事实,您不需要存储它,这将使压缩器有更多的位可用来提高质量。
vec3 normal;
normal.xy = texture(sampler, uv).ra;
normal.z = sqrt(1 - dot(normal.xy, normal.xy));
我倾向于使用5x5块(5.12bpp)来查找法线,但是比这低得多的比特率会引发质量问题。