CN107689076A - 一种用于虚拟手术系统切割时的高效渲染方法 - Google Patents

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

Info

Publication number
CN107689076A
CN107689076A CN201710748343.XA CN201710748343A CN107689076A CN 107689076 A CN107689076 A CN 107689076A CN 201710748343 A CN201710748343 A CN 201710748343A CN 107689076 A CN107689076 A CN 107689076A
Authority
CN
China
Prior art keywords
vector
triangle
viewport
virtual operation
summit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710748343.XA
Other languages
English (en)
Other versions
CN107689076B (zh
Inventor
王沫楠
边普阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin University of Science and Technology
Original Assignee
Harbin University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin University of Science and Technology filed Critical Harbin University of Science and Technology
Priority to CN201710748343.XA priority Critical patent/CN107689076B/zh
Publication of CN107689076A publication Critical patent/CN107689076A/zh
Application granted granted Critical
Publication of CN107689076B publication Critical patent/CN107689076B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

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

Description

一种用于虚拟手术系统切割时的高效渲染方法
技术领域
本发明涉及计算机渲染领域,提出了一种用于虚拟手术切割的高效渲染的新方法,其目的是在程序前端运算速度不够快时,加速程序的渲染速度。
背景技术
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=gc mod 360 (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来记录视口旋转角度的累计值,每次当视口发生变化时,首先将累计值加到ABCDE所记录的原始值gc中,并由公式(2)对gc计算:
gc=gc mod 360 (2)
步骤(6-2)当用户改变视口时,,gt都将记录视口改变的累计值,并刷新链表数组中所有三角形面片对应的gc值。
步骤(6-3)对gc值进行判断:
当gc值大于180时,片段着色器将不对所在三角形进行绘制(因为根本不会看到这个三角形)。
当gc值小于180时,此时片段着色器对三角形进行绘制。
步骤(6-4)将我们筛选过的三角形片面进行光栅化,显示到屏幕上。
本发明未详细阐述的部分属于本领域公知技术。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种用于虚拟手术切割时的高效渲染方法,其特征在于,主要包括:
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的旋转角度Ang由公式(1)确定
其中是每个顶点到x轴的向量的叉乘方向
E.设置光照混合模型,应用于在2D纹理组件中存储的2维三角形坐标及其存储的原始3维三角的法向量,使其看起来获得了三维效果。
F.光栅化,绘制图元,得到初步效果
G.设定一个迭代变量t,当t不等于100时,t--,并触发重绘。
H.建立一个链表数组来记录因用户旋转视口而导致点光源相对于模型方向改变时,我们所映射的三角形法向量需要作出相应改变。
2.根据权利要求书1,一种用于虚拟手术切割时的高效渲染方法,其特征在于,所述步骤H具体包括:
在片段着色器中,计算点光源向量与每个三角形法向量的夹角g,对顶点进行分类,并存储在图4所示的数据结构中,ABCDE中存储g的不同大小值,aabbccddee中存储被分类的三角形坐标,建立一个全局变量gt来记录视口旋转角度的累计值,每次当视口发生变化时,设置一个原始值为0的变量gc,首先将累计值加到ABCDE所记录的原始值gc中,并由公式(2)对gc计算:
gc=gc mod 360 (2)
当gc大于180°时,片段着色器不会绘制其所在的三角形。
CN201710748343.XA 2017-08-28 2017-08-28 一种用于虚拟手术系统切割时的高效渲染方法 Expired - Fee Related CN107689076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710748343.XA CN107689076B (zh) 2017-08-28 2017-08-28 一种用于虚拟手术系统切割时的高效渲染方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710748343.XA CN107689076B (zh) 2017-08-28 2017-08-28 一种用于虚拟手术系统切割时的高效渲染方法

Publications (2)

Publication Number Publication Date
CN107689076A true CN107689076A (zh) 2018-02-13
CN107689076B CN107689076B (zh) 2018-09-04

Family

ID=61155508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710748343.XA Expired - Fee Related CN107689076B (zh) 2017-08-28 2017-08-28 一种用于虚拟手术系统切割时的高效渲染方法

Country Status (1)

Country Link
CN (1) CN107689076B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807827A (zh) * 2018-08-01 2020-02-18 辉达公司 系统生成稳定的重心坐标和直接平面方程访问
CN113160412A (zh) * 2021-04-23 2021-07-23 福建天晴在线互动科技有限公司 一种基于纹理贴图的软件模型自动生成方法及系统
CN113643191A (zh) * 2020-04-27 2021-11-12 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559741A (zh) * 2013-11-25 2014-02-05 武汉大学 虚拟手术中基于粒子的多相耦合方法
CN104463948A (zh) * 2014-09-22 2015-03-25 北京大学 三维虚拟现实系统与地理信息系统的无缝可视化方法
US20160117857A1 (en) * 2014-10-02 2016-04-28 Inneroptic Technology, Inc. Affected region display
CN105913718A (zh) * 2016-07-08 2016-08-31 哈尔滨理工大学 一种埋线提升整形手术仿真系统
WO2017083768A1 (en) * 2015-11-12 2017-05-18 Jarc Anthony Michael Surgical system with training or assist functions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559741A (zh) * 2013-11-25 2014-02-05 武汉大学 虚拟手术中基于粒子的多相耦合方法
CN104463948A (zh) * 2014-09-22 2015-03-25 北京大学 三维虚拟现实系统与地理信息系统的无缝可视化方法
US20160117857A1 (en) * 2014-10-02 2016-04-28 Inneroptic Technology, Inc. Affected region display
WO2017083768A1 (en) * 2015-11-12 2017-05-18 Jarc Anthony Michael Surgical system with training or assist functions
CN105913718A (zh) * 2016-07-08 2016-08-31 哈尔滨理工大学 一种埋线提升整形手术仿真系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807827A (zh) * 2018-08-01 2020-02-18 辉达公司 系统生成稳定的重心坐标和直接平面方程访问
CN110807827B (zh) * 2018-08-01 2024-06-07 辉达公司 系统生成稳定的重心坐标和直接平面方程访问
CN113643191A (zh) * 2020-04-27 2021-11-12 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备
CN113643191B (zh) * 2020-04-27 2023-08-15 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备
CN113160412A (zh) * 2021-04-23 2021-07-23 福建天晴在线互动科技有限公司 一种基于纹理贴图的软件模型自动生成方法及系统
CN113160412B (zh) * 2021-04-23 2023-06-30 福建天晴在线互动科技有限公司 一种基于纹理贴图的软件模型自动生成方法及系统

Also Published As

Publication number Publication date
CN107689076B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
US11024077B2 (en) Global illumination calculation method and apparatus
Woo et al. A survey of shadow algorithms
US6903741B2 (en) Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US7116337B2 (en) Transparent depth sorting
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
US8243081B2 (en) Methods and systems for partitioning a spatial index
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
Ernst et al. Early split clipping for bounding volume hierarchies
Nießner et al. Real‐time rendering techniques with hardware tessellation
Schneider et al. Real-time rendering of complex vector data on 3d terrain models
Méndez-Feliu et al. From obscurances to ambient occlusion: A survey
Davidovič et al. 3D rasterization: a bridge between rasterization and ray casting
CN107689076B (zh) 一种用于虚拟手术系统切割时的高效渲染方法
Decaudin et al. Volumetric billboards
Barringer et al. A4: asynchronous adaptive anti-aliasing using shared memory
Zhang et al. Indirect illumination with efficient monte carlo integration and denoising
Rosen et al. Nonpinhole approximations for interactive rendering
Mantler et al. Displacement mapped billboard clouds
Xu et al. Visualization methods of vector data on a Digital Earth System
WO2024037116A1 (zh) 三维模型的渲染方法、装置、电子设备及存储介质
Wang et al. Ray Tracing Acceleration Algorithm Based on FaceMap
Gavane Improving View Independent Rendering for Multiview Effects
Yang et al. Improving View Independent Rendering for Multiview Effects
Simion et al. Practical gpu and voxel-based indirect illumination for real time computer games
Koo et al. An efficient point rendering using octree and texture lookup

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180904

Termination date: 20190828