查看: 2293|回复: 4

ClipNode(ClipPlane)与Translate1DDragger结合起来使用问题

[复制链接]

该用户从未签到

发表于 2011-7-8 13:49:33 | 显示全部楼层 |阅读模式
本帖最后由 garyliyong 于 2011-7-8 13:52 编辑

我现在想做一个裁剪平面与拖拽器结合起来使用的功能,我拖拽裁剪平面的时候,模型不动,只显示未被裁剪的部分。该如何实现?
我目前是这样实现的:
clipnode->addChild(node);
selection->addChild(clipnode);
拖动的时候模型也会跟着拖拽器一起移动,如未加第一句,则裁剪平面并未裁剪模型。
另外再问一下clipplane能单独使用吗?

该用户从未签到

发表于 2011-7-8 15:45:10 | 显示全部楼层
ClipPlane可以单独使用,但是它在OpenGL里面属于一种非常特殊的状态类型:positional states。它的参数会受到model-view的影响。因此您需要考虑这一因素的存在,ClipNode就是为了避免这一影响而设计的(可以设置ABSOLUTE_RF)

该用户从未签到

 楼主| 发表于 2011-7-9 09:22:11 | 显示全部楼层
本帖最后由 garyliyong 于 2011-7-9 09:25 编辑

array,我需要将操纵器与切平面结合起来,实现切平面的动态拖动,selection必须加入节点,所以只能选择clipnode,不能单独使用clipplane,而设置ABSOLUTE_RF后,切平面是不移动,模型移动,但我要实现的是切平面移动,模型不动,这样可以实时看到模型的内部结构。有没有其它的方法可以实现这一功能?另外还有一个疑问就是,在opengl里加入切平面后对场景中所有的模型都会起作用的,而clipnode只对加入到该节点下的模型才起作用?

该用户从未签到

发表于 2011-7-11 08:28:02 | 显示全部楼层
但我要实现的是切平面移动,模型不动,这样可以实时看到模型的内部结构。有没有其它的方法可以实现这一功能
ClipNode是最好的选择,我想您自己没有用对而已
而clipnode只对加入到该节点下的模型才起作用

可以给根节点设置GL_CLIP_PLANE*

该用户从未签到

发表于 2012-12-10 15:17:52 | 显示全部楼层
array 发表于 2011-7-11 08:28
ClipNode是最好的选择,我想您自己没有用对而已

可以给根节点设置GL_CLIP_PLANE*

阿瑞大师,用ClipPlane切割的时候,假设有四个面,怎么样能保证同时裁切,而不是后面的切割面,对前面的产生影响。就是说怎么样让各个设置好的面,独立切割,不是相互影响?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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