转自:http://blog.csdn.net/pizi0475/article/details/5389458
截图:
Q:Post Effect是啥玩意儿?实现原理是什么?
A:界面上这个PostEffect的CheckBox的事件处理如下:
bool
handlePostEffectChanged(
const
CEGUI::EventArgs& e)
{
Ogre::Viewport* pViewport = mWindow->getViewport(0);
if (((CEGUI::Checkbox*)(( const CEGUI::WindowEventArgs&)e).window)->isSelected())
{
CompositorManager::getSingleton().setCompositorEnabled(pViewport,"Bloom", true );
}
else
{
CompositorManager::getSingleton().setCompositorEnabled(pViewport,"Bloom", false );
}
return true ;
}
就是一个Bloom效果的开关。
{
Ogre::Viewport* pViewport = mWindow->getViewport(0);
if (((CEGUI::Checkbox*)(( const CEGUI::WindowEventArgs&)e).window)->isSelected())
{
CompositorManager::getSingleton().setCompositorEnabled(pViewport,"Bloom", true );
}
else
{
CompositorManager::getSingleton().setCompositorEnabled(pViewport,"Bloom", false );
}
return true ;
}
Bloom效果是通过Compositor实现的,Compositor要另起一篇 每天花30分钟看OGRE--(10) Demo_Compositor 来介绍了。
[2008-5-5] post effect就是post-processing,即后处理,通常有HDR, motion blur, depth of field, heat haze, and so on.在Demo_Compositor中有相关演示。