VTK(可视化工具包)与OSG(OpenSceneGraph),其他?
有人有公平比较 VTK 和 OpenSceneGraph 的经验吗?我更熟悉 VTK,但我很好奇是否有人广泛尝试过这两种方法。
我已经构建了 5.6 vtk 和 2.9.9 osg,可以运行示例...乍一看 OSG 似乎更“粗糙”,但也许没关系。我特别担心能够在 VTK 中摆弄低级 openGL;例如,我敢打赌 glReadPixels 在 OSG 中会表现得更好。评论?
(或者我缺少一个很好的“其他”?我知道其他的存在,但请看看 OSG 和 VTK 的巨大范围......)
Does anyone have experience to fairly compare VTK and OpenSceneGraph? I'm more familiar with VTK, but I'm curious as to whether anyone has tried both extensively.
I have both built, 5.6 vtk and 2.9.9 osg, can run the examples... at first glance OSG seems more 'rough', but maybe that's OK. In particular I worry about being able to fiddle with low level openGL in VTK; e.g. I bet glReadPixels would behave more nicely with OSG. Comments?
(or is there a nice 'other' that I'm missing? I know others exist, but please take a look at the massive scope of OSG and VTK...)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
VTK 和 OSG 确实解决了不同的问题,因此您应该使用哪一个取决于您想要完成的任务! VTK 主要用于科学可视化,因此更适合数据可视化算法。它可能具有在场景图模式下工作的一些能力,但主要是为了不同的数据集可以彼此注册(重叠)。它并不是真正用于表示任意场景(尽管它可以被硬塞进去)。你是对的,你无意将 OpenGL 调用与 VTK 混合在一起。再说一次,这是可以做到的,但并不一定容易。
另一方面,OSG 是 SGI Performer 的精神继承者,并且更多地用于任意图形场景。它非常依赖于场景图隐喻,我鼓励您阅读它(维基百科有一篇不错的文章)。我对此没有太多经验(更多的是在科学方面)。
简而言之,如果您想要查看体积数据的等值面、流场可视化或源自科学数据的其他可视化,请使用 VTK。如果您正在尝试实现某种虚拟世界,请选择 OSG(或类似的东西)。如果您正在尝试完成其他任务,请告诉我们,也许有人可以推荐更适合您需求的工具。
VTK and OSG really solve different problems, so which you should use depends on what you are trying to accomplish! VTK is primarily intended for scientific visualization, and as such is more geared towards data visualization algorithms. It might have some ability to work in a scene graph mode, but mainly that is so that different datasets can be registered (overlaid) on top of each other. It's not really intended for representing arbitrary scenes (though it could be shoehorned into it). And you're right, it is not intended that you mix OpenGL calls with VTK. Again, it can be done, but it's not necessarily easy.
OSG on the other hand, is the spiritual successor to SGI's Performer, and is intended more for arbitrary graphical scenes. It is very dependent on the scene-graph metaphor, which I would encourage you to read about (wikipedia has a decent article). I don't have much experience with it (being more on the sci-vis side of things).
In short, if you want to view isosurfaces of volumetric data, flow field visualizations, or other visualizations derived from scientific data, go with VTK. If you are trying to implement a virtual world of some sort, go with OSG (or something similar). If you are trying to accomplish something else, let us know, and perhaps someone can recommend a more apt tool for your needs.