[发明专利]动态粒子集合的表面渲染方法及系统有效
申请号: | 201710371971.0 | 申请日: | 2017-05-24 |
公开(公告)号: | CN107248188B | 公开(公告)日: | 2019-12-10 |
发明(设计)人: | 杨旭波;张帅;肖祥云 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/06;G06T1/20 |
代理公司: | 31201 上海交达专利事务所 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 粒子 集合 表面 渲染 方法 系统 | ||
一种动态粒子集合的表面渲染方法及系统,首先记录目标流体粒子位置数据,通过粒子溅射方法得到粒子集合的深度图并作为流体表面预估,经过光线投射过程查找等值面,并采用GPU并行加速来加速光线投射过程,通过对每个粒子的邻域粒子集的主成分分析来估计流体表面法向量并得到表面法向量图,最后将表面法向量图导入光线追踪器中得到表面渲染结果,本发明将内存与计算资源集中在实际流体表面附近,而不是整个模拟空间,适用于对大规模粒子集合的实时可视化和表面预览,有效地排除噪音干扰,得到了相对平滑的法向量结果,容易嵌入到已有的流体模拟框架中。
技术领域
本发明涉及的是一种图形处理领域的技术,具体是一种动态粒子集合的表面渲染方法及系统。
背景技术
基于粒子的拉格朗日方法,可以比较快速的进行流体模拟。但是对于动态粒子集合的表面渲染质量差,表面不平滑甚至能看到表面突出的粒子小球,或者表面过于平滑而模糊了大量流体细节。目前的渲染技术对内存要求高,渲染一帧图像就需要几分钟甚至更长的时间。
发明内容
本发明针对现有技术中采用双边滤波方法对深度图得到的平滑结果失真较为严重,无法满足高精度高质量的大规模粒子模拟的需求,并且现有技术多通过叉乘切向量求像素法向,导致法向结果精确性无法得到保证,无法适用于独立粒子渲染等缺陷,提出一种动态粒子集合的表面渲染方法及系统。
本发明是通过以下技术方案实现的:
本发明涉及一种动态粒子集合的表面渲染方法,首先记录目标流体粒子位置数据,通过粒子溅射方法得到粒子集合的深度图并作为流体表面预估,经过光线投射过程查找等值面,并采用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;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710371971.0/2.html,转载请声明来源钻瓜专利网。