D3D学习笔记:纹理

本文详细介绍了Direct3D中的纹理映射技术,包括纹理坐标、纹理创建、材质赋予、过滤器设置、寻址模式等关键概念。通过示例展示了如何从文件加载纹理、设置纹理坐标,并利用不同过滤器和寻址模式实现平滑缩放和边缘处理,以提升3D图形的真实感。

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

1 . 表示物体表面细节的一幅或几幅二维图形,也称纹理贴图(texture)当把纹理按照特定的方式映射到物体表面上的时候能使物体看上去更加真实。纹理映射是一种允许我们为三角形赋予图象数据的技术。既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案。

2Direct3D中一个纹理是通过IDirect3DTexture9接口来表现的。一个纹理是一个类似像素矩阵的表面它能够被映射到三角形上。
3.
纹理坐标

Direct3D使用一个纹理坐标系统,它是由用水平方向的u轴和竖直方向v轴构成。由u,v坐标决定纹理上的元素,它被叫做texel。注意v轴是向下的。

3.1 三角形

4.添加纹理坐标到顶点结构:

struct Vertex

{

         float _x,_y,_z;//坐标

         float _nx,_ny,_nz;//顶点法线

         float _u,_v;//纹理坐标

         static const DWORD FVF;

};

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

D3DFVF_TEX1//包含了一个纹理坐标, Number of texture coordinate sets for this vertex

5.创建并赋予材质

5.1 读取纹理数据

纹理数据通常是从存储在磁盘中的图片文件中读取的,且被读进IDirect3DTexture9对象中

使用函数:

HRESULT  D3DXCreateTextureFromFile(

                                                                              __in   LPDIRECT3DDEVICE9 pDevice,//IDirect3DDevice9

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值