我们知道D3DXLoadMeshFromX可以从一个.x文件加载网格数据,但是这个函数很糟糕。
以tiny.x为例,
如果你把加载后的顶点数据输出到文件里,再和原来.x文件顶点数据比较一下,你会发现xyz和normal都完全不同了。
这导致了你加载完网格数据后不进行世界变换就直接渲染的话,模型的位置很奇怪。
而且如果你再独立加载蒙皮信息,再对它进行骨骼变换的话,一切都错乱了。。。
所以,最好还是用D3DXLoadMeshFromXof加载网格数据吧,如果需要蒙皮信息,就用D3DXLoadSkinMeshFromXof。
当然这里面涉及到解析.x文件,但是这其实很简单。。。