|
想在场景中添加阴影,代码如下:
m_pView = new osgViewer::View;
m_pRoot = new osg::Group;
m_pView->setSceneData(m_pRoot);
m_pShadowedScene = new osgShadow::ShadowedScene();
m_pShadowedScene->setReceivesShadowTraversalMask(0x1);
m_pShadowedScene->setCastsShadowTraversalMask(0x2);
osg::ref_ptr<osgShadow::ShadowMap> sm = new osgShadow::ShadowMap;
m_pShadowedScene->setShadowTechnique(sm);(开启阴影)
m_pRoot->addChild(m_pShadowedScene);
为了将osg嵌入QT,使用的是osgViewer::GraphicsWindowEmbedded
图一:使用osgViewer::GraphicsWindowEmbedded,开启了阴影(嵌入osg的widget中一片空白)
图二:使用osgViewer::GraphicsWindowEmbedded,关闭了阴影(显示正常,但是没有阴影)
图三:使用osgViewer::GraphicsWindow,开启了阴影(显示正常,有阴影,但是无法嵌入QT)
osgViewer::GraphicsWindow可以嵌入QT吗?还是osgViewer::GraphicsWindowEmbedded需要设置什么参数?
|
|