1

在我正在制作的类似我的世界的游戏中,我的立方体上有白边:

它在较暗的纹理中更加明显。纹理是这样设置的:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

有什么帮助吗?

4

1 回答 1

2

如果您使用最近邻过滤 ( glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST),这就是结果。由于顶点的变换方式,有时这会导致在您想要的图块之外的一个像素处进行纹理查找。

解决方案相当简单,只需将所有纹理坐标移动到图块中,大小为半个像素,即(1.0f / width) * 0.5f. 这保证了纹理上像素的最近邻居永远不会超出您想要的图块。

于 2012-12-19T00:50:10.357 回答