发布信息

一种屏幕空间热力图渲染的方法、存储介质和设备与流程 专利技术说明

作者:admin      2023-07-07 08:37:48     553



计算;推算;计数设备的制造及其应用技术1.本发明涉及图像处理技术领域,特别地涉及一种基于计算着色器的屏幕空间热力图渲染的方法、存储介质和设备。背景技术:2.屏幕空间热力图是通过屏幕空间数据重建3d场景,并采样场景热点数据,绘制出热力图效果。目前,屏幕空间热力图渲染的方法主要是通过后期着色器对场景热点数据进行采样着色。但是现有的屏幕空间热力图受制于渲染性能问题,热点数据量一般只能控制在一千个左右,导致热力图无法很好的贴合到场景模型上,热图表现精度降低。技术实现要素:3.有鉴于此,本发明提出一种基于计算着色器的屏幕空间热力图渲染的方法、存储介质和设备,利用计算着色器对热点数据在屏幕空间进行分组并记录每组热点数据,降低每像素最终热点采样的数量,大幅提升屏幕空间热力图渲染效率。4.本发明第一方面提供一种屏幕空间热力图渲染的方法,该方法包括:获取场景热点数据及场景缓冲数据,并设置蓝噪声纹理;对屏幕空间进行网格分组,得到多个网格单元,利用计算着色器对场景热点数据进行预处理,并分配到对应的网格单元中;利用计算着色器对屏幕空间的每个像素进行世界坐标重建,并对当前像素所在网格单元中的热点数据进行采样,得到当前像素颜色;利用场景缓冲数据和蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面。5.进一步的,所述获取场景热点数据及场景缓冲数据,并设置蓝噪声纹理包括:获取用户设置的场景热点数据并存储至图形处理器的纹理中,其中,所述场景热点数据包括热点位置、热点辐射半径和热点辐射权重;设置降采样参数,并传入蓝噪声纹理;获取渲染器提供的场景缓冲数据,其中,所述场景缓冲数据包括场景颜色缓冲和场景深度缓冲;构建图形处理器的计数缓冲和分组容器;设置裁剪坐标系到世界坐标系的变换矩阵。6.进一步的,所述对屏幕空间进行网格分组,得到多个网格单元包括:以设定分辨率,将屏幕空间划分为多个网格单元,每个网格单元具有网格序号。7.进一步的,所述利用计算着色器对场景热点数据进行预处理,并分配到对应的网格单元中包括:采样场景热点数据中的热点位置和热点辐射半径,构建检测模型;基于检测模型,对每个网格单元进行相交性检测,根据检测结果将场景热点数据分配到对应的网格单元中。8.进一步的,所述检测模型的构建方法包括:采样预处理后的场景热点数据中的热点位置和热点辐射半径,将热点位置变换到屏幕空间,得到屏幕空间内的热点位置;基于场景热点数据中的热点位置和热点辐射半径,生成一个多面体,并将多面体的所有顶点变换到屏幕空间;计算屏幕空间内多面体的所有顶点到屏幕空间内的热点位置的最大距离;基于屏幕空间内的热点位置和最大距离,构建检测模型。9.进一步的,所述基于检测模型,对每个网格单元进行相交性检测包括:基于检测模型对每个网格单元进行相交性检测,判断检测模型与网格单元是否有交点;如果有交点,则对计数缓冲中序号与网格单元的网格序号的项目的缓冲加一,并将当前热点存储到分组容器中。10.进一步的,所述利用计算着色器对屏幕空间的每个像素进行世界坐标重建,并对当前像素所在网格单元中的场景热点数据进行采样,得到当前像素颜色包括:采样场景深度缓冲,利用场景深度缓冲和裁剪坐标系到世界坐标系变换矩阵,重建当前像素对应的世界坐标;利用当前像素屏幕空间坐标计算得到当前像素所处的网格单元的网格序号,从分组容器中获取到当前网格所包含的场景热点数据;遍历当前网格所包含的每个场景热点数据,计算每个场景热点对应的当前像素辐射值,累加所有场景热点对应的当前像素辐射值得到当前像素辐射总量;利用当前像素辐射总量对当前像素进行颜色差值计算,得到当前像素颜色,并将当前像素辐射总量设置为当前像素透明度。11.进一步的,所述利用场景缓冲数据和蓝噪声纹理,对当前像素颜色和场景颜色进行混合并输出至用户显示页面包括:利用当前像素颜色透明度,对场景颜色缓冲和当前像素颜色进行线性插值计算,得到新的颜色;采用蓝噪声纹理对新的颜色进行处理,并将处理后的颜色输出至用户展示页面。12.本发明第二方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的屏幕空间热力图渲染的方法中的步骤。13.本发明第三方面提供一种屏幕空间热力图渲染设备,该设备包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上所述的屏幕空间热力图渲染的方法中的步骤。14.上述的屏幕空间热力图渲染的方法,基于计算着色器加速热力图分布的预处理,有效剔除无效数据,将最终着色计算量优化到现有技术的0.1%左右,使得最终热力图表现更加精确。附图说明15.为了说明而非限制的目的,现在将根据本发明的优选实施例、特别是参考附图来描述本发明。16.图1是本发明实施例提出的一种屏幕空间热力图渲染的方法的流程图。具体实施方式17.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。18.在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。19.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。20.下面结合附图对本发明实施例提出的屏幕空间热力图渲染的方法进行详细说明。图1是本发明实施例提出的一种屏幕空间热力图渲染的方法的流程图。请参阅图1,该屏幕空间热力图渲染的方法包括以下步骤:21.s100,获取场景热点数据及场景缓冲数据,并设置蓝噪声纹理。在一些实施例中,步骤s100的具体实施方式如下:22.s110,获取用户设置的场景热点数据h并存储至图形处理器的纹理中。23.本发明实施例中,场景热点数据h包括热点位置hp、热点辐射半径hr和热点辐射权重hw。将场景热点数据h存储至图形处理器(gpu)的纹理中。在一些实施例中,将热点位置hp储存至图形处理器(gpu)的纹理tp;热点辐射半径hr和热点辐射权重hw存储至图形处理器(gpu)的纹理trw。24.s120,设置降采样参数,并传入蓝噪声纹理b。25.其中,蓝噪声纹理b用于扰动降采样锯齿。26.其中,降采样参数为蓝噪声纹理b的采样缩放系数。27.s130,获取渲染器提供的场景缓冲数据。28.本发明实施例中,场景缓冲数据包括场景颜色缓冲c和场景深度缓冲d。29.在一些实施例中,通过渲染器接口获取场景颜色缓冲c和场景深度缓冲d。30.s140,构建图形处理器(gpu)的计数缓冲cb和分组容器gb。31.本发明实施例中,构建图形处理器(gpu)的计数缓冲cb和图形处理器(gpu)的分组容器gb。其中,计数缓冲cb和分组容器gb是通过图形接口(directx11/12)创建的无序访问视图(uav)。32.s150,设置裁剪坐标系到世界坐标系的变换矩阵t。33.其中,裁剪坐标系到世界坐标系变换矩阵t用于将屏幕空间的坐标值转换到世界空间,用于3d场景世界坐标重建。34.本发明实施例,先获取场景的热点数据,设置蓝噪声纹理,并获取场景颜色缓冲和场景深度缓冲,构建计数缓冲和分组容器,最后,设置相机参数,以及裁剪坐标系到世界坐标系变换矩阵,便于后续对热点数据采样、预处理及渲染。35.s200,对屏幕空间进行网格分组,得到多个网格单元,利用计算着色器对场景热点数据进行预处理,并分配到对应的网格单元中。在一些实施例中,步骤s200的具体实施方式如下:36.s210,对屏幕空间进行网格分组,得到多个网格单元t。37.本发明实施例中,对屏幕空间进行网格分组时,以1280x720分辨率为例,将屏幕空间划分为32x32像素共40x23个网格单元t,每个网格单元t具有网格左上角tmin,网格右下角tmax,及网格序号tid。38.s220,利用计算着色器生成每组32x32个计算单元的线程组对场景热点数据进行预处理,并分配到对应的网格单元中。39.计算着色器在显卡是运行上非渲染管线之外的程序,用于大规模的并行计算。在一些实施例中,利用计算着色器对场景热点数据进行预处理的具体实现方式如下:40.s221,采样场景热点数据中的热点位置hp和热点辐射半径hr,构建检测模型。41.本发明实施例中,采样预处理后的场景热点数据中的热点位置hp和热点辐射半径hr,将热点位置hp变换到屏幕空间,得到屏幕空间内的热点位置hp’,基于热点位置hp’和热点辐射半径hr,生成一个多面体,并将多面体的所有顶点变换到屏幕空间,计算屏幕空间内多面体的所有顶点到热点位置hp’的最大距离r,基于热点位置hp’和最大距离r,构建检测模型。42.其中,多面体可为六面体,如aabb(轴对齐包围盒)。检测模型可为圆形ch。在其他实施例中,多面体也可为其他多面体结构,检测模型也可为其他形状。43.下面以多面体为aabb(轴对齐包围盒),检测模型为圆形ch为例,对检测模型构建方法进行示例性说明。44.从图形处理器(gpu)的的纹理tp采样热点位置hp,从图形处理器(gpu)的纹理trw采样热点辐射半径hr,将热点位置hp变换到屏幕空间,得到屏幕空间对应的热点位置hp’。在世界坐标系下以采样到的热点位置hp为中心,采样到的热点辐射半径hr为半径,生成一个aabb(轴对齐包围盒),并将aabb八个顶点变换到屏幕空间,计算屏幕空间内aabb八个顶点与变换后的热点位置hp’的最大距离r,构建一个以变换后的热点位置hp’为中心,最大距离r为半径的圆形ch。45.s222,基于检测模型对每个网格单元t进行相交性检测,根据检测结果将场景热点数据分配到对应的网格单元中。在一些实施例中,以检测模型为为圆形ch为例,对网格单元t进行相交性检测的具体实现方式如下:对圆形ch和每个网格单元t进行相交性检测,判断圆形ch与网格单元t是否有交点;如果有交点,则对计数缓冲cb中序号与网格单元的网格序号tid的项目的缓冲加一,并将当前场景热点数据存储到分组容器gb中;46.如果没有交点,则说明该场景热点数据并不属于当前分组容器gb,无需存储到分组容器gb。47.本发明实施例中,采用计算着色器对无效热点进行剔除,降低对无效热点数据的计算量;采用计算着色器对场景热点数据进行屏幕空间分组预处理,大幅度降低每像素着色计算量,以加速渲染。48.s300,利用计算着色器对屏幕空间的每个像素进行世界坐标重建,并对当前像素所在网格单元t中的场景热点数据进行采样,得到当前像素颜色和当前像素透明度。49.本发明实施例中,利用计算着色器对屏幕空间的每个像素进行世界坐标重建,并对当前像素所在网格单元t中的场景热点数据进行采样,得到当前像素颜色pc和当前像素透明度pt。在一些实施例中,步骤s300的具体实施方式如下:50.s310,采样场景深度缓冲d,利用场景深度缓冲d和裁剪坐标系到世界坐标系变换矩阵t,重建当前像素对应的世界坐标p。51.本发明实施例中,首先,采样步骤s130获取的场景深度缓冲d,利用场景深度缓冲d和步骤s150设置的裁剪坐标系到世界坐标系变换矩阵t,重建当前像素对应的世界坐标p。52.本发明实施例中,重建当前像素对应的世界坐标p用于计算与热点的距离,判断当前像素所对应世界坐标点是否受到热点的影响。53.s320,利用当前像素屏幕空间坐标计算得到当前像素所处的网格单元的网格序号tid,从分组容器gb中获取到当前网格所包含的场景热点数据h’。54.本发明实施例中,利用当前像素屏幕空间坐标计算得到当前像素所处网格序号tid,从图形处理器(gpu)的分组容器gb中获取到当前网格所包含的场景热点数据h’。其中,利用当前像素屏幕空间坐标计算得到当前像素所处网格序号tid的方法如下:以32x32网格大小,x为当前像素水平坐标,y为当前像素垂直坐标,则像素对应tid为:tid.x= floor(x / 32)tid.y = floor(y/ 32)55.其中,floor函数为向下取整运算。56.本发明实施例,优化最终着色计算量,使得最终热力图表现更加精确。57.s330,遍历当前网格所包含的每个场景热点数据h’,计算每个场景热点对应的当前像素辐射值f,累加所有场景热点对应的当前像素辐射值f得到当前像素辐射总量f。58.在一些实施例中,当前网格所包含的每个场景热点数据h’均包括热点位置hp,热点半径hr,热点辐射度hw。59.本发明实施例,遍历当前网格所包含的每个场景热点数据h’的热点位置hp,热点半径hr,及热点辐射度hw。采用反距离差值算法计算当前网格所包含的每个场景热点对应的当前像素辐射值f,累加当前网格所包含的所有热点对应的当前像素辐射值f得到当前像素辐射总量f。60.s340,利用当前像素辐射总量f对当前像素进行颜色差值计算,得到当前像素颜色pc,并将当前像素辐射总量f设置为当前像素透明度pt。61.本发明实施例中,利用当前像素辐射总量f对当前像素的颜色从绿色、蓝色到红色进行差值计算,得到当前像素颜色pc,并将当前像素辐射总量f设置为当前像素透明度pt。62.本发明实施例,采用基于计算着色器预处理加速,使得本发明相较于现有技术在热点数量上有百倍提升。63.s400,利用场景颜色缓冲c和蓝噪声纹理b,对当前像素颜色和场景颜色进行混合并输出至用户显示页面。64.本发明实施例中,在像素着色器中利用步骤s130获取的场景颜色缓冲c和步骤s120设置的蓝噪声纹理b,对当前像素颜色和场景颜色进行混合并输出用户显示页面。在一些实施例中,步骤s400的具体实施方式如下:65.s410,利用当前像素颜色透明度pt,对场景颜色缓冲c和当前像素颜色pc进行线性插值计算,得到新的颜色c’。66.本发明实施例中,利用当前像素颜色透明度pt,对步骤s130获取的场景颜色缓冲c和当前像素颜色pc进行线性插值计算,得到新的颜色c’。67.s420,采用蓝噪声纹理b对新的颜色c’进行处理,并将处理后的颜色c’输出至用户展示页面。68.本发明实施例中,采用步骤s120设置的蓝噪声纹理b对颜色c’进行扰动处理,以消除降采样的锯齿感并输出至用户展示页面。其中,采用蓝噪声纹理b对颜色c’进行处理的方法如下:69.利用当前屏幕坐标值采样蓝噪声纹理b的红、绿通道作为二维偏移方向df(扰动方向);对场景颜色c和当前像素颜色pc进行插值前,对当前像素进行偏移,采用偏移后对应像素位置的颜色,以达到快速消除锯齿感。70.上述的屏幕空间热力图渲染的方法,基于计算着色器加速热力图分布的预处理,有效剔除无效数据,将最终着色计算量优化到现有技术的0.1%左右,使得最终热力图表现更加精确。71.上述的屏幕空间热力图渲染的方法,利用计算着色器对场景热点数据在屏幕空间进行分组并记录每组场景热点数据,有效降低每个像素的最终热点采样的数量,大幅提升屏幕空间热力图渲染效率。72.此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述技术方案中任一项所述的屏幕空间热力图渲染的方法中的步骤。73.本发明实施例还提供一种屏幕空间热力图渲染的设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上述技术方案中任一项所述的屏幕空间热力图渲染的方法中的步骤。74.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。75.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部