昨天晚上经过几小时的摸索,终于用普通的循环取代了递归算法,大概情况如下:
1:创建一个index buffer,长度是skeleton tree里的node的总数。
2:使用Pre-Compute思想并然后递归地访问一次所有的node,并在这其间用之前创建的index buffer来记录下这个确定的顺序。
3:Congratulation! 以后在Runtime期间就可以使用一个简单的for(;;)循环就可以遍历所有的node,不必再郁闷递归所带来的调试麻烦和效率的降低。
嗯……,本以为休息了!然后按F5运行了,结果出现意外结果。。。。!
嘿嘿!后来思索了几钟发现了这个BUG:
我虽然用index buffer记录下了这个递归顺序,但我并没有记录下某些数据间的关系!node 与 parent的关系!
因为计算当前node的matrix的时候需要和parent的matrix进行相乘,但我这里并没有记录下这个关系!
hoho,问题找到了, 修改了一下index buffer的结构,然后再跑一次!结果呢????
当然是成功了!!!!
posted on 2006-05-31 09:24
Konami wiki 阅读(78)
评论(0) 编辑 收藏 引用