OpenGL去除天空盒缝隙

天空盒去除缝隙

内容

在纹理过滤函数中将

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来替代,可以做到边缘截取的功能

效果

改前:有明显黑色缝隙

改后:变得平滑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值