Opengl es Opengl无缝纹理

Opengl es Opengl无缝纹理,opengl-es,textures,mipmaps,Opengl Es,Textures,Mipmaps,在andrid上的opengl es中,当我将两个纹理相邻放置时,会有一个轻微的接缝,您可以看到它们后面绘制的对象。基本上看起来像一个小缺口。我把范围缩小到了地图上 glTexParameteri(GL\u纹理\u 2D、GL\u纹理\u最小\u过滤器、GL\u线性\u MIPMAP\u线性); glTexParameteri(GL_纹理2D、GL_纹理MAG_过滤器、GL_线性) 如果我将它们都设置为距接缝最近的GL_,则接缝会消失,但纹理看起来像垃圾。我还有其他选择吗 纹理边缘的采样行为取决

在andrid上的opengl es中,当我将两个纹理相邻放置时,会有一个轻微的接缝,您可以看到它们后面绘制的对象。基本上看起来像一个小缺口。我把范围缩小到了地图上

glTexParameteri(GL\u纹理\u 2D、GL\u纹理\u最小\u过滤器、GL\u线性\u MIPMAP\u线性); glTexParameteri(GL_纹理2D、GL_纹理MAG_过滤器、GL_线性)


如果我将它们都设置为距接缝最近的GL_,则接缝会消失,但纹理看起来像垃圾。我还有其他选择吗

纹理边缘的采样行为取决于纹理包裹设置,您可以使用
gltexparametri()
对参数名称使用
GL\u texture\u wrap\S
GL\u texture\u wrap\T
进行设置。它们分别控制两个纹理方向的包裹模式

这些参数的默认值为
GL_REPEAT
,这将创建纹理的重复图案。这意味着,例如,当接近纹理的左边缘并到达最后半个texel时,最左侧和最右侧像素之间将发生线性插值。这极有可能导致您的案例中出现接缝

ES 2.0中的其他有效值为
GL\u镜像\u重复
GL\u夹紧到\u边缘
。这两种方法对您的情况都应该更有效,但最简单的方法是
GL\u-CLAMP\u-TO\u-EDGE
。它将在接近边缘时在边缘处简单地使用texel,而不对最后半个texel进行任何插值

可以使用以下选项设置这些参数值:

glTexParamteri(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParamteri(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

您的对象是否对齐网格?您的
GL\u TEXTURE\u WRAP\u S
GL\u TEXTURE\u WRAP\T
值是多少?如果您还没有这样做,您可以尝试将它们设置为
GL\u CLAMP\u to\u EDGE
。@RetoKoradi谢谢!这就成功了。