在D3D里,纹理的功能是非常强大的,还有很多功能,比如纹理环绕、纹理动画、纹理重复、多重纹理、纹理溶合、立方体包围盒纹理、光线纹理、纹理管理等等。在这里先学习简单的纹理,并且灵活地使用它,后面再慢慢地深入去学习。下面就详细地解释第一个纹理例子。实现的纹理如下图所示:
从上面图片看到,纹理贴到两个三角形上面,就太像木板了。因此纹理在实现真实性起到很大的作用,目前的游戏都是大量地使用纹理贴图,来达到虚拟现实世界。要显示一个简单的纹理,要经历下面的步骤:
1) 创建纹理的顶点格式
前面很多例子使用的顶点格式,都是没有纹理坐标的,所以要在顶点结构里加入纹理坐标。如下面所示:
//定义顶点缓冲区里用到的顶点格式。
struct VT_CAITEXTURESIMPLE
{
D3DXVECTOR3 vPosition; // 顶点位置。
float fTu, fTv; //纹理坐标。
static const DWORD dwFVF = D3DFVF_XYZ | D3DFVF_TEX1;
};
vPosition是顶点的位置,跟前面的例子是一样的。
fTu,FTv是纹理坐标,每个顶点里都要设置纹理二维坐标是多少,然后D3D就会根据这个两顶点的坐标值到纹理贴图找到对应点的像素值,然后显示到屏幕上。
2) 加载纹理
纹理贴图从那里来呢?可以从文件、资源和程序动态创建。这里是从磁盘文件读取出来的。下面的代码就是从文件里加载纹理贴图:
//
//加载纹理。
//
if (LoadTextureFromFile() != S_OK)
{
return S_FALSE;
}
这里调用函数LoadTextureFromFile加载纹理,在那个函数里是调用D3DX的函数来加载,再来仔细地看看这个函数的实现。
分享到:
相关推荐
Unity3D从入门到精通.pdf, Unity3D 入门推荐pdf, 学习Unity3D必备
使用unity3d进行游戏开发_从入门到精通1-4章
用Python和Pygame写游戏-从入门到精通 中文pdf版本 部分目录如下: 系统学习部分 用Python和Pygame写游戏-从入门到精通(1) Pygame的历史,安装Pygame,第一个Pygame脚本 用Python和Pygame写游戏-从入门到精通(2)...
使用unity3d进行游戏开发_从入门到精通_02.pdf
unity3d从入门到精通中文教程是国内第一本以面向对象和项目流程开发角度,全面系统介绍 Unity3D 的书籍。本书以具体项目结构开发的角度,结合 Unity3D 层级式的综合开发环境、视觉化编辑、详细的属性编辑器和动态的...
使用unity3d进行游戏开发_从入门到精通_01
使用unity3d进行游戏开发_从入门到精通_01.pdf
使用unity3d进行游戏开发_从入门到精通_03.pdf
这本教材包含了基本的3d游戏程序设计,从基本的direct3d 讲起,通俗易懂。
Unity官方年度巨献,基于5.X新版本,为游戏开发者带来一场饕餮盛宴 <br/>本书基于Unity 5.0软件及以上版本,对Unity 5 中的大量图形改进和扩展的编辑器功能集进行讲解。另外,对Unity Cloud Build的使用进行详细...
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具
使用unity3d进行游戏开发从入门到精通
Unity3D游戏引擎实战开发从入门到精通源码
《Unity 5.X从入门到精通》基于Unity 5.0软件及以上版本,对Unity 5 中的大量图形改进和扩展的编辑器功能集进行讲解。另外,对Unity Cloud Build的使用进行详细介绍,使开发者通过云进行游戏和应用开发。 为了使...
Unity 目前最新官方教材《Unity 5.x从入门到精通》 配套光盘资源, 文件较大,百度网盘供源。
使用unity3d进行游戏开发_从入门到精通_02
使用unity3d进行游戏开发_从入门到精通_04.pdf