屏蔽掉Ogre1.7版本以后的 LOGO和FPS数据显示

来源:互联网 发布:档案管理系统软件源码 编辑:程序博客网 时间:2024/04/30 02:05

一、1.7版前的处理方法

屏蔽掉Ogre LOGO和FPS数据显示,网上搜索了一下,大多类似。

 

 选取了一个最简单易懂的。
[cpp] view plaincopyprint?
  1. 在ExampleApplication.h中,找到showDebugOverlay(true)虚函数的应用  
  2. 为mFrameListener->showDebugOverlay(true);  
  3. 所以最直接的办法就是在实例文件中改为mFrameListener->showDebugOverlay(false);
上面转自:http://blog.sina.com.cn/s/blog_60ffc4670100mr6y.html

还有一个比较详细的,其实也和上面的类似,http://blog.csdn.net/yeazer0/article/details/4932437

 

我原来看见过类似的文章当时没有在意,只是知道这个函数。

最近我从头做一个Ogre的ATL控件,要从头设置Ogre渲染系统。

我直接官网上下载了最新的框架 BaseApplication类和 TutorialApplication类的。

然后,就一直出现LOGO和FPS数据的Overlay。

我尝试使用showDebugOverlay()函数,就是无法去掉。

我应用各种查找,就是没有找到 Core/DebugOverlay,也没有找到相应的脚本源。没有win版的。

应用如下代码,也找不到资源,返回为NULL。

[cpp] view plaincopyprint?
  1. Overlay* mDebugOverlay;  
  2. mDebugOverlay = OverlayManager::getSingleton().getByName("Core/DebugOverlay");   

 

二、Ogre1.7以后,Logo 和FPS都是在sdktray中生成的

耽误时间有点长,我就搁置在一旁了,先做别的。今天我看关于Ogre的Blog有如下一篇文章。

SDKTRAY 初探 .http://blog.csdn.net/moonstrace/article/details/5399082

 

这篇文章的概况:

Ogre1.7以后,Ogre官方不再包含CEGUI的组件了。
Ogre Demo里面的GUI应用,都是一个叫“tray”系统提供的。
这个系统的主要代码在SdkTray.h文件之中。“tray”的系统多 用Overlay实现的。然后,具体讲了,Tray系统中的各个类和函数。

我下载的这个Ogre版本就是1.7.2的。我发现代码中控制LOGO和FPS显示的被个OgreBites::SdkTrayManager类的对象控制。

OgreBites::SdkTrayManager类 就是Tray系统中定义的。

LOGO和FPS的Overlay的create都是在这个类里面。有时间的时候可以仔细研究一下。

OgreBites::SdkTrayManager类 提供部分函数 如下:

[cpp] view plaincopyprint?
  1. void showLogo(TrayLocation trayLoc, int place = -1)  
  2. void hideLogo();  
  3.   
  4. void showFrameStats(TrayLocation trayLoc, int place = -1)  
  5. void hideFrameStats();  
  6.   
  7. void showAll();  
  8. void hideAll();  

我直接在调用了hideAll()函数。

[cpp] view plaincopyprint?
  1. void BaseApplication::createFrameListener(void)  
  2. {  
  3. ……  
  4.      mTrayMgr = new OgreBites::SdkTrayManager("InterfaceName", mWindow, mMouse, this);  
  5.     mTrayMgr->showFrameStats(OgreBites::TL_BOTTOMLEFT);  
  6.     mTrayMgr->showLogo(OgreBites::TL_BOTTOMRIGHT);  
  7.     mTrayMgr->hideCursor();  
  8.     mTrayMgr->hideAll();//这行是我添加的。  
  9.   
  10. ……  
  11. }  


完事。LOGO和FPS都不显示了。大笑

原创粉丝点击