博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OGRE学习笔记(一)通过例子了解场景管理器---------地形创建
阅读量:5104 次
发布时间:2019-06-13

本文共 1984 字,大约阅读时间需要 6 分钟。

有人说没有开过车就造不出好车,没有有过游戏引擎就写不出好的引擎。

所以最近开始学习OGRE,网上很多资料,但是又有点让人无从下手。最后决定还是从pro ogre 3d programing开始看,是中文翻译的版本。

看到第五章,里面有个创建地形的例子,可能由于打字或者是版本的问题,电子书上面贴的代码有点问题,修改了一下才能运行。

用ogre pplication Wizard生成代码修改void yourclass::createScene()

createScene
void yourclass::createScene(void) {
// Set ambient light mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5)); // Create a light Ogre::Light* l = mSceneMgr->createLight("MainLight"); // Accept default settings: point light, white diffuse, just set position l->setPosition(20,80,50); Ogre::ColourValue fadeColour(0.93, 0.86, 0.76); mSceneMgr->setFog( Ogre::FOG_LINEAR, fadeColour, .001, 500, 1000); mWindow->getViewport(0)->setBackgroundColour(fadeColour); std::string terrain_cfg("terrain.cfg"); mSceneMgr -> setWorldGeometry(terrain_cfg); // Infinite far plane? if (mRoot->getRenderSystem()->getCapabilities()->hasCapability(Ogre::RSC_INFINITE_FAR_PLANE)) {
mCamera->setFarClipDistance(0); } // Define the required skyplane Ogre::Plane plane; // 5000 world units from the camera plane.d = 300; // Above the camera, facing down plane.normal = -Ogre::Vector3::UNIT_Y; mSceneMgr->setSkyPlane(true, plane, "Examples/CloudySky"); // Set a nice viewpoint mCamera->setPosition(707,250,528); mCamera->lookAt(0, 0, 0); }

还有一点需要注意:还需要修改void BaseApplication::chooseSceneManager(void)

默认的场景管理器(mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC))似乎不支持从地形配置文件读取地形

弹以出下错误

 

 

代码修改成

void BaseApplication::chooseSceneManager(void)
void BaseApplication::chooseSceneManager(void) {
// Get the SceneManager, in this case a generic one //mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC); mSceneMgr = mRoot->createSceneManager(Ogre::ST_EXTERIOR_CLOSE); //mSceneMgr = mRoot->createSceneManager("OctreeSceneManager"); }

才正确:

 

转载于:https://www.cnblogs.com/wonderKK/archive/2012/03/25/2416593.html

你可能感兴趣的文章
驱动相关Error
查看>>
补坑:Prufer 编码总结
查看>>
mysql单节点大事务限制是哪个参数_java面试题汇总 转自多处
查看>>
ORACLE- PLSQL 游标的几种使用情况
查看>>
Maven依赖
查看>>
声笔飞码超字模式效率分析
查看>>
元旦快乐(2016-01-01)
查看>>
WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法
查看>>
jq地区联动
查看>>
paip.cache 缓存架构以及性能提升总结
查看>>
Atitit.atiDataStoreService v2 新特性
查看>>
Atitit.在线充值功能的设计
查看>>
解决CListCtrl闪烁及水平滚动条不能跟踪拖动的问题
查看>>
Thinkphp中使用display()方法显示视图模板,使用show()方法是显示文本内容
查看>>
搭建-以外网访问本地主机
查看>>
本地存储(cookie&sessionStorage&localStorage)
查看>>
JavaScript escape encodeURI encodeURIComponent() 函数
查看>>
UtraEdit 支持Lua高亮
查看>>
Javascript语法基础
查看>>
Microsoft Visual C++ 6.0快捷键(绝对值得掌握)
查看>>