MD5mesh静态骨骼模型的openGL渲染

本文详细介绍了如何使用OpenGL渲染MD5格式的静态骨骼模型,包括.md5mesh和.md5anim文件的理解,以及四元数在旋转矩阵计算中的应用。作者强调了在处理四元数和关节坐标时的注意事项,特别是四元数w值的计算和正负号的影响,以及权重的加权和计算。最后,作者分享了一个模型渲染的示例。
摘要由CSDN通过智能技术生成

弄了差不多4天了,终于搞出来了。太坑爹了,网上很多都没说清楚,最终要的是,一些坑点一定要注意,否则模型会像畸形了一样,再者,写代码时手千万不可以手残,否则会增加很多修改错误的时间,这个时间还不如想好了再写。所以写代码一定要清晰了再去写。

开始说说吧。首先网上很多都说了,MD5后缀名是.md5mesh和.md5anim。这两个文件前面是静态的,后面是动态的。我也就不多说了

对于D3D的学习,可以看这一个http://blog.csdn.net/lunweiwangxi3/article/details/44151085,写的很好的。然而对于openGL,里面还有不少坑点。

对于.md5mesh中,格式什么的都可以看别人写的博客,里面最难看懂的是解释,全是什么位置,四元数。都没说清楚是什么位置,为什么这么多位置。

joints 中两个()中的向量,第一个是对于模型的绝对坐标,不是对于父骨骼的。因为在3Dmax中我特意对比了一下,就是在姿态模式下的坐标。

第二个向量是单位四元数的x,y,z。w需要自己算出来。(我就是忘了,开根号,找了很久)w2 = 1 - x2 - y2 - z2 ; w = sqrt(w2) ; 但是这里特别注意,如果w2 < 0那么,

w直接等于0,一定要判断,否者会莫名其妙!!!而且,我的里面w = -sqrt(w2) ;!!!!这也是奇诡的地方,什么时候等于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值