掌桥专利:专业的专利平台
掌桥专利
首页

一种面向智能车间三维场景的真实感实时渲染方法

文献发布时间:2024-04-18 20:01:55


一种面向智能车间三维场景的真实感实时渲染方法

技术领域

本发明涉及三维场景的真实感实时渲染技术领域,具体是一种面向智能车间三维场景的真实感实时渲染方法。

背景技术

传统工业仿真软件为了实时的交互性,并且限制于当时的硬件性能大多采用最简约的渲染方式,使得三维仿真场景只是由多个不同颜色的模型色块拼凑而成,视觉效果非常差。随着硬件水平的升级和高质量的实时渲染在游戏、影视行业的普遍应用,引起了数字孪生虚拟仿真领域的广泛关注,许多制造企业开始追求具有更贴近现实的真实感的数字孪生虚拟仿真三维场景渲染,从而为用户带来流畅、沉浸式的视觉体验。但是在使用数字孪生虚拟仿真技术对三维场景进行渲染的过程中,仍然存在以下不足之处:第一是三维场景中的设备模型依然保留着CAD机械建模时用不同的单一颜色来区分零部件和机构的习惯,使得设备模型在视觉上呈现出由多种大面积的单一颜色色块组合而成。第二是三维场景中的设备模型在材质渲染时很少考虑光照的影响,只使用了简单的光照着色模型,使得场景中的设备模型基本都是高饱和度的着色,模型渲染细节表达差。第三是三维场景的渲染只考虑了光源直接光照对设备模型材质渲染的影响,没有间接光照的计算,也没有考虑阴影的绘制,因此三维场景没有合理的光影分布,使得整个三维场景的真实感渲染效果比较差。

发明内容

针对上述缺陷,本发明提出了一种面向智能车间三维场景的真实感实时渲染方法,目的在于解决使用现有数字孪生虚拟仿真技术对三维场景进行渲染的过程中,三维场景中的设备模型渲染细节表达差以及三维场景的渲染只考虑了光源直接光照,没有考虑间接光照,使得整个三维场景的真实感渲染效果比较差的问题。

为达此目的,本发明采用以下技术方案:

一种面向智能车间三维场景的真实感实时渲染方法,包括以下步骤:

步骤S1:构建智能车间的三维场景;

步骤S2:在智能车间的三维场景中构建多个设备模型;

步骤S3:建立双向反射分布函数(BRDF)模型,并采用BRDF模型对多个设备模型进行材质渲染,得到多个渲染后的设备模型;

步骤S4:采用全局光照算法对整个智能车间的三维场景进行真实感渲染,并结合多个渲染后的设备模型,得到渲染后的智能车间三维场景。

优选地,在步骤S3中,建立双向反射分布函数(BRDF)模型具体包括以下子步骤:建立高光反射的BRDF模型和漫反射的BRDF模型,其中,高光反射的BRDF模型的表达式如下:

其中,f(l,v)表示高光反射的BRDF模型的反射函数;l表示入射光的方向;v表示反射光的视线方向;n表示法线向量;h表示l跟v之间的中间位置,即半程向量;D(h)表示法线分布函数,具体表达式如下:

其中,α表示表面粗糙度;

G(l,v,h)表示几何函数,具体表达式如下:

G(l,v,h)=G

其中,k表示粗糙度的映射,

F(v,h)表示菲涅尔方程,具体表达式如下:

F(v,h)=F

其中,F

优选地,漫反射的BRDF模型的表达式如下:

其中,f

F

其中,α表示表面粗糙度。

优选地,在步骤S4中,采用全局光照算法对整个智能车间的三维场景进行真实感渲染,具体包括以下子步骤:

步骤S41:采用基于GPU的体素化算法对智能车间的三维场景进行体素化表达,得到多个体素;

步骤S42:计算得到所有体素的直接光照辐射率;

步骤S43:计算得到所有体素的阴影遮挡信息;

步骤S44:将所有体素的直接光照辐射率和阴影遮挡信息储存于一张体素辐射率的三维纹理;

步骤S45:对所述体素辐射率的三维纹理进行各向异性的Mipmap过滤,得到体素八叉树结构的三维纹理;

步骤S46:基于体素圆锥追踪(VCT)技术在体素八叉树结构的三维纹理中进行间接光照的计算,得到所有体素的间接光照结果;

步骤S47:将所有体素的直接光照辐射率和间接光照结果进行叠加,得到智能车间的三维场景的全局光照结果。

优选地,在步骤S41中,具体包括以下子步骤:

步骤S411:对智能车间的三维场景进行三角网格划分;

步骤S412:通过计算法线分量来判断每个三角网格在不同方向上投影面积的大小,确定投影面积最大的方向作为三角网格的投影方向;

步骤S413:将每个三角网络沿着对应三角网格的投影方向投影至正交投影窗口;

步骤S414:在投影后的正交投影窗口上对每个三角网络进行顶点向外扩展的保守光栅化,得到多个体素;

步骤S415:计算每个体素的反射率,法线和发光度,以完成体素化表达。

优选地,在步骤S42中,每个体素的直接光照辐射率的计算公式如下:

其中,L表示体素的直接光照辐射率;N

优选地,在步骤S43中,具体包括以下子步骤:

步骤S431:获取需要渲染的片元对应体素的位置;

步骤S432:从该体素的位置向光源方向发出射线,并以一定的步长向光源的方向进行步进追踪;

步骤S433:判断在射线当前的步进位置上是否有体素存在,若是,则该体素被遮挡;若否,则该体素不被遮挡。

优选地,在步骤S46中,具体包括以下子步骤:

步骤S461:在需要渲染的片元的法线半球方向上进行多个圆锥锥体的步进追踪;

步骤S462:获取步进位置上所有与圆锥锥体相交的体素;

步骤S463:在每个与圆锥锥体相交的体素大小相对应层级的三维纹理中采样对应其辐射率;

步骤S464:将所有与圆锥锥体相交的体素的辐射率进行累加,得到间接光照结果。

本申请实施例提供的技术方案可以包括以下有益效果:

本方案通过使用BRDF模型对智能车间三维场景中的设备模型进行材质渲染,BRDF模型能够从法线的微表面分布、菲涅尔效应和几何自遮挡三个方面来丰富智能车间三维场景中的设备模型的渲染细节表达,使得渲染出设备模型更接近现实的质感。采用全局光照算法对整个智能车间三维场景进行真实感渲染,全局光照算法同时考虑了直接光照和间接光照对三维场景光影分布的综合影响,从而提高整个三维场景的真实感渲染效果。

附图说明

图1是一种面向智能车间三维场景的真实感实时渲染方法的步骤流程图。

具体实施方式

下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

一种面向智能车间三维场景的真实感实时渲染方法,包括以下步骤:

步骤S1:构建智能车间的三维场景;

步骤S2:在智能车间的三维场景中构建多个设备模型;

步骤S3:建立双向反射分布函数(BRDF)模型,并采用BRDF模型对多个设备模型进行材质渲染,得到多个渲染后的设备模型;

步骤S4:采用全局光照算法对整个智能车间的三维场景进行真实感渲染,并结合多个渲染后的设备模型,得到渲染后的智能车间三维场景。

本方案的一种面向智能车间三维场景的真实感实时渲染方法,如图1所示,第一步是构建智能车间的三维场景,本实施例中,智能车间的三维场景的构建有利于后续对其进行仿真模拟渲染。第二步是在智能车间的三维场景中构建多个设备模型,本实施例中,设备模型的构建有利于后续对其进行材质渲染。第三步是建立双向反射分布函数(BRDF)模型,并采用BRDF模型对多个设备模型进行材质渲染,得到多个渲染后的设备模型,本实施例中,BRDF模型描述了某个指定方向的入射光和反射光的比例关系,即具有一定能量的某个方向入射的光线,反射到某个方向上会分布多少的能量。对于智能车间的设备模型来说,主要材质可分为金属材质和非金属材质,两者在视觉上的区别在于其对光的反射效果,设备模型的金属部分表面平整,能反射出明显的高光,而非金属部分主要发生显示材料本身颜色的漫反射。本方案使用BRDF模型对设备模型进行材质渲染,使得无论是金属材质还是非金属材质的设备模型的渲染效果都显佳。第四步是采用全局光照算法对整个智能车间的三维场景进行真实感渲染,并结合多个渲染后的设备模型,得到渲染后的智能车间三维场景,本实施例中,全局光照是一项通过同时考虑直接光照和间接光照对场景光分布综合影响的技术,它通过模拟光从光源出发,在物体表面经过高光反射或漫反射后,最后达到场景中每一个地方的整个过程,来实现在计算机上达到媲美现实中自然光照效果的真实感渲染。因此,本方案采用全局光照算法能够渲染出视觉效果好的智能车间的三维场景。

本方案通过使用BRDF模型对智能车间三维场景中的设备模型进行材质渲染,BRDF模型能够从法线的微表面分布、菲涅尔效应和几何自遮挡三个方面来丰富智能车间三维场景中的设备模型的渲染细节表达,使得渲染出设备模型更接近现实的质感。采用全局光照算法对整个智能车间三维场景进行真实感渲染,全局光照算法同时考虑了直接光照和间接光照对三维场景光影分布的综合影响,从而提高整个三维场景的真实感渲染效果。

优选地,在步骤S3中,建立双向反射分布函数(BRDF)模型具体包括以下子步骤:建立高光反射的BRDF模型和漫反射的BRDF模型,其中,高光反射的BRDF模型的表达式如下:

其中,f(l,v)表示高光反射的BRDF模型的反射函数;l表示入射光的方向;v表示反射光的视线方向;n表示法线向量;h表示l跟v之间的中间位置,即半程向量;D(h)表示法线分布函数,具体表达式如下:

其中,α表示表面粗糙度;

G(l,v,h)表示几何函数,具体表达式如下:

G(l,v,h)=G

其中,k表示粗糙度的映射,

F(v,h)表示菲涅尔方程,具体表达式如下:

F(v,h)=F

其中,F

本实施例中,高光反射的BRDF模型能够使金属材质的设备模型表面渲染效果更佳,高光反射的BRDF模型通过法线分布函数D(h)、几何函数G(l,v,h)和菲涅尔方程F(v,h)进行描述,法线分布函数D(h)描述的是微小表面法线分的概率密度,用于渲染金属等高光反射的材质表面;几何函数G(l,v,h)描述的是各个微表面之间的遮蔽关系;菲涅尔方程F(v,h)描述的是在不同的视线方向上能分得反射光线大小所占的比率,能够模拟出很接近真实菲涅尔效应的效果。

优选地,漫反射的BRDF模型的表达式如下:

其中,f

F

其中,α表示表面粗糙度。

本实施例中,漫反射的BRDF模型能够使非金属材质的设备模型表面渲染效果更佳。漫反射的BRDF模型只保留了菲涅尔方程F(v,h)来对其进行描述,能够模拟出光滑表面和粗糙表面之间的平滑过渡。

优选地,在步骤S4中,采用全局光照算法对整个智能车间的三维场景进行真实感渲染,具体包括以下子步骤:

步骤S41:采用基于GPU的体素化算法对智能车间的三维场景进行体素化表达,得到多个体素;

步骤S42:计算得到所有体素的直接光照辐射率;

步骤S43:计算得到所有体素的阴影遮挡信息;

步骤S44:将所有体素的直接光照辐射率和阴影遮挡信息储存于一张体素辐射率的三维纹理;

步骤S45:对所述体素辐射率的三维纹理进行各向异性的Mipmap过滤,得到体素八叉树结构的三维纹理;

步骤S46:基于体素圆锥追踪(VCT)技术在体素八叉树结构的三维纹理中进行间接光照的计算,得到所有体素的间接光照结果;

步骤S47:将所有体素的直接光照辐射率和间接光照结果进行叠加,得到智能车间的三维场景的全局光照结果。

本实施例中,通过基于GPU硬件的体素化算法进行智能车间的三维场景的体素化表达,由于三维纹理可以储存体素信息,随后通过计算所有体素的直接光照辐射率和阴影遮挡信息,将它们都储存在三维纹理中。再通过对该三维纹理进行各向异性Mipmap过滤来实现体素八叉树结构的构建,最后利用延迟渲染的思想,在实际渲染时进行设备模型材质渲染的同时,通过体素圆锥追踪(VCT)技术在体素八叉树结构的三维纹理中进行间接光照的计算,体素圆锥追踪(VCT)技术为现有技术,并将直接光照与间接光照进行叠加,从而实现智能车间三维场景的高质量光影渲染。

优选地,在步骤S41中,具体包括以下子步骤:

步骤S411:对智能车间的三维场景进行三角网格划分;

步骤S412:通过计算法线分量来判断每个三角网格在不同方向上投影面积的大小,确定投影面积最大的方向作为三角网格的投影方向;

步骤S413:将每个三角网络沿着对应三角网格的投影方向投影至正交投影窗口;

步骤S414:在投影后的正交投影窗口上对每个三角网络进行顶点向外扩展的保守光栅化,得到多个体素;

步骤S415:计算每个体素的反射率,法线和发光度,以完成体素化表达。

本实施例中,为了保证智能车间三维场景中体素的完整性,具体采用的是保守光栅化算法对智能车间三维场景进行体素化表达,然后使用多张三维纹理来储存智能车间三维场景对应的每个体素空间内所有三角网格的反射率、法线和发光度等计算漫反射所需要的光照信息。

优选地,在步骤S42中,每个体素的直接光照辐射率的计算公式如下:

其中,L表示体素的直接光照辐射率;N

本实施例中,使用BRDF模型来计算智能车间三维场景中每个体素的直接光照辐射率,计算过程中只考虑定向光源和点光源两种光源。

优选地,在步骤S43中,具体包括以下子步骤:

步骤S431:获取需要渲染的片元对应体素的位置;

步骤S432:从该体素的位置向光源方向发出射线,并以一定的步长向光源的方向进行步进追踪;

步骤S433:判断在射线当前的步进位置上是否有体素存在,若是,则该体素被遮挡;若否,则该体素不被遮挡。

本实施例中,采用了基于光线追踪的体素阴影绘制算法来计算体素的阴影遮挡信息,该算法能够弥补传统的阴影映射算法对多光源场景的不足。

优选地,在步骤S46中,具体包括以下子步骤:

步骤S461:在需要渲染的片元的法线半球方向上进行多个圆锥锥体的步进追踪;

步骤S462:获取步进位置上所有与圆锥锥体相交的体素;

步骤S463:在每个与圆锥锥体相交的体素大小相对应层级的三维纹理中采样对应其辐射率;

步骤S464:将所有与圆锥锥体相交的体素的辐射率进行累加,得到间接光照结果。

本实施例中,对于所有与圆锥锥体相交的体素,通过在每个体素大小相对应层级的三维纹理中采样对应其辐射率,即与圆锥锥体相交的体素对片元的光照贡献,将所有与圆锥锥体相交的体素的辐射率进行累积即为间接光照的结果,有利于利用其计算全局光照。

进一步说明,对于每一个追踪的圆锥锥体,用α和r分别代表在追踪的圆锥锥体方向上接受到的间接光照的阴影遮挡和辐射率累计值,在每一步的追踪采样中从存储了体素信息的三维纹理中采样得到步进位置上体素的可见度α

α=α+(1-α)

r=αr+(1-α)α

此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120116571676