|
发表于 2011-1-13 09:09:34
|
显示全部楼层
严格来说RTT和HUD应该是可以协同工作的,按照Camera与RenderStage的关系,PostRender的HUD相机应该属于PreRender相机的子节点,那么RenderStage也是父子关系,因此渲染时应当是按照下面的逻辑:“首先渲染RTT相机下的场景,而HUD的内容属于这个子场景中最后渲染的”
不过我做了简单的实验,貌似这样的确不能显示HUD的文字,我想调试一下osg的源代码也许可以发现问题的所在,不过您也不妨先用上下面的代码来实现HUD相机:- camera->setRenderOrder( osg::Camera::NESTED_RENDER );
- camera->getOrCreateStateSet()->setRenderBinDetails( 999, "RenderBin" );
- camera->getOrCreateStateSet()->setAttribute( new osg::Depth(osg::Depth::ALWAYS) );
复制代码 |
|