查看: 1817|回复: 5

osgearth同样的代码用在MFC和控制台程序程序中,显示结果不一样!

[复制链接]

该用户从未签到

发表于 2017-2-25 09:33:09 | 显示全部楼层 |阅读模式
1.使用环境
vs2013,osg3.4,osgearth2.8。
2.遇到问题
在MFC中加载shp文件后,矢量文件感觉被球遮挡了,效果如下图所示

mfc加载shp错误

mfc加载shp错误
。在控制台中显示为以下效果

控制台加载shp

控制台加载shp

。有没有遇到过这种情况的?
是不是MFC中osg的某些设置没有设置好。因为控制台中都能正常显示。谢谢

该用户从未签到

 楼主| 发表于 2017-2-25 09:52:57 | 显示全部楼层
我怀疑自己是不是来骗分的,又被我解决了

该用户从未签到

发表于 2017-3-15 23:00:20 | 显示全部楼层
请问哥哥怎么回事啊,我也遇到了

该用户从未签到

 楼主| 发表于 2017-3-20 16:41:03 | 显示全部楼层
xuyao 发表于 2017-3-15 23:00
请问哥哥怎么回事啊,我也遇到了

开启GL_DEPTH_TEST就可以了。

该用户从未签到

发表于 2017-3-24 14:34:08 | 显示全部楼层
lysen 发表于 2017-3-20 16:41
开启GL_DEPTH_TEST就可以了。

谢谢!

该用户从未签到

发表于 2021-3-30 19:53:20 | 显示全部楼层
lysen 发表于 2017-3-20 16:41
开启GL_DEPTH_TEST就可以了。

大哥,非常感谢,在控制台调试都没遇到模型遮挡问题,到MFC上就出现了,卡了一周,直到看到你的贴子,万分感谢,加上这句就完美解决了       

//解决飞机模型被遮挡问题
Root->getOrCreateStateSet()->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);
//解决模型变成黑色的问题
Root->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON);

把这两句都加上,模型显示就完全没有问题了
1.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表