相关疑难解决方法(0)

3D库建议用于交互式空间数据可视化?

我们的软件会生成大量地理参考和记录的数据.我们正在考虑改进可视化的方法,并在3D视图中显示(处理过的)数据,因为它的地理参考,似乎是一个好主意.

在基于Delphi-/C++ Builder的Windows应用程序中构建这些可视化时,我正在寻找有关哪些3D库最适合作为基础的SO建议.我会尽可能地加上赏金.

数据

  • 随时间记录(数小时到数天),并进行GPS标记.因此,随着时间的推移,我们有很多数据.
  • 是空间:它代表地球的真实3D元素,例如陆地,或地球周围物体的3D元素.
  • 数量很大:例如,我们可以拥有数十万到数百万点的点云.处理的数据可以显示为从这些点云创建的表面.

从中可以看出,基于空间的交互式3D可视化似乎是一种很好的方法.我正在设想一些可以轻松快速地在空间中导航的东西,数据将根据您正在查看的内容加载或生成.我希望我们不要尝试从头开始编写我们自己的3D库 - 对于这样的事情,必须有我们可以使用的良好的现有库.

所以,我希望有一个支持的库:

  • 良好的导航(例如,仅基于欧拉旋转的库?你可以选择'对象旋转或轻松移动吗?);
  • 现代GPU(仅着色器渲染是可以的;能够挂钩到管道中以编写将值映射到颜色并动态变化的着色器会很棒 - 想想通过颜色查找表给出颜色的数据值);
  • 动态数据/对象(数据可以在记录时添加;如果数据量太高,我们应该能够进出页面或重新创建它们,并且只显示一个合理的子集,以便无论用户的视口是什么at屏幕上有,但是其他数据可以加载/重新生成,最好是异步,或者至少在用户导航时很快.显然,数据创建依赖于我们,但是一个有这种东西钩子的库会很棒.)
  • 在技​​术上,与Delphi/C++ Builder和VCL一起使用.

图书馆

到目前为止,我已经考虑了两个主要的库 - 我正在寻找关于这些的知识渊博的意见,或者我没有考虑过的其他库.

1. FireMonkey

这是Embarcadero的新UI库,仅在XE2及更高版本中可用.我们的应用程序基于VCL,我们希望在VCL窗口中托管它; 这似乎是官方不支持但非正式工作正常,或通过第三方提供.

UI框架和3D框架与着色器等的混合听起来很棒.但是我不知道库是多么复杂,它对数据的支持是什么,它不是像立方体或球体那样简单的对象,以及它的设计是多么好.最后一个链接对图书馆的3D方面提出了重大批评 - 严重到足以说明我在编写一个非平凡的3D应用程序时,目前尚不确定它是否值得.

是否值得尝试使用FireMonkey在我们的VCL应用程序中编写新的可视化窗口?

2. GLScene

GLScene是Delphi着名的3D OpenGL框架.我自己从未使用它,所以没有经验,如何工作或设计.但是,我相信它可以很好地集成到VCL窗口中,并支持着色器和现代GPU.我不知道它的场景图或导航是如何工作的,或者是如何实现动态数据的.

它的功能列表特别提到了我感兴趣的一些东西,例如简单的旋转/移动,程序对象(暗示动态数据易于实现),以及用于拾取的辅助函数.似乎着色器只是Cg(不是GLSL或其他非特定于供应商的语言.)它还支持"纹理化的多态图像支持(允许多种格式以及程序纹理),易于扩展" - 这可能仅仅意味着许多图像格式,或者它可以指示可以动态改变纹理的某些东西,例如用于动态颜色映射.

从哪里来?

这是我所知道的Delphi或C++ Builder中唯一的两个主要3D库.我错过了吗?我不知道有利有弊吗?您是否有任何使用这些目的的经验,我们应该知道和使用哪些陷阱?

我们目前使用Embarcadero RAD Studio 2010,我们的大部分软件都是用C++编写的.我们有少量的Delphi,可能会考虑升级IDE,但我们最有可能等到64位C++编译器发布.因此,在RS2010中工作的库可能是最好的.

感谢您的意见:)我正在追求高质量的答案,所以我会尽可能多地加入赏金!

delphi 3d data-visualization c++builder

20
推荐指数
2
解决办法
3204
查看次数

标签 统计

3d ×1

c++builder ×1

data-visualization ×1

delphi ×1