Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我正在制作的类似我的世界的游戏中,我的立方体上有白边:
它在较暗的纹理中更加明显。纹理是这样设置的:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
有什么帮助吗?
如果您使用最近邻过滤 ( glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST),这就是结果。由于顶点的变换方式,有时这会导致在您想要的图块之外的一个像素处进行纹理查找。
glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST
解决方案相当简单,只需将所有纹理坐标移动到图块中,大小为半个像素,即(1.0f / width) * 0.5f. 这保证了纹理上像素的最近邻居永远不会超出您想要的图块。
(1.0f / width) * 0.5f