查看: 6765|回复: 7

osgmodeling能实现三维模型的实时布尔运算吗

[复制链接]

该用户从未签到

发表于 2008-12-13 22:14:58 | 显示全部楼层 |阅读模式
大家好!我想问一下osgmodeling能实现三维模型的实时布尔运算吗,比如说一个电钻钻一个钢板那样的三维场景情形?实现这一方面大家有什么好的建议吗?

该用户从未签到

发表于 2008-12-13 23:15:18 | 显示全部楼层
osgmodeling目前可以实现一些基于BSP的三维布尔运算,但不是实时的;运算所有顶点并重绘的话,资源消耗得多,也不太可能达到实时。

实时布尔运算已经有了相对成熟的CSG算法,其原理是使用模板检验,可以使显示的结果实现您的期望,但缺点是不能得到交点的顶点数据信息。这里有一个简单的CSG算法例子,实际应用的话有不少问题:
http://www.cosc.brocku.ca/Offeri ... rogs/advanced/csg.c
另外我强烈建议参看一下OpenCSG这个开源库:www.opencsg.org。作者是一个德国博士,实现了一种名为GoldFeather的近乎完美的基于模板检验的CSG算法。这个库本身是GPL的,因此虽然我也认识这位作者,但也不太可能把OpenCSG并入到OSG或者osgModeling当中~~

我最近忙于osgnv库的开发,暂时没有扩展osgmodeling库的闲暇,下一步的话会考虑继续将其完善。非常感谢您的关注,也期待您能够继续支持和帮助开源社区的发展

该用户从未签到

 楼主| 发表于 2008-12-14 09:01:06 | 显示全部楼层
谢谢楼主给予回复!我现在还在处于学习使用OSG的阶段,但愿有朝一日能为OSG增砖添瓦,呵呵!

该用户从未签到

 楼主| 发表于 2008-12-17 10:49:42 | 显示全部楼层
这几天看了看opencsg的介绍和源代码,确实不错,能实现三维实时布尔运算,我想使用OSC+OpenCSG实现一些东西,能否设计一个类同时继承OSG:rawable和OpenCSG:rimitive,在OSG场景中实现实时三维布尔显示呢?有什么需要注意的吗?还望赐教!

该用户从未签到

 楼主| 发表于 2008-12-17 10:51:22 | 显示全部楼层
这几天看了看opencsg的介绍和源代码,确实不错,能实现三维实时布尔运算,我想使用OSC+OpenCSG实现一些东西,能否设计一个类同时继承OSG的Drawable和OpenCSG的Primitive,在OSG场景中实现实时三维布尔显示呢?有什么需要注意的吗?还望赐教!

该用户从未签到

发表于 2008-12-17 13:31:58 | 显示全部楼层
您的想法值得一试,可以参看osgteapot例子来做,注意最好直接设置setSupportsDisplayList(false),不然您自己的drawImplementation或者DrawCallback只会执行一次,然后就使用显示列表了,没办法实现实时的顶点变换。

还有感觉上派生一个StateAttribute来做应该比较通用,重写一个Drawable的话就没办法使用OSG的几何模型结构和文件插件了,您可以再考虑一下。

该用户从未签到

发表于 2012-6-12 12:29:43 | 显示全部楼层
fswinner 发表于 2008-12-17 10:51
这几天看了看opencsg的介绍和源代码,确实不错,能实现三维实时布尔运算,我想使用OSC+OpenCSG实现一些东西 ...

您好,请问osg和opencsg整合开发,您还在做吗?觉得效果如何,在实时三维布尔运算方面。

该用户从未签到

 楼主| 发表于 2012-6-30 16:16:14 | 显示全部楼层
wanghuisoftware 发表于 2012-6-12 12:29
您好,请问osg和opencsg整合开发,您还在做吗?觉得效果如何,在实时三维布尔运算方面。

这是两年多前的项目了,最后能够实现,用的就是osg绘制回调中使用opencsg,效果还行,速度不是很快,但还可以,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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