2012-09-29 37 views
0

我想制作一款RPG游戏,并且我想展示一张平铺的地图。如何在opengl中拼贴

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

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

回答

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); 

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

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