踩了个TextureArray的坑
Posted xoyojank
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩了个TextureArray的坑相关的知识,希望对你有一定的参考价值。
就是做了两层混合的材质, 采样了两次TextureArray, 但是因为TextureIndex是动态计算的, 就会出现同一张纹理在不同的Texture2DArraySample里采样的情况, 然后就会出现一条一个像素宽的小缝.
实验了一下, 只采样mip0或者两层纹理的UV一样的话, 就不会出现这个问题. 所以推测是采样时相邻像素是另一层纹理的UV, 导致miplevel计算错误, 然后这条线的上像素的mip是错的, 导致跟相邻像素无法连续.
目前除了把纹理的UV(Tiling)改成一样的, 还没有想到别的办法, 因为同一张纹理的采样次序在Shader里也没办法保证是固定在一个Texture2DArraySample上的
Update:
解决UV Tiling不同时mipmap接缝问题. 原理是使用DDX(UV)/Tiling, DDY(UV)/Tiling, 保证mipmap计算正确. DDX(UV)/Tiling=DDX(UV/Tiling)
以上是关于踩了个TextureArray的坑的主要内容,如果未能解决你的问题,请参考以下文章