一种基于三维点云的实时透明物体GPU并行生成方法技术

技术编号:8301065 阅读:203 留言:0更新日期:2013-02-07 04:57
一种基于三维点云的实时透明物体GPU并行生成方法,步骤为:(1)生成背景贴图,非透明物体;(2)生成透明物体几何缓冲,生成球体的方式生成所有三维点,利用硬件深度检测获得近视平面的深度值,同时保存透明物体材质信息;(3)平滑深度,用几何缓冲中的深度信息,对深度值进行平滑滤波从而获得光滑表面;(4)计算透明物体厚度,生成所有三维点,利用硬件Alpha混合计算透明物体厚度;(5)透明物体着色,用深度值及材质信息对透明物体进行光照计算,利用厚度值计算透明物体的折射反射属性,再利用背景贴图以完成着色。本发明专利技术避免了传统方法中表面重建的步骤,可以满足百万级别基于点云的透明物体实时生成的需求。

【技术实现步骤摘要】

本专利技术是ー种利用对深度图平滑滤波的方法从数值仿真或者采集得到的三维点云中直接生成出透明物体的GPU并行技术,用于真实感虚拟现实环境中透明物体的生成。
技术介绍
在透明物体建模过程中常常通过采集或者是仿真的方法获得物体的的点云表示,如通过三维扫描仪可以直接获得真实物体表面的大量离散点的空间位置。另外,可交互的流体的仿真作为透明物体主要的生成方法常常使用光滑流体动力学(Smoothed ParticleHydrodynamics,简称 SPH)。文献 1-Gingold RA, Monaghan JJ (1977) Smoothed particlehydrodynamics—theory and application to non-spherical stars. Mon Not R AstronSocl81:375389首先提出了 SPH方法,SPH方法是用大量离散的粒子近似表示流体,通过核函数逼近和粒子逼近实现流体的仿真,整个过程是在连续域中实现的,不但可以处理大变形的物体,而且对于细节问题也有很好的效果。对于原始点云表示的透明物体的真实感生成,传统的方法需要重建表面,常用的表面重建方法首先定义ー种标量场,如密度场,使用特定的核函数对点云在定义的采样空间内进行卷积运算得到透明物体几何的离散标量场;接着使用构建隐式表面的方法或者直接生成的方法对追踪得到的流体表面进行生成。文献2-L0RENSEN,W. E.,ANDCLINE, H. E. 1987.Marching cubes : A high resolution3d surface constructionalgorithm. SIGGRAPH Comput. Graph. 21, 4, 163169.在构建隐式表面然后再使用 MarchingCubes 算法对流体进行生成。文献 3-Fraedrich, R. ; Auer, S. ; Westermann, R. 〃Efficient High-Quality Volume Rendering of SPH Data, Visualization and ComputerGraphics, IEEE Transactions on, vol. 16, no. 6, pp. 1533-1540,Nov. -Dec. 2010 提出一种与视点相关的透视网格算法,对于不同视点实时构造透视网格对点云数据采样接着使用改进过的Raycasting算法直接生成透明物体表面。使用上述方法需要对于每ー帧都需要构建整个标量场再追踪表面最后生成物体,计算规模大访存开销大,难以满足实时应用程序要求,文献 4-MUller, Μ.,SCHIRM, S.,AND DUTHALER, S. 2007. Screen space meshes. InSCA’ 07:Proceedings of the2007ACM SIG-GRAPH/Eurographics symposium on Computeranimation, Eurograpnics Association,Aire-la-Ville, Switzerland, Switzerland, 915.提出了在眼坐标系中生成三维点云的边界作为网格的方法,这种方法只构造透明物体的可见表面,首先计算屏幕空间内每个像素的深度,接着光滑获得的深度图然后从深度图中构造多边形网格,但是这种方法构造的深度图不能直接映射到GPU上,同时构造网格的过程也是复杂的计算过程。对于需要进行重新采样获得标量场进而追踪表面的方法来说,重采样的过程本身难以保证原始信号的细节,在之后的表面追踪过程中又会导致原始物体细节的进ー步丢失,而且重建表面的过程往往会存在计算量大、放存次数多的问题,难以适应实时或者可交互级别程序的应用;在眼坐标系中构建网格的方法虽然不需要构建中间标量场,但是直接从点云中构造网格的速度随着点的数量増加而变慢,同样难以对大規模的点云进行透明物体的实时生成。
技术实现思路
本专利技术的技术解决问题克服现有技术的不足,提供一种与视点相关的三维点云表示的透明物体直接生成方法,该方法不需要构建中间标量场,直接使用原始的点云数据,保持了透明物体的细节,同时该方法是ー种与视点相关的方法,可以利用硬件剔除大量不可见的点,使计算量小,此外该方法对于硬件要求不高,可以适应不同平台对实时性和交互性的要求便于不同平台的移植。本专利技术的技术解决方案一种基于三维点云的实时透明物体GPU并行生成方法,其特点在于步骤如下(I)生成背景贴图;(2)生成透明物体的几何缓冲,将点云作为球体进行生成,利用硬件深度检测获得近视平面的深度值,同时在着色器中计算并保存透明物体材质信息;( 3 )利用几何缓冲中的深度信息,平滑深度;(4)再次使用球体生成所有三维点,计算透明物体厚度;(5)透明物体着色,利用几何缓冲对透明物体使用光照算法进行光照计算,利用厚度值计算透明物体的折射反射光线,并利用折射光线对背景贴图采样获得当前像素点的背景颜色,最后通过融合操作以完成着色。 所述步骤(I)生成背景贴图时根据场景规模和光照情况选择不同的生成方法,场景中不透明物体数量Ns与光源数量N1的比值老为V,设定ー个阈值n,当V < η的时候使用延时绘制管线,否则使用传统的绘制管线。所述步骤(2)中生成透明物体几何缓冲时,使用精灵点算法生成所有三维点,同时修正当前所在像素的深度值;利用步骤(I)中保留的深度值,使用深度检测方法可以对不可见的三维点进行剔除从而大幅度減少实际生成的三维点数目。对生成三维点后所在像素深度值的过程为根据相机的位置计算精灵点大小权利要求1.一种基于三维点云的实时透明物体GPU并行生成方法,其特征步骤如下 (1)生成背景贴图; (2)生成透明物体的几何缓冲,按球体生成点云,利用硬件深度检测获得近视平面的深度值,同时在着色器中计算并保存透明物体材质信息; (3)利用几何缓冲中的深度信息,平滑深度; (4)再次按球体生成点云,利用硬件Alpha混合累加计算透明物体厚度; (5)透明物体着色,利用几何缓冲对透明物体使用光照算法进行光照计算,利用厚度值计算透明物体的折射反射光线,并利用折射光线对背景贴图采样获得当前像素点的背景颜色,最后通过融合操作完成着色。2.根据权利要求I所述的基于三维点云的实时透明物体GPU并行生成方法,其特征在于所述步骤(I)中,生成背景贴图时根据场景规模和光照情况选择不同的生成方法,场景中不透明物体数量Ns与光源数量N1的比值,为V,设定ー个阈值n,当V < η的时候使用延时绘制管线,否则使用传统的绘制管线。3.根据权利要求I所述的基于三维点云的实时透明物体GPU并行生成方法,其特征在干所述步骤(2)中,生成透明物体几何缓冲时,使用精灵点方法生成所有三维点,同时修正当前所在像素的深度值;利用步骤(I)中保留的深度值,使用深度检测方法可以对不可见的三维点进行剔除,从而大幅度減少实际生成的三维点数目。4.根据权利要求I所述的基于三维点云的实时透明物体GPU并行生成方法,其特征在于所述步骤(3)中,平滑深度将双边滤波器分为横向和纵向两个方向依次对输入图像进行平滑。5.根据权利要求I本文档来自技高网
...

【技术保护点】
一种基于三维点云的实时透明物体GPU并行生成方法,其特征步骤如下:(1)生成背景贴图;(2)生成透明物体的几何缓冲,按球体生成点云,利用硬件深度检测获得近视平面的深度值,同时在着色器中计算并保存透明物体材质信息;(3)利用几何缓冲中的深度信息,平滑深度;(4)再次按球体生成点云,利用硬件Alpha混合累加计算透明物体厚度;(5)透明物体着色,利用几何缓冲对透明物体使用光照算法进行光照计算,利用厚度值计算透明物体的折射反射光线,并利用折射光线对背景贴图采样获得当前像素点的背景颜色,最后通过融合操作完成着色。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵斌沈旭昆张凤全龙翔赵沁平
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1