软光栅化的方法、装置、设备、介质及程序产品与流程

文档序号:35500816发布日期:2023-09-20 11:26阅读:18来源:国知局
软光栅化的方法、装置、设备、介质及程序产品与流程

本申请实施例涉及计算机,特别涉及一种软光栅化的方法、装置、设备、介质及程序产品。


背景技术:

1、光栅化是指将三维模型的三角形的顶点数据转换为三角形的片元数据并生成像素的过程,三角形的顶点数据包括顶点坐标、灯光、材质等参数。

2、相关技术采用软光栅化器,通过多个线程将多个三角形直接光栅化至二维图像,软光栅化器指在尽量不依赖第三方库的条件下,利用代码创建窗口对三维模型进行光栅化。相关技术的软光栅化器处理多个三角形的性能低下,一个三角形直接光栅化至二维图像消耗时间巨大。

3、如何提供高效的软光栅化器是亟待解决的技术问题。


技术实现思路

1、本申请提供了一种软光栅化的方法、装置、设备、介质及程序产品,提高了三维模型的光栅化效率。所述技术方案如下:

2、根据本申请的一方面,提供了一种软光栅化的方法,所述方法应用于计算机设备,所述方法包括:

3、获取三维空间中的三维模型的多个三角形的图元数据;

4、通过n个线程块对多个三角形与摄像机视口的多个第一分块进行第一覆盖测试,得到多个第一分块各自对应的第一数据;第一数据包括与第一分块存在交集的第一三角形集群的图元数据,多个第一分块是对摄像机视口进行划分得到的,n为正整数;

5、基于第一数据,通过n个线程块对目标第一分块的第一三角形集群与多个第二分块进行第二覆盖测试,得到多个第二分块各自对应的第二数据;第二数据包括与第二分块存在交集的第二三角形集群的图元数据,多个第二分块是对目标第一分块进行划分得到的,第二三角形集群是第一三角形集群的子集,目标第一分块是多个第一分块中的任意一个;

6、将目标第二分块的第二三角形集群中的三角形渲染至目标第二分块中的像素,目标第二分块是多个第二分块中的任意一个。

7、根据本申请的另一方面,提供了一种软光栅化的装置,所述装置包括:

8、获取模块,用于获取三维空间中的三维模型的多个三角形的图元数据;

9、处理模块,用于通过n个线程块对多个三角形与摄像机视口的多个第一分块进行第一覆盖测试,得到多个第一分块各自对应的第一数据;第一数据包括与第一分块存在交集的第一三角形集群的图元数据,多个第一分块是对摄像机视口进行划分得到的,n为正整数;

10、处理模块,还用于基于第一数据,通过n个线程块对目标第一分块的额第一三角形集群与多个第二分块进行第二覆盖测试,得到多个第二分块各自对应的第二数据;第二数据包括与第二分块存在交集的第二三角形集群的图元数据,多个第二分块是对目标第一分块进行划分得到的,第二三角形集群是第一三角形集群的子集,目标第一分块是多个第一分块中的任意一个;

11、渲染模块,用于将目标第二分块的第二三角形集群中的三角形渲染至目标第二分块中的像素,目标第二分块是多个第二分块中的任意一个。

12、根据本申请的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的软光栅化的方法。

13、根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的软光栅化的方法。

14、根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的软光栅化的方法。

15、本申请实施例提供的技术方案带来的有益效果至少包括:

16、本申请提供了一种软光栅化的方法,通过n个线程块对多个三角形与多个第一分块进行第一覆盖测试,对于多个第一分块中的目标第一分块,将与目标第一分块存在交集的第一三角形集群与多个第二分块进行第二覆盖测试,多个第二分块是对第一分块划分得到的,对于多个第二分块中的目标第二分块,将与目标第二分块存在交集的第二三角形集群的片元数据渲染至目标第二分块中,即提供了分层次进行光栅化的过程,提高了光栅化的效率。



技术特征:

1.一种软光栅化的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过n个线程块对所述多个三角形与摄像机视口的多个第一分块进行第一覆盖测试,得到所述多个第一分块各自对应的第一数据,包括:

3.根据权利要求2所述的方法,其特征在于,所述第一覆盖测试包括生产者阶段和消费者阶段;

4.根据权利要求3所述的方法,其特征在于,所述线程块包括p个线程束,所述线程束包括q个线程;

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求3所述的方法,其特征在于,所述线程块包括p个线程束,所述线程束包括q个线程;

7.根据权利要求1至6任一所述的方法,其特征在于,所述通过所述n个线程块对所述第一三角形集群与多个第二分块进行第二覆盖测试,得到所述多个第二分块各自对应的第二数据,包括:

8.根据权利要求7所述的方法,其特征在于,所述第二覆盖测试包括生产者阶段和消费者阶段;

9.根据权利要求8所述的方法,其特征在于,所述线程块包括p个线程束,所述线程束包括q个线程;

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:

11.根据权利要求1至6任一所述的方法,其特征在于,所述将所述第二三角形集群中的三角形渲染至目标第二分块中的像素,包括:

12.根据权利要求11所述的方法,其特征在于,所述确定所述三角形与所述目标第二分块的相交区域,包括:

13.根据权利要求11所述的方法,其特征在于,所述将所述三角形的片元数据渲染至所述目标第二分块的相交区域的像素中,包括:

14.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:

15.根据权利要求11所述的方法,其特征在于,所述方法还包括:

16.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:

17.根据权利要求1至6任一所述的方法,其特征在于,所述方法用于渲染第一图像;所述方法还包括:

18.一种软光栅化的装置,其特征在于,所述装置包括:

19.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至17任一所述的软光栅化的方法。

20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至17任一所述的软光栅化的方法。

21.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行以实现如权利要求1至17任一所述的软光栅化的方法。


技术总结
本申请公开了一种软光栅化的方法、装置、设备、介质及程序产品,属于计算机技术领域。所述方法包括:获取三维空间中的三维模型的多个三角形的图元数据;通过n个线程块对多个三角形与摄像机视口的多个第一分块进行第一覆盖测试,得到多个第一分块各自对应的第一数据;第一数据包括与第一分块存在交集的第一三角形集群的图元数据;基于第一数据,通过n个线程块对目标第一分块的第一三角形集群与多个第二分块进行第二覆盖测试,得到多个第二分块各自对应的第二数据;第二数据包括与第二分块存在交集的第二三角形集群的图元数据;将目标第二分块的第二三角形集群中的三角形渲染至目标第二分块中的像素。上述方法提高了光栅化的效率。

技术研发人员:凌飞,夏飞,张永祥,邓君
受保护的技术使用者:腾讯科技(成都)有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1