当前位置>>水动力学

三维场景的建立需要慎重选择支持三维建模的软件平台。目前市场上有很多GIS平台产品支持三维建模,它们基本上侧重于地理信息系统的建设,在数据库支持、各种地形数据兼容上各有特色,选择这样的平台的好处是可以快速搭建三维场景,但是它们都具有共同的缺点:为提高兼容性,平台过于庞大、运行效率低、价格昂贵,三维数据后处理只是需要能够建立三维场景,其它的功能需要通过开发完成,并不需要像数据库支持等附加功能,因为它们只能带来性能上的损失而对三维数据后处理没有任何帮助。基于以上分析,不应当选择GIS平台作为三维流场可视化的图形平台。

目前比较广泛被采用的三维图形开发平台主要有OPENGL、WPF、OSG、VTK、OGRE,它们都可以用来构建三维场景,它们又各有特点:WPF基于DirectX,OSG、VTK和OGRE都是开源三维图形系统,它们都基于OpenGL开发,是比OpenGL高一层次的图形开发系统。

OSG是一套基于C++平台的应用程序接口(API),它是一个开放源码,跨平台的图形开发包,它为诸如飞行器仿真,游戏,虚拟现实,科学计算可视化这样的高性能图形应用程序开发而设计。它基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具。

VTK是一个跨平台软件系统,主要用于三维计算机图形学、图像处理和可视化,它是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的。VTK比OpenGL高一个层面,这意味着在创建图形或可视化应用方面它将更加方便,更加简单。可以直接用C++,Tcl,Java,或Python各种语言编写的程序调用VTK。因为其内核是C++构建的,所以毫无疑问,使用C++调用VTK是最快的。

OGRE是一个开源图形渲染引擎,并且只是一个图形引擎,它并不是一个游戏引擎,并没有输入、音效、碰撞侦测之类的功能。但是,它可以很容易地和其它库文件绑在一起构建一个游戏引擎。它是一款面向场景、灵活并且开源的3D渲染引擎,以C++编写,旨在利用硬件加速3D图形,令应用项目的开发更为方便直观。它由一个核心小组开发并维护,由于它是一款开源引擎,所以它也像Linux一样,被各种不同的团体和组织改造和扩充,并使它能够适应不同的应用领域和拥有更强大的功能。

上述三个图形开发平台通过扩展OpenGL三维图形功能,使得用户在其上构建三维场景更加容易,不可避免地或多或少会降低图形处理速度为代价。





评论