就是做了两层混合的材质, 采样了两次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)