葛德明(重庆建安仪器有限责任公司,重庆 400060)
传统的三维数据切割法无法将实时人机交互操作有效实现。针对切割操作的缺陷,操作人员无法根据需求有效地进行操作。鉴于此,本文将重点分析和研究图形硬件加速三维体数据的切割方法。实验可以证明,这种方法不仅保证了良好的切割,而且能够有效地实现了交互实时性。基于体纹理方法和基于深度信息方法,是当前主要的三维数据切割算法。基于体纹理方法是有效运用待切割体对纹理进行剪切来表示数据,再将数据利用设置片元值进行消除,既能切割复杂的三维体数形状,又能将多次切割有效完成[1]。基于深度信息方法是将有关体素的信息储存起来,然后结合切割面具备的深度,对体素的可视性进行明确。
1993年,Cullip等人提出三维纹理硬件直接体的可视化方法,主要由纹理生成、三线性插值以及图像合成三部分组成。
三维纹理图是三维数据场自身将纹理内存装入其中。其中,物体空间坐标的原点与数据的中心重合,物体空间的3根坐标轴与几个边界都平行。
在纹理空间的内部,对于多边形可以采样进行定义。采样的多边形不但平行,而且与视线的方向垂直。这些采样多边形与原始数据相比,无论是在间隔上还是密度上都不一样。若想取得多边形采点数值,要供助三线性插值,即重采样,才能够获得平行多边形的各个采样点的数值。
有效运用给定的传递函数,将多边形采样点的各个数值变为不透明度的值和有关的颜色值;利用硬件混合的功能,结合混合函数进行有机合成,以至在投影视平面的作用下形成所要的图像[2]。
此方法无论是图像合成还是三线性插值(重采样),都是由硬件完成全过程的。因此,节省了大量的绘制时间。当前,图像合成作为绘制方法,具有既直接又快速的优点。
当前,体绘制技术已经被广泛应用。三维物体一些细节信息,能够通过体绘制技术进行显示。但是,该技术不但计算量大,而且计算时间较长,实时性相对较差,很难满足人机交互的需求[3]。
在计算机系统中,无论是片元渲染器集成,还是集成点元渲染器,图形显示卡都能够有效地实现。片元渲染器能够完成像素的着色功能,点元渲染器能够有效地实现三角形定点几何变化。在渲染纹理方面,可编程图形显示卡能够支持依赖纹理功能和绘制纹理功能两个重要特征[4]。
利用硬件加速进行体绘制,将纹理用待切割数据表示,储存到图形计算。三维切割中,能够有效加快人机交互的速度。基于硬件加速的三维数据切割的全过程,如图1所示。
图1 基于硬件加速的三维数据切割的全过程
对于完成三维物体切割而言,图元是否在切割体内的判断非常关键。实际操作过程中,切割数据可以运用体数据蒙版来完成。此过程分3个步骤。第一,初始化操作三维数据的切割,修改三维数据,并定义切割体属性和位置,在图形显卡中输入切割的数据。针对数据切割初始化,必须产生一块数据空间,尺寸与体数据相同,再结合三维体系统中数据点的数值,初始化需要切割的纹理。设不显示数据点数值为0,设待显示数据点数值为1,切割纹理用体数据蒙版表示进行有效的处理。有关体数据可以运用数据点的置位直接进行操作而不需要显示,使切除和恢复操作得以有效实现[5]。第二,修改数据和属性定义会涉及几个坐标之间的互相转换,再结合切割体中的其他点与此点位置的关系,能够计算切割后的位置属性和切割数据。另外,运用介绍的位置,能够快速实现切除和恢复三维数据。第三,在可编程图形的显示卡中,将切割数据输入显存,Fragmentshader运用GLSG来写,提取三维切割纹理;渲染绘制这些纹理前需要先判断,若为0,不需要绘制操作,被切除就是显示的结果[6]。
实验可以证明,三维数据的尺寸如果不太大,将切割纹理加入,对人机交互实时性的影响并不大。但是,数据尺寸如果较大,图型显示卡大小对其进行限制,将降低该方法的时间效率,致使人机交互实时性受到影响。因此,此方法必须在良好切割质量得以有效实现的前提下,才能有效实现较好的实时交互性[7]。
[1] 王一博.飞秒激光双光子聚合加工中的三维AMF模型处理技术研究[D].长春:长春工业大学,2017.
[2] 龙立敦.基于体感交互的公路真三维设计系统关键技术研究[D].广州:华南理工大学,2016.
[3] 孙 康.三维激光彩色扫描测距系统设计与三维点云模型重建[D].大连:大连理工大学,2016.
[4] 魏江明,张学军,唐久磊.基于科学探究活动资源的化学虚拟实验系统设计研究[J].化学教育,2015,36(11):48-51.
[5] 施益强,吴丽娜,吴陈锋.基于GIS的雷达数据三维可视化与预警系统设计与实现[J].国土资源遥感,2013,25(1):171-175.
[6] 李晴晴,李治洪,段玉山.基于三维GIS的地理教学辅助系统设计与开发[J].地理教学,2012,(7):4-7,12.
[7] 曾 亮.三维设计技术在国内电厂设计中的研究及应用[D].长沙:中南大学,2010.