论坛首页 综合技术版 C++

跨平台三维可视化系统开发方案选择

浏览 3773 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-06-20
我原来在Windows环境下开发了一个三维建模与可视化的原型系统,大致技术方案如下:

(1)以C#为基本语言开发的一个三维建模软件,其中算法子模块以C++开发的COM组件形式进行封装,并且包括了一些GIS功能(依赖ArcEngine)与信息查询功能;

(2)以MFC与OpenInventor(类似与OpenGL的一个软件)开发的一个三维可视化模块,其中主要业务逻辑和算法部分都是采用标准C++写的,除了界面外没有依赖MFC;

现在上面提出来增加人手,完善并扩展功能,修改界面,并且要求做到跨平台。因此,我需要重新考虑我的方案了。目前主要问题如下:

(1)需要选择一种跨平台的开发方案。其中OpenInventor部分必须采用C++开发;

(2)选择一种简单的接口协作方式,因为我们这技术人员普遍能力不行,基本什么都不会,不能太复杂;

我考虑了一个不成熟的方案:

(1)采用JAVA开发三维建模软件部分,其中的算法模块采用JNI调用,因为算法模块基本是数据进/数据出,因此采用文件方式进行数据传递即可;

(2)三维可视化软件部分,采用JAVA开发整体界面,用C++与OIV开发可视化子模块,然后嵌入JAVA开发的整体界面中。

另外有人给我提出一个方案,采用进程间通讯机制来进行JAVA与C++开发的模块间的调用,不知道这个方案如何。

希望对此比较熟悉的同志能给予一点建议,谢谢!
   
时间:2007-06-20
跨平台的具体要求是?
   
0 请登录后投票
时间:2007-06-20
跨平台要求为Linux平台与Windows平台。
   
0 请登录后投票
时间:2007-06-20
我们也做三维可视化,跨平台选择的是QT作为GUI。
看了描述,数据在显示前就处理完毕了,后面仅仅是三维显示,不会再交互处理数据。后端的数据处理部分,可以用任意的方式和语言开发。前端的三维显示,绑定了C++/OpenInventor,完全可以独立的成为一个软件。这样的情况该是很纯粹的显示。
我建议用C++/OpenInventor开发,界面库QT或是wxWidgets,2大子系统。技术越单纯,潜在的问题可能越少。当然,你的JAVA/C++的异构系统方案,一般看是没问题的,就看你们实施人员的情况了。
再顺便问一下你的三维可视化,是体绘制的吗,考虑过以后和虚拟现实设备的接口没。
   
0 请登录后投票
时间:2007-06-20
wzgme 写道
我们也做三维可视化,跨平台选择的是QT作为GUI。
看了描述,数据在显示前就处理完毕了,后面仅仅是三维显示,不会再交互处理数据。后端的数据处理部分,可以用任意的方式和语言开发。前端的三维显示,绑定了C++/OpenInventor,完全可以独立的成为一个软件。这样的情况该是很纯粹的显示。
我建议用C++/OpenInventor开发,界面库QT或是wxWidgets,2大子系统。技术越单纯,潜在的问题可能越少。当然,你的JAVA/C++的异构系统方案,一般看是没问题的,就看你们实施人员的情况了。
再顺便问一下你的三维可视化,是体绘制的吗,考虑过以后和虚拟现实设备的接口没。


多谢回复!

我们的三维可视化包括了geometry rendering与volume rendering,以及两者混合的hyber rendering。因为主要是科学计算可视化而不是虚拟现实,所以可能不会和虚拟显示硬件设备相接。

主要QT我没怎么用过,把握不太大,所以没有敢贸然采用。
   
0 请登录后投票
时间:2007-06-24
我们也是科学可视化,其实实现浸入式的虚拟现实,改动并不大。 你是什么方向的啊,医学的?需要混合绘制。你的数据体多大啊?绘制速度如何啊?

QT很好上手,界面分离也实现的很好,和你现在在MFC上的改动,该不大的。
   
0 请登录后投票
时间:2007-06-25
用Java3D也可以呀。
   
0 请登录后投票
时间:2007-06-25
我是做GIS的,主要是地下空间三维可视化与空间分析。我们数据量相当大的。
   
0 请登录后投票
时间:2007-06-26
我们是物探的,做地下地质构造。
   
0 请登录后投票
时间:2007-06-28
wzgme 写道
我们是物探的,做地下地质构造。


你是做地球物理的?有联系方式吗?我们也做类似的工作。

另外,我原来的方案好像太复杂了,打算用QT做了。
   
0 请登录后投票
论坛首页 综合技术版 C++

跳转论坛:
JavaEye推荐