没怎么玩WOW, 不知道这刀叫什么名字. 于是乎我给起了一个代号: "秒大刀"(我朋友的网名@_@)
这是ModelViewer里的效果, 也是俺努力地方向:
- 2009/3/2: 实现Mesh绘制
其实这个很简单, 先把ModelHeader从文件里读出来, 根据顶点偏移和顶点数量读取到顶点信息, 创建VertexBuffer.
再根据ModelView信息(传说是LOD相关的?)中的index偏移和数目读取数据并创建IndexBuffer
根据ModelView中的SubMesh数量和偏移读取各SubMesh的数据
依次绘制SubMesh. (PS: 这里的坐标系估计是右手的)
- 2009/3/8: 贴上纹理了
这把刀的模型数据里的texture unit数据有三个, 见下图:
第一个type=2, 说明文件名不在这个m2文件里. 另外两个根据最后的偏移地址就能读到了, 好像是高光贴图.
由于DBC文件我还没解析, 所以直接把那张图片拿出来创建了........
下面是效果, 后两张贴图没贴上, 没高光, 也没有光照: