查看: 735|回复: 3

关于球体透明自相交产生奇怪效果的简单解决办法

[复制链接]

该用户从未签到

发表于 2017-7-3 17:16:16 | 显示全部楼层 |阅读模式
       本人新手一枚,在解决透明球体中放置一个模型的问题中,遇到了透明球体产生奇怪效果的问题,在论坛搜了下看到有人提问,解决后却没有贴出解决办法。问题情况如图1:

图1

图1


      后来翻了下帖子,发现说是透明排序的自相交问题,想了下为了不让球自相交就把背面剔除就好了。。。设置部分代码如下:

        //设置背部剔除
        osg::ref_ptr<osg::CullFace> cullface = new osg::CullFace(osg::CullFace::BACK);
        ss->setAttribute(cullface.get());
        ss->setMode(GL_CULL_FACE,osg::StateAttribute::ON);

      剔除后,透明球体就不会出现那种奇怪的条带效果了。效果如下: 2.png

      就目视效果来看是解决了,不知道正确不正确,分享下有帮助就好,望各位大佬批评指正。

该用户从未签到

发表于 2017-7-13 11:53:59 | 显示全部楼层
实际上,启用背面剔除没有从根本上解决透明实体绘制问题,但要求不是很精确凑合着用用没问题。实现Order-Independent-Transparency 这才是解决之道.

该用户从未签到

 楼主| 发表于 2017-7-19 15:10:34 | 显示全部楼层
liujing7256 发表于 2017-7-13 11:53
实际上,启用背面剔除没有从根本上解决透明实体绘制问题,但要求不是很精确凑合着用用没问题。实现Order-In ...

恩恩,是的,之前看到大神们也这么说,以后有时间再研究下,多谢指教

该用户从未签到

发表于 2017-7-20 09:37:34 | 显示全部楼层
墨珩 发表于 2017-7-19 15:10
恩恩,是的,之前看到大神们也这么说,以后有时间再研究下,多谢指教

不客气。
还是有一点补救措施可以试试,如果发现模型透明显示错的太离谱,试着把显示不正确的大模型拆成更多的小模型,有点作用,但会牺牲些效率,而且十分麻烦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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