- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
纹理纹理的基本概念
纹理
纹理是增强计算机生成的三维图像的真实感的有力工具。Microsoft® Direct3D®
支持广泛的纹理特性,并使开发人员可以很方便地使用高级纹理技术。
本节讲述如何使用纹理。
• 纹理的基本概念
• 纹理坐标
• 纹理过滤
• 纹理资源
• 纹理环绕
• 纹理混合
• 表面
以下主题将更详细地介绍另外的纹理功能。
• Mipmap的自动生成
• 自动纹理管理
• 压缩纹理资源
• 使用纹理时需要考虑的硬件问题
• 立体纹理资源
要提高性能,可以考虑使用动态纹理。动态纹理在每一帧都可以被锁定,写入及
解锁。更多信息请参阅使用动态纹理。
纹理的基本概念
早期计算机生成的三维图像看起来往往像是发亮的塑料,虽然这在当时也是比较
先进的,但是它们缺乏各种纹路——如磨损、裂痕、指纹和污渍等,而这些纹路
会增加三维物体的真实感。近年来,纹理已经在开发人员中得到普及并作为增强
计算机生成的三维图像的真实感的工具。
词语“纹理”在日常使用中表示物体的光滑度或粗糙度,但是在计算机图形学中,
纹理指的是一张表示物体表面细节的位图。
因为Direct3D中所有纹理都是位图,所以可以把任何位图贴到Direct3D图元的
表面。例如,应用程序可以创建物体并使它们的表面看起来有木纹的样式。可以
把草、泥土和岩石等纹理贴在构成山的图元的表面,这样就能得到看起来很真实
的山坡。应用程序也可以用纹理创建其它的效果,如:路边的路标,悬崖边的岩
层,或是地面上的大理石。
另外,Direct3D支持更高级的纹理技术,如纹理混合(包含或不含透明度)和光
照贴图。更多信息请参阅纹理混合和用纹理实现光照贴图。
如果应用程序创建一个HAL设备或软件设备,那么可以使用8、16、24或是32
位纹理。
以下主题包含了更多的信息。
• 纹理寻址模式
• 无效纹理区域
• 纹理调色板
纹理寻址模式
Microsoft® Direct3D®应用程序可以把纹理坐标值赋给任何图元的任何顶点。更
多细节,请参阅纹理坐标。一般来说,应用程序赋给顶点的u、v纹理坐标值在
0.0到1.0范围内,闭区间。但是,通过把纹理坐标值赋为此范围外的值,应用
程序可以创建某些特殊纹理效果。
通过设置纹理寻址模式,应用程序可以控制当纹理坐标位于范围[0.0, 1.0]外时
希望Direct3D执行何种操作。例如,应用程序可以设置寻址模式,使纹理平铺
于图元表面。下面的主题包含了更多的细节。
Direct3D使应用程序可以进行纹理环绕,很重要的一点是要注意把纹理寻址模式
设为D3DTADDRESS_WRAP与进行纹理环绕并不相同。把纹理寻址模式设为
D3DTADDRESS_WRAP会使源纹理的多个复本被贴到当前图元的表面,而启用纹理环
绕则会改变系统对贴有纹理的多边形进行光栅化的方式。更多细节,请参阅纹理
环绕。
启用纹理环绕实际上使位于[0.0, 1.0]范围之外的纹理坐标无效,在这种情况
下,对无效的纹理坐标进行光栅化操作将导致未定义的结果。当启用纹理环绕时,
不会使用纹理寻址模式,同时应用程序应该注意不要给出小于0.0或大于1.0
的纹理坐标。
设置寻址模式
应用程序可以通过调用IDirect3DDevice9::SetSamplerState方法设置每个纹理
层的纹理寻址模式,只需把纹理层的标识作为第一个参数,并把第二个参数设置
为D3DSAMP_ADDRESSU,D3DSAMP_ADDRESSV或D3DSAMP_ADDRESSW,就可以分别改变
u,v或w寻址模式。IDirect3DDevice9::SetSamplerState方法的第三个参数决
定要设置的模式,这是一个D3DTEXTUREADDRESS枚举类型值。要取得某一纹理层
当前的
文档评论(0)