技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种多体积热图渲染的方法、存储介质和设备与流程  >  正文

一种多体积热图渲染的方法、存储介质和设备与流程

  • 国知局
  • 2024-10-15 09:20:00

本发明涉及图像处理,特别地涉及一种基于计算着色器的多体积热图渲染的方法、存储介质和设备。

背景技术:

1、常见热力图是基于网格模型表面进行着色的,无法体现模型内部的热力分布,或者是普通的体积热图限制于渲染效率,只能同时对一个体积进行渲染,且多个体积之间存在透明排序问题,在渲染3d场景时随相机视角变化,体积渲染之间会出现不同程度的渲染遮挡错误。

技术实现思路

1、有鉴于此,本发明提出一种基于计算着色器的多体积热图渲染的方法、存储介质和设备,利用计算着色器对体积数据执行快速进行分组、排序,能够高效渲染出支持透明排序、深度测试的多体积热图。

2、本发明第一方面提供一种多体积热图渲染的方法,该方法包括:获取场景热点数据、体积数据及场景缓冲数据,设置光线步进参数和蓝噪声纹理;对屏幕空间进行网格分组,得到多个网格单元,利用计算着色器对体积数据进行处理,得到包含在当前网格单元内的体积数据,并对当前网格单元内的体积数据排序;利用计算着色器和光线步进参数对当前像素所处的网格单元中已排序的体积数据进行相交性检测,根据检测结果对当前像素进行光线步进,得到当前像素颜色;利用所述场景缓冲数据和所述蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面。

3、进一步的,所述获取场景热点数据、体积数据及场景缓冲数据,设置光线步进参数和蓝噪声纹理包括:获取用户设置的场景热点数据及体积数据,并存储到图形处理器的常量缓冲中,其中,所述场景热点数据包括热点位置、热点辐射半径和热点辐射权重;设置降采样参数,并传入蓝噪声纹理;获取渲染器提供的场景缓冲数据,其中,所述场景缓冲数据包括场景颜色缓冲和场景深度缓冲;构建图形处理器的分组容器和排序容器;设置光线步进参数,其中,所述光线步进参数包括相机世界坐标、相机方向和光线步进距离。

4、进一步的,所述利用计算着色器对体积数据进行处理,得到包含在当前网格单元内的体积数据包括:遍历体积数据,构建每个体积的检测模型;基于每个体积的检测模型,对当前网格单元进行相交检测,得到包含在当前网格单元内的体积数据并存储至排序容器和分组容器中。

5、进一步的,所述遍历体积数据,构建每个体积的检测模型包括:遍历体积数据中的每个体积,将每个体积的中心点变换到屏幕空间,得到每个体积在屏幕空间内的中心点;将每个体积的多个顶点世界坐标变换到屏幕空间,并计算在屏幕空间内每个体积的多个顶点距离中心点的最大距离;以每个体积在屏幕空间内的中心点为中心,最大距离为半径,构建每个体积对应的圆形,将该圆形作为体积的检测模型。

6、进一步的,所述基于每个体积的检测模型,对当前网格单元进行相交检测,得到包含在当前网格单元内的体积数据并存储至排序容器和分组容器中包括:利用每个体积对应的检测模型对当前网格单元进行相交检测,判断二者是否有交点;如果检测模型和当前网格单元有交点,则表明该检测模型对应的体积数据包含在当前网格单元内,计算体积中心的场景深度,并将体积数据、体积序号及场景深度存储到排序容器中,将包含在当前网格单元内的体积个数累加存储到分组容器中。

7、进一步的,所述对当前网格单元内的体积数据排序包括:利用计算着色器生成多个线程;利用每个线程从分组容器中获取当前网格单元中包含的体积个数,从排序容器中获取到当前网格单元中的体积数据和体积中心的场景深度,并根据体积中心的场景深度对当前网格单元中的体积数据进行降序排序。

8、进一步的,所述利用计算着色器和光线步进参数对当前像素所处的网格单元中已排序的体积数据进行相交性检测,根据检测结果对当前像素进行光线步进,得到当前像素颜色包括:利用计算着色器生成多个线程;根据当前像素所处的网格单元中已排序的体积数据,确定当前像素的最小体积深度;利用每个线程根据相机世界坐标和相机方向对当前像素所处的网格单元中每个体积进行射线-方向包围盒相交性检测,得到光线进出方向包围盒的两个交点;利用获取的场景深度缓冲和当前像素的最小体积深度对当前像素进行光线步进,直至当前像素的最小体积深度小于场景深度缓冲则停止光线步进;根据光线步进距离对当前像素光线在两个交点之间的步进路径进行采样,得到多个采样点;利用每个采样点对获取的场景热点数据中的热点位置进行反距离差值计算,得到采样系数;对当前像素光线步进路径上所有的采样系数进行累加得到采样总系数;根据采样总系数,设置当前像素颜色和当像素透明度。

9、进一步的,所述利用所述场景缓冲数据和所述蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面包括:利用当前像素透明度,对场景颜色缓冲和当前像素颜色进行线性插值计算,得到新的颜色;采用所述蓝噪声纹理对新的颜色进行处理,并将处理后的颜色输出至用户展示页面。

10、本发明第二方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的多体积热图渲染的方法中的步骤。

11、本发明第三方面提供一种多体积热图渲染设备,该设备包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上所述的多体积热图渲染的方法中的步骤。

12、上述的多体积热图渲染的方法,基于计算着色器对体积数据进行快速分组、排序,剔除大量不必要的计算,大幅度提升后续光线步进采样速率,能够高效渲染出支持透明排序、深度测试的多体积热图。

技术特征:

1.一种多体积热图渲染的方法,其特征在于,包括:

2.根据权利要求1所述的多体积热图渲染的方法,其特征在于,所述获取场景热点数据、体积数据及场景缓冲数据,设置光线步进参数和蓝噪声纹理包括:

3.根据权利要求2所述的多体积热图渲染的方法,其特征在于,所述利用计算着色器对体积数据进行处理,得到包含在当前网格单元内的体积数据包括:

4.根据权利要求3所述的多体积热图渲染的方法,其特征在于,所述遍历体积数据,构建每个体积的检测模型包括:

5.根据权利要求3所述的多体积热图渲染的方法,其特征在于,所述基于每个体积的检测模型,对当前网格单元进行相交检测,得到包含在当前网格单元内的体积数据并存储至排序容器和分组容器中包括:

6.根据权利要求5所述的多体积热图渲染的方法,其特征在于,所述对当前网格单元内的体积数据排序包括:

7.根据权利要求2所述的多体积热图渲染的方法,其特征在于,所述利用计算着色器和光线步进参数对当前像素所处的网格单元中已排序的体积数据进行相交性检测,根据检测结果对当前像素进行光线步进,得到当前像素颜色包括:

8.根据权利要求7所述的多体积热图渲染的方法,其特征在于,所述利用所述场景缓冲数据和所述蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8中任一项所述的多体积热图渲染的方法中的步骤。

10.一种多体积热图渲染设备,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1-8中任一项所述的多体积热图渲染的方法中的步骤。

技术总结本发明公开了一种多体积热图渲染的方法、存储介质和设备,该方法包括:获取场景热点数据、体积数据及场景缓冲数据;对屏幕空间进行网格分组,得到多个网格单元,利用计算着色器对体积数据进行处理,得到包含在当前网格单元内的体积数据,并对当前网格单元内的体积数据排序;利用计算着色器和光线步进参数对当前像素所处的网格单元中已排序的体积数据进行相交性检测,根据检测结果对当前像素进行光线步进,得到当前像素颜色;利用所述场景缓冲数据和所述蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面。本发明利用计算着色器对体积数据执行快速进行分组、排序,能够高效渲染出支持透明排序、深度测试的多体积热图。技术研发人员:董伟,张佳亮,黄正雨,井刚,李鉴,乐世华,赵振杉受保护的技术使用者:北京优锘科技有限公司技术研发日:技术公布日:2024/10/10

本文地址:https://www.jishuxx.com/zhuanli/20241015/313775.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。