0

我正在尝试制作一个 rpg 游戏,我想展示一张平铺地图。

我现在正在做的是为每个图块计算它的位置,如果它在可见区域,我绑定纹理,设置纹理坐标并使用 2 个三角形绘制一个正方形。

一切都很好,但我发现我经常在一些瓷砖之间出现黑线,这很烦人。你如何摆脱那些黑线或者有没有更好的方法使用opengl进行平铺

4

1 回答 1

2

如果没有任何代码或屏幕截图,我当然很难知道是什么导致了问题,但我可以给出我最好的猜测。首先,如果您的坐标在瓷砖之间紧密排列,则瓷砖之间不应出现任何裂缝。紧密排列是指瓦片的底部与下面瓦片的顶部具有完全相同的 Y 坐标值。

然而,这也可能是因为纹理重复和线性过滤给您带来了瓷砖边缘的问题。如果是这种情况,您可以使用以下方法解决它:

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

如果你转动纹理,裂缝是否仍然出现?如果是这样,您的瓷砖之间必须有一些几何间距。也许某些东西在您的代码中某处被四舍五入到 int 之类的?

这些是我最好的猜测,但我建议上传问题的屏幕截图以获得更好的答案。祝你好运!

于 2012-09-29T16:56:23.957 回答