[原创]CQuartzFileUnZip类库 v0.3
来源:互联网 发布:键盘教程软件视频 编辑:程序博客网 时间:2024/06/11 19:08
今天更新了CQuartzFileUnZip类库
昨天完成了CQuartzFileUnZip类库读取*.QFT文件包中的图片信息接口,今天又努力了一天,终于把.X文件的接口完成了!
现在这个类库可以直接读取压缩包里面的.x文件,并把.x文件内部的信息全部以info的列表方式返回;这样可以轻松的绘制.x文件信息了!
简单介绍一下这个类的用法。
程序开始的地方跟原来的D3D一样,声明mesh模型指针:
LPD3DXMESH g_pMesh = NULL; // Our mesh object in sysmem
CQuartzFileUnZip g_MDFile;
/********读取QFT文件内部数据********/
//打开资源文件
g_MDFile.OpenSourceFromFile("test.QFT","");
//根据资源名称读取资源文件,并返回mesh指针和x文件内部信息xFlieInfo;
if(!g_MDFile.GetMeshByName("tiger.X",g_pMesh,g_xinfo))
return false;
其中pMesh内包含的就是QFT文件中模型数据tiger.X模型指针。
g_xinfo内包含了tiger.X文件中的材质信息和纹理信息。
其他的操作和原来的程序就没有区别了,我们在Render()里渲染老虎模型:
std::list<XFILEINFO*>::iterator it = g_xinfo.begin();
for( DWORD i=0; i<g_xinfo.size(); i++,++it )
{
// Set the material and texture for this subset
g_pd3dDevice->SetMaterial( (*it)->pd3dxMaterials );
g_pd3dDevice->SetTexture( 0, (*it)->pTexture);
// Draw the mesh subset
g_pMesh->DrawSubset( i );
}
值得注意的是,这里获取的g_pmesh指针和材质,纹理指针都是内存数据,CQuartzFileUnZip类不会释放资源的,需要程序员手动调用释放。
资源打包编辑器和CQuartzFileUnZip库文件在下载资源里可以找到。
QuartzFilePackEdit v0.3 打包工具下载:
http://download.csdn.net/source/2300215
QuartzFileUnZip_lib v0.3 类库下载
http://download.csdn.net/source/2300197
- [原创]CQuartzFileUnZip类库 v0.3
- [原创]TopCoder 奖金领取指导 V0.1
- [内存管理]管理图解v0.1 v0.2 v0.3
- 猪猪大PK V0.3
- [原创]JWFD v0.96 版本的发布说明
- CQuartzFileUnZip提取资源类库使用详解
- 发布 ESOE-IDE v0.3
- Bit位设置V0.3
- 捣乱便签V0.3发布!
- 捣乱便签V0.3 开源
- 原创3
- Olly Toolbar manager v0.3 by arjuns
- Narci快乐法则(v0.3版)
- RapidCheck v0.3 (Working) - Non-Corrupt
- 环行缓冲区实现(V0.3) C++源码
- ESOE-IDE v0.3 技术说明书
- Hubble.net V0.3 版本正式生成
- VrWorking Data Grid Class v0.3a
- .Net线程足迹(三)——IsAlive属性
- Syncro SVN Client
- [异常]No ValidatorAction named required found for field name
- 当你累了,准备放弃时,看看这个吧!!!
- 最详细比较 MX and Spark组件
- [原创]CQuartzFileUnZip类库 v0.3
- 弹出层
- 理解NS2中Packet的包头
- 4月翻译
- 浅析C# get和set用法
- CRC16校验
- 如何创建一个双击可以运行的Jar文件
- 如何设计自定义的transform filter
- Net反射(Reflection)学习笔记