放大后线性过滤导致的裂缝

由于历史原因,我们公司没有使用cocos2dx引擎,但也是类似的跨平台c++引擎。在适配高分辨率机器时,以前使用的是RTT技术,就是先画到一张整图后再把绘制整图。最近发现,这种方式没有单图缩放清晰,而且得知u3d也是单图缩放的,因此在尝试使用单图放大,即每个元素在绘制时通过矩阵去放大绘制,并使用线性过滤。现在问题来了,我们有些图片在绘制时是由多张切片拼接而成的,导致由于线性过滤会在边缘变缘从而产生了裂缝问题,求高手告知,cocos2dx引擎是怎么处理的。注:引擎使用的渲染是opengl1.x。

自己顶起来,对了,我使用GL_CLAMP_TO_EDGE已修正了很多问题,但是还有一些无法解决

cocos2dx opengl 2.x

我知道,但是这问题应该跟opengl版本没关吧?

这应该跟你合图有关系,你用TexturePack,会让你选择Border padding,至少得是1个像素吧,
如果没有,纹理采样为线性过滤时会把旁边的像素也计算过来,
就出现你那个问题了

恩,应该是你说的这个原因,主要是我们ui切的比较碎,并不是说一个元素一个小图,而是比如一个按钮可能是两个小图拼接的,导致中间有缝,有没有办法从渲染或逻辑上去避免这个问题?问题如图,原因是原图上的小切片可能摆在不同的地方,然后切片周边不一定是啥东西了。。。目前有一种解决方式是美术手动在有问题的切片旁边手动再补一相同的像素。。