首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opengl无缝纹理

Opengl无缝纹理
EN

Stack Overflow用户
提问于 2014-07-26 03:21:28
回答 1查看 999关注 0票数 0

在opengl es中,当我将两个纹理放在一起时,有一个细微的缝,你可以在其中看到它们后面的绘制对象。基本上看上去是个小差距。我把范围缩小到mipmapping

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

如果我把它们都设置为GL_NEAREST,缝线就会消失,但是纹理看起来很糟糕。我还有别的选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-26 05:02:01

纹理边缘的取样行为取决于纹理包装设置,可以使用glTexParamteri()设置,使用GL_TEXTURE_WRAP_SGL_TEXTURE_WRAP_T作为参数名。它们分别控制两个纹理方向的包装模式。

这些参数的默认值是GL_REPEAT,它创建了纹理的重复模式。这意味着,当你接近纹理的左边边缘,并到达后半纹理,线性插值将发生在最左和最右像素之间。这很可能导致你的情况下的接缝。

ES2.0中的其他有效值是GL_MIRRORED_REPEATGL_CLAMP_TO_EDGE。两者都应该更适合您的情况,但是GL_CLAMP_TO_EDGE是最直接的。它将简单地使用在边缘的纹理,同时接近边缘,没有任何插值的最后一半纹理。

可以使用以下方法设置这些参数值:

代码语言:javascript
复制
glTexParamteri(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParamteri(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24967202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档