浅谈纹理GL_TEXTURE_2D和GL_TEXTURE_RECTANGLE的不同点

文章讨论了如何在OpenGL中使用二维纹理目标GL_TEXTURE_RECTANGLE,强调了它与传统纹理的区别,如不支持Mip贴图、非标准化纹理坐标和硬件优化。作者还提到,这种纹理格式适合处理和提交图像,提供更高的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        对于一维、二维纹理来说,在典型情况下将纹理映射到几何图形上,其纹理坐标经过标准化,取值范围为0.0到1.0。我们可以超出这个范围,并使用各种纹理坐标环绕模式确定这个纹理是否以不同方式进行重复,或者被截取到纹理图像的边缘。

        对于二维纹理图像来说,另一个有用的选项是纹理目标GL_TEXTURE_RECTANGLE。这个纹理目标的模式和GL_TEXTURE_2D非常相似,但有几点不同:

  • 它不能进行Mip贴图,这就意味着只能加载glTexImage2D的第0层。
  • 纹理坐标不是标准化的。这就意味着纹理坐标实际上是对象寻址,而不是从0.0到1.0的范围覆盖图像的,即纹理坐标(5, 19)实际上是图像中从左起的第6个像素,以及从上面起的第20个像素(基于0的索引)。
  • 纹理坐标不能重复,并且不支持纹理压缩。
  • 必须使用GL_NEAREST或GL_LINEAR模式,GL_REPEAT和GL_REPEAT_MIRRORED环绕模式在矩形纹理中不被支持。
  • 相对于使用纹理来获得3D模型表面特征,这种方式对于许多OPenGL用来处理和提交图像的应用程序来说更加方便,对于纹理矩形的硬件支持也比对通常的2D纹理贴图更简单、更快、效率更高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值