在DirectX 9中加载.X模型

时间:2011-08-16 08:21:20

标签: c++ directx 3d .x

我正在尝试为我的投资组合制作我的第一个3D演示,但我在加载多个.X文件时遇到问题,这样我就可以制作一个简单的游戏。

我已经完成了msdn教程和Frank Luna的书,该书介绍了如何在一个网格中加载。我甚至试图修改franks演示代码,但我发现他的代码只做他想要的。修改它只是一个彻头彻尾的头痛。

我想知道是否有人知道并且有很好的帮助库或带有示例代码的网站,这可以避免将.X模型加载到游戏中并让我移动它们等麻烦

1 个答案:

答案 0 :(得分:2)

当我学习DirectX 9时,this网站是寻找信息的好地方。

简而言之,您必须调用D3DXLoadMeshFromX或其衍生函数之一来从文件(或内存)加载网格对象。

您无法“移动”对象本身,您必须推/弹矩阵以累积每个对象的平移/旋转。例如,为了轮换:

float fAngle = 2.f;
D3DXMATRIXA16 matWorld;
D3DXMatrixIdentity(&matWorld); // Identity Matrix
D3DXMatrixRotationY( &matWorld, fAngle );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );