技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于BRDF快速近拟的三维渲染方法和系统与流程  >  正文

基于BRDF快速近拟的三维渲染方法和系统与流程

  • 国知局
  • 2024-09-19 14:31:17

本申请涉及计算机图形学领域,特别是涉及基于brdf快速近拟的三维渲染方法方法、系统、计算机设备和计算机可读存储介质。

背景技术:

1、brdf(双向反射分布函数)通常用于描述局部表面的反射特性,需要在全局场景中进行积分或采样,这会增加计算的复杂性和成本。游戏行业广泛使用pbr(physicallybased rendering),其中默认的pbr通常采用cook-torrance模型,cook-torrance模型考虑了表面的微观几何结构,其假设表面由微小的微表面结构组成,每个微表面可以反射光线,cook-torrance模型在高光区域有更加平滑的反射,在边缘和粗糙区域有更加散射的反射,因此适用于描述各种类型的材质。然而,它不能完全表达所有的材质,如布料、皮肤、头发等。

2、在相关技术中,传统方式是预先制作反射模型,并在pbr着色器中将cook-torrance模型替换为需要的反射模型,如上面提到的布料、皮肤、头发等。然而,这种方法可能会带来pbr的一些问题,例如在全局场景中需要积分或采样,增加计算复杂度的问题。此外,新的反射模型可能会比ggx(另一种常用的pbr模型)更加耗时。

3、因此,对于涉及到特定材质的渲染需求,开发者需要权衡使用不同的反射模型,考虑其在计算复杂度和渲染质量方面的平衡,针对于该问题,本领域尚未提出有效的解决方案。

技术实现思路

1、本申请实施例提供了一种基于brdf快速近拟的三维渲染方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中三维渲染效率较低的的问题。

2、第一方面,本申请实施例提供了一种基于brdf快速近拟的三维渲染方法,应用于灯光方向固定条件下的三维模型渲染,所述方法包括:

3、获取灯光方向和不同角度下的相机方向,根据所述灯光方向和相机方向,依据预设反射光运算规则,确定与所述灯光方向和任意一个视线方向对应的brdf值;

4、基于所述灯光方向、所述相机方向和所述brdf值,将待渲染的光照场景抽象为brdf矩阵,并将所述brdf矩阵保存至离线渲染器,其中,所述brdf矩阵的每个元素代表了相机在任意一个方向观察下,目标对象在某个方向照射下的反射特性;

5、在实时渲染过程中,获取待渲染目标的属性参数,根据所述属性参数在所述离线渲染器中索引对应的目标brdf值,基于所述目标brdf值实时处理所述待渲染目标,其中,所述属性参数包括灯光方向和相机方向。

6、在其中一些实施例中,基于所述灯光方向、所述相机方向和所述brdf值,将光照场景抽象表述为brdf矩阵包括:

7、以所述灯光方向作为矩阵的列,以所述相机方向作为矩阵的行,构建所述brdf矩阵,并将所述brdf矩阵中任意一组元素匹配于一组brdf值。

8、在其中一些实施例中,所述方法还包括:

9、使用nmf算法提取所述brdf矩阵的特征,得到分解后矩阵,其中,所述分解后矩阵包括基向量矩阵和系数矩阵;

10、根据所述基向量矩阵和所述系数矩阵生成用于渲染的贴图,将所述贴图保存至所述离线渲染器。

11、在其中一些实施例中,根据设备端的算力,确定所述提取所述brdf矩阵的特征的数量。

12、在其中一些实施例中,根据所述属性参数在所述离线渲染器中索引对应的目标brdf值包括:

13、获取所述待渲染目标的相机方向,以及与所述待渲染目标对应的法线,计算所述相机方向与所述法线的点积;

14、根据所述相机方向与所述法线的点积和所述灯光方向,在所述所述离线渲染器中索引对应的目标brdf值。

15、在其中一些实施例中,在所述待渲染物体的表面粗糙度不同的情况下,所述方法还包括:

16、在基于所述灯光方向、所述相机方向和所述brdf值构建brdf矩阵的过程中,以表面粗糙度范围为额外维度优化所述brdf矩阵;

17、在实时渲染过程中,根据实际渲染场景下灯光方向、相机方向和待渲染目标在不同位置的粗糙度,在所述离线渲染器中索引对应的目标brdf值。

18、在其中一些实施例中,通过如下公式,确定与所述灯光方向和任意一个视线方向对应的brdf值:

19、

20、

21、其中,i是所述灯光方向,o是所述相机方向,m是半角向量用于表示光线在表面上反射的中间方向,f是菲涅尔系数,d是表面分布函数,n是法线,f是所述brdf值。

22、第二方面,本申请实施例提供了一种基于brdf快速近拟的三维渲染系统,所述系统包括:预处理模块和渲染模块,其中:

23、所述预处理模块,用于获取灯光方向和不同角度下的相机方向,根据所述灯光方向和相机方向,依据预设反射光运算规则,确定与所述灯光方向和任意一个视线方向对应的brdf值,

24、以及,基于所述灯光方向、所述相机方向和所述brdf值,将待渲染的光照场景抽象为brdf矩阵,并将所述brdf矩阵保存至离线渲染器,其中,所述brdf矩阵的每个元素代表了相机在任意一个方向观察下,目标对象在某个方向照射下的反射特性;

25、所述渲染模块,用于在实时渲染过程中,获取待渲染目标的属性参数,根据所述属性参数在所述离线渲染器中索引对应的目标brdf值,基于所述目标brdf值实时处理所述待渲染目标,其中,所述属性参数包括灯光方向和相机方向。

26、第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的方法。

27、第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法。

28、相比于相关技术,本申请实施例提供的基于brdf快速近拟的三维渲染方法,通过获取灯光方向和不同角度下的相机方向,根据灯光方向和相机方向,在离线阶段将光照场景抽象表述为brdf矩阵,实际渲染阶段,只需根据待渲染对象的属性参数在预先保存的矩阵中匹配即可得到对应的brdf结果,进而利用该结果执行渲染任务,可以极大的提升渲染任务的时效性。

技术特征:

1.一种基于brdf快速近拟的三维渲染方法,其特征在于,应用于灯光方向固定条件下的三维模型渲染,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,基于所述灯光方向、所述相机方向和所述brdf值,将光照场景抽象表述为brdf矩阵包括:

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

4.根据权利要求3所述的方法,其特征在于:根据设备端的算力,确定所述提取所述brdf矩阵的特征的数量。

5.根据权利要求4所述的方法,其特征在于,根据所述属性参数在所述离线渲染器中索引对应的目标brdf值包括:

6.根据权利要求5所述的方法,其特征在于,在所述待渲染物体的表面粗糙度不同的情况下,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,在所述待渲染目标是布材料的情况下,通过如下公式,确定与所述灯光方向和任意一个视线方向对应的brdf值:

8.一种基于brdf快速近拟的三维渲染系统,其特征在于,所述系统包括:预处理模块和渲染模块,其中:

9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的方法。

技术总结本申请涉及一种基于BRDF快速近拟的三维渲染方法方法、系统、计算机设备和计算机可读存储介质,通过获取灯光方向和不同角度下的相机方向,根据灯光方向和相机方向,在离线阶段将光照场景抽象表述为BRDF矩阵,实际渲染阶段,只需根据待渲染对象的属性参数在预先保存的矩阵中匹配即可得到对应的BRDF结果,进而利用该结果执行渲染任务,可以极大的提升渲染任务的时效性。技术研发人员:李林肪受保护的技术使用者:杭州电魂网络科技股份有限公司技术研发日:技术公布日:2024/9/17

本文地址:https://www.jishuxx.com/zhuanli/20240919/298595.html

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