【阅读笔记之八】《DIRECTX.9.0.3D游戏开发编程基础》:Direct3D中的纹理与映射

Direct3D中的纹理与映射

 

        在Direct3D中,借助纹理映射(texture mapping)技术可将图像数据映射到三角形单元,从而显著地所绘制图景的细节和真实感。纹理用接口IDirect3DTexture9来表示。纹理类似于表面的一个像素矩阵,与表面不同的是它可被映射到三角形单元。

        这一章主要学习:

        1)如何将纹理的某一部分映射到三角形单元中;

        2)掌握如何创建纹理;

        3)掌握为创建一幅较光滑的图像,纹理应如何过滤;

 

1. 纹理坐标

         Direct3D所用的纹理坐标系有沿着水平方向的u轴和沿垂直方向的v轴(竖直向下)构成。用坐标对(u,v)标识的纹理元素称为纹理元(texel)。另外,Direct3D为了处理不同尺度的纹理,Direct3D将纹理坐标进行了规范化,使之限定在[0,1]之间。

         对于每个3D三角形单元,都可以在纹理中定义一个相应的三角形区域,然后将该三角形内的纹理映射到该3D三角形单元中。另外,为实现该映射,需要在顶点结构Vertex中添加纹理坐标,并且设定相应的顶点格式FVF,如下

const DWORD Vertex::FVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1;

现在,由3个顶点对象构成的每个三角形都在纹理坐标系中定义了一个相应的纹理三角形。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值