版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mansir123/article/details/81206776
若直接调用是不管用的,需要在场景管理器的监听器的preFindVisibleObjects 函数中调用才管用。
使用方法:
(1)写一个类,继承自 Ogre::SceneManager::Listener
(2)重写preFindVisibleObjects 函数
void ShaderSample::preFindVisibleObjects(Ogre::SceneManager* source, Ogre::SceneManager::IlluminationRenderStage irs, Ogre::Viewport* v)
{
Ogre::Root::getSingletonPtr()->getRenderSystem()->resetClipPlanes(); //清理之前的用户自定义剪切面
Ogre::Plane tempPlane(Ogre::Vector3::UNIT_Y,2);
Ogre::Root::getSingletonPtr()->getRenderSystem()->addClipPlane(tempPlane);
}
自己去搞tempPlane即可。