踩了个TextureArray的坑


就是做了两层混合的材质, 采样了两次TextureArray, 但是因为TextureIndex是动态计算的, 就会出现同一张纹理在不同的Texture2DArraySample里采样的情况, 然后就会出现一条一个像素宽的小缝.
踩了个TextureArray的坑_第1张图片
实验了一下, 只采样mip0或者两层纹理的UV一样的话, 就不会出现这个问题. 所以推测是采样时相邻像素是另一层纹理的UV, 导致miplevel计算错误, 然后这条线的上像素的mip是错的, 导致跟相邻像素无法连续.

目前除了把纹理的UV(Tiling)改成一样的, 还没有想到别的办法, 因为同一张纹理的采样次序在Shader里也没办法保证是固定在一个Texture2DArraySample上的

你可能感兴趣的:(GPU编程,图形技术)