ogre+MFC+MDI错误集
来源:互联网 发布:魔兽世界优化 编辑:程序博客网 时间:2024/06/08 08:32
系统结构是MFC+MDI+OGRE;
今天看到http://www.crystax.net,貌似可以在Android中编译C++,以后应该用的到。
1.照着网上的列子,新建一个视图时,没有渲染,不知怎么回事,默认代码是使用RenderSystem_GL_d,后来换了RenderSystem_Direct3D9_d,就渲染拉。
2.测试代码的时候,怎么弄都没有天空盒,后来网上查资料,需要ResourceGroupManager::getSingleton().initialiseAllResourceGroups();加了之后运行到这句就报错(出错),百思不得其解,用系统的media下面的文件,再加resources_d.cfg,首先先确认resources_d.cfg和media的目录有没有搞错,然后在resources_d.cfg文件里[Popular]下面的一个个删掉,一个个的添加,测试着跑,发现FileSystem=../../media/materials/scripts这句话加入出错,再找media\materials\scripts下面Examples.compositor,Examples.program这2个删掉就可以了,也没弄明白怎么回事,天空盒出来拉,先跑着,后面再来明白是怎么回事。还有如果使用setSkyBox(true, "Examples/SpaceSkyBox",5000);天空盒就没有显示,如果换了setSkyBox(true, "Examples/SpaceSkyBox",500)就显示了,不知是不是和createPlane或者createRenderWindow时的大小参数有关系
20130610更新
经过以前的测试,直接把系统自带SampleContext.h等文件结合进自己的 MFC MDI 工程中,再把Terrain列子也结合进来,本来想使用 Ogre::FrameListener,
Ogre::WindowEventListener, OIS::KeyListener, OIS::MouseListener,想把每个View都继承OIS::KeyListener, OIS::MouseListener,结果DirectInput只能由主HWND使用,view的HWND不能使用,ois的Win32KeyBoard,Win32Mouse不能使用,现在临时的解决办法是参考Win32KeyBoard.cpp和Win32Mouse.cpp中的代码,把坐标转换为OIS::MouseState state;
OIS::MouseState state;state.X.abs = point.x;state.Y.abs = point.y;state.Z.abs += state.Z.rel;CPoint delta = point - s_lastPoint;state.X.rel = delta.x;state.Y.rel = delta.y;
point是OnMouseMove时获得的,s_lastPoint是OnLButtonDown获得的。
当使用RenderSystem_Direct3D9_d模式时,调用Terrain时,mTerrainGroup->loadAllTerrains(true);这句话会报错,不知道是电脑硬件配置问题,还是什么问题。
由于想显示地形,没办法,跟进去OgreTerrainMaterialGeneratorA.cpp文件中HighLevelGpuProgramPtr vprog = mShaderGen->generateVertexProgram(this, terrain, tt);报错;再进去ret->load();这句错误,不明白原因,待以后明白。后来ORGE系统的自带的Terrain列子转换成RenderSystem_GL_d,可以正常显示, 看到网上的列子http://blog.csdn.net/znf19850924/article/details/2099275,改写后Terrain可以正常显示。Happy
- ogre+MFC+MDI错误集
- MFC MDI
- ogre+mfc
- ogre+MFC
- MFC MDI 全屏
- MFC MDI 全屏实现
- MFC MDI
- MFC 相关MDI
- OGRE错误
- MFC MDI GetActiveView() 为空
- MFC MDI应用程序 自定义标题
- MFC MDI去掉滚动条
- MFC MDI 响应键盘事件
- OGRE嵌入到MFC
- ogre与mfc结合
- Ogre + MFC + OIS
- OGRE 渲染 到 MFC
- OGRE + MFC 多线程框架
- EXT 小计
- 数据库
- android中使得popupwindow消失
- respondsToSelector的相关使用
- boost 事件处理
- ogre+MFC+MDI错误集
- IT项目经理应该做什么
- openstack的token过期日期会不停向后推
- 解决Flex3编译的时候找不到HTML文件
- vector中erase干了什么
- Android 获取网络状态的工具类
- php isset+{} 判断字符串长度
- 向刘邦学习什么?
- 有这样一种人,总是让老天爷偏爱