札记,烦恼,Ogre的一个bug

这是个技术blog,哎 ,废话统统删掉。

今天基本搞定了PG模块,SkyX用着也很high,

搞了下MyGUI,看了她的Delegate,几个Editor很赞,代码清晰,真的是好代码就算注释全是软码也看着舒服,

用了下MyGui的RenderBoxScene,正乐呢,一将模块添加到程序中时烦人的问题出现了,插入Renderble出错,一开始我还开罪于HydraX干的好事,

跟了,发现时多SM下RenderQueue的冲突问题,与上回在Ogitor里遇到的问题颇为相似,

虽然不是很大问题,release下没事,可是终究不爽,Ogre看来问题还是挺多的,涉及到底层核心,感觉暂时还无力去改,

但等这阵忙完了一定要静下来好好研习Ogre的底层,争取早日吃透,换个引擎试试。。。

PS,这个问题老大Sinbad在5~6年前就知道了,

虽然bs老人家信誓旦旦地说要改却没改掉,但真的很佩服他的功力,

BBS上别人的只言片语他就准确推断出了问题所在,看了许多他的回复为人还这么谦和,

努力啊,向着前辈努力。

http://www.ogre3d.org/forums/viewtopic.php?t=21798&highlight=)

Hmm, it's been a while since I've seen that assert rear it's head. This can only happen if the hash code of the pass has changed since it was inserted into the map, since if the retrieval failed, insert should always work. It's not fatal but indicates a subtle problem.
What may be happening here is that because you have two SceneManagers, the call to processPendingPassUpdates is not happening at the right time. I'm guessing that the hashes are getting recalculated through the clearing of one SM's queue but before they've been organised in the other SM's, so they're still in that SM's render queue map using the old hash. This is a bit of knotty problem. :?

PG

MyGUI201105118
posted @ 2011-05-18 21:28  Zephyroal  阅读(605)  评论(0编辑  收藏  举报