确定渲染路径的方法、装置和电子设备与流程

文档序号:38028660发布日期:2024-05-17 13:06阅读:8来源:国知局
确定渲染路径的方法、装置和电子设备与流程

本技术实施例涉及图形处理领域,更具体的,涉及一种确定渲染路径的方法、装置和电子设备。


背景技术:

1、随着计算机图形学的发展,三维(3dimensions,3d)图形渲染引擎技术逐步涉及到更多不同的领域,应用场景更加多样化。

2、图形引擎在构建待渲染的场景时,一般会有一个最大场景范围限制,这个限制大小通常在一个单精度浮点数有效精度范围能表达的数值内。而像数字城市、元宇宙、3d地图服务、3d地理信息系统(geographic information system,gis)等开放世界应用要求构建一个城市级(百公里级)、国家级(千公里级)甚至地球级(万公里级)的三维空间场景并进行实时渲染,使用单精度浮点来进行场景的渲染,在这些大范围场景下会存在严重的精度丢失,产生诸如模型抖动、模型细节丢失、变形等各种渲染问题。而全部使用双精度浮点来进行场景物体的管理和渲染在理论上可以解决精度丢失的问题,但是会造成一定的性能损耗。

3、因此,必要提供一种确定渲染路径的方法,使得对场景的渲染既能满足渲染精度需求,又能避免不必要的性能损耗。


技术实现思路

1、本技术实施例提供一种确定渲染路径的方法、装置和电子设备,既能满足渲染时的精度需求,又能避免不必要的性能损耗。

2、第一方面,提供了一种确定渲染路径的方法,该方法包括:获取待渲染的场景中物体的双精度位置参数,该双精度位置参数为物体在世界坐标系中的坐标;根据该双精度位置参数确定该场景的空间规模;根据该空间规模确定渲染路径。

3、在本技术提供的实施例中,通过获取场景中物体的位置参数,对场景的空间规模进行识别,并根据场景的空间规模动态选取渲染路径,对不同空间规模的场景选取不同的渲染路径,能够自适应地应用于不同空间规模下的场景渲染,既能满足渲染时的精度要求,又能避免不必要的性能损耗。

4、结合第一方面,在第一方面的某些实现方式中,根据该双精度位置参数确定该场景的空间规模,包括:根据该双精度位置参数确定场景中物体的包围盒;根据该物体的包围盒确定该场景的包围盒;确定该场景的包围盒上的第一坐标值的绝对值为该空间规模,该第一坐标值为该场景的包围盒上各点对应的坐标值中绝对值最大的值。

5、在本技术提供的实施例中,根据场景的包围盒上的第一坐标值的绝对值来确定场景的空间规模,能够更精确地确定场景的规模,进而能够选取更合适的渲染路径。

6、结合第一方面,在第一方面的某些实现方式中,根据该场景中物体的包围盒确定该场景的包围盒,包括:该物体发生位移时,根据变化后的物体位置确定该场景的包围盒。

7、在本技术提供的实施例中,能够在待渲染的场景中的物体位置发生变化的情况下,实时更新场景的空间规模,根据动态变化的空间规模选取渲染路径,使渲染计算更为精确。

8、结合第一方面,在第一方面的某些实现方式中,空间规模小于预设阈值时,该渲染路径包括:将该双精度位置参数转换成单精度位置参数;根据该单精度位置参数生成变换矩阵,该变换矩阵用于对该场景进行渲染计算。

9、在本技术提供的实施例中,在场景的空间规模小于预设阈值时,采用单精度位置参数对该场景进行渲染计算即可满足渲染精度要求,无需对双精度位置参数进行拆分,从而能够避免拆分带来的不必要的性能损失。

10、结合第一方面,在第一方面的某些实现方式中,空间规模大于或等于预设阈值时,该渲染路径包括:根据该空间规模确定自适应拆分参数;根据该自适应拆分参数将该双精度位置参数拆分成单精度位置偏移向量和单精度剩余相对位置向量;根据该单精度位置偏移向量和该单精度剩余相对位置向量生成相对变换矩阵,该相对变换矩阵用于对该场景进行渲染处理。

11、在本技术提供的实施例中,在待渲染的场景的空间规模大于或等于预设阈值时,根据单精度位置参数进行渲染计算难以满足精度需求,进而可以根据自适应拆分参数将双精度位置参数拆分成单精度位置参数进行计算,从而能够提高渲染精度;且根据场景的空间规模适应性地确定拆分参数,能够满足不同空间规模的场景下的渲染需求,提高数据计算精度,提升渲染效果。

12、结合第一方面,在第一方面的某些实现方式中,该自适应拆分参数根据下式计算所得:其中,c为该自适应拆分参数,max为取最大值函数,为向上取整函数,lg为以10为底的对数函数,a为该场景的包围盒上的第一坐标值的绝对值。

13、在本技术提供的实施例中,根据场景的包围盒上的第一坐标值的绝对值来确定自适应拆分参数,能够对不同的空间规模选取不同的自适应拆分参数,以最大程度地保留原始数据的精度,提升渲染效果。

14、结合第一方面,在第一方面的某些实现方式中,该预设阈值小于100公里。

15、在本技术提供的实施例中,在预设阈值为100公里时,此时采用单精度位置参数进行渲染计算,场景中的物体的位置表示精度可以精确到分米位。可以根据渲染的精度要求设定预设阈值,对空间规模大于或等于该预设阈值的场景中的物体位置进行拆分计算以提升渲染精度,而对空间规模小于该预设阈值的场景中的物体位置直接转换成单精度参数进行计算,从而,既能满足渲染精度的要求,又能避免不必要的性能损耗。

16、结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该变换矩阵或相对变换矩阵,对该场景进行渲染计算。

17、第二方面,提供了一种确定渲染路径的装置,该装置包括:获取单元,用于获取待渲染的场景中各物体的双精度位置参数,该双精度位置参数为物体在世界坐标系中的坐标;确定单元,用于根据该双精度位置参数确定该场景的空间规模;该确定单元还用于,根据该空间规模确定渲染路径。

18、结合第二方面,在第二方面的某些实现方式中,该确定单元具体用于:根据该双精度位置参数确定场景中物体的包围盒;根据该物体的包围盒确定该场景的包围盒;确定该场景的包围盒上的第一坐标值的绝对值为该空间规模,该第一坐标值为该场景的包围盒上各点对应的坐标值中绝对值最大的值。

19、结合第二方面,在第二方面的某些实现方式中,该确定单元具体用于,该物体发生位移时,根据变化后的物体位置确定该场景的包围盒。

20、结合第二方面,在第二方面的某些实现方式中,该装置还包括:处理单元,空间规模小于预设阈值时,该处理单元用于:将该双精度位置参数转换成单精度位置参数;根据该单精度位置参数生成变换矩阵,该变换矩阵用于对该场景进行渲染计算。

21、结合第二方面,在第二方面的某些实现方式中,该装置还包括:处理单元,空间规模大于或等于预设阈值时,该处理单元用于:根据该空间规模确定自适应拆分参数;根据该自适应拆分参数将该双精度位置参数拆分成单精度位置偏移向量和单精度剩余相对位置向量;根据该单精度位置偏移向量和该单精度剩余相对位置向量生成相对变换矩阵,该相对变换矩阵用于对该场景进行渲染计算。

22、结合第二方面,在第二方面的某些实现方式中,该自适应拆分参数根据下式计算所得:其中,c为该自适应拆分参数,max为取最大值函数,为向上取整函数,lg为以10为底的对数函数,a为该场景的包围盒上的第一坐标值的绝对值。

23、结合第二方面,在第二方面的某些实现方式中,该预设阈值小于100公里。

24、结合第二方面,在第二方面的某些实现方式中,该装置还包括:渲染单元,用于根据该变换矩阵或该相对变换矩阵,对该场景进行渲染计算。

25、第三方面,提供了一种电子设备,该电子设备包括中央处理器cpu,该cpu,用于获取待渲染的场景中物体的双精度位置参数,该双精度位置参数为物体在世界坐标系中的坐标;该cpu,还用于根据该双精度位置参数确定该场景的空间规模;该cpu,还用于根据该空间规模确定渲染路径。

26、结合第三方面,在第三方面的某些实现方式中,该cpu具体用于:根据该双精度位置参数确定场景中物体的包围盒;根据该物体的包围盒确定该场景的包围盒;确定该场景的包围盒上的第一坐标值的绝对值为该空间规模,该第一坐标值为该场景的包围盒上各点对应的坐标值中绝对值最大的值。

27、结合第三方面,在第三方面的某些实现方式中,该cpu具体用于:该物体发生位移时,根据变化后的物体位置确定该场景的包围盒。

28、结合第三方面,在第三方面的某些实现方式中,该cpu还用于:空间规模小于预设阈值时,将该双精度位置参数转换成单精度位置参数;根据该单精度位置参数生成变换矩阵,该变换矩阵用于对该场景进行渲染计算。

29、结合第三方面,在第三方面的某些实现方式中,该cpu还用于:空间规模大于或等于预设阈值时,根据该空间规模确定自适应拆分参数;根据该自适应拆分参数将该双精度位置参数拆分成单精度位置偏移向量和单精度剩余相对位置向量;根据该单精度位置偏移向量和该单精度剩余相对位置向量生成相对变换矩阵,该相对变换矩阵用于对该场景进行渲染计算。

30、结合第三方面,在第三方面的某些实现方式中,该自适应拆分参数根据下式计算所得:其中,c为该自适应拆分参数,max为取最大值函数,为向上取整函数,lg为以10为底的对数函数,a为该场景的包围盒上的第一坐标值的绝对值。

31、结合第三方面,在第三方面的某些实现方式中,该预设阈值小于100公里。

32、结合第三方面,在第三方面的某些实现方式中,该电子设备还包括图形处理器gpu,该cpu,还用于将该变换矩阵或该相对变换矩阵发送给gpu,该gpu,用于根据该变换矩阵或该相对变换矩阵对场景进行渲染计算。

33、第四方面,提供了一种电子设备,该电子设备包括处理器,用于执行存储器中存储的计算机程序,以使得该电子设备执行如上述第一方面或者第一方面中任意一种可能的实现方式该的方法。

34、结合第四方面,在第四方面的某些实现方式中,该电子设备还包括该存储器和/或通信接口,该通信接口与该处理器耦合,该通信接口用于输入和/或输出信息。

35、第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行如上述第一方面或者第一方面中任意一种可能的实现方式所述的方法。

36、第六方面,提供了一种芯片系统,该芯片系统包括至少一个处理器和接口电路,该接口电路用于为至少一个处理器提供程序指令或者数据,该至少一个处理器用于执行该程序指令,以实现如第一方面或者第一方面中任意一种可能的实现方式所述的方法。

37、第七方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第一方面或第一方面任意一种可能的实现方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1