拼合地图的时候出现1个像素的细线 怎么破?

正在开发的游戏中遇到一个问题。

地图是我们自己写的 用 Sprite 拼合,每个地图瓦片是一个 256x256 的位图,16个瓦片位图合成到一个 1024x1024 的 纹理上

例如下图是纹理。

现在,在运行的时候发现两行瓦片之间出现一条细线。我的理解是这个细线的产生是因为 pixel shader 在格栅化的时候,把瓦片边缘上方属于另外一个瓦片的像素给采样进去了。

所以我对 Texture2D 使用 Texture2D:setTexParameters(gl.NEAREST) 来调整采样方式,但是没有能够解决这个问题,细线依旧存在。

哪位知道怎么解决吗?

出现问题的细线

纹理格式

#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1

地址:cocos2dx\include\ccConfig.h

多谢多谢,问题立刻解决!

http://www.cnblogs.com/pengyingh/articles/2506122.html
解决方案:通过设置ccConfo.h中的CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL宏来解决。

         将  #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0   
         改为 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1
         ccConfig.h位置:/cocos2dx/include/ccConfig.h
 解决大致原理是将贴图的适用范围改成99%,将纹理的四边形的范围缩小一圈

非常感谢,非常感谢!