天空盒去除缝隙
内容
在纹理过滤函数中将
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
直接用数值0x812F来替代
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, 0x812F);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, 0x812F);
原理
当我们把纹理映射到一个几何体上,我们是使用纹理坐标来决定纹理应该如何单元化。每一个纹理坐标对应着纹理图像中的一个像素。这个坐标系统通常被称为纹理空间,它的两个方向分别对应着 S 和 T 坐标。S 对应于水平方向,T 对应于垂直方向。
GL_CLAMP 是 OpenGL 中的一个环绕方式,即当纹理坐标超出 [0,1] 的范围时,纹理不会重复,而是会拉伸边缘的纹理色,也就是说,超出的部分都会被设定为边缘的颜色.
这里直接使用0x812F来替代,可以做到边缘截取的功能
效果
改前:有明显黑色缝隙
改后:变得平滑