Posted on 2011-03-13 11:47
buf 阅读(366)
评论(0) 编辑 收藏 引用 所属分类:
Graphics
测试OgreWiki的Basic Tutorial2时发现,当使用stencil shadow且用opengl作为rendering subsystem时,Camera::setFarClipDistance不起任何作用。根据论坛上的讨论,
"You need to disable inifinite camera far plane when rendering stencil shadows, use SceneManager::setShadowUseInfiniteFarPlane(false). By default, Ogre will enable infinite far distance for stencil shadows if supported by hardware."
需要调用SceneManager::setShadowUseInfiniteFarPlane(false)来解决这一问题。测试后证明的确如此。
问题是,当指定directx作为rendering subsystem时,Camera::setFarClipDistance调用是有效的。也就是说,同一个程序在不同的渲染子系统下有不同的行为。另外,仅就这个程序而言,采用opengl渲染时出现了多次死机现象,这也是我关心的问题。