OGRE学习笔记(一)通过例子了解场景管理器---------地形创建
有人说没有开过车就造不出好车,没有有过游戏引擎就写不出好的引擎。
所以最近开始学习OGRE,网上很多资料,但是又有点让人无从下手。最后决定还是从pro ogre 3d programing开始看,是中文翻译的版本。
看到第五章,里面有个创建地形的例子,可能由于打字或者是版本的问题,电子书上面贴的代码有点问题,修改了一下才能运行。
用ogre pplication Wizard生成代码修改void yourclass::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){// 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
OGRE学习笔记(一)通过例子了解场景管理器---------地形创建相关推荐
- Ogre 场景管理器
转自:http://blog.sina.com.cn/s/blog_694aab1b0100rdvm.html 在通常的情况下,Ogre的场景管理器会负责处理以下事情: ·在场景中创建和放置活动物体. ...
- ogre的场景管理器
原文地址:ogre的场景管理器作者:zhouwenjie 在通常的情况下,Ogre的场景管理器会负责处理以下事情: ·在场景中创建和放置活动物体.灯光以及摄像机,并维护他们的在场景图中的周游和变换. ...
- 转:OGRE场景管理器介绍
一个场景代表在虚拟世界中显示的物品.场景可以包括静态几何体(比如地形或者室内),模型(比如树.椅子等),光和摄像机.场景有下面种类.室内场景:可能由走廊.有家具的屋子和挂着装饰品的墙组成.室外场景:可 ...
- ogre 学习笔记 - Day 7
ogre 学习笔记 - Day 7 [Sample_ParticleFX] 粒子效果 void setupParticles(){ParticleSystem::setDefaultNonVisibl ...
- 开源3D图形渲染引擎OGRE学习笔记
参考资料: 电子书:<Pro OGRE 3D Programming>中文翻译本 官方wiki: http://www.ogre3d.org/wiki/index.php/Main_Pag ...
- MySQL学习笔记07【事务、用户管理和权限管理】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- PMBOK(第六版) 学习笔记 ——《第六章 项目进度管理》
系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...
- Windows内存管理学习笔记(二)—— 物理内存的管理
Windows内存管理学习笔记(二)-- 物理内存的管理 物理内存 实验一:理解MmNumberOfPhysicalPages MmPfnDatabase _MMPFN 物理页状态 六个链表 实验二: ...
- linux系统管理学习笔记之八---进程与作业的管理
linux系统管理学习笔记之八---进程与作业的管理 2010-01-05 13:00:42 标签:linux 进程 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...
- (实验37)单片机,STM32F4学习笔记,代码讲解【内存管理实验】【正点原子】【原创】
文章目录 其它文章链接,独家吐血整理 实验现象 主程序 内存池初始化程序 代码讲解 其它文章链接,独家吐血整理 (实验3)单片机,STM32F4学习笔记,代码讲解[按键输入实验][正点原子][原创] ...
最新文章
- 【shell 脚本】删除 由windows传入linux含有的 ^M
- mysql rollback函数_PHP mysqli_rollback() 函数_程序员人生
- Caffe 编译安装
- 世界级投资大师们的至理名言
- [JavaWeb-MySQL]约束(非空约束,唯一约束,主键约束,外键约束_级联操作)
- 【数据大神必看】微信又添新功能!这个微信群可以学英语,而且全程免费
- Linux系统编程38:多线程之什么是线程同步以及条件变量函数
- 社交媒体广告看不出来?Instagram加标签让你一目了然
- 高质量的设计灵感社区网站
- Kotlin入门(24)如何自定义视图
- 网络知识===wireshark抓包,三次握手分析
- OpenCV_(Laplacian Transform to find the edges)图像拉普拉斯变换查找边缘 图像识别
- 2 EDA技术实用教程【Verilog 语句基本类型】
- CISSP工资百万, 认证培训2899美元,是不是太高?
- excel合并两列内容_一起来学习Excel表格两列合并一列的两种方法
- gcc/g++编译错误Assembler Error
- Mysql DBA(一)
- Mac上Elasticsearch 安装及PHP使用
- Oracle中的dual
- 如何添加桌面便签?在桌面上添加便签的方法