SuperMap 2008 的 3D 功能试用

今天在超图下载了最新的 SuperMap Deskpro 2008(5.3.0.8428)来试用了一下。新版本的 SuperMap 增加了很多功能,但是我最想看的是它的 3D 功能改进了没有。

最开始认识 SuperMap 的 3D 功能是在以前的一界超图比赛中的一个项目:建立一个小区的立体模型。在 SuperMap 中画出平面图之后,给各平面赋上高程值,在 3D 窗口中就可以以高程值来拉伸这个平面。但是以前的一个版本(5.0.2.5507)的 3D 功能中有一个很明显的 bug。如下图,画了两个多边形,有一个是中间一部分是空的。拉伸后在 3D 窗口中,中间空心的那个多边形就没有被显示出来。

SuperMap 2008 的 3D 功能试用_第1张图片

 

但是这个问题在后来的版本(5.2.1.7308)中有所改进,如下图。虽然那个空心的模型可以显示出来,但是中间却没有安想像的那样中间的一部分被挖空。

最新的 2008 也是这样。

SuperMap 2008 的 3D 功能试用_第2张图片

 

在现实世界中,也有很多情况是需要把一个模型的中间某些部分挖空的。比如中间有天井的楼房。

可能是 SuperMap 生成 3D 模型的时候,是直接用各边角点的在 OpenGL 中生成的。我记得 OpenGL 的红宝书中有说,某些情况下(比如这种中间空心的)直接提交各角点的话,OpenGL是不能正确生成图形的。我想解决的办法可以是,把这个空心的图形分割成下图的样子的 3 块,各块再单独显示。

这样子就能显示出中间空心的效果了。但是这样,在 3D 选取时,这三个独立的块还要再做一些处理才能使得选取时能作为一个整体来被选取。

你可能感兴趣的:(图形)