纹理对象概述

    纹理对象(Texture Object)用来存储纹理数据,并且使它更加容易获得。我们可以控制许多纹理,并且回到先前已经装载进入纹理资源的纹理。使用纹理对象通常是支持纹理的最快的方式,会出现高性能的结果,这是因为它绑定(重新使用)一个现有纹理对象的速度,总是比使用函数glTexImage*D()来重新装载一个纹理图象的速度更快。

   另外,一些应用支持一个有限的高性能纹理的工作集(working set),它们比其本身之外的纹理对象有更好的性能。这些高性能的纹理对象称为驻留(resident),并且可能有一些可用的硬件或/和软件加速器。我们可以使用纹理对象把最常使用的纹理装载进入这个有限的区域。

    使用纹理对象来处理纹理数据的步骤如下:

    1.生成纹理名称——glGenTextures();

    2.将纹理对象绑定到纹理数据上(首先为纹理数据创建纹理对象,包括图象数组和纹理属性——glBindTexture();

    3.若应用支持高性能纹理的工作集,就要了解是否有足够的空间来存储所有的纹理对象。若没有足够的空间,可以为每个纹理对象都创建优先级,这样就将最常用的纹理驻留在工作集中——glPrioritizeTextures();

    4.绑定和重新绑定纹理对象,在渲染纹理化的模型时,使得纹理对象的当前数据能被获得——glBindTexture();

    5.清除纹理对象。纹理资源一般是有限的,删除纹理可以释放纹理资源——glDeleteTextures()。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值