大坡3D软件开发

关注3D软件技术

用户操作
[即时聊天] [发私信] [加为好友]
蔡军生ID:caimouse
1236134次访问,排名17好友254人,关注者399
C++,3D,VC++软件开发,写技术文章,操作系统开发
caimouse的文章
原创 602 篇
翻译 0 篇
转载 41 篇
评论 940 篇
蔡军生的公告

点击这里给我发消息

MSN: caimouse1976 at sina.com

最近评论
xavierye:发现另外一个源码分析blog,可以和楼主的一起看:
http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html
xavierye:发现另外一个源码分析blog:
http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html
shada:前面两个混帐,没资格评论开源。
用着盗版的Word写文章批评开源的人真不少。
shada:前面两个混帐,没资格评论开源。
用着盗版的Word写文章批评开源的人大有人在。
andylrj:Google的浏览器真差劲!!!体验一把真心说出,要做的事还很多,终于明白微软的IE为什么要做这么庞大了,做小确实不行!
文章分类
收藏
相册
3D引擎
第二人生
谷歌浏览器
开发板
历史回忆
常用连接
人生历程
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 3D游戏从入门到精通-26收藏

新一篇: 3D游戏从入门到精通-28 | 旧一篇: 3D游戏从入门到精通-24

在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的函数来加载,再来仔细地看看这个函数的实现。 

发表于 @ 2006年09月11日 23:00:00|评论(loading...)|编辑

新一篇: 3D游戏从入门到精通-28 | 旧一篇: 3D游戏从入门到精通-24

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 蔡军生