一种用于虚拟手术系统切割时的高效渲染方法技术方案

技术编号:17266232 阅读:31 留言:0更新日期:2018-02-14 14:03
本发明专利技术适用于计算机渲染领域,提供了一种用于虚拟手术系统切割时的高效渲染方法,所述方法包括如下步骤:A、读取顶点数据;B、数据进入顶点着色器,建立模型视图矩阵,对顶点进行加工,加载纹理;C、将顶点组合成三角形片段并传入片段着色器,同时对三角形进行渲染光栅化;D、判断t是否小于100,若小于100回到步骤B;E、当用户改变视口时,判断每个三角形对应的gc值是否小于180,筛选符合条件的三角形进行光栅化显示。借此,本发明专利技术实现了渲染的简单性和高效性。

An efficient rendering method for virtual surgery system cutting

【技术实现步骤摘要】
一种用于虚拟手术系统切割时的高效渲染方法
本专利技术涉及计算机渲染领域,提出了一种用于虚拟手术切割的高效渲染的新方法,其目的是在程序前端运算速度不够快时,加速程序的渲染速度。
技术介绍
GPU不仅只用来做特效,他们还有一些用在可视化方面的用途。着色器可以接受相对较小的描述场景的图形属性(如颜色,坐标,法线和矩阵)作为输入数据。将大量的通用数据传递给着色器是无效-例如通过统一的变量。凹凸映射使得不复杂的表面(如平面或球体)显示得看起来像非常复杂的表面。这个想法是在不复杂表面上的每一个与其复杂表面对应的像素上使用复杂表面的表面法线,然后在照明模型方程中使用该法线凹凸映射可以进行平移和缩放的逼真的面上显示数据(例如天气,地点,地质学,路线或积雪)时,但是并不是通过创造出数千(或数百万)三角形来以实现它,这样就加速了渲染速度。凹凸映射是一个灵巧的可视化显示技巧。它使可视化效果看起来像是具有比你实际做的更多的几何细节。但是这就使得一般的凹凸映射存在局限性,只能通过平移和缩放视口在观察渲染结果。也就是说它仅仅还只是个特效,我们不能改变眼睛的位置。对于复杂的渲染环境下,使用一般的凹凸映射技巧是很难的,因此我们需要发挥CPU可编程管线的特点来改进这个弊端。综上可知,目前的方法存在明显的缺陷和弊端,我们在不降低性能的前提下有必要对其加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的是提供一种用于虚拟手术切割的高效渲染的新方法,使其通过大量使用可编程管线来改善目前凹凸映射的缺陷,提高渲染速度和质量。为了实现上述目的,本专利技术提供一种用于虚拟手术切割的高效渲染方法,其特征在于,所述方法包括如下步骤:A.在虚拟手术系统环境中实现的高效渲染方法,其特征在于:A1.用于虚拟手术系统中手术刀和人体组织发生碰撞及切割时的渲染方法,将手术刀和人体组织的基本网格模型作为输入(矩形网格或三角形网格)A2.计算手术刀和人体组织模型的OBB包围盒B.从当手术刀和人体组织模型的包围盒发生碰撞时,输出所有涉及到的顶点的位置和法向量,以及顶点间的拓扑关系。将这些数据传入顶点着色器进行数据加工,其特征包括:B1.使用一种特殊的内存模型存储数据,特别地使用2D纹理的红色组件存储高度值,在蓝色组件中存储一个时间戳t,并初始化为0。X和Y分别是顶点的x和y轴方向两个分量坐标,RGB分别是红绿蓝颜色组件,S和T用于存储切向量B2.在顶点着色器中以(从程序中读取的所有顶点中两个距离最远顶点的连线方向)为x轴方向、世界坐标系的z轴方向坐标系,并建立相应模型视图投影矩阵。申请一块帧缓存用于记录视口坐标系的变化角度的向量B3.加载切割伤口的纹理贴图C.片段着色器将接受顶点着色器处理过的顶点信息,并在此着色器中计算顶点的切向量和并存储到相应的纹理组件中。D.通过向量和计算表面法向量并用于初始化原始表面上的法向量。D1.对法向量进行变换,由旋转矩阵M对其进行变换。D2.旋转矩阵M的旋转角度由公式(1)计算是每个顶点到x轴的向量的叉乘方向E.设置光照混合模型,应用于在2D纹理组件中存储的2维三角形坐标及其存储的原始3维三角的法向量,使其看起来获得了三维效果。F.光栅化,绘制图元,得到初步效果G.当t不等于100时,t--,并触发重绘。H.建立一个链表数组来记录因用户旋转视口而导致点光源相对于模型方向改变时,我们所映射的三角形法向量需要作出相应改变。2.由1所述的过程中,其特征在于,所述步骤H具体包括:在此过程中,建立一个链表数组来记录因用户旋转视口而导致点光源相对于模型方向改变时,我们所映射的三角形法向量需要作出相应改变。在片段着色器中,计算点光源向量与每个三角形法向量的夹角g,对顶点进行分类,并存储在链表数组中,ABCDE中存储g的不同大小值,aabbccddee中存储被分类的三角形坐标,建立一个全局变量gt来记录视口旋转角度的累计值,每次当视口发生变化时,首先将累计值加到ABCDE所记录的原始值gc中,并由公式(2)对gc计算:gc=gcmod360(2)当gc大于180°时,片段着色器将不对所在三角形进行绘制(因为根本不会看到这个三角形)本专利技术通过一种新的方法来渲染被切割表面,它集成到硬件的可编程管线中。通过输入基本的三角形网格来实现算法,我们提高了渲染的简单性和效率,并且本专利技术提出了使用链表数组来对顶点进行有效分类,并通过计算视口变换的角度来改变所渲染的三角形,这个方法不仅提高了运算速度,还加快了渲染的流畅性,以及程序的高效性。附图说明图1为根据本专利技术实施例的用于本方法的流程框图图2为本专利技术实施例中涉及的输入基本网格的模型图图3为本专利技术实施例中涉及的存储结构单元的示意图图4为本专利技术实施例中涉及的一种数据结构的示意图具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。步骤(1)在本专利技术的第一步中,使用图2所示模型,一个大腿的网格模型和一个手术刀模型作为基本模型输入。步骤(1-1)计算手术刀和人体组织模型的OBB包围盒步骤(1-2)从当手术刀和人体组织模型的包围盒发生碰撞时,输出所有涉及到的顶点的位置和法向量,以及顶点间的拓扑关系步骤(2)我们将这些数据传入顶点着色器进行数据加工步骤(2-1)使用如图3所示的内存模型的存储相关数据,特别地使用红色组件存储高度值,在蓝色组件中存储一个时间戳t,并初始化为0。图3中X和Y分别是顶点的x和y轴方向两个分量坐标,RGB分别是红绿蓝颜色组件,S和T用于存储切向量。步骤(2-2)在顶点着色器中建立以(从程序中读取的所有顶点中两个距离最远顶点的连线方向)为x轴方向、世界坐标系的z轴方向的局部坐标系,并建立相应模型视图投影矩阵。步骤(2-3)我们申请一块帧缓存用于记录视口坐标系的变化角度,使用向量来记录变化。步骤(2-4)加载切割伤口的纹理贴图。步骤(2-5)在顶点着色器中将顶点加工成三角形面片。步骤(3)将顶点着色器中的数据传到片段着色器中。步骤(3-1)然后将片段着色器将接受顶点着色器处理过的顶点信息,并在此着色器中计算顶点的切向量和并存储到相应的纹理组件中。步骤(3-2)通过向量和计算表面法向量并用于初始化原始表面上的法向量。步骤(3-3)对法向量进行变换,由旋转矩阵M对其进行变换。旋转矩阵M的旋转角度由公式(1)确定其中是每个顶点到x轴的向量的叉乘方向。步骤(3-4)设置光照混合模型,应用于在2D纹理组件中存储的2维三角形坐标及其存储的原始3维三角的法向量,使其看起来获得了三维效果。步骤(4)光栅化,绘制图元,得到初步效果。步骤(5)当t不等于100时,t--,并触发重绘,跳回到步骤(2)。步骤(6)我们建立一个链表数组来记录因用户旋转视口而导致点光源相对于模型方向改变时,我们所映射的三角形法向量需要作出相应改变。步骤(6-1)在片段着色器中,计算点光源向量与每个三角形法向量的夹角g,对顶点进行分类,并存储在图所示的数据结构中,ABCDE中存储g的不同大小值,aabbccddee中存储被分类的三角形坐标,建立一个全局变量gt来记录视口旋转角度的累计值,每次当视口发生变化时,首先将累计值加到A本文档来自技高网...
一种用于虚拟手术系统切割时的高效渲染方法

【技术保护点】
一种用于虚拟手术切割时的高效渲染方法,其特征在于,主要包括:A.在虚拟手术系统环境中实现的高效渲染方法,其特征在于:A1.用于虚拟手术系统中手术刀和人体组织发生碰撞及切割时的渲染方法,将手术刀和人体组织的基本网格模型作为输入(矩形网格或三角形网格)A2.计算手术刀和人体组织模型的OBB包围盒B.当手术刀和人体组织模型的包围盒发生碰撞时,输出所有涉及到的顶点的位置和法向量,以及顶点间的拓扑关系。将这些数据传入顶点着色器进行数据加工,其特征包括:B1.使用一种特殊的内存模型存储数据,特别地使用2D纹理的红色组件存储高度值,在蓝色组件中存储一个时间戳t,并初始化为0。X和Y分别是顶点的x和y轴方向两个分量坐标,RGB分别是红绿蓝颜色组件,S和T用于存储切向量B2.在顶点着色器中以

【技术特征摘要】
1.一种用于虚拟手术切割时的高效渲染方法,其特征在于,主要包括:A.在虚拟手术系统环境中实现的高效渲染方法,其特征在于:A1.用于虚拟手术系统中手术刀和人体组织发生碰撞及切割时的渲染方法,将手术刀和人体组织的基本网格模型作为输入(矩形网格或三角形网格)A2.计算手术刀和人体组织模型的OBB包围盒B.当手术刀和人体组织模型的包围盒发生碰撞时,输出所有涉及到的顶点的位置和法向量,以及顶点间的拓扑关系。将这些数据传入顶点着色器进行数据加工,其特征包括:B1.使用一种特殊的内存模型存储数据,特别地使用2D纹理的红色组件存储高度值,在蓝色组件中存储一个时间戳t,并初始化为0。X和Y分别是顶点的x和y轴方向两个分量坐标,RGB分别是红绿蓝颜色组件,S和T用于存储切向量B2.在顶点着色器中以(从程序中读取的所有顶点中两个距离最远顶点的连线方向)为x轴方向、世界坐标系的z轴方向坐标系,并建立相应模型视图投影矩阵,并且申请一块帧缓存用于记录视口坐标系的变化角度的向量B3.加载切割伤口的纹理贴图C.片段着色器将接受顶点着色器处理过的顶点信息,并在此着色器中计算顶点的切向量和并存储到相应的纹理组件中。D.通过向量和计算表面法向量并用于...

【专利技术属性】
技术研发人员:王沫楠边普阳
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1