CN117101127A - 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 - Google Patents
虚拟场景中的图像渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117101127A CN117101127A CN202311127280.8A CN202311127280A CN117101127A CN 117101127 A CN117101127 A CN 117101127A CN 202311127280 A CN202311127280 A CN 202311127280A CN 117101127 A CN117101127 A CN 117101127A
- Authority
- CN
- China
- Prior art keywords
- rendering
- static
- attribute parameters
- parameter
- virtual scene
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 457
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000003068 static effect Effects 0.000 claims abstract description 220
- 238000010586 diagram Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000004590 computer program Methods 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000013138 pruning Methods 0.000 claims description 17
- 238000010276 construction Methods 0.000 claims description 7
- 230000036961 partial effect Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 239000000463 material Substances 0.000 description 52
- 230000000694 effects Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 238000004040 coloring Methods 0.000 description 10
- 230000004069 differentiation Effects 0.000 description 9
- 238000005286 illumination Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 239000010410 layer Substances 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000000306 component Substances 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000011365 complex material Substances 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种虚拟场景中的图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品;应用于第二渲染器,方法包括:对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;基于静态属性参数进行渲染处理,得到虚拟场景对应的静态渲染图;获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。通过本申请,能够提高图像渲染的准确性和效率。
Description
技术领域
本申请涉及图像处理技术,尤其涉及一种虚拟场景中的图像渲染方法、装置、电子设备及计算机可读存储介质及计算机程序产品。
背景技术
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
相关技术中采取可微渲染(Differentiable Rendering)技术实现对虚拟场景的渲染,如基于蒙特卡洛的实现方法和基于光栅化的实现方法。在实际应用中,虚拟场景中的材质往往比较复杂,存在大量由技术美术连接的材质节点来表达期望的美术效果、质量等级相关的切换控制、游戏逻辑相关的一些叠加特效(如技能、流光等),然而,相关技术中,如上述基于蒙特卡洛的实现方法无法应用于现有的游戏的光栅化的方案,基于光栅化方案对于复杂材质,如果采用虚拟环境照片的方式,则无法区分动态效果内容,如果通过编码实现,则需要手动实现目标效果的编码,效率较低。
发明内容
本申请实施例提供一种虚拟场景中的图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高图像渲染的准确性和效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景中的图像渲染方法,应用于第二渲染器,方法包括:
对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;
基于所述静态属性参数进行渲染处理,得到所述虚拟场景对应的静态渲染图;
获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;
将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。
本申请实施例提供一种虚拟场景中的图像渲染装置,设置于第二渲染器,装置包括:
参数转换模块,用于对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;
渲染处理模块,用于基于所述静态属性参数进行渲染处理,得到所述静态属性参数对应的静态渲染图;
参数更新模块,用于获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;
渲染返回模块,用于将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。
上述方案中,所述参数转换模块,还用于从第一渲染器中获取虚拟场景中待渲染的多个原始属性参数;对所述多个原始属性参数进行树形构造,得到对应的参数节点树;根据每个节点对应的所述原始属性参数的属性特征,对所述参数节点树进行剪枝处理,得到简化参数节点树,并将所述简化参数节点树中每个节点对应的属性参数作为待渲染的静态属性参数。
上述方案中,所述参数转换模块,还用于获取所述多个原始属性参数分别对应的属性特征,其中,所述属性特征包括参数类型和引用关系;根据所述多个原始属性参数分别对应的属性特征,对所述多个原始属性参数进行树形构造,得到对应的参数节点树。
上述方案中,所述参数转换模块,还用于查询所述原始属性参数对应的目标节点,并记录各所述目标节点所关联原始属性参数的参数值;根据每个所述原始属性参数对应的属性特征,确定所述多个原始属性参数的参数遍历顺序;按照所述参数遍历顺序对所述参数节点树进行深度优先搜索遍历处理,得到节点遍历顺序以及每个节点关联的连接关系和引用计数;基于各所述目标节点所关联原始属性参数的参数值、所述节点遍历顺序以及每个节点关联的连接关系和引用计数,对所述参数节点树进行剪枝处理,得到简化参数节点树。
上述方案中,所述参数转换模块,还用于通过以下至少之一的方式对所述参数节点树进行剪枝处理,得到简化参数节点树:当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点进行删除;当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点的引用计数减一,以及对与所述节点存在连接关系的其他节点的引用计数减一,并对引用计数为0的节点进行删除;当基于所述节点遍历顺序确定存在重复遍历的节点时,对所述参数节点树中重复遍历的节点进行合并;当所述原始属性参数为动态属性参数时,采用固定值替换所述参数节点树中所述原始属性参数所对应目标节点记录的相应参数值。
上述方案中,所述渲染处理模块,还用于从所述第一渲染器中获取所述虚拟场景中多个待渲染物件、以及所述待渲染物件对应的透明度和深度;基于各所述待渲染物件对应的透明度和深度,对所述多个待渲染物件进行排序,得到渲染队列;基于所述静态属性参数,依次对所述渲染队列中的待渲染物件进行渲染处理,得到所述虚拟场景对应的静态渲染图。
上述方案中,所述渲染处理模块,还用于按照所述透明度从小到大的顺序,对所述多个待渲染物件进行排序,得到初始队列;当所述初始队列中存在透明度相同的不同待渲染物件时,按照所述不同待渲染物件对应的所述深度由大到小的顺序,对所述初始队列中所述不同待渲染物件的排序进行调整,得到渲染队列。
上述方案中,所述参数更新模块,还用于获取所述虚拟场景中与所述静态属性参数相对应的目标属性参数;基于所述目标属性参数进行渲染处理,得到所述虚拟场景对应的参考渲染图。
上述方案中,所述参数更新模块,还用于获取所述静态渲染图与所述参数渲染图之间的图像空间损失、轮廓损失和正则化损失;获取所述图像空间损失、轮廓损失和正则化损失分别对应的损失权重;基于所述损失权重,对所述图像空间损失、轮廓损失和正则化损失进行加权处理,得到所述静态渲染图与所述参考渲染图之间的渲染损失。
上述方案中,所述参数更新模块,还用于获取所述渲染损失针对所述静态属性参数的偏微分值;基于所述偏微分值对所述静态属性参数进行更新。
上述方案中,所述渲染返回模块,还用于基于更新后的静态属性参数进行渲染处理,得到所述虚拟场景对应的更新静态渲染图;将所述更新静态渲染图返回至所述第一渲染器,以使所述第一渲染器将所述更新静态渲染图与所述虚拟场景中动态属性参数对应的动态渲染图进行融合,得到所述虚拟场景对应的目标渲染图。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的虚拟场景中的图像渲染方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,用于被处理器执行时实现本申请实施例提供的虚拟场景中的图像渲染方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的虚拟场景中的图像渲染方法。
本申请实施例具有以下有益效果:
应用本申请实施例,第二渲染器对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数,并基于静态属性参数进行渲染处理,得到虚拟场景对应的静态渲染图;如此,通过对原始属性参数的转换得到静态属性数据,实现了对原始属性参数的简化,基于简化得到的静态属性参数进行渲染处理,能够提高渲染效率;另外,基于虚拟场景对应的参考渲染图与基于静态属性参数渲染得到的静态渲染图之间的渲染损失,对静态属性参数进行更新,并将更新后的静态属性参数对应的静态渲染图返回至第一渲染器,如此,基于更新后的静态属性参数渲染得到的静态渲染图更加准确;最后,第二渲染器将渲染得到的静态渲染图发送至第一渲染器中,通过第一渲染器将静态渲染图和虚拟场景中动态属性参数对应的动态渲染图进行结合,得到虚拟场景对应的目标渲染图,如此,通过两个渲染器得到的目标渲染图,不仅能够展示静态渲染图对应的静态部分,还可展示动态渲染图的动态部分,这样更加符合实际的渲染需求,提高了图像渲染的准确性。
附图说明
图1A是本申请实施例提供的可微渲染示意图;
图1B是本申请实施例提供的基于蒙特卡洛的实现方法示意图;
图2是本申请实施例提供的虚拟场景中的图像渲染系统100的架构示意图;
图3是本申请实施例提供的电子设备500的结构示意图;
图4是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图;
图5是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图;
图6是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图;
图7是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图;
图8是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图;
图9是本申请实施例提供的虚拟场景的参数拟合方法的部署示意图;
图10A是本申请实施例提供的参数简化示意图;
图10B是本申请实施例提供的参数简化示意图;
图10C是本申请实施例提供的参数简化示意图;
图11是本申请实施例提供的图像渲染示意图;
图12A-12C是本申请实施例提供的渲染效果示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二…”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二…”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端:终端中运行的用于提供各种服务的应用程序,例如视频播放客户端、游戏客户端等。
2)虚拟场景:游戏应用程序在终端上运行时显示(或提供)的虚拟游戏场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
3)美术资源:指由艺术家或设计师创作和提供的用于渲染的各种图像和数据,这些资源用于增强场景的外观、表现物体的外观和材质,并丰富图形渲染的视觉效果。
4)可微渲染:是一种新型的计算机图形渲染技术,它将渲染过程中的各个环节变成可微分的操作,从而使得整个渲染过程能够被导数计算和优化。可微渲染的主要思想是通过使用自动微分技术,将渲染的输入参数(例如几何形状、光照、材质等)与输出图像之间的关系建模为可微分函数,将渲染过程与反向传播算法相结合,使得神经网络可以直接学习和优化渲染参数,这种方法使得计算机视觉和机器学习领域中的任务,如图像合成、物体重建和场景理解,更加直观和高效。
5)可微渲染器:是指实现了可微渲染技术的渲染器。它是一种特殊的渲染器,能够计算渲染过程中各个操作的导数,并将其应用于优化、反向渲染和其他需要导数计算的图形任务中。
6)基于物理的渲染:基于物理的渲染(PBR,Physically Based Rendering)是一种渲染技术,旨在模拟现实世界中光线和材质的物理行为,以产生更加真实和逼真的图像。PBR通过基于物理原理的光照模型和材质定义,使得渲染结果更符合真实世界的光照和材质表现。
7)游戏引擎:是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件,为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式,而不用由零开始。
在传统的渲染过程中,渲染器根据场景的几何、材质和光照信息按照指定的观察相机生成一张二维图像,这个渲染过程通常出于效率方面的考虑,会利用大量的加速技术来完成渲染计算,但是这一渲染过程是不可微的,也就是说,它无法直接用于基于梯度的优化算法。而可微渲染通过对渲染过程进行重新建模和近似,使得渲染输出关于输入参数的梯度可计算,从而允许使用反向传播算法进行优化。
参见图1A,图1A是本申请实施例提供的可微渲染示意图,在相关技术中,可微渲染的实现包括基于蒙特卡洛的实现方法和基于光栅化的实现方法。基于蒙特卡洛的实现方法包括边缘采样和路径空间微分渲染等边界采样方案,包括有偏重参数化方案和无偏的翘曲区采样方案的区域采样方案。基于光栅化的实现方法包括软光栅化,神经网络渲染和高性能可区分渲染的模块化基元Nvdiffrast。
参见图1B,图1B是本申请实施例提供的基于蒙特卡洛的实现方法示意图,在相关技术中,基于蒙特卡洛的实现方法支持正向和反向模式的转换,其中,正向模式的转换用于计算图像空间中的扰动,这有助于调试和可视化,反向模式的转换用于在参数空间(例如壁纸的纹素)中提供导数,用于同时优化大量未知数,但是基于蒙特卡洛方式与游戏所使用的基于光栅化的渲染环境并不相同,效果存在差异并且对于显存占用和机器的要求更高;此外,其也无法适配游戏的材质类型。对于光栅化方案,当前主要的基于光栅化的可微渲染器的两个主流实现是SoftRas方案与Nvdiffrast方案,其中,SoftRas方案引入软光栅化和聚合函数,解决了屏幕空间上的不连续性和深度方向上不连续性的问题,Nvdiffrast方案通过自定义的图形管线基本操作:光栅化、属性插值、纹理过滤和抗锯齿,实现基于延迟着色的可微渲染系统。
然而,在实际应用中,虚拟场景中的材质往往比较复杂,存在大量由技术美术连接的材质节点或美术资源来表达期望的美术效果、质量等级相关的切换控制、游戏逻辑相关的一些叠加特效(如技能、流光等),然而,相关技术中,如上述基于蒙特卡洛的实现方法无法应用于现有的游戏的光栅化的方案,基于光栅化方案对于复杂材质,如果采用虚拟环境照片的方式,则无法区分动态效果内容,如果通过编码实现,则需要手动实现目标效果的编码,效率较低。
为此,本申请实施例提供一种虚拟场景中的图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品,以至少解决上述问题。下面说明本申请实施例提供的虚拟场景中的图像渲染系统的示例性应用。
参见图2,图2是本申请实施例提供的虚拟场景中的图像渲染系统100的架构示意图,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示虚拟场景中的图像渲染结果。终端400和服务器200通过有线或者无线网络相互连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表、车载终端等,但并不局限于此。本申请实施例提供的电子设备可以实施为终端,也可以实施为服务器,终端和服务器上均可设置有用于对虚拟场景在进行渲染的渲染器,如第一渲染器和第二渲染器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,以终端400上设置有第一渲染器,服务器200上设置有第二渲染器为例,终端400将从第一渲染器中获取虚拟场景中待渲染的原始属性参数发送至服务器200;服务器200中的第二渲染器,对原始属性参数进行转换处理,得到静态属性参数,并基于静态属性参数进行渲染处理,得到虚拟场景对应的静态渲染图;获取虚拟场景对应的参考渲染图,并确定静态渲染图与所述参考渲染图之间的渲染损失,基于渲染损失对静态属性参数进行更新;将更新后的静态属性参数对应的静态渲染图返回至终端400;终端400中的第一渲染器结合虚拟场景中动态属性参数对应的动态渲染图和更新后的静态属性参数对应的静态渲染图,得到虚拟场景对应的目标渲染图,并在终端400的图形界面中进行显示。
在另一些实施例中,本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
作为示例,服务器200可以是部署在云端的服务器,向用户开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个AI主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
例如,其中的一种人工智能云服务可以为虚拟场景中的图像渲染服务,即云端的服务器封装有本申请实施例提供的虚拟场景中的图像渲染程序。用户通过终端调用云服务中的虚拟场景中的图像渲染服务,以使部署在云端的服务器调用封装的虚拟场景中的图像渲染程序,对获取的虚拟场景中待渲染的原始属性参数进行拟合渲染处理以及参数更新处理,如此,借助于云技术实现参数拟合更新,大大提高了更新效率;然后,将更新后的属性参数或更新后的属性参数对应的拟合渲染结果(即更新后的静态属性参数对应的静态渲染图)返回至终端以供终端根据实际需求使用,例如,终端结合更新后的静态属性参数对应的静态渲染图和虚拟场景中动态属性参数对应的动态渲染图,得到虚拟场景对应的目标渲染图,不仅能够展示静态渲染图对应的静态部分,还可展示动态渲染图的动态部分,这样更加符合实际的渲染需求,提高了图像渲染的准确性。
参见图3,图3是本申请实施例提供的用于实现虚拟场景中的图像渲染方法的电子设备500的结构示意图,其中,图3所示出的电子设备500可以是图2中的服务器200或者终端400,图3所示的电子设备500包括:至少一个处理器410、存储器450、至少一个网络接口420。电子设备500中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的虚拟场景中的图像渲染装置可以采用软件方式实现,图3示出了存储在存储器450中的虚拟场景中的图像渲染装置455,其可以是程序和插件等形式的软件,包括以下软件模块:参数转换模块4551、渲染处理模块4552、参数更新模块4553和渲染返回模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的虚拟场景中的图像渲染装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟场景中的图像渲染装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟场景中的图像渲染方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行各种计算机可执行指令或计算机程序来实现本申请实施例提供的虚拟场景中的图像渲染方法,举例来说,计算机可执行指令可以是微程序级的命令、机器指令或软件指令,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地应用程序(APP,APPlication),即需要在操作系统中安装才能运行的程序,例如射击类游戏APP或社交聊天APP(即上述的客户端410);也可以是能够嵌入至任意APP中的小程序,即只需要下载到浏览器环境中就可以运行的程序。总而言之,上述的计算机可执行指令可以是任意形式的指令,计算机程序可以是任意形式的应用程序、模块或插件。
将结合本申请实施例提供的服务器或终端的示例性应用和实施,说明本申请实施例提供的虚拟场景中的图像渲染方法。
参见图4,图4是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图,将结合图4示出的步骤101至步骤104进行说明,本申请实施例提供的虚拟场景中的图像渲染方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器中的第二渲染器单独实施进行说明。
在步骤101中,对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数。
在一些实施例中,参见图5,图5是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图,图4中的步骤101可通过图5中的步骤1011-步骤1013来实现:
在步骤1011中,从第一渲染器中获取虚拟场景中待渲染的多个原始属性参数。
其中,原始属性参数包括但不限于以下参数至少之一:待渲染的虚拟物件(即虚拟场景中需要渲染的虚拟物体,例如花草、桌子、椅子等)对应的三角形网格数据(如顶点位置、法线方向、UV坐标等)、虚拟物件所使用的材质和纹理、虚拟物件在虚拟场景中的变换矩阵(如位置矩阵、旋转矩阵或缩放矩阵)、虚拟物件在虚拟场景中的环境光照信息、摄像机期望的观察位置信息,若有需要,还可获取当前位置的场景颜色,或渲染过程中的参考渲染图等。
这里的第一渲染器与第二渲染器可以是不同的渲染器,如第一渲染器可以是游戏引擎;第二渲染器可以是可微渲染器。
在步骤1012中,对多个原始属性参数进行树形构造,得到对应的参数节点树。
在一些实施例中,可通过如下方式对多个原始属性参数进行树形构造,得到对应的参数节点树:获取多个原始属性参数分别对应的属性特征,其中,属性特征包括参数类型和引用关系;根据多个原始属性参数分别对应的属性特征,对多个原始属性参数进行树形构造,得到对应的参数节点树。
这里,根据各原始属性参数的属性特征(如参数类型、引用关系等),对多个原始属性参数进行树形构造,将各原始属性参数之间的层级关系或连接关系、参数值投射到树形结构中,得到具有层级关系的参数节点树,其中,一个参数节点树具有1个根节点和多个父节点,每个父节点可看作是由多个子节点或叶子节点组成的集合,当父节点上一相邻的节点是根节点时,这样的父节点对应一个原始属性参数,其对应的子节点或叶子节点是原始属性参数对应的分支函数或参数值。
在步骤1013中,根据每个节点对应的原始属性参数的属性特征,对参数节点树进行剪枝处理,得到简化参数节点树,并将简化参数节点树中每个节点对应的属性参数作为待渲染的静态属性参数。
在一些实施例中,参见图6,图6是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图,图5中步骤1013的根据每个节点对应的原始属性参数的属性特征,对参数节点树进行剪枝处理,得到简化参数节点树,可通过图6中的步骤10131-步骤10134来实现:
在步骤10131中,查询原始属性参数对应的目标节点,并记录各目标节点所关联原始属性参数的参数值。
其中,目标节点是指上一相邻节点为根节点的节点,通过查询目标节点,可获取并记录该目标节点关联的子节点或叶子节点对应的参数值。例如,以元素属性参数为材质为例,对于参数节点树中用于表征材质实例的节点,查找其最基本的母材质对应的目标节点,并记录目标节点关联的材质示例所对应的参数值。
在步骤10132中,根据每个原始属性参数对应的属性特征,确定多个原始属性参数的参数遍历顺序;在步骤10133中,按照参数遍历顺序对参数节点树进行深度优先搜索遍历处理,得到节点遍历顺序以及每个节点关联的连接关系和引用计数。
这里,根据每个原始属性参数的参数类型或引用关系,对多个原始属性参数进行排序,得到参数遍历顺序,如按照世界位置偏移-法线-基色/PBR参数-发光材质的顺序,对于材料特性对应的节点的每个输入进行深度优先搜索的遍历,记录当前的节点遍历顺序、连接关系和被连接的引用计数。
在步骤10134中,基于各目标节点所关联原始属性参数的参数值、节点遍历顺序以及每个节点关联的连接关系和引用计数,对参数节点树进行剪枝处理,得到简化参数节点树。
在一些实施例中,可通过如下方式基于各目标节点所关联原始属性参数的参数值、节点遍历顺序以及每个节点关联的连接关系和引用计数,对参数节点树进行剪枝处理,得到简化参数节点树:通过以下至少之一的方式对参数节点树进行剪枝处理,得到简化参数节点树:当原始属性参数为无需处理的属性参数时,对参数节点树中原始属性参数对应的节点进行删除;当原始属性参数为无需处理的属性参数时,对参数节点树中原始属性参数对应的节点的引用计数减一,以及对与节点存在连接关系的其他节点的引用计数减一,并对引用计数为0的节点进行删除;当基于节点遍历顺序确定存在重复遍历的节点时,对参数节点树中重复遍历的节点进行合并;当原始属性参数为动态属性参数时,采用固定值替换参数节点树中原始属性参数所对应目标节点记录的相应参数值。
在实际应用中,在对参数节点树进行剪枝或简化时,当原始属性参数为无需处理的属性参数时,对参数节点树中无需处理的原始属性参数对应的节点(如根据当前虚拟场景特性不需要关注的节点,或没有被调用的分支节点进行删除,或者,对参数节点树中无需处理的原始属性参数对应的节点(如没有被调用的分支节点)的引用计数减一,并对该节点存在连接关系的其他节点的引用计数减一,最终对引用计数为0的节点进行删除。
当基于节点遍历顺序确定存在重复遍历的节点时,对参数节点树中重复遍历的节点进行合并,例如,对于相同纹理坐标内容的节点或纹理采样对应的所有子序列,比较是否存在重复计算与采样的节点,当存在重复计算与采样的节点时,对存在重复计算与采样的节点进行合并。
当原始属性参数为动态属性参数时,采用固定值替换参数节点树中原始属性参数所对应目标节点记录的相应参数值,例如,对于非游戏设置控制的参数值,如材质发生变化的属性参数(如变化的材质比例或渐变的颜色,渲染后所展示的渲染效果在视觉上呈现动态变化的感觉,如展示的颜色渐变特效),或用于表征技能动态效果的属性参数,将这些属性参数对应的节点翻译为常量,即将参数节点树中动态属性参数(即存在变化的原始属性参数)对应的目标节点对应的参数值用固定值来替换,如此,可将动态属性参数翻译为静态属性参数。
通过上方式,对原始属性参数的转换得到静态属性数据,实现了对原始属性参数的简化,后续基于简化得到的静态属性参数进行渲染处理,能够提高渲染效率。
在步骤102中,基于静态属性参数进行渲染处理,得到虚拟场景对应的静态渲染图。
在一些实施例中,参见图7,图7是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图,图4中的步骤102可通过图7中的步骤1021-步骤1023来实现:
在步骤1021中,从第一渲染器中获取虚拟场景中多个待渲染物件、以及待渲染物件对应的透明度和深度。
在步骤1022中,基于各待渲染物件对应的透明度和深度,对多个待渲染物件进行排序,得到渲染队列。
在一些实施例中,可通过如下方式基于各待渲染物件对应的透明度和深度,对多个待渲染物件进行排序,得到渲染队列:按照透明度从小到大的顺序,对多个待渲染物件进行排序,得到初始队列;当初始队列中存在透明度相同的不同待渲染物件时,按照不同待渲染物件对应的深度由大到小的顺序,对初始队列中不同待渲染物件的排序进行调整,得到渲染队列。
这里,当获取的待渲染物件有多个时,可先根据待渲染物件的透明度,对多个待渲染物件进行排序,得到初始队列,通常情况下,透明度越大(即待渲染物件越透明),相应的渲染顺序越靠后,当初始队列中存在透明度相同的不同待渲染物件时,根据不同待渲染物件分别对应的深度,对不同待渲染物件的排序进行调整,通常情况下,深度越大,相应的渲染顺序越靠后,即对待渲染物件按照深度距离由远到近的排序,并按照由近及远的顺序进行渲染,由近及远的渲染顺序主要目的是在可微渲染阶段利用深度进行剔除,减少不必要物体的绘制,将调整之后的初始队列作为最终确定渲染顺序的渲染队列。
在步骤1023中,基于静态属性参数,依次对渲染队列中的待渲染物件进行渲染处理,得到虚拟场景对应的静态渲染图。
在确定渲染队列后,即可基于静态属性参数依次对渲染队列中各个待渲染物件进行渲染处理,最终得到虚拟场景对应的静态渲染图。
作为示例,依次对渲染队列中的待渲染物件进行渲染处理可以是依次对渲染队列中的待渲染物件进行拟合渲染处理,其中,拟合渲染处理可以通过以下技术方案实现:获取待渲染物件的静态属性参数以及对应拟合渲染处理的可微分渲染框架,将静态属性参数在可微分渲染框架中进行正向传播,得到虚拟场景的拟合渲染图(即静态渲染图),可微分渲染框架是将基于硬件的渲染过程进行软件化封装得到的,其中基于硬件的渲染过程可以是无受光材质的渲染方式,由于进行软件化封装,从而可微可导,因而后续可以基于梯度进行反向传播。
以对渲染队列中一个待渲染物件进行渲染为例,对待渲染物件关联的静态属性参数进行材质翻译处理,得到材质翻译结果(如对待渲染物件关联的静态属性参数进行材质翻译处理,得到材质翻译数据,对材质翻译数据进行材质编译处理,得到顶点操作相关数据以及片元像素操作相关数据,并将顶点操作相关数据以及片元像素操作相关数据组成材质翻译结果);基于材质翻译结果对待渲染物件进行网格处理,得到待渲染物件的网格数据;对待渲染物件关联的静态属性参数以及网格数据进行光线处理,得到待渲染物件的光线处理结果(如基于静态属性参数以及网格数据执行光线追踪处理,得到主光源阴影;对主光源阴影进行可微分去噪处理,得到光线去噪结果;对光线去噪结果叠加主光源光照以及环境光照,得到待渲染物件的光线处理结果);对网格数据进行光栅化处理,得到光栅化结果;基于光栅化结果、材质翻转结果以及光线处理结果进行着色处理,得到待渲染物件的第一着色结果;对待渲染物件的第一着色结果和上一次拟合渲染得到的第二着色结果进行混合处理,得到包括待渲染物件的静态渲染图,如对第一着色结果和第二着色结果中不透明待渲染物件的着色结果进行合并处理,得到第一合并结果;对第一着色结果和第二着色结果中透明待渲染物件与第一合并结果进行合并处理,得到第二合并结果;对第二合并结果进行抗锯齿处理,得到包括待渲染物件的静态渲染图。
在一些实施例中,基于静态属性参数进行的渲染处理可以是通过调用微分处理代码实现的,如获取渲染过程中至少一个固定算子,将至少一个固定算子的计算结果封装至微分处理代码中,以对待渲染的静态属性参数进行渲染处理。本申请实施例增加手动设置可微分渲染框架来实现,用于加速对于复杂材质的微分计算以及减少直接使用自动微分带来的显存占用。
作为示例,即本申请实施例所涉及到的计算处理很多是重复的,这些重复的计算处理所涉及到的算子即为固定算子,如果采取自动微分的话,那么每次均需要对固定算子进行多次计算,从而浪费计算资源,因此可以直接将固定算子的计算结果封装到微分处理代码中,这里相当于是手动微分,从而加速对于复杂材质的微分计算以及减少直接使用自动微分带来的显存占用。
在步骤103中,获取虚拟场景对应的参考渲染图,并确定静态渲染图与参考渲染图之间的渲染损失,基于渲染损失对静态属性参数进行更新。
在一些实施例中,可通过如下方式获取虚拟场景对应的参考渲染图:获取虚拟场景中与静态属性参数相对应的目标属性参数;基于目标属性参数进行渲染处理,得到虚拟场景对应的参考渲染图。
这里,目标属性参数可以认为是对静态属性参数进行更新得到的最优参数,基于目标属性参数进行渲染处理得到的参考渲染图,用于构造损失函数,以对静态属性参数进行更新或拟合。
作为示例,参考渲染图是基于目标属性参数进行标准渲染处理得到的虚拟场景的渲染图,其中,标准渲染处理可以是基于物理的渲染处理,例如,通过基于物理规律的渲染技术加载虚拟场景的目标属性参数,并基于物理规律对目标属性参数进行渲染处理,得到符合物理规律的标准渲染图作为参考渲染图,这种渲染方式可以带来最优的渲染效果,但是代价是需要付出较大的存储资源以及计算资源。
在一些实施例中,参见图8,图8是本申请实施例提供的虚拟场景中的图像渲染方法的流程示意图,图4中的步骤103中的确定静态渲染图与参考渲染图之间的渲染损失,可通过针对静态渲染图与参数渲染图在屏幕空间中任一相同像素执行图8中的步骤1031-步骤1034来实现:
在步骤1031中,确定静态渲染图中对应像素的第一像素值,并确定参考渲染图中对应像素的第二像素值;在步骤1032中,将第一像素值与第二像素值之间的差值的绝对值作为像素的像素值差异;在步骤1033中,对屏幕空间中多个像素的像素值差异进行求和处理,得到整体像素值差异;在步骤1034中,基于整体像素值差异、静态渲染图的长度以及静态渲染图的宽度,确定静态渲染图与参数渲染图之间的渲染损失。
以每个像素作为差异衡量的最小单位,可以有效提高渲染损失的价值,从而基于渲染损失进行更新时,可以得到具有更优渲染效果的转换参数以及静态属性参数。作为示例,渲染损失是基于以下公式得到:其中,Img1和Img2分别表示参考渲染图与静态渲染图,H和W分别表示Img1(或Img2)的长宽,表示参考渲染图与静态渲染图在屏幕空间的像素值差异,(i,j)表示参考渲染图中在屏幕空间中任一像素。需要说明的是,本申请实施例的渲染损失并不局限于公式(1),还可以是其他的变形公式。
在一些实施例中,还可通过如下方式获取静态渲染图与参数渲染图之间的渲染损失:获取静态渲染图与参数渲染图之间的图像空间损失、轮廓损失和正则化损失;获取图像空间损失、轮廓损失和正则化损失分别对应的损失权重;基于损失权重,对图像空间损失、轮廓损失和正则化损失进行加权处理,得到静态渲染图与参考渲染图之间的渲染损失。
在一些实施例中,可通过如下方式基于渲染损失对静态属性参数进行更新:获取渲染损失针对静态属性参数的偏微分值;基于偏微分值对静态属性参数进行更新,如根据偏微分值生成渲染损失对静态属性参数的梯度,由于梯度的方向表明误差扩大的方向,因此对梯度取反,与以原始静态属性参数求和,将得到的求和结果作为更新后的静态属性参数,从而减小静态属性参数引起的误差,不断迭代上述过程,直至收敛。
如此,基于更新后的静态属性参数渲染得到的静态渲染图更加准确。
在步骤104中,将更新后的静态属性参数对应的静态渲染图返回至第一渲染器,以使第一渲染器结合虚拟场景中动态属性参数对应的动态渲染图,得到虚拟场景对应的目标渲染图。
在一些实施例中,第二渲染器更新静态属性参数后,可基于更新后的静态属性参数进行渲染处理,得到虚拟场景对应的更新静态渲染图;将更新静态渲染图返回至第一渲染器,以使第一渲染器将更新静态渲染图与虚拟场景中动态属性参数对应的动态渲染图进行融合,得到虚拟场景对应的目标渲染图,如此,目标渲染图不仅能够展示静态渲染图对应的静态部分,还可展示动态渲染图的动态部分,这样更加符合实际的渲染需求,提高了图像渲染的准确性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以虚拟场景为游戏、第一渲染器为游戏引擎、第二渲染器为可微渲染器为例,继续对本申请实施例提供的虚拟场景中的图像渲染方法进行说明。可以理解的是,本申请实施例提供的可微渲染器可独立于游戏引擎,包括本机终端执行的本地版本和部署于服务器的云服务版本,还可以通过独立线程的方式集成于游戏引擎内部。
本申请实施例可以应用于各种游戏的渲染场景,例如对抗游戏、赛车游戏、变装游戏等。在实际应用中,首先,可微渲染器从游戏引擎中导出游戏中待渲染的原始属性参数,并对原始属性参数进行转换处理得到静态属性参数,基于静态属性参数进行渲染处理,得到游戏对应的静态渲染图,如此,通过对原始属性参数的转换得到静态属性数据,实现了对原始属性参数的简化,基于简化得到的静态属性参数进行渲染处理,能够提高渲染效率;然后,获取游戏对应的参考渲染图,并确定静态渲染图与参考渲染图之间的渲染损失,基于渲染损失对静态属性参数进行更新,基于更新后的静态属性参数进行渲染处理,得到游戏对应的更新静态渲染图,如此,基于更新后的静态属性参数渲染得到的静态渲染图更加准确;最后,将更新静态渲染图返回至游戏引擎中,游戏引擎对游戏中的动态属性参数进行渲染处理得到动态渲染图,并将动态渲染图与第二渲染器返回的更新静态渲染图进行叠加,得到游戏对应的目标渲染图,如此,通过两个渲染器得到的目标渲染图,不仅能够展示静态渲染图对应的静态部分,还可展示动态渲染图的动态部分,这样更加符合实际的渲染需求,提高了图像渲染的准确性。
与训练神经网络的流程类似,基于可微渲染的资源转换与优化(即上述的静态属性参数的更新)同样具有类似或相同的数据准备、模型定义、损失函数优化算法选择、训练/拟合循环、模型评估与部署的流程。在当前使用情形中,拟合纹理这类数据相当于训练单层网络,所以因此更倾向于使用“拟合”而非“训练”。
参见图9,图9是本申请实施例提供的虚拟场景的参数拟合方法的部署示意图,可微渲染进行资源转化以及拟合的基本流程如下。
首先进行数据准备,具体而言,从游戏引擎导出需要处理的数据(即上述的原始属性参数),如待渲染的虚拟物件对应的网格信息,如三角形网格数据(如顶点位置、法线方向、UV坐标等)、虚拟物件所使用的材质信息、虚拟物件在虚拟场景中的变换矩阵(如位置矩阵、旋转矩阵或缩放矩阵)、虚拟物件在虚拟场景中的环境光照信息、摄像机期望的观察视角或观察位置信息,若有需要,还可获取当前位置的场景颜色,或渲染过程中的参考渲染等,利用这些数据能在引擎外部重新渲染当前内容并取得基本一致的效果。
接着定义待拟合数据并初始化,具体而言,定义所有参与拟合参数,同时初始化这些参数。初始化这些参数方法对于不同数据可能有不同的方式,比如对于需要拟合的PBR纹理参数可能使用默认的中间颜色,对于法线纹理使用默认z方向上的编码颜色,对于需要处理的网格可以使用期望拓扑的单元网格或者近似的LOD网格。这些初始化数据可以是通过传统算法得到,也可以通过其他神经网络算法得到,通过下面的拟合循环实现效果的精修。
然后选择损失函数及优化算法,定义拟合循环中所使用到的损失函数和优化算法。损失函数可能包含图像空间的损失,轮廓损失,正则化器等内容,对于不同拟合任务,可以给予不同的选择或权重。此外对于不同的视角可以定义不同的损失权重。类似的优化算法可以在随机梯度下降算法、Adam算法、RMSprop算法等当中选择,这些算法都基于梯度下降,但具有不同的优化策略和更新规则。对于不同的任务可以选择不同的损失函数和优化算法。
接着进行拟合循环,首先是前向传播过程,将待拟合数据(即参与拟合参数,如网格、材质、纹理、着色器、相机参数、光照等参数中的一项或多项,即上述的静态属性参数)通过可微渲染器进行拟合渲染处理,得到拟合渲染图(即上述的静态渲染图),这些拟合渲染结果可以是单视角的也可使是多个视角联合在一起的。然后计算损失,根据定义的损失函数,计算拟合渲染结果(即静态渲染图)和参考渲染图的视角加权后的损失值,其中,参考渲染图可以使用目标属性参数在相同可微渲染器完成渲染得到,也可以根据情况将从游戏引擎中导出的参考图像作为参考渲染图。接着,计算拟合渲染图与参考选图之间的损失函数,即损失函数(拟合渲染图,参考渲染图),计算损失函数关于参与拟合参数的梯度(即损失函数//>参与拟合参数),这里会根据可微渲染器及材质的情况,通过自动微分、手动微分或者两者混合的计算完成梯度的计算,根据梯度和具体优化算法更新参与拟合参数,最后验证并提前停止循环,评估当前拟合参数的拟合情况。如在一定数量的连续拟合轮数内渲染效果没有明显提升,就提前终止拟合过程,避免过拟合。
然后进行资源评估以及资源部署,在导出视角及新视角下进行观察,确定拟合结果是否满足预期效果,将拟合好的数据导回到游戏引擎,并根据具体的情况完成设置,或者,将拟合好的渲染结果(如上述的基于更新后静态属性参数渲染得到的静态渲染图)导回到游戏引擎,以在游戏引擎中,叠加动态渲染图得到具有动效的目标渲染图。
可以将上述步骤简化描述为:由游戏引擎导出资源到外部的可微渲染器,外部可微渲染器中进行拟合循环,将拟合完的资源按项目规则导回到游戏引擎中。
接下来对游戏中材质的处理进行说明,即对上述的原始属性参数进行简化或转换进行说明,游戏中的材质可看作连线类材质(即树形结构),在导出原始属性参数时,可根据各原始属性参数的属性特征(如参数类型、引用关系等),对多个原始属性参数进行树形构造,将各原始属性参数之间的层级关系或连接关系、参数值投射到树形结构中,得到具有层级关系的参数节点树,然后,基于该参数节点树对游戏引擎中的原始属性参数进行翻译,如根据每个节点对应的原始属性参数的属性特征,对参数节点树进行剪枝处理,得到简化参数节点树,并将简化参数节点树中每个节点对应的属性参数作为待渲染的静态属性参数,具体步骤如下:
1)、查询原始属性参数对应的目标节点,并记录各目标节点所关联原始属性参数的参数值,其中,目标节点是指上一相邻节点为根节点的节点,通过查询目标节点,可获取并记录该目标节点关联的子节点或叶子节点对应的参数值。例如,以原始属性参数为材质为例,对于参数节点树中用于表征材质实例的节点,查找其最基本的母材质对应的目标节点,并记录目标节点关联的材质示例所对应的参数值。
2)根据每个原始属性参数的参数类型或引用关系,对多个原始属性参数进行排序,得到参数遍历顺序,如按照世界位置偏移-法线-基色/PBR参数-发光材质的顺序,对于材料特性对应的节点的每个输入进行深度优先搜索的遍历,记录当前的节点遍历顺序、连接关系和被连接的引用计数。
3)对于没有进行手动微分处理的非特殊的材质函数节点,根据具体使用的节点标识(如pin),将当前的节点遍历顺序和连接关系进行相应的替换,即逐级函数展开,插入到当前缓存的节点列表中替换函数节点。
4)根据当前游戏特性剔除到不需要关心的分支节点,如光线追踪(RayTracing)的开启的相关分支可以省略,根据平台需要选择质量等级和平台等级,质量等级节点等。对于不关心的节点分支,将分支节点的引用减一,对每一个引用计数为0的节点,在列表中删除此节点,并将此节点引用的其他节点引用数减一。当列表中没有0引用节点,则相关不关心分支内容已经移除。
参见图10A,图10A是本申请实施例提供的参数简化示意图,图10A中,当原始属性参数为无需处理的属性参数时,对参数节点树中原始属性参数对应的节点(如根据当前虚拟场景特性不需要关注的节点,或没有被调用的分支节点,如没有被Switch或const if选择的相关节点)进行删除;或者,对参数节点树中原始属性参数对应的节点的引用计数减一,以及对与节点存在连接关系的其他节点的引用计数减一,并对引用计数为0的节点进行删除;当基于节点遍历顺序确定存在重复遍历的节点时,对参数节点树中重复遍历的节点进行合并;当原始属性参数为动态属性参数时,采用固定值替换参数节点树中原始属性参数所对应目标节点记录的相应参数值。至此已经过滤掉无关内容。
5)当原始属性参数为动态属性参数时,采用固定值替换参数节点树中原始属性参数所对应目标节点记录的相应参数值,例如,参见图10B,图10B是本申请实施例提供的参数简化示意图,图10B中,对于非游戏设置控制的参数值,如材质发生变化的属性参数(如变化的材质比例或渐变的颜色,渲染后所展示的渲染效果在视觉上呈现动态变化的感觉,如展示的颜色渐变特效),或用于表征技能动态效果的属性参数,将这些属性参数对应的节点翻译为常量,即将参数节点树中动态属性参数(即存在变化的原始属性参数)对应的目标节点对应的参数值用固定值来替换,如此,可将动态属性参数翻译为静态属性参数。
6)当基于节点遍历顺序确定存在重复遍历的节点时,对参数节点树中重复遍历的节点进行合并,例如,参见图10C,图10C是本申请实施例提供的参数简化示意图,图10C中,对于相同纹理坐标内容的节点或纹理采样对应的所有子序列,比较是否存在重复计算与采样的节点,当存在重复计算与采样的节点时,对存在重复计算与采样的节点进行合并。
7)对剪枝后的各节点重新进行深度优先搜索遍历,检查并得到简化后的参数节点树。
8)对参数节点树翻译为pytorch/pth,用于可微渲染器中着色部分的计算,如在可微渲染器中,将对参数节点树翻译得到的静态属性参数进行拟合渲染处理,得到游戏对应的拟合渲染图(即上述的静态渲染图),并基于拟合渲染图与参考渲染图之间的渲染损失,对静态属性参数进行更新。
在游戏连线类材质处理中,我们将动态属性参数的参数值以固定参数值来代替,在替换的节点的最后的位置,被替换的材质分支部分即动态控制内容(即gameplay控制的内容)。基于此,本方法将渲染效果拆分为需要处理的内容(即静态属性参数,如相对基础的材质层)和不处理的动态内容(即动态属性参数,如gameplay动态控制的部分),并拟合需要处理的部分(即对静态属性参数进行拟合渲染),对于不处理的动态内容,因为已经固定常量并替换,所以不需要拟合处理。运行时再叠加这些不处理的动态内容,而拟合的分支则替换成拟合后的纹理内容。
参见图11,图11是本申请实施例提供的图像渲染示意图,在可微渲染器中,对待拟合参数xopt(即上述的静态属性参数,如纹理、模型顶点位置等)基于)进行正向渲染处理(即拟合渲染处理),得到虚拟场景对应的拟合渲染结果(即上述的静态渲染图),记为:yopt=f(xopt);获取虚拟场景对应的目标属性参数xgt(如模型顶点、材质、纹理、相机位置、光照参数等),并基于物理规律对目标属性参数进行渲染处理,得到符合物理规律的真实渲染结果(即上述的参考渲染图),记为:ygt=f(xgt),并确定静态渲染图(yopt)与参考渲染图(ygt)之间的渲染损失,记为:z=loss(yopt,ygt),基于渲染损失对静态属性参数进行更新,如获取渲染损失针对静态属性参数的偏微分值基于偏微分值对静态属性参数进行更新;基于更新后的静态属性参数进行渲染处理,得到更新静态渲染图,再基于更新静态渲染图与参考渲染图之间的渲染损失对静态属性参数进行再次更新,依次类推,将最终更新后的静态属性参数对应的静态渲染图返回至游戏引擎,以使游戏引擎结合游戏中动态属性参数对应的动态渲染图,得到虚拟场景对应的目标渲染图。
参见图12A-12C,图12A-12C是本申请实施例提供的渲染效果示意图,以游戏中的非玩家角色(npc,non-player character),如怪物为例,为了支持海量非玩家角色的玩法,一个npc仅使用一个drawcall完成绘制(即一个npc仅需中央处理器(CPU,CentralProcessing Unit)调用一次图形编程接口,以命令图像处理器(GPU,Graphics ProcessingUnit)进行渲染操作),使用了通过顶点色控制纹理数组的实现方式,此外npc的身上也有gameplay叠加的动态效果,这些内容是无法预先烘焙到一套固定UV的PBR纹理的,进而无法还原美术资源拟合过程,如图12A所示。
而本申请实施例提供的方法,在材质翻译阶段(即上述的原始属性参数的转换阶段),由于将游戏逻辑控制的动态层和基础材质拟合层做了分离操作,如图12B中,将(1)中通过可微渲染我对基础材质拟合层渲染得到的拟合资源(即上述的更新静态渲染图),与(2)中通过游戏引擎对动态层(即动态属性参数)进行渲染得到的动态渲染图进行叠加,得到最终的目标渲染图不仅能够展示静态渲染图对应的静态部分,还可展示动态渲染图的动态部分,并不影响gameplay逻辑相关的表现效果,如目标渲染图与(3)中的原始渲染图所展示的效果是一致的。
图12C中,仅看拟合的漫反射纹理效果图,(1)为PBR材质固有色,经过拟合迭代之后,本申请实施例可以将法线和环境光等表现效果叠加到原固有色的纹理上作为拟合纹理,如(2)所示,在运行时,若存在动态效果,再叠加动态效果即可。
至此已经结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的虚拟对象的控制方法,下面继续说明本申请实施例提供的虚拟对象的控制装置455中各个模块配合实现虚拟对象的控制方案。
参数转换模块4551,用于对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;渲染处理模块4552,用于基于所述静态属性参数进行渲染处理,得到所述静态属性参数对应的静态渲染图;参数更新模块4553,用于获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;渲染返回模块4554,用于将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。
在一些实施例中,所述参数转换模块,还用于从第一渲染器中获取虚拟场景中待渲染的多个原始属性参数;对所述多个原始属性参数进行树形构造,得到对应的参数节点树;根据每个节点对应的所述原始属性参数的属性特征,对所述参数节点树进行剪枝处理,得到简化参数节点树,并将所述简化参数节点树中每个节点对应的属性参数作为待渲染的静态属性参数。
在一些实施例中,所述参数转换模块,还用于获取所述多个原始属性参数分别对应的属性特征,其中,所述属性特征包括参数类型和引用关系;根据所述多个原始属性参数分别对应的属性特征,对所述多个原始属性参数进行树形构造,得到对应的参数节点树。
在一些实施例中,所述参数转换模块,还用于查询所述原始属性参数对应的目标节点,并记录各所述目标节点所关联原始属性参数的参数值;根据每个所述原始属性参数对应的属性特征,确定所述多个原始属性参数的参数遍历顺序;按照所述参数遍历顺序对所述参数节点树进行深度优先搜索遍历处理,得到节点遍历顺序以及每个节点关联的连接关系和引用计数;基于各所述目标节点所关联原始属性参数的参数值、所述节点遍历顺序以及每个节点关联的连接关系和引用计数,对所述参数节点树进行剪枝处理,得到简化参数节点树。
在一些实施例中,所述参数转换模块,还用于通过以下至少之一的方式对所述参数节点树进行剪枝处理,得到简化参数节点树:当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点进行删除;当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点的引用计数减一,以及对与所述节点存在连接关系的其他节点的引用计数减一,并对引用计数为0的节点进行删除;当基于所述节点遍历顺序确定存在重复遍历的节点时,对所述参数节点树中重复遍历的节点进行合并;当所述原始属性参数为动态属性参数时,采用固定值替换所述参数节点树中所述原始属性参数所对应目标节点记录的相应参数值。
在一些实施例中,所述渲染处理模块,还用于从所述第一渲染器中获取所述虚拟场景中多个待渲染物件、以及所述待渲染物件对应的透明度和深度;基于各所述待渲染物件对应的透明度和深度,对所述多个待渲染物件进行排序,得到渲染队列;基于所述静态属性参数,依次对所述渲染队列中的待渲染物件进行渲染处理,得到所述虚拟场景对应的静态渲染图。
在一些实施例中,所述渲染处理模块,还用于按照所述透明度从小到大的顺序,对所述多个待渲染物件进行排序,得到初始队列;当所述初始队列中存在透明度相同的不同待渲染物件时,按照所述不同待渲染物件对应的所述深度由大到小的顺序,对所述初始队列中所述不同待渲染物件的排序进行调整,得到渲染队列。
在一些实施例中,所述参数更新模块,还用于获取所述虚拟场景中与所述静态属性参数相对应的目标属性参数;基于所述目标属性参数进行渲染处理,得到所述虚拟场景对应的参考渲染图。
在一些实施例中,所述参数更新模块,还用于获取所述静态渲染图与所述参数渲染图之间的图像空间损失、轮廓损失和正则化损失;获取所述图像空间损失、轮廓损失和正则化损失分别对应的损失权重;基于所述损失权重,对所述图像空间损失、轮廓损失和正则化损失进行加权处理,得到所述静态渲染图与所述参考渲染图之间的渲染损失。
在一些实施例中,所述参数更新模块,还用于获取所述渲染损失针对所述静态属性参数的偏微分值;基于所述偏微分值对所述静态属性参数进行更新。
上述方案中,所述渲染返回模块,还用于基于更新后的静态属性参数进行渲染处理,得到所述虚拟场景对应的更新静态渲染图;将所述更新静态渲染图返回至所述第一渲染器,以使所述第一渲染器将所述更新静态渲染图与所述虚拟场景中动态属性参数对应的动态渲染图进行融合,得到所述虚拟场景对应的目标渲染图。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的虚拟场景中的图像渲染方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的xx方法,例如,如图4示出的虚拟场景中的图像渲染方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种虚拟场景中的图像渲染方法,其特征在于,应用于第二渲染器,所述方法包括:
对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;
基于所述静态属性参数进行渲染处理,得到所述虚拟场景对应的静态渲染图;
获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;
将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。
2.如权利要求1所述的方法,其特征在于,所述对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数,包括:
从第一渲染器中获取虚拟场景中待渲染的多个原始属性参数;
对所述多个原始属性参数进行树形构造,得到对应的参数节点树;
根据每个节点对应的所述原始属性参数的属性特征,对所述参数节点树进行剪枝处理,得到简化参数节点树,并将所述简化参数节点树中每个节点对应的属性参数作为待渲染的静态属性参数。
3.如权利要求2所述的方法,其特征在于,所述对所述多个原始属性参数进行树形构造,得到对应的参数节点树,包括:
获取所述多个原始属性参数分别对应的属性特征,其中,所述属性特征包括参数类型和引用关系;
根据所述多个原始属性参数分别对应的属性特征,对所述多个原始属性参数进行树形构造,得到对应的参数节点树。
4.如权利要求2所述的方法,其特征在于,所述根据每个节点对应的所述原始属性参数的属性特征,对所述参数节点树进行剪枝处理,得到简化参数节点树,包括:
查询所述原始属性参数对应的目标节点,并记录各所述目标节点所关联原始属性参数的参数值;
根据每个所述原始属性参数对应的属性特征,确定所述多个原始属性参数的参数遍历顺序;
按照所述参数遍历顺序对所述参数节点树进行深度优先搜索遍历处理,得到节点遍历顺序以及每个节点关联的连接关系和引用计数;
基于各所述目标节点所关联原始属性参数的参数值、所述节点遍历顺序以及每个节点关联的连接关系和引用计数,对所述参数节点树进行剪枝处理,得到简化参数节点树。
5.如权利要求4所述的方法,其特征在于,所述基于各所述目标节点所关联原始属性参数的参数值、所述节点遍历顺序以及每个节点关联的连接关系和引用计数,对所述参数节点树进行剪枝处理,得到简化参数节点树,包括:
通过以下至少之一的方式对所述参数节点树进行剪枝处理,得到简化参数节点树:
当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点进行删除;
当所述原始属性参数为无需处理的属性参数时,对所述参数节点树中所述原始属性参数对应的节点的引用计数减一,以及对与所述节点存在连接关系的其他节点的引用计数减一,并对引用计数为0的节点进行删除;
当基于所述节点遍历顺序确定存在重复遍历的节点时,对所述参数节点树中重复遍历的节点进行合并;
当所述原始属性参数为动态属性参数时,采用固定值替换所述参数节点树中所述原始属性参数所对应目标节点记录的相应参数值。
6.如权利要求1所述的方法,其特征在于,所述基于所述静态属性参数进行渲染处理,得到所述虚拟场景对应的静态渲染图,包括:
从所述第一渲染器中获取所述虚拟场景中多个待渲染物件、以及所述待渲染物件对应的透明度和深度;
基于各所述待渲染物件对应的透明度和深度,对所述多个待渲染物件进行排序,得到渲染队列;
基于所述静态属性参数,依次对所述渲染队列中的待渲染物件进行渲染处理,得到所述虚拟场景对应的静态渲染图。
7.如权利要求6所述的方法,其特征在于,所述基于各所述待渲染物件对应的透明度和深度,对所述多个待渲染物件进行排序,得到渲染队列,包括:
按照所述透明度从小到大的顺序,对所述多个待渲染物件进行排序,得到初始队列;
当所述初始队列中存在透明度相同的不同待渲染物件时,按照所述不同待渲染物件对应的所述深度由大到小的顺序,对所述初始队列中所述不同待渲染物件的排序进行调整,得到渲染队列。
8.如权利要求1所述的方法,其特征在于,所述获取所述虚拟场景对应的参考渲染图,包括:
获取所述虚拟场景中与所述静态属性参数相对应的目标属性参数;
基于所述目标属性参数进行渲染处理,得到所述虚拟场景对应的参考渲染图。
9.如权利要求1所述的方法,其特征在于,所述确定所述静态渲染图与所述参考渲染图之间的渲染损失,包括:
针对所述静态渲染图与所述参数渲染图在屏幕空间中任一相同像素执行以下处理:
确定所述静态渲染图中对应像素的第一像素值,并确定所述参考渲染图中对应像素的第二像素值;
将所述第一像素值与所述第二像素值之间的差值的绝对值作为像素的像素值差异;
对屏幕空间中多个像素的像素值差异进行求和处理,得到整体像素值差异;
基于整体像素值差异、所述静态渲染图的长度以及所述静态渲染图的宽度,确定所述静态渲染图与所述参考渲染图之间的渲染损失。
10.如权利要求1所述的方法,其特征在于,所述基于所述渲染损失对所述静态属性参数进行更新,包括:
获取所述渲染损失针对所述静态属性参数的偏微分值;
基于所述偏微分值对所述静态属性参数进行更新。
11.如权利要求1所述的方法,其特征在于,所述将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,包括:
基于更新后的静态属性参数进行渲染处理,得到所述虚拟场景对应的更新静态渲染图;
将所述更新静态渲染图返回至所述第一渲染器,以使所述第一渲染器将所述更新静态渲染图与所述虚拟场景中动态属性参数对应的动态渲染图进行融合,得到所述虚拟场景对应的目标渲染图。
12.一种虚拟场景中的图像渲染装置,其特征在于,设置于第二渲染器,所述装置包括:
参数转换模块,用于对从第一渲染器中获取的虚拟场景中待渲染的原始属性参数进行转换处理,得到静态属性参数;
渲染处理模块,用于基于所述静态属性参数进行渲染处理,得到所述静态属性参数对应的静态渲染图;
参数更新模块,用于获取所述虚拟场景对应的参考渲染图,并确定所述静态渲染图与所述参考渲染图之间的渲染损失,基于所述渲染损失对所述静态属性参数进行更新;
渲染返回模块,用于将更新后的静态属性参数对应的静态渲染图返回至所述第一渲染器,以使所述第一渲染器结合所述虚拟场景中动态属性参数对应的动态渲染图,得到所述虚拟场景对应的目标渲染图。
13.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至11任一项所述的虚拟场景中的图像渲染方法。
14.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令或者计算机程序,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至11任一项所述的虚拟场景中的图像渲染方法。
15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至11任一项所述的虚拟场景中的图像渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311127280.8A CN117101127A (zh) | 2023-08-30 | 2023-08-30 | 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311127280.8A CN117101127A (zh) | 2023-08-30 | 2023-08-30 | 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117101127A true CN117101127A (zh) | 2023-11-24 |
Family
ID=88807341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311127280.8A Pending CN117101127A (zh) | 2023-08-30 | 2023-08-30 | 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117101127A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117883789A (zh) * | 2024-03-15 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 数据获取方法、装置、设备、可读存储介质及程序产品 |
-
2023
- 2023-08-30 CN CN202311127280.8A patent/CN117101127A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117883789A (zh) * | 2024-03-15 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 数据获取方法、装置、设备、可读存储介质及程序产品 |
CN117883789B (zh) * | 2024-03-15 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据获取方法、装置、设备、可读存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934602B2 (en) | System, method and device for three-dimensional modeling | |
US7773087B2 (en) | Dynamically configuring and selecting multiple ray tracing intersection methods | |
US8004518B2 (en) | Combined spatial index for static and dynamic objects within a three-dimensional scene | |
EP4394713A1 (en) | Image rendering method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
CN114677467B (zh) | 地形图像渲染方法、装置、设备及计算机可读存储介质 | |
CN117101127A (zh) | 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 | |
CN114119818A (zh) | 场景模型的渲染方法、装置及设备 | |
CN111915710A (zh) | 基于实时渲染技术的建筑渲染方法 | |
CN114359458A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
CN116894922A (zh) | 一种基于实时图形引擎的夜视图像生成方法 | |
CN115761105A (zh) | 光照渲染方法、装置、电子设备及存储介质 | |
Calabuig-Barbero et al. | Computational model for hyper-realistic image generation using uniform shaders in 3D environments | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN111744196B (zh) | 一种游戏任务中的任务目标引导方法及装置 | |
CN116958390A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
CN114399580A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
CN117078824A (zh) | 参数拟合方法、装置、设备、存储介质及程序产品 | |
Lu | Unreal engine nanite foliage shadow imposter | |
US20240005588A1 (en) | Image rendering method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
CN113538705B (zh) | 一种基于Vulkan的飞行仿真用视景引擎 | |
CN117576280B (zh) | 一种基于3d数字人的智能端云一体化生成方法及系统 | |
CN117671062A (zh) | 图像生成方法、装置、非易失性存储介质和计算机设备 | |
Jean-Michel | Semi-procedural appearance model for controlling and scaling texture and material synthesis | |
CN117635803A (zh) | 着色模型的参数配置方法、装置、计算机设备及存储介质 | |
Liu et al. | Real-Time Interactive Online 3D Graphical User Interface (GUI) Technical Implementation and Usability Test for Architectural Technical Teaching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40098954 Country of ref document: HK |