3D高斯场景渲染方法、装置、电子设备及可读存储介质与流程
本申请涉及三维场景渲染,尤其涉及3d高斯场景渲染方法、装置、电子设备及可读存储介质。
背景技术:
1、3d高斯泼溅(3d gaussian splatting,3dgs)技术作为一种新兴的三维场景表示与渲染方法,通过各向异性高斯基元精确表达复杂场景的几何结构与外观信息,在新视角合成、沉浸式交互、自动驾驶仿真等计算机图形学与三维重建应用领域中展现出广阔的应用前景。
2、现有3d高斯场景渲染采用基于图像分块的并行光栅化方案:将图像划分为若干像素分块,为每个分块分配gpu协作线程组,将高斯基元分批搬运至共享存储供线程组读取并进行alpha混合。由于同一分块内各像素被高斯基元覆盖的情况差异悬殊,部分像素在高斯基元累积少量后即已饱和,而另一部分像素需遍历极长的高斯基元序列,线程组必须等待组内最慢的像素完成后才能结束,导致大量线程长时间空转,3d高斯场景渲染效率较低。
技术实现思路
1、有鉴于此,本申请实施例至少提供3d高斯场景渲染方法、装置、电子设备及可读存储介质,通过动态感知渲染负载并分流长尾像素进行续渲染,提高了3d高斯场景的渲染效率。
2、本申请主要包括以下几个方面:
3、第一方面,本申请实施例提供了一种3d高斯场景渲染方法,所述方法包括:
4、将待渲染图像平面划分为多个像素分块,并获取各个所述像素分块对应的高斯基元序列;
5、为每个所述像素分块分配一个协作线程组;所述协作线程组内的各个线程分别绑定所述像素分块的各个像素,各个线程从所述像素分块对应的高斯基元序列的起点开始,逐批次读取高斯基元并对绑定的像素进行渲染;
6、每处理完一个批次的高斯基元后,统计所述协作线程组内已完成渲染的像素数量,当所述已完成渲染的像素数量大于等于提前退出阈值时,停止渲染并记录所述协作线程组在所述高斯基元序列中的推进位置;
7、将所述像素分块中尚未完成渲染的像素确定为长尾像素,将各个所述长尾像素的当前渲染状态和所述推进位置确定为所述像素分块的长尾任务;
8、为每个所述长尾任务分配一个续渲染单元;所述续渲染单元读取所述长尾任务中的当前渲染状态和推进位置,并从所述推进位置开始,逐批次读取所述高斯基元序列中剩余的高斯基元,完成对各个所述长尾像素的渲染。
9、第二方面,本申请实施例还提供了一种3d高斯场景渲染装置,所述3d高斯场景渲染装置包括:
10、分块获取模块,用于将待渲染图像平面划分为多个像素分块,并获取各个所述像素分块对应的高斯基元序列;
11、线程渲染模块,用于为每个所述像素分块分配一个协作线程组;所述协作线程组内的各个线程分别绑定所述像素分块的各个像素,各个线程从所述像素分块对应的高斯基元序列的起点开始,逐批次读取高斯基元并对绑定的像素进行渲染;
12、统计退出模块,用于每处理完一个批次的高斯基元后,统计所述协作线程组内已完成渲染的像素数量,当所述已完成渲染的像素数量大于等于提前退出阈值时,停止渲染并记录所述协作线程组在所述高斯基元序列中的推进位置;
13、任务生成模块,用于将所述像素分块中尚未完成渲染的像素确定为长尾像素,将各个所述长尾像素的当前渲染状态和所述推进位置确定为所述像素分块的长尾任务;
14、继续渲染模块,用于为每个所述长尾任务分配一个续渲染单元;所述续渲染单元读取所述长尾任务中的当前渲染状态和推进位置,并从所述推进位置开始,逐批次读取所述高斯基元序列中剩余的高斯基元,完成对各个所述长尾像素的渲染。
15、第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如上所述的3d高斯场景渲染方法的步骤。
16、第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的3d高斯场景渲染方法的步骤。
17、本申请实施例提供的3d高斯场景渲染方法、装置、电子设备及可读存储介质,其中方法包括:将待渲染图像平面划分为多个像素分块,并获取各个像素分块对应的高斯基元序列;为每个像素分块分配一个协作线程组;协作线程组内的各个线程分别绑定像素分块的各个像素,各个线程从像素分块对应的高斯基元序列的起点开始,逐批次读取高斯基元并对绑定的像素进行渲染;每处理完一个批次的高斯基元后,统计协作线程组内已完成渲染的像素数量,当已完成渲染的像素数量大于等于提前退出阈值时,停止渲染并记录协作线程组在高斯基元序列中的推进位置;将像素分块中尚未完成渲染的像素确定为长尾像素,将各个长尾像素的当前渲染状态和推进位置确定为像素分块的长尾任务;为每个长尾任务分配一个续渲染单元;续渲染单元读取长尾任务中的当前渲染状态和推进位置,并从推进位置开始,逐批次读取高斯基元序列中剩余的高斯基元,完成对各个长尾像素的渲染。这样,通过动态感知渲染负载并分流长尾像素进行续渲染,提高了3d高斯场景的渲染效率。
18、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种3d高斯场景渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的3d高斯场景渲染方法,其特征在于,所述逐批次读取高斯基元并对绑定的像素进行渲染,包括:
3.根据权利要求1所述的3d高斯场景渲染方法,其特征在于,所述统计所述协作线程组内已完成渲染的像素数量,包括:
4.根据权利要求1所述的3d高斯场景渲染方法,其特征在于,所述将各个所述长尾像素的当前渲染状态和所述推进位置确定为所述像素分块的长尾任务,包括:
5.根据权利要求1所述的3d高斯场景渲染方法,其特征在于,所述续渲染单元由预设线程容量个线程构成;当所述长尾任务中的长尾像素数量小于所述预设线程容量时,所述续渲染单元中数量等于所述长尾像素数量的线程为活跃线程,其余线程为非活跃线程;所述逐批次读取所述高斯基元序列中剩余的高斯基元,完成对各个所述长尾像素的渲染,包括:
6.根据权利要求1所述的3d高斯场景渲染方法,其特征在于,在每处理完一个批次的高斯基元后,统计所述协作线程组内已完成渲染的像素数量之前,所述方法还包括:
7.根据权利要求6所述的3d高斯场景渲染方法,其特征在于,所述预设取值范围的数值下限为所述像素分块内的像素总数减去所述续渲染单元的预设线程容量,所述预设取值范围的数值上限为所述像素分块内的像素总数。
8.一种3d高斯场景渲染装置,其特征在于,所述3d高斯场景渲染装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的3d高斯场景渲染方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的3d高斯场景渲染方法的步骤。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com