查看: 2029|回复: 8

如何基于OSG创建曲线?

[复制链接]

该用户从未签到

发表于 2009-9-28 10:40:15 | 显示全部楼层 |阅读模式
目前有个任务需要用到曲线绘制功能,而了解的PrimitiveSet(基本图元类)中仅提供了基于线段描述的图形。OSG中提供了什么类来封装曲线的绘制呢,过程怎样?

该用户从未签到

发表于 2009-9-28 12:01:15 | 显示全部楼层
没有提供对曲线的封装,可以自己编写程序实现。一些相关算法可以参考osgModeling工程

该用户从未签到

发表于 2009-9-28 15:04:58 | 显示全部楼层
     lz有什么进展了大家互相交流啊   我这边也急需这样的功能

该用户从未签到

 楼主| 发表于 2009-9-28 20:49:45 | 显示全部楼层
还没有。按照array给出的信息,对于曲线的绘制,需要直接基于OpenGL完成啊

该用户从未签到

发表于 2009-9-28 22:27:24 | 显示全部楼层
建议不要使用OpenGL的glMap函数,效率很低;目前还使用直线拟合的方法比较好,当然也可以在Geometry Shader中实现

该用户从未签到

 楼主| 发表于 2009-9-29 09:42:45 | 显示全部楼层
to array:
1.你所说的“osgModeling"工程的位置?
查看了example文件夹中没有找到这样的工程名,Plugins中与Model有关的也仅有mdl空间,但是这个又不构成独立的工程,也没有相关的入口(一个衍生问题:plugins和wrapper的含义是什么,从名字上来看plugins作为拔插件,OSG一些功能基于这些低层功能实现,而wrapper是封装OSG提供一个更高层的接口?)
2.使用Geometry shader封装直线拟合曲线功能,精度性和程度似乎不是很高,并且由于大部分时间浪费在CPU关于直线控制点的构造上,而不能利用GPU上整合的OpenGL功能(由此,可能带来更差的效果)。是否可取?

该用户从未签到

发表于 2009-9-29 13:43:13 | 显示全部楼层
osgModeling是由我主持开发的一个独立的第三方工程,地址:http://code.google.com/p/osgmodeling/
plugins用于提供各种格式的文件的读写支持,这些插件可以根据需要任意扩展;wrapper是专用于扩展OSG到其他语言中的,例如C#,Python等。
Geometry shader的话,我提出来也只是作为参考,因为国外都在积极研究使用GS实现图元重绘的方法,希望国内的大家也参与一下,呵呵

该用户从未签到

 楼主| 发表于 2009-9-29 16:17:30 | 显示全部楼层
还是不能理解Geometry shader的思想。简单地看,最基本的图元功能已经有了,复杂形状似乎又很难纳入一个体系中(要么接口太多,要么参数复杂),如果这个就是GS的工作重心的话,似乎走了弯路啊?(不确定)

该用户从未签到

发表于 2009-9-29 16:24:33 | 显示全部楼层
您没有理解Geometry shader,它的工作重心很简单:根据用户已知的顶点和图元信息,重新增删和修改顶点与图元类型,然后输出。因此,我们完全可以仅仅定义一条直线,而输出一个圆管;或者定义一个平面,输出这个平面以及它的法线;或者执行类似表面细分的功能……非常之实用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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