ogre中将PLSM2和Hydrax结合遇到的问题


    搞了近两天,总算把PLSM2和Hydrax 成功结合了,虽然效果一般,但总比用静态的海洋贴图好哈哈哈哈。。。

    说一下遇到的问题,本来已经将PLSM2和Qt结合起来了,看到Hydrax的海洋效果不错,就打算再加上Hydrax。所以下载了Hydrax0.5.1的源码和demo,参照demo的用法把Hydrax加到了工程中,运行,结果没有海洋。。。。。移动摄像机试试,发现当移动摄像机到理应是海平面以下的位置时,画面突然变蓝,也就是和正常情况下摄像机在水下的效果一样,然后后退摄像机,当摄像机退回道原位置时,晕,什么都没有,没有海面,更没有波浪,场景里面空荡荡,难道海洋还会隐身??。。。。再次前移摄像机——画面全蓝,后退——依然空荡荡。。。。。真无语。考虑会不会是PLSM2和Hydrax不兼容或者Qt的问题??所以换了场景管理器,使用Demo中选定的scenemanager,运行,海洋出来啦。。。。看来不会是Qt的问题。应该是PLSM2的问题,所以以为是PLSM和Hydrax不兼容,可是看到网上的帖子说PLSM2可以和Hydrax结合的很好呀。。。。只好接着找问题。。。。后来直接在Hydrax的Demo里改代码,使用PLSM2试试,没问题啊,海洋正常显示。。。所以参照Demo的代码修改自己工程里的代码,一行一行对照着改,当改道mCamera->setFarClipDistance(99999*6)这一步时,海洋终于被我呼唤出来了。。。。原来我一直没有设摄像机的远截距。终于将问题搞定。

    问题倒是搞定了,但是还有疑问:虽然我一直没有设置摄像机的远截距,但是在使用Demo所用的场景管理器时,即”TerrainSceneManager“时,海洋完全能正常显示,但是当使用PLSM2时,却不能,不知道这是什么原因。

    另外,海洋虽然可以正常显示了,但是当移动摄像机到非常高的位置时,海洋会慢慢变小,最后会变成一条细线,不知道这又是什么原理。。。。。。也许是自己对这个插件还比较陌生,也许熟悉之后会有方法吧。

你可能感兴趣的:(ogre,qt)