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

画面渲染方法、画面渲染装置及存储介质

文献发布时间:2023-06-19 11:27:38


画面渲染方法、画面渲染装置及存储介质

技术领域

本发明涉及图像处理技术领域,特别是涉及一种画面渲染方法、画面渲染装置及存储介质。

背景技术

随着视频图像处理技术(比如游戏视频图像)的发展,人们对视频图像的要求越来越高,比如对视频图像的色彩饱和度的要求、对视频图像的分辨率的要求以及对视频图像的场景光照的要求等。

但是随着视频图像的分辨率越来越高,当某些游戏视频图像中的光源发生移动时,场景光照烘焙需要花费很长时间才能得到光源移动后的游戏视频图像,这样导致游戏美术人员需要花费大量的时间等待调整后的画面渲染结果,从而导致游戏美术人员调整游戏图像的场景光照的成本较高。

故,有必要提供一种画面渲染方法及画面渲染装置,以解决现有技术所存在的问题。

发明内容

本发明实施例提供一种可以低成本的快速对游戏图像的场景光照进行调整的画面渲染方法及画面渲染装置,以解决现有的画面渲染方法及画面渲染装置的游戏图像的场景光照的调整成本较高的技术问题。

本发明实施例提供一种画面渲染方法,其包括:

S11、获取视频画面中的场景物体信息以及光源信息;

S12、将所述视频画面划分为多个像素区域,每个像素区域包括多个像素点;

S13、选取每个所述像素区域中的一个未知光照强度的随机像素点,并根据所述随机像素点的位置、所述场景物体信息以及光源信息,确定所述随机像素点的光照强度;并基于所述随机像素点的光照强度对所述视频画面进行渲染;

S14、重复步骤S13,直至接收到光源修改指令或光源确定指令;

S15、如接收到所述光源修改指令则返回步骤S11,如接收到光源确定指令,则根据所述视频画面中的所有像素点的位置、所述场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对所述视频画面进行渲染。

本发明实施例还提供一种画面渲染装置,其包括:

画面信息获取模块,用于获取视频画面中的场景物体信息以及光源信息;

像素区域划分模块,用于将所述视频画面划分为多个像素区域,每个像素区域包括多个像素点;

随机渲染模块,用于选取每个所述像素区域中的一个未知光照强度的随机像素点,并根据所述随机像素点的位置、所述场景物体信息以及光源信息,确定所述随机像素点的光照强度;并基于所述随机像素点的光照强度对所述视频画面进行渲染;

指令接收模块,用于接收光源修改指令或光源确定指令;以及

全局渲染模块,用于根据所述视频画面中的所有像素点的位置、所述场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对所述视频画面进行渲染。

本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述任一画面渲染方法。

相较于现有技术的画面渲染方法及画面渲染装置,本发明的画面渲染方法及画面渲染装置通过将视频画面分割为多个像素区域,对像素区域进行随机像素点渲染,从而实现了对视频画面的快速预渲染;用户可通过对随机像素点渲染结果的观察,随时对渲染效果进行调整;从而实现了快速低成本的对游戏图像的场景光照进行调整;有效解决了现有的画面渲染方法及画面渲染装置的游戏图像的场景光照的调整成本较高的技术问题。

附图说明

图1为本发明的画面渲染方法的第一实施例的流程图;

图2为本发明的画面渲染方法的第一实施例的步骤S103的流程图;

图3为本发明对应视频画面中场景物体与光源相对位置关系的示意图;

图4a和图4b为本发明对应的场景物体的光照能量的反射散射衰减示意图;

图5为本发明的画面渲染方法的包围盒的设置示意图;

图6为本发明的画面渲染方法的第二实施例的流程图;

图7为本发明的画面渲染方法的第三实施例的流程图;

图8为本发明的画面渲染方法的第三实施例的步骤S706的流程图;

图9为本发明的画面渲染装置的实施例的结构示意图;

图10为本发明的画面渲染方法以及画面渲染装置的具体实施例的流程图;

图11a至图11e为本发明的画面渲染方法以及画面渲染装置的具体实施例的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的画面渲染方法以及画面渲染装置用于对游戏画面进行快速渲染处理以及渲染效果调整的电子设备,该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为可对游戏画面进行渲染处理的游戏设计终端,从而实现了游戏设计终端快速的对游戏图像的场景光照进行调整。

请参照图1,图1为本发明的画面渲染方法的第一实施例的流程图。本实施例的画面渲染方法可使用上述的电子设备进行实施,本实施例的画面渲染方法包括:

步骤S101,获取视频画面中的场景物体信息以及光源信息。

步骤S102,将视频画面划分为多个像素区域,每个像素区域包括多个像素点。

步骤S103,选取每个像素区域中的一个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染。

步骤S104,重复步骤S103,直至接收到光源修改指令或光源确定指令。

步骤S105,如接收到光源修改指令,则返回步骤S101;如接收到光源确定指令,则根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染。

下面详细说明本实施例的画面渲染方法的画面渲染过程。

在步骤S101中,画面渲染装置(如游戏设计终端等)基于用户的光源设置指令,获取视频画面中的场景物体信息以及光源信息。

其中光源设置指令为用户在视频画面中设置对应的光源,以达到游戏图像想要的场景光照的用户指令。场景物体信息为该视频画面中对光线具有全部或部分遮挡作用的物体的位置信息以及尺寸信息。光源信息为用户设置的光源的位置信息以及光强信息。随后转到步骤S102。

在步骤S102中,画面渲染装置将步骤S101获取的视频画面划分为多个像素区域,其中每个像素区域包括多个像素点。

用户可以根据自己对画面渲染的识别需求确定像素区域的数量,如果用户希望可以尽量快速的实现画面渲染预览,则可将像素区域的数量设置的较小;如用户希望尽量准确的实现画面渲染预览,则可将像素区域的数量设置的较大。随后转到步骤S103。

在步骤S103中,画面渲染装置选取每个像素区域中的一个未知光照强度的随机像素点,并根据该随机像素点的位置、视频画面中的场景物体信息以及光源信息,确定随机像素点的光照强度;随后基于随机像素点的光照强度对视频画面进行渲染。

由于这里每个像素区域仅获取一个随机像素点,该每个像素区域包括了9个像素点,则每次渲染操作只需要耗费整体渲染操作的九分之一的时间,当然如果像素区域中的像素点更多的话,可以减少更多的画面预渲染时间。

下面详细说明本实施例中获取随机像素点的光照强度的具体流程,请参照图2,图2为本发明的画面渲染方法的第一实施例的步骤S103的流程图。该步骤S103包括:

步骤S201,画面渲染装置根据随机像素点的位置以及场景物体的位置,获取第一级追踪光线。具体可如图3所示,其中视频画面中包括属于不同像素区域的随机像素点A和随机像素点B,该视频画面的场景物体包括场景物体C、场景物体D以及场景物体E,视频画面的光源包括光源F。

其中由人眼触发,连接随机像素点A与场景物体C的光线以及连接随机像素点B与场景物体D的光线即为第一追踪光线。随后转到步骤S202。

步骤S202,画面渲染装置基于不同场景物体的相对位置以及第一级追踪光线的入射角度,获取第一级追踪光线对应的第n级追踪光线,这里的n等于2。由于光线会在不同场景物体之间发生反射或散射,因此在本步骤中需要获取与第一级追踪光线对应的第二级追踪光线,该第二级追踪光线可为图3中的场景物体C与场景物体E之间的光线以及场景物体D与光源F之间的光线。随后转到步骤S203。

步骤S203,画面渲染装置基于不同场景物体的相对位置以及第n级追踪光线的入射角度,获取第n级追踪光线对应的第n+1级追踪光线。

其中第二级追踪光线对应的第三级追踪光线可为图3中的场景物体E与光源F之间的光线。

随后n=n+1,重复步骤S203,可获取所有的不同级别的追踪光线,直至n大于第一设定值。由于不同级别的追踪光线的光强会逐渐衰减,为了提高计算速度,用户可将反射或散射多次之后的追踪光线删除。随后转到步骤S204。

步骤S204,画面渲染装置根据光源和场景物体的位置,获取光源提供给追踪光线的光照能量。

由于随机像素点的光照强度最终都是由光源产生的光照能量产生的,因此步骤S202和步骤S203获取的所有级别的追踪光线最终都会连接到光源上,这样可基于追踪光线的级别,获取每个追踪光线的光照能量。随后转到步骤S205。

步骤S205,画面渲染装置基于场景物体的形状以及材质,对每个追踪光线对应的光照能量进行衰减计算。

由于不同材质的场景物体对入射光线的反射或散射作用是不同的。如场景物体是玻璃等镜面材质,则入射光线几乎只按设定角度进行纯反射。如场景物体是金属、塑料等光滑材质表面,则入射光线会进行具有一定散射作用的反射。如场景物体是石头等粗糙材质表面,则入射光线直接在场景物体表面发生散射。因此n+1级追踪光线在场景物体表面发生反射或散射生成n级追踪光线,这里基于反射或散射的程度,确定第n+1级追踪光线转换为第n级追踪光线的衰减程度。

比如场景物体是镜面材质,如第n级追踪光线处于第n+1级追踪光线的反射光区域,则第n级追踪光线可为第n+1级追踪光线的光照能量的80%。如图4a所示。

如场景物体是粗糙材质,如第n级追踪光线处于第n+1级追踪光线的散射光区域,则第n级追踪光线可为第n+1级追踪光线的光照能量的20%等。如图4b所示。

因此这里计算光照能量的衰减时,首先画面渲染装置需要基于场景物体的材质,计算每个追踪光线对应的光照能量的表面吸收衰减,即场景物体的吸光作用。随后画面渲染装置基于场景物体的形状以及追踪光线的入射角度,计算每个追踪光线对应的光照能量的表面散射衰减,如图4a和图4b所示的由于光线反射或散射造成的能量衰减。最后画面渲染装置基于表面吸收衰减以及表面散射衰减,对每个追踪光线对应的光照能量进行衰减计算。

步骤S206,画面渲染装置获取最终通过随机像素点的所有衰减后的追踪光线,并将上述衰减后的追踪光线的光照能量进行叠加,从而得到该随机像素点的光照强度。

进一步的,由于场景物体的形状各异,因此计算追踪光线的方向时可能会导致计算量过大,因此在执行步骤S103之前,画面渲染装置还可将场景物体转换为对应的三角体物体,该三角体物体可以将原场景物体包含在其中。

随后画面渲染装置根据相邻三角体物体之间的间距,设置场景物体对应的包围盒,其中每个包围盒包括至少一个三角体物体。具体可如图5所示。其中的三角体物体可包含圆形场景物体、矩形场景物体以及六边形场景物体。

这里画面渲染装置可基于相邻三角体物体之间的最大间距,设置场景物体对应的两个第一级包围盒,请参照图5中的包围盒a和包围盒b。

随后画面渲染装置基于第一级包围盒中的相邻三角体物体之间的最大间距,设置第一级包围盒中的两个第二级包围盒,请参照图5中的包围盒b1和包围盒b2。

m=m+1,画面渲染装置依次获取各级包围盒直至最大级别的包围盒中的相邻三角体物体之间的最大间距小于第二设定值。

随后步骤S202可为,画面渲染装置基于第一级追踪光线经过的包围盒中的三角体物体以及第一级追踪光线的入射角度,获取第一级追踪光线对应的第n级追踪光线。

步骤S203可为,画面渲染装置基于第n级追踪光线经过的包围盒中的三角体物体以及第n级追踪光线的入射角度,获取第n级追踪光线对应的第n+1级追踪光线。

步骤S205可为,画面渲染装置基于场景物体对应的三角体物体的形状以及材质,对每个追踪光线对应的光照能量进行衰减操作。

在本实施例中将场景物体转换为三角体物体,降低了后期计算追踪光线的计算量;且包围盒的设置可直接把计算中涉及到追踪光线没有经过的包围盒外的场景物体进行简化删除,进一步简化了后期计算追踪光线的计算量。

在步骤S104中,画面渲染装置重复执行步骤S103,因此视频画面中各个像素区域中的渲染的随机像素点会越来越多,视频画面的画面渲染效果会越来越准确,用户可对视频画面中的渲染效果进行预判断。

如用户确定该渲染效果为最终渲染效果,则可发出光源确定指令;如用户基于现有的渲染效果,确定需要对光源位置进行修改以改进渲染效果,则可发出光源确定指令。随后转到步骤S105。

在步骤S105中,如画面渲染装置接收到用户的光源修改指令,则根据该光源修改指令对该光源位置进行修改,随后返回到步骤S101,将画面渲染效果清空之后,重新进行画面渲染。

如画面渲染装置接收到用户的光源确定指令,则画面渲染装置根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染,即对视频画面进行了全局渲染。

这样即完成了本实施例的画面渲染方法的画面渲染过程。

本实施例的画面渲染方法通过将视频画面分割为多个像素区域,对像素区域进行随机像素点渲染,从而实现了对视频画面的快速预渲染;用户可通过对随机像素点渲染结果的观察,随时对渲染效果进行调整;从而实现了快速低成本的对游戏图像的场景光照进行调整。

请参照图6,图6为本发明的画面渲染方法的第二实施例的流程图。本实施例的画面渲染方法可使用上述的电子设备进行实施,本实施例的画面渲染方法包括:

步骤S601,获取视频画面中的场景物体信息以及光源信息;

步骤S602,将视频画面划分为多个像素区域,每个像素区域包括多个像素点;

步骤S603,选取每个像素区域中的一个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度,并基于随机像素点的光照强度对视频画面进行渲染;

步骤S604,获取相邻像素区域的随机像素点的光照强度的差异值,将差异值大于第三设定值的两个像素区域设定为差异像素区域;

步骤S605,选取每个差异像素区域中的i个未知光照强度的随机像素点,其中像素区域中的j个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染,其中i大于j;

步骤S606,重复步骤S604、S605,直至接收到光源修改指令或光源确定指令;

步骤S607,如接收到光源修改指令则返回步骤S601,如接收到光源确定指令,则根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染。

下面详细说明本实施例的画面渲染方法的画面渲染过程。

其中步骤S601至步骤S603与画面渲染方法的第一实施例的步骤S101至步骤S103的内容相同或相似,具体请参照画面渲染方法的第一实施例的步骤S101至步骤S103中的相关描述。

在步骤S604中,由于用户对视频画面中不同像素区域的关注度不同,用户对光照强度变化较小的像素区域的关注度较低,即该像素区域对视频画面渲染结果判断的影响较低。而光照强度变化较大的像素区域,如由于光源位置变化造成的阴影位置变化区域等,对视频画面渲染结果判断的影响较大。

为了提高预渲染的速度,画面渲染装置可对视频画面渲染结果判断影响较大的像素区域进行加速渲染。具体的,画面渲染装置可基于相邻所述像素区域的随机像素点的光照强度的差异值,获取差异像素区域。该差异像素区域即为视频画面中光照强度变化较大的区域,当视频画面中的光源发生移动时,该差异像素区域中的光照强度是首先发生变化,且变化幅度是最大的。随后转到步骤S605。

在步骤S605中,画面渲染装置对差异像素区域进行加速渲染,具体的,画面渲染装置选取差异像素区域中的i个未知光照强度的随机像素点,其他像素区域的j个未知光照强度的随机像素点;随后画面渲染装置根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对所述视频画面进行渲染;其中i大于j。

这样差异像素区域进行渲染的随机像素点会越来越多,而对视频画面渲染效果影响较差的像素区域的随机像素点增加幅度较小,并不会对计算资源造成较大的影响,这样用户可以基于差异像素区域的渲染效果对视频画面的整体渲染效果进行优先准确判定。随后转到步骤S606。

在步骤S606中,画面渲染装置重复执行步骤S604至步骤S605,因此视频画面中各个像素区域中的渲染的随机像素点会越来越多,视频画面的画面渲染的画面渲染效果会越来越准确,用户可对视频画面中的渲染效果进行预判断。

如用户确定该渲染效果为最终渲染效果,则可发出光源确定指令;如用户基于现有的渲染效果,确定需要对光源位置进行修改以改进渲染效果,则可发出光源确定指令。随后转到步骤S607。

在步骤S607中,如画面渲染装置接收到用户的光源修改指令,则根据该光源修改指令对该光源位置进行修改,随后返回到步骤S601,将画面渲染效果清空之后,重新进行画面渲染。

如画面渲染装置接收到用户的光源确定指令,则画面渲染装置根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染,即对视频画面进行了全局渲染。

这样即完成了本实施例的画面渲染方法的画面渲染过程。

为了进一步加快影响较大的像素区域的渲染速度,画面渲染装置在重复执行步骤S604至步骤S605的过程中,可基于相邻像素区域的随机像素点的光照强度差异值,对差异像素区域的预渲染进程进行调整。具体的,如该差异像素区域与相邻像素区域的随机像素点的光照强度差异值越大,该差异像素区域的选取的未知光照强度的随机像素点越多。

比如某个视频画面存在依次相邻的像素区域A1、像素区域A2、像素区域A3以及像素区域A4,如像素区域A1的光照强度为100(这里的数值并非是实际数值,仅仅为了进行数值对比,因此不设置具体的单位),像素区域A2的光照强度为80,像素区域A3的光照强度为60,像素区域A4的光照强度为20,像素区域A5的光照强度为10;则像素区域A1和像素区域A2的光照强度的差异值为20,像素区域A2和像素区域A3的光照强度的差异值为20,像素区域A3和像素区域A4的光照强度的差异值为40,像素区域A4和像素区域A5的光照强度的差异值为10。因此像素区域A3和像素区域A4之间的光照强度变化较大,因此选取像素区域A1、像素区域A2、像素区域A3、像素区域A4以及像素区域A5的随机像素点的数量可为2:2:4:4:1。

随着预渲染操作的执行,像素区域A1的光照强度变为1000,像素区域A2的光照强度为600,像素区域A3的光照强度为500,像素区域A4的光照强度为400,像素区域A5的光照强度为200。

则像素区域A1和像素区域A2的光照强度的差异值为400,像素区域A2和像素区域A3的光照强度的差异值为100,像素区域A3和像素区域A4的光照强度的差异值为100,像素区域A4和像素区域A5的光照强度的差异值为200。这时像素区域A1和像素区域A2之间的光照强度变化较大,因此选取像素区域A1、像素区域A2、像素区域A3、像素区域A4以及像素区域A5的随机像素点的数量可为4:4:1:2:2。

因此基于画面预渲染过程中各个像素区域的光照强度的变化来调整不同像素区域的渲染速度,使得阴影位置变化区域按照光照强度变化程度(即用户骨关注程度)依次进行快速预渲染,实现了在画面预渲染过程中对不同像素区域的预渲染速度的有效调整操作。

在第一实施例的基础上,本实施例的画面渲染方法基于像素区域的随机像素点的光照强度的差异值,对不同像素区域进行差异化的随机像素点渲染,进一步提高了视频画面的预渲染效率,实现了对视频画面的快速准确预渲染。

请参照图7,图7为本发明的画面渲染方法的第三实施例的流程图。本实施例的画面渲染方法可使用上述的电子设备进行实施,本实施例的画面渲染方法包括:

步骤S701,获取视频画面中的场景物体信息以及光源信息;

步骤S702,将视频画面划分为多个像素区域,每个像素区域包括多个像素点;

步骤S703,选取每个像素区域中的一个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体场景以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染;

步骤S704,重复步骤S703,直至接收到光源修改指令、光源确定指令或用户框选指令;

步骤S705,如接收到用户框选指令,则转到步骤S706;如接收到光源修改指令则返回步骤S701;如接收到光源确定指令,则根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染;

步骤S706,根据用户框选指令确定特定像素区域;选取每个特定像素区域中的i个未知光照强度的随机像素点,其他像素区域中的j个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染;其中i大于j;重复步骤S706,直至接收到光源修改指令、光源确定指令或用户框选指令;返回步骤S705。

下面详细说明本实施例的画面渲染方法的画面渲染过程。

其中步骤S701至步骤S703与画面渲染方法的第一实施例的步骤S101至步骤S103的内容相同或相似,具体请参照画面渲染方法的第一实施例的步骤S101至步骤S103中的相关描述。

在步骤S704中,画面渲染装置重复执行步骤S703,因此视频画面中各个像素区域中的渲染的随机像素点会越来越多,视频画面的画面渲染效果会越来越准确,用户可对视频画面中的渲染效果进行预判断。

如用户确定该渲染效果为最终渲染效果,则可发出光源确定指令;如用户基于现有的渲染效果,确定需要对光源位置进行修改,以改进渲染效果,则可发出光源确定指令;如用户需要对视频画面中的局部细节进行渲染效果的再次确认,则可以发出用户框选指令。

在步骤S705中,如接收到用户框选指令,则转到步骤S706,对视频画面的局部细节进行预渲染效果的加速调整。

如画面渲染装置接收到用户的光源修改指令,则根据该光源修改指令对该光源位置进行修改,随后返回到步骤S701,将画面渲染效果清空之后,重新进行画面渲染。

如画面渲染装置接收到用户的光源确定指令,则画面渲染装置根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染,即对视频画面进行了全局渲染。

在步骤S706中,如接收到用户框选指令,该用户框选指令为用户指定的需要加快渲染效果的像素区域。因此画面渲染装置根据用户渲染指令确定特定像素区域。

随后画面渲染装置选取特定像素区域中的i个未知光照强度的随机像素点,其他像素区域中的j个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度,并基于随机像素点的光照强度对视频画面进行渲染;其中i大于j。重复步骤S706,直至再次接收到光源修改指令、光源确定指令或用户框选指令,则返回步骤S705。

这样特定像素区域进行渲染的随机像素点会越来越多,而用户不关注的非特定像素区域的随机像素点的增加幅度较小,并不会对计算资源造成较大的影响,这样用户可以基于特定像素区域的渲染效果对视频画面的整体渲染效果进行优先准确判定。

进一步的,在步骤S706中,在本实施例中,还可同时基于用户框选区域以及差异像素区域进行视频画面的预渲染。具体请参照图8,图8为本发明的画面渲染方法的第三实施例的步骤S706的流程图。该步骤S706包括:

步骤S801,画面渲染装置根据用户框选指令确定特定像素区域;选取每个所述特定像素区域中的i个未知光照强度的随机像素点,其他像素区域中的j个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对所述视频画面进行渲染。

步骤S802,画面渲染装置获取相邻的特定像素区域的随机像素点的光照强度的差异值,将差异值大于第四设定值的两个特定像素区域设定为差异像素区域。

步骤S803,画面渲染装置选取每个差异像素区域中的i个未知光照强度的随机像素点,其他特定像素区域中的j个未知光照强度的随机像素点,以及其他像素区域中的k个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染;其中i大于j,j大于k;重复步骤S803,直至接收到光源修改指令、光源确定指令或用户框选指令;返回步骤S705。

当然如果用户觉得用户框选区域的优先级高于差异像素区域的优先级,这里可设置j大于等于i。

这样在视频画面的预渲染过程中,可同时考虑用户框选的特定像素区域以及画面渲染装置检测的差异像素区域,并对特定像素区域以及差异像素区域的随机像素点进行优先预渲染处理。

这样即完成了本实施例的画面渲染方法的画面渲染过程。

在第一实施例的基础上,本实施例的画面渲染方法基于用户框选的特定像素区域和/或像素区域的随机像素点的光照强度的差异值,对不同像素区域进行差异化的随机像素点渲染,进一步提高了视频画面的预渲染效率,实现了对视频画面的快速准确预渲染。

本发明还提供了一种画面渲染装置,请参照图9,图9为本发明的画面渲染装置的实施例的结构示意图,本实施例的画面渲染装置可使用上述的画面渲染方法的第一实施例进行实施,本实施例的画面渲染装置90包括画面信息获取模块91、像素区域划分模块92、随机渲染模块93、指令接收模块94以及全局渲染模块95。

画面信息获取模块91用于获取视频画面中的场景物体信息以及光源信息;像素区域划分模块92用于将视频画面划分为多个像素区域,每个像素区域包括多个像素点;随机渲染模块93用于选取每个像素区域中的一个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对视频画面进行渲染;指令接收模块94用于接收光源修改指令或光源确定指令;全局渲染模块95用于根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染。

本实施例的画面渲染装置90使用时,首先画面信息获取模块91基于用户的光源设置指令,获取视频画面中的场景物体信息以及光源信息。

其中光源设置指令为用户在视频画面中设置对应的光源,以达到游戏图像想要的场景光照的用户指令。场景物体信息为该视频画面中对光线具有全部或部分遮挡作用的物体的位置信息以及尺寸信息。光源信息为用户设置的光源的位置信息以及光强信息。

随后像素区域划分模块92将获取的视频画面划分为多个像素区域,其中每个像素区域包括多个像素点。

用户可以根据自己对画面渲染的识别需求确定像素区域的数量,如果用户希望可以尽量快速的实现画面渲染预览,则可将像素区域的数量设置的较小;如用户希望尽量准确的实现画面渲染预览,则可将像素区域的数量设置的较大。

然后随机渲染模块93选取每个像素区域中的一个未知光照强度的随机像素点,并根据该随机像素点的位置、视频画面中的场景物体信息以及光源信息,确定随机像素点的光照强度;随后基于随机像素点的光照强度对视频画面进行渲染。

随机渲染模块93重复执行像素区域的随机像素点的渲染操作,因此视频画面中各个像素区域中的渲染的随机像素点会越来越多,视频画面的画面渲染效果会越来越准确,用户可对视频画面中的渲染效果进行预判断。

如用户确定该渲染效果为最终渲染效果,则可发出光源确定指令至指令接收模块94;如用户基于现有的渲染效果,确定需要对光源位置进行修改以改进渲染效果,则可发出光源确定指令至指令接收模块94。

最后如指令接收模块94接收到用户的光源修改指令,则根据该光源修改指令对该光源位置进行修改,随后返回到画面信息获取模块91,将画面渲染效果清空之后,重新进行画面渲染。

如指令接收模块94接收到用户的光源确定指令,则全局渲染模块95根据视频画面中的所有像素点的位置、场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对视频画面进行渲染,即对视频画面进行了全局渲染。

这样即完成了本实施例的画面渲染装置90的画面渲染过程。

进一步的,全局渲染模块95具体用于根据所述随机像素点的位置以及场景物体的位置,获取第一级追踪光线;

基于不同场景物体的相对位置以及第一级追踪光线的入射角度,获取第一级追踪光线对应的第n级追踪光线;

基于不同场景物体的相对位置以及第n级追踪光线的入射角度,获取第n级追踪光线对应的第n+1级追踪光线,n=n+1,重复获取第n级追踪光线的步骤直至n大于第一设定值;

根据光源与场景物体的位置,获取光源提供给追踪光线的光照能量;基于场景物体的形状以及材质,对每个追踪光线对应的光照能量进行衰减计算;

将衰减后每个追踪光线的光照能量进行叠加得到对应的随机像素点的光照强度。

进一步的,全局渲染模块95还具体用于将场景物体转换为对应的三角体物体;根据相邻三角体物体之间的间距,设置场景物体对应的包围盒;其中每个包围盒包括至少一个三角体物体;

基于第一级追踪光线经过的包围盒中的三角体物体以及第一级追踪光线的入射角度,获取第一级追踪光线对应的第n级追踪光线;

基于第n级追踪光线经过的包围盒中的三角体物体以及第n级追踪光线的入射角度,获取第n级追踪光线对应的第n+1级追踪光线;

基于场景物体对应的三角体物体的形状以及材质,对每个追踪光线对应的光照能量进行衰减操作。

进一步的,全局渲染模块95还具体用于基于场景物体的材质,计算每个追踪光线对应的光照能量的表面吸收衰减;基于场景物体的形状以及追踪光线的入射角度,计算每个追踪光线对应的光照能量的表面散射衰减;基于表面吸收衰减以及表面散射衰减,对每个追踪光线对应的光照能量进行衰减计算。

本实施例的画面渲染装置的具体画面渲染过程,与上述的画面渲染方法的所有实施例中的过程相同或相似,具体请参照上述画面渲染方法的实施例中的相似描述。

本实施例的画面渲染装置通过将视频画面分割为多个像素区域,对像素区域进行随机像素点渲染,从而实现了对视频画面的快速预渲染;用户可通过对随机像素点渲染结果的观察,随时对渲染效果进行调整;从而实现了快速低成本的对游戏图像的场景光照进行调整。

下面通过一具体实施例说明本发明的画面渲染方法以及画面渲染装置的具体工作原理。请参照图10、图11a至图11e,其中图10为本发明的画面渲染方法以及画面渲染装置的具体实施例的流程图,图11a至图11d为本发明的画面渲染方法以及画面渲染装置的具体实施例的示意图。

本发明的画面渲染方法以及画面渲染装置可设置在游戏设计终端上,用于设计并渲染对应的游戏视频画面。该画面渲染过程包括:

步骤S1001,获取视频画面中的场景物体信息以及光源信息,具体如图11a所示,这里已经将视频画面中的场景物体以及光源转换为对应的包围盒。

步骤S1002,将视频画面划分为多个像素区域,每个像素区域包括多个像素点,具体可如图11b所示。

步骤S1003,选取每个像素区域中的一个未知光照强度的随机像素点,并根据随机像素点的位置、场景物体信息以及光源信息,确定随机像素点的光照强度;并基于随机像素点的光照强度对所述视频画面进行渲染。

步骤S1004,重复步骤S1003,逐渐展现视频画面的预渲染效果,具体可如图11c至图11e所示。

步骤S1005,如用户对展现的预渲染效果不满意,可随时发出光源修改指令,对场景物体信息和/或光源信息进行修改后,返回步骤S1001;如用户对展现的预渲染效果满意,则可发出光源确定指令,则游戏设计终端根据视频画面中的所有像素点的位置、所述场景物体信息以及光源信息,确定视频画面中的所有像素点的光照强度,并基于所有像素点的光照强度对所述视频画面进行渲染。

这样即完成了本实施例的画面渲染方法以及画面渲染装置的画面渲染过程。

本发明的画面渲染方法及画面渲染装置通过将视频画面分割为多个像素区域,使用渐进的方式对像素区域进行随机像素点渲染,用户可随时增加采样数和停止迭代计算,在迭代计算到一定可接受的视觉程度时,用户就可以结束预渲染计算,实现了对视频画面的快速预渲染;用户可通过对随机像素点渲染结果的观察,随时对渲染效果进行调整;从而实现了快速低成本的对游戏图像的场景光照进行调整;有效解决了现有的画面渲染方法及画面渲染装置的游戏图像的场景光照的调整成本较高的技术问题。

本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。

而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。

综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

相关技术
  • 画面渲染方法、画面渲染装置及存储介质
  • 画面渲染方法、画面渲染装置及存储介质
技术分类

06120112931509