D3DXLoadMeshHierarchyFromX( ),函数字面意思是读取Mesh层次信息。HRESULT WINAPI D3DXLoadMeshHierarchyFromX(.DX提供了ID3DXALLOCATEHIERARCHY接口,提供了这个自定义的机会,你重载这个接口的虚函数,在加载过程中,它就像回调函数那样运作。
这时需要像下面这样建立一个自定义数据容器类:
struct MultiAnimationMeshContainter: public D3DXMESHCONTAINER
{
LPDIRECT3DTEXTURE9* ppTexturesArray; //纹理数组
LPD3DXMESH pOriginalMesh; //原网格
DWORD nNumAttributeGroups; //骨骼数量
DWORD nNumInfluence; //每个顶点最多可以影响多少骨骼
LPD3DXBUFFER pBoneCombinationBuffer; //骨骼结合表
D3DXMATRIX** ppBoneMatrixPtrs; //存放骨骼的组合变换矩阵
D3DXMATRIX* pBoneOffsetMatrices; //存放骨骼的初始变换矩阵
DWORD nNumPaletteEntries; //有多少骨骼可以使用
bool bUseSoftwareVP; //标识是否使用软件顶点处理
};
.
3.6 工具包D3DUtility-------CTerrain类介绍
D3DUtility开发包中的CTerrain类,用来生成地形。该类是根据一张图片纹理,利用DirectX中的纹理贴图技术达到生成地形的目的,这里生成的地形只是平面的,有时间的画可以根据一张图片的像素值来生成高低不同的地形。CTerrain类的声明如下:
class CTerrain
{
..
};
该类封装了通过一张纹理图片产生地形的API---Initialize和随着摄像机镜头移动产生更新效果的API---Update,CTerrain中的Update还可以对从DXUT框架下传来的鼠标消息进行相应,从而更新地形的状态信息,他在DXUT框架中的OnFrameMove中被调用。这样使得和DXUT框架的交互变得简单。详细内容请看我的程序代码。
3.7 工具包D3DUtility-------CRoleController类介绍
D3DUtility开发包中的CRoleController类的设计目标是基于MVC的思想模式,这.
#ifndef __CROLECONTROLLER_H__
#define __CROLECONTROLLER_H__
#include "DirectX3DAnimationDriver.h"
class CRoleController
{
private:
&nbs
首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/8/8
基于XML脚本驱动的DirectX游戏引擎(五)由毕业论文网(www.huoyuandh.com)会员上传。