Ogre使用log(三)

地形:

设置地形(void Ogre::SceneManager::setWorldGeometry(const String & Filename))时必须指定场景管理器为"地面场景管理器".

mSceneMgr = mRoot->createSceneManager(Ogre::ST_EXTERIOR_CLOSE);

ViewPort:

Ogre::ViewPort* Ogre::RenderTarget::getViewPort(unsigned short index)通过制定的索引号返回视口, 若仅有一个视口已被创建(通过Ogre::ViewPort* Ogre::RenderTarget::addViewPort(Ogre::Camera * camera)方法), 则index值应取0.

每个视口对应着一个背景色.

雾化效果:

Ogre::SceneManager::setFog(FogMode mode, const ColorValue & colour, Real expDensity, Real linearStart, Real linearEnd);

雾的颜色应与背景色相同((0.9, 0.9, 0.9)是个不错的选择).

该方法应在设置地形之后调用. 否则, 线性雾中无明显区别, 但指数雾Fog_EXP中若使用DirectX渲染器则没有雾效果出现, OpenGL渲染器可以修正这个问题.

其中mode说明雾的类型为线性还是指数, colour为雾的颜色, expDensity在指数雾中才定义, 该数值决定了雾变浓的速度, 越大则雾越浓. 线性雾中设置为0即可. linearStart与linearEnd仅在线性雾中定义, 分别为"开始有雾"的距camera距离与"全都是雾"的距camera距离.若linearEnd数值设置得过小, 则会产生较恐怖的效果.

指数雾中, Ogre::Fog_EXP和Ogre::Fog_EXP2的效果有一些区别.

总体上讲, 指数雾的渐进效果更出色, 但线性雾或许会出现在一些特殊场合的应用中.





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值