D3DXLoadMeshFromX是个很糟糕的函数

我们知道D3DXLoadMeshFromX可以从一个.x文件加载网格数据,但是这个函数很糟糕。

以tiny.x为例,

如果你把加载后的顶点数据输出到文件里,再和原来.x文件顶点数据比较一下,你会发现xyz和normal都完全不同了。

这导致了你加载完网格数据后不进行世界变换就直接渲染的话,模型的位置很奇怪。

而且如果你再独立加载蒙皮信息,再对它进行骨骼变换的话,一切都错乱了。。。

 

所以,最好还是用D3DXLoadMeshFromXof加载网格数据吧,如果需要蒙皮信息,就用D3DXLoadSkinMeshFromXof。

当然这里面涉及到解析.x文件,但是这其实很简单。。。

你可能感兴趣的:(D3DXLoadMeshFromX是个很糟糕的函数)