查看: 805|回复: 1

clipPlane状态集删除

[复制链接]

该用户从未签到

发表于 2015-11-18 11:13:26 | 显示全部楼层 |阅读模式
osg::ClipPlane cp1 = new osg::ClipPlane();
osg::ClipPlane cp2 = new osg::ClipPlane();
cp1->setclipplaneNum(0);
cp1->setclipplaneNum(1);
root->getOrCreateStateSet()->setAttributeModes(cp1);
root->getOrCreateStateSet()->setAttributeModes(cp2);
给节点添加两个clipplane状态后,怎样将这两个状态删除,直接用RemoveAttribute(osg::Stateset::CLIPPLANE)好像只能删除一个状态,我要把所有的clipplane状态都删除,怎么弄?

该用户从未签到

 楼主| 发表于 2015-11-18 14:35:07 | 显示全部楼层
我现在直接使用的是:
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE0,osg::StateAttribute::OFF);
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE1,osg::StateAttribute::OFF);
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE2,osg::StateAttribute::OFF);
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE3,osg::StateAttribute::OFF);
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE4,osg::StateAttribute::OFF);
osgObj->        getOrCreateStateSet()->setMode(GL_CLIP_PLANE5,osg::StateAttribute::OFF);
每次都设置6个附加裁剪的状态为关闭,可以将节点的裁剪面删除,大家有更好的方法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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