CN107248188B - 动态粒子集合的表面渲染方法及系统 - Google Patents

动态粒子集合的表面渲染方法及系统 Download PDF

Info

Publication number
CN107248188B
CN107248188B CN201710371971.0A CN201710371971A CN107248188B CN 107248188 B CN107248188 B CN 107248188B CN 201710371971 A CN201710371971 A CN 201710371971A CN 107248188 B CN107248188 B CN 107248188B
Authority
CN
China
Prior art keywords
particle
rendering
normal vector
fluid
ray
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.)
Active
Application number
CN201710371971.0A
Other languages
English (en)
Other versions
CN107248188A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201710371971.0A priority Critical patent/CN107248188B/zh
Publication of CN107248188A publication Critical patent/CN107248188A/zh
Application granted granted Critical
Publication of CN107248188B publication Critical patent/CN107248188B/zh
Active 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/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

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

Abstract

一种动态粒子集合的表面渲染方法及系统,首先记录目标流体粒子位置数据,通过粒子溅射方法得到粒子集合的深度图并作为流体表面预估,经过光线投射过程查找等值面,并采用GPU并行加速来加速光线投射过程,通过对每个粒子的邻域粒子集的主成分分析来估计流体表面法向量并得到表面法向量图,最后将表面法向量图导入光线追踪器中得到表面渲染结果,本发明将内存与计算资源集中在实际流体表面附近,而不是整个模拟空间,适用于对大规模粒子集合的实时可视化和表面预览,有效地排除噪音干扰,得到了相对平滑的法向量结果,容易嵌入到已有的流体模拟框架中。

Description

动态粒子集合的表面渲染方法及系统
技术领域
本发明涉及的是一种图形处理领域的技术,具体是一种动态粒子集合的表面渲染方法及系统。
背景技术
基于粒子的拉格朗日方法,可以比较快速的进行流体模拟。但是对于动态粒子集合的表面渲染质量差,表面不平滑甚至能看到表面突出的粒子小球,或者表面过于平滑而模糊了大量流体细节。目前的渲染技术对内存要求高,渲染一帧图像就需要几分钟甚至更长的时间。
发明内容
本发明针对现有技术中采用双边滤波方法对深度图得到的平滑结果失真较为严重,无法满足高精度高质量的大规模粒子模拟的需求,并且现有技术多通过叉乘切向量求像素法向,导致法向结果精确性无法得到保证,无法适用于独立粒子渲染等缺陷,提出一种动态粒子集合的表面渲染方法及系统。
本发明是通过以下技术方案实现的:
本发明涉及一种动态粒子集合的表面渲染方法,首先记录目标流体粒子位置数据,通过粒子溅射方法得到粒子集合的深度图并作为流体表面预估,经过光线投射过程查找等值面,并采用GPU并行加速来加速光线投射过程,通过对每个粒子的邻域粒子集进行主成分分析来估计流体表面法向量并得到表面法向量图,最后将表面法向量图导入光线追踪器中得到表面渲染结果。
本发明具体包括以下步骤:
1)采用基于粒子的流体模拟方法进行流体模拟,并记录每一帧流体粒子的粒子位置数据;
2)对粒子位置数据进行解析,并采用粒子溅射方法进行表面深度估计,得到深度图;
3)将深度图作为流体表面的预估,采用光线投射方法,通过SPH密度估计方程定义的标量场来确定等值面,并同时采用GPU并行加速来加速光线投射与采样计算过程;
4)通过主成分分析来估计流体表面法向量并得到表面法向量图;
5)将表面法向量图导入光线追踪器中得到表面渲染结果。
所述的步骤2)具体包括以下步骤:
2.1)采用具有深度偏移的点精灵渲染方式将所有的粒子位置快速渲染成较大的实心球;
2.2)通过深度测试得到深度图;
2.3)调节渲染半径,使得深度图接近实际表面。
所述的SPH密度估计方程定义的标量值其中:xi沿光线的采样位置,mj为粒子质量,pj为粒子的位置,r为采样半径。
所述的GPU并行加速是指令每一个线程对应一个像素光线,沿着投射的射线方向对流体粒子进行间隔采样并计算密度值直到满足定义等值面要求而停止,并将所有光线采样次数接近一致。
所述的步骤4)具体包括以下步骤:
4.1)基于标准的SPH梯度计算,使用Spiky核函数,计算近似法向量
4.2)构造xi处协方差矩阵其中:W(xi-pj,R)=1-(||xi-pj||/R)3
4.3)采用雅克比迭代求解协方差矩阵Ci的三对特征值和特征向量,得到最小特征值对应
的特征向量Ni”;
4.4)计算表面法向量Ni=(1-ω)Ni+ωNi,得到表面法向量图,其中:
所述的表面法向量图采用双边滤波平滑结果。
本发明涉及一种实现上述方法的动态粒子集合的表面渲染系统,包括:位置记录模块、表面深度估计模块、光线投射模块、等值面提取模块、GPU并行加速模块以及表面法向量计算模块,其中:位置记录模块记录粒子位置数据并输送到表面深度估计模块,表面深度估计模块进行表面深度估计后得到深度图,光线投射模块根据深度图进行光线投射,GPU并行加速模块对光线投射过程进行加速,等值面提取模块在光线投射过程中提取等值面,表面法向量计算模块根据等值面计算表面法向量并得到表面法向量图。
技术效果
与现有技术相比,本发明将内存与计算资源集中在实际流体表面附近,而不是整个模拟空间,适用于对大规模粒子集合的实时可视化和表面预览,有效地排除噪音干扰,得到了相对平滑的法向量结果,容易嵌入到已有的流体模拟框架中。
附图说明
图1为本发明流程示意图;
图2为渲染结果对比图。
具体实施方式
本实施例中,采用一立方米水由水池上方自由落入水池的场景作为渲染场景,该场景中,对光线与背景的折射,以及对光线的反射,都可以较为逼真的被展现出来。同时,在渲染过程中,流体本身的物理细节和特征也得以充分展现。
如图1所示,渲染方法中,首先记录目标流体粒子位置数据,通过粒子溅射方法得到粒子集合的深度图并作为流体表面预估,经过光线投射过程查找等值面,并采用GPU并行加速来加速光线投射过程,通过对每个粒子的邻域粒子集进行主成分分析来估计流体表面法向量并得到表面法向量图,即针对每个粒子以其本身为圆心将固定半径的球形区域内所包含的所有粒子作为主成分分析对象从而估计流体表面法向得到表面法向量图,最后将表面法向量图导入光线追踪器中得到表面渲染结果。具体包括以下步骤:
1)采用基于粒子的流体模拟方法进行流体模拟,并记录每一帧流体粒子的粒子位置数据。
2)对粒子位置数据进行解析,并采用粒子溅射方法进行表面深度估计,得到深度图。
2.1)采用具有深度偏移的点精灵渲染方式将所有的粒子位置快速渲染成较大的实心球。即采用有纹理映射并能改变大小的特殊点元,将所有的粒子快速渲染成实心球。
2.2)通过显卡的深度测试能力得到深度图。
2.3)调节渲染半径,使得深度图接近实际表面。使用深度图作为流体表面的预估,辅助光线查找等值面,省略了相机到实际表面的大量空白区域计算。
3)将深度图作为流体表面的预估,采用光线投射方法,通过SPH密度估计方程定义的标量场来确定等值面,并采用GPU并行加速来加速光线投射过程。所述的等值面是指在计算光线投射与采样的过程中,所设置与定义的终止曲面。在光线沿着投射的直线方向间隔对流体粒子进行采样和密度值计算的过程中,定义采样终止值,形成终止曲面。
所述的光线投射是指从相机原点对每一个像素点投射出一条光线,计算每一条光线与流体表面的交点,将所有表面交点放到一起,得到流体的整个表面,设置每一条光线的终止条件为采样达到定义的等值面值。光线不会穿入流体内部,所得到的表面为基于屏幕空间的,仅仅渲染得到最靠近相机的那一层流体表面。
所述的SPH密度估计方程定义的标量场的标量值其中:xi沿光线的采样位置,mj为粒子质量,mj取值为1,pj为粒子的位置,r为采样半径。采用Poly6作为密度估计的平滑核函数。采样半径r大小设置为流体模拟的粒子影响半径h。
光线投射方法是在GPU上实现,GPU并行加速是指令每一个线程对应一个像素光线,沿着投射的射线方向对流体粒子进行间隔采样并计算密度值直到满足定义等值面要求而停止,并将所有光线采样次数接近一致。
4)通过主成分分析来估计流体表面法向量并得到表面法向量图。具体步骤包括:
4.1)基于标准的SPH梯度计算,使用Spiky核函数,计算近似法向量
4.2)构造xi处协方差矩阵其中:W(xi-pj,R)=1-(||xi-pj||/R)3
4.3)采用雅克比迭代求解协方差矩阵Ci的三对特征值和特征向量,得到最小特征值对应
的特征向量Ni″。
4.4)计算表面法向量Ni=(1-ω)Ni+ωNi,得到表面法向量图,其中:d为10,k为0.998。对于输出的法向量图像进行了一步双边滤波,进一步平滑所得结果。
5)将表面法向量图导入光线追踪器中得到表面渲染结果。
本实施例涉及一种实现上述方法的动态粒子集合的表面渲染系统,包括:位置记录模块,表面深度估计模块、光线投射模块、等值面提取模块、GPU并行加速模块以及表面法向量计算模块,其中:位置记录模块记录粒子位置数据并输送到表面深度估计模块,表面深度估计模块进行表面深度估计后得到深度图,光线投射模块根据深度图进行光线投射,GPU并行加速模块对光线投射过程进行加速,等值面提取模块在光线投射过程中提取等值面,表面法向量计算模块根据等值面计算表面法向量并得到表面法向量图。
如图2所示,三个渲染模型从左到右,依次为采用屏幕空间方法、各向异性渲染方法和本发明方法得到的渲染图。对同一动态粒子集合的表面提取结果中,屏幕空间渲染方法的输出结果所得到的表面质量很差。而采用各向异性核改进的屏幕空间方法的渲染结果,相比于直接的屏幕空间方法,表面平滑了很多,但是表面仍旧凹凸不平。很明显,相比于前两种实时渲染方法,本发明方法得到了更加平滑的表面。
同粒子数的不同场景进行了不同分辨率情况下的渲染实验,表1中列出了不同粒子情况下渲染所需的运行时间。从表1所列出的实验数据中,本发明方法可实时渲染包含超过两百万粒子的流体场景。特别地,我们能够在交互的水平下处理超过一亿两千万粒子的大规模场景。
表1不同分辨率粒子的渲染时间
与现有技术相比,本发明将内存与计算资源集中在实际流体表面附近,而不是整个模拟空间,适用于对大规模粒子集合的实时可视化和表面预览,利用其低通滤波特性,有效地排除噪音干扰,得到了相对平滑的法向量结果,本发明方法容易嵌入到已有的流体模拟框架中。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (5)

1.一种动态粒子集合的表面渲染方法,其特征在于,包括以下步骤:
1)采用基于粒子的流体模拟方法进行流体模拟,并记录每一帧流体粒子的粒子位置数据;
2)对粒子位置数据进行解析,并采用粒子溅射方法进行表面深度估计,得到深度图;
3)将深度图作为流体表面的预估,采用光线投射方法,通过SPH密度估计方程定义的标量场来确定等值面,并同时采用GPU并行加速来加速光线投射与采样计算过程;
4)通过主成分分析来估计流体表面法向量并得到表面法向量图,具体包括以下步骤:
4.1)基于标准的SPH梯度计算,使用Spiky核函数,计算近似法向量
4.2)构造xi处协方差矩阵其中:W(xi-pj,R)=1-(||xi-pj||/R)3
4.3)采用雅克比迭代求解协方差矩阵Ci的三对特征值和特征向量,得到最小特征值对应的特征向量Ni″;
4.4)计算表面法向量Ni=(1-ω)Ni′+ωNi″,得到表面法向量图,其中:d为10,k为0.998;
5)将表面法向量图导入光线追踪器中得到表面渲染结果。
2.根据权利要求1所述的动态粒子集合的表面渲染方法,其特征是,所述的步骤2)具体包括以下步骤:
2.1)采用具有深度偏移的点精灵渲染方式将所有的粒子位置快速渲染成较大的实心球;
2.2)通过深度测试得到深度图;
2.3)调节渲染半径,使得深度图接近实际表面。
3.根据权利要求2所述的动态粒子集合的表面渲染方法,其特征是,所述的SPH密度估计方程定义的标量值其中:xi沿光线的采样位置,mj为粒子质量,pj为粒子的位置,r为采样半径。
4.根据权利要求3所述的动态粒子集合的表面渲染方法,其特征是,所述的GPU并行加速是指令每一个线程对应一个像素光线,沿着投射的射线方向对流体粒子进行间隔采样并计算密度值直到满足定义等值面要求而停止,并将所有光线采样次数接近一致。
5.根据权利要求1所述的动态粒子集合的表面渲染方法,其特征是,所述的表面法向量图采用双边滤波平滑结果。
CN201710371971.0A 2017-05-24 2017-05-24 动态粒子集合的表面渲染方法及系统 Active CN107248188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710371971.0A CN107248188B (zh) 2017-05-24 2017-05-24 动态粒子集合的表面渲染方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710371971.0A CN107248188B (zh) 2017-05-24 2017-05-24 动态粒子集合的表面渲染方法及系统

Publications (2)

Publication Number Publication Date
CN107248188A CN107248188A (zh) 2017-10-13
CN107248188B true CN107248188B (zh) 2019-12-10

Family

ID=60017185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710371971.0A Active CN107248188B (zh) 2017-05-24 2017-05-24 动态粒子集合的表面渲染方法及系统

Country Status (1)

Country Link
CN (1) CN107248188B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107978014B (zh) * 2017-12-21 2021-06-18 卓米私人有限公司 一种粒子渲染方法、装置、电子设备及存储介质
CN111445489B (zh) * 2019-11-18 2020-10-13 北京邮电大学 一种离子束入射角度确定方法及装置
CN114078177A (zh) * 2020-08-10 2022-02-22 北京字节跳动网络技术有限公司 动态流体效果处理方法、装置、电子设备和可读介质
CN112116693B (zh) * 2020-08-20 2023-09-15 中山大学 一种基于cpu的生物分子可视化光线追踪渲染方法
CN114170341A (zh) * 2021-12-10 2022-03-11 北京字跳网络技术有限公司 一种图像处理方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049927A (zh) * 2013-01-17 2013-04-17 浙江大学 基于gpu集群的实时光线跟踪渲染方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049927A (zh) * 2013-01-17 2013-04-17 浙江大学 基于gpu集群的实时光线跟踪渲染方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Real-Time Rendering of Point Based Water Surfaces;Kei Iwasaki et al.;《CGI 2006》;20061231;第3-4节 *
Real-time screen-space liquid rendering with complex refractions;T. Imai et al.;《Computer Animation and Virtual Worlds》;20160531;第27卷(第3-4期);第1-4节 *
Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernels;Jihun Yu et al.;《ACM SIGGRAPH Symposium on Computer Animation》;20101231;全文 *

Also Published As

Publication number Publication date
CN107248188A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
CN107248188B (zh) 动态粒子集合的表面渲染方法及系统
Zhang et al. How to fully exploit the abilities of aerial image detectors
CN108701376B (zh) 三维图像的基于识别的对象分割
CN112258658B (zh) 一种基于深度相机的增强现实可视化方法及应用
CN112257605B (zh) 基于自标注训练样本的三维目标检测方法、系统及装置
CN105913028B (zh) 一种基于face++平台的人脸跟踪方法及其装置
CN106530271B (zh) 一种红外图像显著性检测方法
CN114638784A (zh) 一种基于fe-yolo的铜管表面缺陷检测方法及装置
CN112070782B (zh) 识别场景轮廓的方法、装置、计算机可读介质及电子设备
WO2019127102A1 (zh) 信息处理方法、装置、云处理设备以及计算机程序产品
US10748027B2 (en) Construction of an efficient representation for a three-dimensional (3D) compound object from raw video data
CN102063727B (zh) 一种基于协方差匹配的主动轮廓跟踪方法
US20150131873A1 (en) Exemplar-based feature weighting
CN109214350B (zh) 一种光照参数的确定方法、装置、设备及存储介质
WO2019169594A1 (en) Methods and apparatus to generate three-dimensional (3d) model for 3d scene reconstruction
Chen et al. A particle filtering framework for joint video tracking and pose estimation
CN115908684A (zh) 视觉感知驱动的自适应三维场景渲染方法、系统及设备
CN106462975A (zh) 用于对象跟踪和经由背景跟踪进行分割的方法和装置
CN113129352A (zh) 一种稀疏光场重建方法及装置
CN111325763A (zh) 一种基于光场重聚焦的遮挡预测方法和装置
CN110827262A (zh) 一种基于连续有限帧红外图像的弱小目标检测方法
CN109523590B (zh) 一种基于样例的3d图像深度信息视觉舒适度评估方法
CN103646397B (zh) 基于多源数据融合的实时合成孔径透视成像方法
CN104123724B (zh) 一种3d点云物体的快速检测方法
US8891857B2 (en) Concave surface modeling in image-based visual hull

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