我正在使用带纹理的四边形从 sprite 表中渲染图 block 网格。不幸的是,渲染时,各个图 block 之间存在小间隙:
更改纹理参数以使用 GL_NEAREST 而不是 GL_LINEAR 缩放纹理可以修复此问题,但会导致纹理四边形本身出现伪影。有什么方法可以防止 GL_LINEAR 使用指定 UV 坐标之外的像素进行插值吗?关于如何解决此问题的任何其他建议?
作为引用,这是我正在使用的 Sprite 表:
最佳答案
看起来你的纹理贴图存在精度问题,你使用的是 float (32 位)还是更小的东西?以及如何计算坐标?
在纹理之间留一个 1 像素的边界有时会有所帮助(有时您总是会遇到舍入错误)。
我自己 我使用这个程序 http://www.texturepacker.com/ (不以任何方式附属),你从中得到纹理贴图和 UV 坐标,你也可以在纹理周围指定一个填充,它也可以挤出你纹理周围的最后一种颜色,所以即使得到奇怪的舍入概率你也可以总能得到完美的接缝。
不过,我会先检查您的精度和计算结果。
关于android - 为 Sprite 表使用纹理时防止间隙/边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115164/