首页 文章

OpenGL多纹理镶嵌

提问于
浏览
-1

我必须在OpenGL中用矩形纹理镶嵌一些表面 . 为简单起见,让它成为一个三角形 . 纹理通过侧面相互接触,并且不重叠 . 这是通过将GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T设置为GL_CLAMP_TO_BORDER并正确调整纹理坐标来完成的 . 一切顺利,而GL_TEXTURE_MIN_FILTER和GL_TEXTURE_MAG_FILTER设置为GL_NEAREST,但是当我想在神器上传后应用GL_LINEAR文件环和/或各向异性过滤时:纹理边框像素的alpha逐渐下降到透明,因此背景颜色线在相邻纹理之间可见 .

如果在保留线性过滤的同时将多个纹理合并为一个,我怎样才能避免这个过滤?

1 回答

  • 0

    你可能想要 GL_CLAMP_TO_EDGE 而不是 GL_CLAMP_TO_BORDER . 夹边框将边缘像素与边框颜色混合,边框颜色初始化为(0,0,0,0) . 这就是您透明度的来源 .

    将纹理夹到实际边缘,或设置不透明的边框颜色 .

相关问题