教程基础课多重纹理.pdfVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

多重纹理概述

首先如果一个显卡支持多重纹理,表示它可以将几次渲

染合为一次来进行,在这个渲染过程中,你可以在不同的纹理

单元分别放入第0次,第1次,第2次需要渲染的对象。当程序

向屏幕绘图时,将这些渲染结果叠加起来,将最果显示到

屏幕。

多重纹理就是在纹理操作流水线

中依次将多个纹理应用于同一个多边形。

第3页

多重纹理混合

当我们在使用多重纹理时,每个纹理单元对应有其纹理环境,这个纹理环境指

明了渲染的纹理、渲染参数、过滤参数等等,其中有一个重要的项目指明了,程

序在将渲染结果进行逐个叠加的过程中,当前的纹理单元内的内容如何与前面的内容

进行混合.这个些参数中包含了:

要进行混合的纹理的来源,这个来源要分两步指定:

1.对象来自哪个纹理单元[例如GL_TEXTURE0,GL_TEXTURE1],

2.该单元中的什么成分[例:GL_SRC_COLOR,GL_ONE_MINUS_SRC_COLOR]

混合所使用的函数,例如GL_ADD,GL_MODULATE,GL_INTERTE等

通俗一点来说呢,如果我们要进行一次多重渲染就是要把两个纹理进行一次数学

运算把得到的结果投放到屏幕。

第4页

多重纹理混合

当然这个数算是需要你自己指定的这包括运算类型,

操作数来源,操作数的值,就像下面这个简单的代数式一样:

C=A+B

要算出这个结果,那么我们首先要指定要进行什么运算(这里

是+),然后指定这个运算的两个操作数(这里是a和b,对于

渲染还要知道他们来自哪个纹理单元).

这些参数的指定都是通过用不同的参数来调用glTexEnv

完成的。然后我们就可以运算了。这个C就是我们渲染的最终

结果。

第5页

使用多重纹理步骤

◆对于每个纹理单元,指定其纹理映射参数,包括纹理图像,

滤波方法,映射方式,纹理坐标生成方式和纹理矩阵.函数

glGetIntegerv()使用参数GL_MAX_TEXTURE_UNITS来

了解OpenGL实现最多支持多少个纹理单元.

◆指定顶点时,使用函数glMultiTexCoord*()为每个顶

点指定多组纹理坐标.每个纹理单元都需要一组坐标.每个纹理

单元使用的坐标可能各不相同.

第6页

使用多重纹理

建立纹理单元

使用多重纹理时,需要有多个纹理单元.每个纹理单元的功能都相同,并存

储了各自的纹理处理参数.包括:1)纹理图像2)滤波参数3)纹理映射方

式4)纹理矩阵堆栈5)纹理坐标生成模式6)顶点数组(如果需要的话)要设

置纹理映射参数,使用函数glActiveTexture()来指定要对其进行设置的

纹理单元,然后调用函数

glTexImage*(),glTexPara

文档评论(0)

kay5620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8001056127000014

1亿VIP精品文档

相关文档