CN117351133A - 一种数据渲染方法、装置、设备及计算机可读存储介质 - Google Patents
一种数据渲染方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117351133A CN117351133A CN202311654813.8A CN202311654813A CN117351133A CN 117351133 A CN117351133 A CN 117351133A CN 202311654813 A CN202311654813 A CN 202311654813A CN 117351133 A CN117351133 A CN 117351133A
- Authority
- CN
- China
- Prior art keywords
- data
- rendering
- rendered
- processed
- grid
- 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.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 326
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000005286 illumination Methods 0.000 claims abstract description 172
- 238000004088 simulation Methods 0.000 claims abstract description 91
- 230000014509 gene expression Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 96
- 230000000875 corresponding effect Effects 0.000 claims description 39
- 238000012549 training Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 19
- 230000005855 radiation Effects 0.000 claims description 17
- 238000001914 filtration Methods 0.000 claims description 16
- 239000002184 metal Substances 0.000 claims description 16
- 238000003062 neural network model Methods 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 10
- 230000002596 correlated effect Effects 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000000523 sample Substances 0.000 description 34
- 238000013528 artificial neural network Methods 0.000 description 28
- 230000010354 integration Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000034699 Vitreous floaters Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- 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/50—Lighting effects
- G06T15/506—Illumination models
-
- 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)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种数据渲染方法、装置、设备及计算机可读存储介质,应用于云技术、人工智能、智慧交通、地图、游戏和车载等各种虚拟对象渲染场景;该数据渲染方法包括:获取待处理渲染资源,其中,待处理渲染资源包括待处理网格拓扑和待处理纹理数据,待处理网格拓扑用于表示虚拟对象模型的几何形状;对待处理网格拓扑进行显式表达,得到待渲染网格数据;基于待渲染网格数据对待处理纹理数据进行纹理增强,得到待渲染纹理数据;对待处理纹理数据进行光照模拟,得到待渲染光照数据;结合待渲染纹理数据和待渲染光照数据,在虚拟场景中渲染目标虚拟对象。通过本申请,能够提升渲染效率。
Description
技术领域
本申请涉及计算机应用领域中的数据处理技术,尤其涉及一种数据渲染方法、装置、设备及计算机可读存储介质。
背景技术
虚拟场景为所呈现的视野场景,是指虚拟对象所处的环境;其中,虚拟对象为虚拟场景中存在的虚拟实体。在虚拟场景中,常常存在渲染虚拟对象的处理。然而,在渲染虚拟对象的过程中,通常采用人工方式进行纹理渲染,如此影响了虚拟对象的渲染效率。
发明内容
本申请实施例提供一种数据渲染方法、装置、设备、存储介质及程序产品,能够提升渲染效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据渲染方法,所述数据渲染方法包括:
获取待处理渲染资源,其中,所述待处理渲染资源包括待处理网格拓扑和待处理纹理数据,所述待处理网格拓扑用于表示虚拟对象模型的几何形状;
对所述待处理网格拓扑进行显式表达,得到待渲染网格数据;
基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据;
对所述待处理纹理数据进行光照模拟,得到待渲染光照数据;
结合所述待渲染纹理数据和所述待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
本申请实施例提供一种数据渲染装置,所述数据渲染装置包括:
资源获取模块,用于获取待处理渲染资源,其中,所述待处理渲染资源包括待处理网格拓扑和待处理纹理数据,所述待处理网格拓扑用于表示虚拟对象模型的几何形状;
显式表达模块,用于对所述待处理网格拓扑进行显式表达,得到待渲染网格数据;
纹理增强模块,用于基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据;
光照模拟模块,用于对所述待处理纹理数据进行光照模拟,得到待渲染光照数据;
对象渲染模块,用于结合所述待渲染纹理数据和所述待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
在本申请实施例中,所述显式表达模块,还用于遍历所述待处理网格拓扑中的各个网格邻边,对遍历到的每个网格邻边执行以下处理:在所述网格邻边中的原始网格顶点对中,确定每个原始网格顶点的变形矢量和符号距离场值;基于所述变形矢量将所述原始网格顶点变换为目标网格顶点,得到与所述网格邻边对应的目标网格顶点对;基于所述符号距离场值将目标网格顶点对确定为曲面网格顶点对;基于遍历获得的各个所述曲面网格顶点对,构建所述待渲染网格数据。
在本申请实施例中,所述显式表达模块,还用于将遍历获得的各个所述曲面网格顶点对,构建为曲面网格数据;对所述曲面网格数据进行掩码分割,得到待过滤网格数据;对所述待过滤网格数据中的背景掩码进行过滤,得到所述待渲染网格数据。
在本申请实施例中,所述纹理增强模块,还用于获取与所述待处理纹理数据对应的粗糙度、空间法线、金属因子和基色参数;结合所述金属因子和所述基色参数,获得外观数据;结合所述待渲染网格数据、所述外观数据、所述粗糙度和所述空间法线进行纹理增强,得到所述待渲染纹理数据。
在本申请实施例中,所述光照模拟模块,还用于获取所述待处理纹理数据的镜面出射数据,对所述镜面出射数据进行积分,得到第一光照模拟数据;获取所述待处理纹理数据的镜面入射数据,对所述镜面入射数据进行积分,得到第二光照模拟数据;结合所述第一光照模拟数据和所述第二光照模拟数据,得到所述待渲染光照数据。
在本申请实施例中,所述光照模拟模块,还用于获取指定入射方向和所述待渲染纹理数据中的空间法线的第一结合结果;基于所述指定入射方向和所述空间法线,确定目标出射方向,并获取所述目标出射方向和所述空间法线的第二结合结果;获取与镜面反射参数正相关、且与所述第一结合结果和所述第二结合结果负相关的初始镜面反射数据;将所述初始镜面反射数据与所述第一结合结果,结合为所述镜面出射数据。
在本申请实施例中,所述光照模拟模块,还用于获取指定入射方向上的辐射尺寸;将所述辐射尺寸、初始镜面反射数据的积分结果和第一结合结果,结合为所述镜面入射数据。
在本申请实施例中,所述光照模拟模块,还用于结合所述第一光照模拟数据和所述第二光照模拟数据,得到待过滤光照数据;对所述待过滤光照数据进行预过滤,得到待压缩环境贴图;对所述待压缩环境贴图进行压缩,得到所述待渲染光照数据。
在本申请实施例中,目标虚拟对象是由数据渲染模型对所述待处理渲染资源进行处理渲染出的,所述数据渲染装置还包括模型训练模块,用于获取渲染资源样本和渲染图像标签;采用待训练模型对所述渲染资源样本进行纹理渲染,得到预估渲染图像,其中,所述待训练模型为待训练的用于对渲染资源进行纹理渲染的神经网络模型;基于所述预估渲染图像和所述渲染图像标签之间的差异,确定目标损失函数值;基于所述目标损失函数值,训练所述待训练模型,得到所述数据渲染模型。
在本申请实施例中,所述模型训练模块,还用于基于所述预估渲染图像和所述渲染图像标签在图像空间上的差异,计算第一损失函数值;基于所述预估渲染图像和所述渲染图像标签在蒙版上的差异,计算第二损失函数值;基于所述预估渲染图像的各个网格邻边样本,计算第三损失函数值;将所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,组合为所述目标损失函数值。
在本申请实施例中,所述模型训练模块,还用于针对所述预估渲染图像中的各个所述网格邻边样本,对遍历到的每个所述网格邻边样本执行以下处理:针对所述网格邻边样本中的第一顶点样本,获取对应的第一符号距离场值,并针对所述网格邻边样本中的第二顶点样本,获取对应的第二符号距离场值;获取所述第一符号距离场值的第一符号和第一归一化值,并结合所述第一符号和所述第一归一化值计算第一子损失函数值;获取所述第二符号距离场值的第二符号和第二归一化值,并结合所述第二符号和所述第二归一化值计算第二子损失函数值;将所述第一子损失函数值和所述第二子损失函数值,组合为边损失函数值;将遍历获得的多个所述边损失函数值组合为所述第三损失函数值。
本申请实施例提供一种用于数据渲染的电子设备,所述电子设备包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的数据渲染方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,所述计算机可执行指令或者计算机程序用于被处理器执行时,实现本申请实施例提供的数据渲染方法。
本申请实施例提供一种计算机程序产品,包括计算机可执行指令或者计算机程序,所述计算机可执行指令或者计算机程序被处理器执行时,实现本申请实施例提供的数据渲染方法。
本申请实施例至少具有以下有益效果:通过对待处理渲染资源中的待处理网格拓扑进行显示表达,再基于显示表达出的待渲染网格数据对待处理渲染资源中的待处理纹理数据进行增强,以及对待处理纹理数据进行光照模拟,最后结合光照模拟出的待渲染光照数据和待渲染纹理数据渲染虚拟场景中的目标虚拟对象;实现了一种自动渲染虚拟对象纹理数据并渲染虚拟对象的过程,能够提升虚拟对象的渲染效率。
附图说明
图1是本申请实施例提供的数据渲染系统的架构示意图;
图2是本申请实施例提供的一种图1中的终端的结构示意图;
图3是本申请实施例提供的数据渲染方法的流程示意图一;
图4是本申请实施例提供的数据渲染方法的流程示意图二;
图5是本申请实施例提供的数据渲染方法的流程示意图三;
图6是本申请实施例提供的一种示例性的模型训练流程图;
图7是本申请实施例提供的一种示例性的渲染训练示意图;
图8是本申请实施例提供的网格获取示意图;
图9是本申请实施例提供的一种示例性的渲染结果示意图;
图10是本申请实施例提供的一种示例性的渲染应用示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与所属技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。本申请实施例提供的数据渲染方法,可以基于AI实现。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析和算法复杂度理论等多门学科。用于研究计算机模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,机器学习应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。在本申请实施例中,可以通过机器学习中的人工神经网络实现数据渲染。
3)人工神经网络,是一种模仿生物神经网络结构和功能的数学模型,本申请实施例中人工神经网络的示例性结构包括图卷积网络(Graph Convolutional Network,GCN,一种用于处理图结构的数据的神经网络)、深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent NeuralNetwork,RNN)、神经状态机(Neural State Machine,NSM)和相位函数神经网络(Phase-Functioned Neural Network,PFNN)等。本申请实施例中所涉及的待训练模型和数据渲染模型等均为人工神经网络对应的模型(称为神经网络模型)。
4)虚拟场景,是指虚拟对象所处的环境,或者所呈现的视野场景;可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境,又可以是上述的结合。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地和海洋等,而陆地可以包括沙漠和城市等环境元素,用户或智能控制逻辑可以控制虚拟对象在该虚拟场景中进行移动、增减、缩放和镜像等处理。
5)虚拟对象,虚拟场景中存在的虚拟实体,比如,可以进行交互的各种虚拟人物和虚拟物体的形象,或在虚拟场景中的其他可移动对象,又或者虚拟场景中的不可移动对象,等等。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。比如,游戏角色等。
6)逆渲染(Inverse Rendering),又称为反向渲染,是一种计算机图形学中的技术,用于从二维或三维图像中推断出场景的物理属性,例如光照、材质和几何形状等。逆渲染的目标是反向计算渲染过程,即从输出的图像推断出输入的场景参数。在传统的渲染过程中,使用场景参数来生成图像。但在逆渲染中,待从图像中推断出这些参数。逆渲染通常涉及到多个步骤,包括光度估计、材质恢复和几何重建等,通常采用多个传感器来捕捉不同角度的场景,并将这些场景信息结合起来进行处理。本申请实施例训练出数据渲染模型,并结合数据渲染模型渲染目标虚拟的对象的过程,即为逆渲染过程。
7)符号距离函数(Sign Distance Function,SDF),又称为定向距离函数;用于在空间中的一个有限区域上确定一个点到区域边界的最近距离,并同时对距离的符号进行定义:点在区域边界内部符号为正,点在区域边界外部符号为负,点在区域边界上符号为0。本申请实施例中所获得的符号距离场值可以是通过符号距离函数获得的。
8)可微渲染(Differentiable Rendering),一种渲染技术,用于将渲染方程转化为一个可微分函数,从而能够在渲染过程中计算场景参数(如形状、材质、光照等)的梯度,进而可以采用梯度下降或其他优化算法来调整场景参数,以达到特定目标;可微渲染可以应用于逆渲染中。
9)移动四面体算法,用于获取三角形曲面网格,通过将移动四面体在拓扑结构的整个空间区域上移动实现三角形曲面网格的获取;移动四面体算法通过计算三角形表面是否穿过该移动四面体实现。本申请实施例可以采用移动四面体算法获取待渲染网格数据。
10)体积纹理,又称为三维纹理,由多张二维纹理组成,用于描述三维空间的纹理数据,三维纹理通过三维纹理坐标访问。本申请实施例中的待处理纹理数据可以为体积纹理。
需要说明的是,在虚拟场景中,常常存在渲染虚拟对象的处理。然而,在渲染虚拟对象的过程中,通常采用人工方式进行纹理渲染;比如,采用人工编写代码的方式进行纹理渲染的优化;如此影响了虚拟对象的渲染效率和智能性。
基于此,本申请实施例提供一种数据渲染方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升虚拟对象的渲染效率和智能性。下面说明本申请实施例提供的数据渲染设备的示例性应用,本申请实施例提供的数据渲染设备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能家电、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、智能语音交互设备、便携式游戏设备和智能音箱等各种类型的终端,也可以实施为服务器,又可以实施为两者的结合。下面,将说明数据渲染设备实施为终端时的示例性应用。
参见图1,图1是本申请实施例提供的数据渲染系统的架构示意图;如图1所示,为支撑一个数据渲染应用,在数据渲染系统100中,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200;网络300可以是广域网或者局域网,又或者是二者的组合;服务器200用于向终端400提供计算服务,比如,当终端400采用数据渲染模型对待处理渲染资源进行数据渲染时,服务器200用于训练数据渲染模型,并通过网络300向终端400提供数据渲染模型所包括的功能服务。另外,该数据渲染系统100中还包括数据库500,用于向服务器200提供数据支持;并且,图1中示出的为数据库500独立于服务器200的一种情况,此外,数据库500还可以集成在服务器200中,本申请实施例对此不作限定。
终端400,用于响应于渲染操作,获取待处理渲染资源,其中,待处理渲染资源包括待处理网格拓扑和待处理纹理数据,待处理网格拓扑用于表示虚拟对象模型的几何形状;对待处理网格拓扑进行显式表达,得到待渲染网格数据;基于待渲染网格数据对待处理纹理数据进行纹理增强,得到待渲染纹理数据;对待处理纹理数据进行光照模拟,得到待渲染光照数据;结合待渲染纹理数据和待渲染光照数据,在虚拟场景中渲染目标虚拟对象(示例性示出了图形界面410-1和图形界面410-2)。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不作限制。
参见图2,图2是本申请实施例提供的一种图1中的终端的结构示意图;如图2所示,终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(Universal Serial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的数据渲染装置可以采用软件方式实现,图2示出了存储在存储器450中的数据渲染装置455,其可以是程序和插件等形式的软件,包括以下软件模块:资源获取模块4551、显式表达模块4552、纹理增强模块4553、光照模拟模块4554、对象渲染模块4555和模型训练模块4556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本申请实施例提供的数据渲染装置可以采用硬件方式实现,作为示例,本申请实施例提供的数据渲染装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据渲染方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行各种计算机可执行指令或者计算机程序来实现本申请实施例提供的数据渲染方法。举例来说,计算机可执行指令可以是微程序级的命令、机器指令或软件指令。计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APPlication,APP),即需要在操作系统中安装才能运行的程序,如模型渲染APP;也可以是能够嵌入至任意APP中的小程序,即只需要下载到浏览器环境中就可以运行的程序。总而言之,上述的计算机可执行指令可以是任意形式的指令,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面,将结合本申请实施例提供的数据渲染设备的示例性应用和实施,说明本申请实施例提供的数据渲染方法。另外,本申请实施例提供的数据渲染方法应用于云技术、人工智能、智慧交通、地图、游戏和车载等各种虚拟对象渲染场景。
参见图3,图3是本申请实施例提供的数据渲染方法的流程示意图一,其中,图3中各步骤的执行主体是数据渲染设备;下面将结合图3示出的步骤进行说明。
步骤101、获取待处理渲染资源,其中,待处理渲染资源包括待处理网格拓扑和待处理纹理数据。
在本申请实施例中,数据渲染设备接收到渲染指令之后,执行该渲染指令,以基于渲染指令所指示的资源标识从渲染引擎中提取渲染资源,也就获得了待处理渲染资源;或者,渲染指令中携带着待处理渲染资源,从而数据渲染设备能够直接从渲染指令中获取到待处理渲染资源。
需要说明的是,渲染指令可以是响应于渲染操作生成的,还可以是接收到的其他设备或功能模块发送的请求指令,等等,本申请实施例对此不作限定。待处理渲染资源为虚拟对象模型的基础渲染素材,用于渲染虚拟对象;这里,待处理渲染资源包括待处理网格拓扑和待处理纹理数据;其中,待处理网格拓扑用于表示虚拟对象模型的几何形状,可以是三维空间的网格拓扑,比如,立方体网格的拓扑结构,四面体网格的拓扑结构,胶囊体网格的拓扑结构,球网格的拓扑结构,凹面体网格的拓扑结构,上述组合,等等;待处理纹理数据为虚拟对象模型的纹理贴片,可以是三维纹理,比如,体积纹理;也就是说,待处理网格拓扑和待处理纹理数据为同一个虚拟对象模型的两种不同的数据,用于从几何形状和纹理两个维度描述虚拟对象模型;以及,待处理网格拓扑用于从几何形状维度描述虚拟对象模型,待处理纹理数据用于从纹理维度描述虚拟对象模型。
步骤102、对待处理网格拓扑进行显式表达,得到待渲染网格数据。
在本申请实施例中,数据渲染设备在获得了待处理网格拓扑之后,先将待处理网格拓扑转换至二维空间中,所获得的转换结果即为待渲染网格数据;这里,数据渲染设备通过显示表达来将待处理网格转换为曲面网格拓扑,以实现待处理网格拓扑向二维空间的转换。其中,待渲染网格数据为二维空间中的曲面网格拓扑,比如,三角形曲面网格拓扑。
需要说明的是,显示表达是指获取二维空间上曲面网格的处理;比如,可以基于移动四面体或移动立方体确定网格顶点的偏移矢量,再基于偏移矢量确定曲面网格的网格顶点;还可以通过神经网络模型实现;又可以是上述两者的结合,等等,本申请实施例对此不作限定。
可以理解的是,当待处理纹理数据为体积纹理时,在获取三待渲染网格数据的过程中,能够确保纹理与网格之间的映射随顶点平移和拓扑变化而平滑变化,提升纹理处理的稳健性。
参见图4,图4是本申请实施例提供的数据渲染方法的流程示意图二,其中,图4中各步骤的执行主体是数据渲染设备;如图4所示,步骤102可通过步骤1021至步骤1024实现;也就是说,数据渲染设备对待处理网格拓扑进行显式表达,得到待渲染网格数据,包括步骤1021至步骤1024,下面对各步骤分别进行说明。
在本申请实施例中,待处理网格拓扑中的每两个相邻网格之间包括一个邻边(称为网格邻边),从而待处理网格拓扑中包括多个网格邻边;这里,数据渲染设备遍历待处理网格拓扑中的各个网格邻边,并对遍历到的每个网格邻边执行以下处理(步骤1021至步骤1024),以完成显式表达处理。其中,各个网格邻边是指待处理网格拓扑中的全量网格邻边。
步骤1021、在网格邻边中的原始网格顶点对中,确定每个原始网格顶点的变形矢量和符号距离场值。
需要说明的是,由于每个网格邻边包括两个顶点,这里将网格邻边中的顶点称为原始网格顶点,从而,网格邻边对应一对原始网格顶点,即为原始网格顶点对。在原始网格顶点对中,数据渲染设备能够基于每个原始网格顶点在待处理网格拓扑中对应的顶点特征,确定出对应的变形矢量和符号距离场值。其中,变形矢量是指原始网格顶点的偏移量,符号距离场值即为原始网格顶点的SDF值。
在本申请实施例中,数据渲染设备对待处理网格拓扑中的每个原始网格顶点进行特征提取,也就获得了原始网格顶点在待处理网格拓扑中对应的顶点特征;这里,数据渲染设备可以基于原始网格顶点在待处理网格拓扑中的位置进行特征提取,以获得对应的顶点特征。
步骤1022、基于变形矢量将原始网格顶点变换为目标网格顶点,得到与网格邻边对应的目标网格顶点对。
在本申请实施例中,数据渲染设备基于变形矢量对原始网格顶点进行偏移,偏移后的原始网格顶点即为目标网格顶点;易知,该目标网格顶点表示曲面网格的网格顶点,且与三维空间中的原始网格顶点对应。当数据渲染设备针对原始网格顶点对中的两个原始网格顶点均完成了分别对应的目标网格顶点的获取之后,也就获得了与原始网格顶点对所对应的两个目标网格顶点,即为与网格邻边对应的目标网格顶点对。其中,原始网格顶点对中的原始网格顶点与目标网格顶点对中的目标网格顶点一一对应。
步骤1023、基于符号距离场值将目标网格顶点对确定为曲面网格顶点对。
在本申请实施例中,数据渲染设备基于符号距离场值对目标网格顶点对进行插值,并基于插值结果判断目标网格顶点是否符合曲面性质。这里,数据渲染设备获取目标网格顶点对所对应的两个符号距离场值的符号距离场差值,并获取一个目标网格顶点与另一目标网格顶点对应的符号距离场值之间的第一乘积,再获取一个目标网格顶点对应的符号距离场值与另一目标网格顶点之间的第二乘积,以及获取第一乘积与第二乘积之间的乘积差值;最后,将与符号距离场差值负相关、且与乘积差值正相关的差值结果所对应的顶点,作为待检测顶点;当待检测顶点位于目标网格顶点对所在的边上时,表明目标网格顶点对为曲面网格的一对网格顶点,从而此时,目标网格顶点对即为曲面网格顶点对;当待检测顶点位于目标网格顶点对所在的边的外边时,重新确定每个原始网格顶点的新变形矢量和新符号距离场值,进而基于新变形矢量和新符号距离场值将原始网格顶点对转换为曲面网格顶点对。
步骤1024、基于遍历获得的各个曲面网格顶点对,构建待渲染网格数据。
在本申请实施例中,由于数据渲染设备针对每个网格邻边均获得了曲面网格顶点对,从而能够获得与各个网格邻边一一对应的各个曲面网格顶点对;这里,数据渲染设备可以直接将各个曲面网格顶点对所对应的曲面网格拓扑确定为待渲染网格数据,也可以对各个曲面网格顶点对所对应的曲面网格拓扑进行过滤后,将过滤后的曲面网格拓扑确定为待渲染网格数据,本申请实施例对此不作限定。
在本申请实施例中,数据渲染设备基于遍历获得的各个曲面网格顶点对,构建待渲染网格数据,包括:数据渲染设备将遍历获得的各个曲面网格顶点对,构建为曲面网格数据;并对曲面网格数据进行掩码分割,得到待过滤网格数据;最后对待过滤网格数据中的背景掩码进行过滤,得到待渲染网格数据。
需要说明的是,曲面网格数据是指各个曲面网格顶点对所对应的曲面网格拓扑;数据渲染设备对曲面网格数据进行背景过滤,以过滤掉曲面网格数据的背景信息,完成背景过滤后的曲面网格数据即为待渲染网格数据。这里,数据渲染设备可以对曲面网格数据中的背景和网格数据进行掩码分割,并将掩码分割出的背景掩码过滤掉,也就获得了待渲染网格数据。
可以理解的是,通过对曲面网格数据进行背景过滤,减少了网格背景在后续纹理处理过程的影响,进而能够提升纹理渲染效率。
步骤103、基于待渲染网格数据对待处理纹理数据进行纹理增强,得到待渲染纹理数据。
在本申请实施例中,数据渲染设备对待渲染网格数据进行特征提取,得到几何形状特征,对待处理纹理数据进行特征提取,得到纹理特征;进而结合几何形状特征和纹理特征进行纹理增强,也就获得了待渲染纹理数据。
可以理解的是,由于待渲染网格数据为二维曲面网格数据,从而,数据渲染设备基于待处理纹理数据在待渲染网格数据中进行纹理表示,能够降低因立体网格数量小于指定网格数量导致的渲染质量损失,降低立体网格纹理渲染中引入的离散化错误,减少立体网格内部和漂浮物的影响;以及,能够自适应地获取二维流行空间处的纹理细节,去除纹理接缝;因此,能够提升纹理渲染效果。
在本申请实施例的步骤103中,数据渲染设备基于待渲染网格数据对待处理纹理数据进行纹理增强,得到待渲染纹理数据,包括:数据渲染设备获取与待处理纹理数据对应的粗糙度、空间法线、金属因子和基色参数;结合金属因子和基色参数,获得外观数据;结合待渲染网格数据、外观数据、粗糙度和空间法线进行纹理增强,得到待渲染纹理数据。
需要说明的是,数据渲染设备在对待处理纹理数据进行特征提取时,可以先获取与待处理纹理数据中对应的粗糙度、空间法线、金属因子和基色参数等信息,再对获取的粗糙度、空间法线、金属因子和基色参数等信息进行特征提取;其中,粗糙度表示待渲染表面的粗糙程度,空间法线表示待渲染表面的法线信息,金属因子表示待渲染表面为金属材质的可能性,基色参数表示待渲染表面的初始颜色信息。这里,外观数据表示结合金属因子和基色参数所确定出的颜色信息;从而,数据渲染设备对待处理纹理数据进行特征提取,可以是通过对外观数据、粗糙度和空间法线进行特征提取实现的。其中,空间法线可以通过指定纹素映射参数从待渲染纹理数据提取出来,而指定纹素映射参数可以为指定参数,也可以为神经网络模型中的可训练参数,本申请实施例对此不作限定。
步骤104、对待处理纹理数据进行光照模拟,得到待渲染光照数据。
在本申请实施例中,数据渲染设备基于指定相机姿势对待处理纹理数据进行光照模拟,所获得的光照模拟结果即为待渲染光照数据;易知,待渲染光照数据描述了虚拟对象模型的光照信息;另外,待渲染光照数据可以是点光源的光照信息,还可以是面光源的光照信息,也可以是上述两者的结合,等等,在实际实施时以指定相机姿势所给的光源为准,本申请实施例对此不作限定。
需要说明的是,数据渲染设备可通过积分的方式对待处理纹理数据进行光照模拟;比如,通过对待处理纹理数据对应的漫反射信息进行积分来获得待渲染光照数据。另外,指定相机姿势可以为指定参数,也可以为神经网络模型中的可训练参数,本申请实施例对此不作限定。
参见图5,图5是本申请实施例提供的数据渲染方法的流程示意图三,其中,图5中各步骤的执行主体是数据渲染设备;如图5所示,步骤104可通过步骤1041至步骤1043实现;也就是说,数据渲染设备对待处理纹理数据进行光照模拟,得到待渲染光照数据,包括步骤1041至步骤1043,下面对各步骤分别进行说明。
步骤1041、获取待处理纹理数据的镜面出射数据,对镜面出射数据进行积分,得到第一光照模拟数据。
需要说明的是,镜面出射数据表示与待处理纹理数据的法线信息相关的光线出射信息,比如,漫反射信息等。数据渲染设备在获得了镜面出射数据之后,基于指定相机姿势中的光照参数确定积分区间,并在积分区间上对镜面出射数据进行积分,得到第一光照模拟数据。这里,数据渲染设备所获得的积分区间可以为指定尺寸的半球面。易知,第一光照模拟数据为基于镜面出射数据进行光照模拟获得的光照颜色数据。
在本申请实施例中,数据渲染设备获取待处理纹理数据的镜面出射数据,包括:数据渲染设备获取指定入射方向和待渲染纹理数据中的空间法线的第一结合结果;基于指定入射方向和空间法线,确定目标出射方向,并获取目标出射方向和空间法线的第二结合结果;以及获取与镜面反射参数正相关、且与第一结合结果和第二结合结果负相关的初始镜面反射数据;最后,将初始镜面反射数据与第一结合结果,结合为镜面出射数据。
需要说明的是,指定入射方向为指定相机姿势中的光照参数;目标出射方向表示光线出射的方向,可以由指定入射方向和空间法线确定,还可以由指定入射方向、空间法线和粗糙度确定,本申请实施例对此不作限定;第一结合结果可以为指定入射方向和空间法线的乘积等;第二结合结果可以为目标入射方向与空间法线的乘积等;镜面反射参数包括法线分布、几何衰减和菲涅耳项;初始镜面反射数据表示出射辐射的镜面反射信息,比如,正相关可以通过相乘的方式体现,负相关可以通过比值的方式体现。数据渲染设备可以采用相乘的方式将初始镜面反射数据与第一结合结果进行结合,当然还可以是相加,求平均等,本申请实施例对此不作限定。
步骤1042、获取待处理纹理数据的镜面入射数据,对镜面入射数据进行积分,得到第二光照模拟数据。
在本申请实施例中,镜面入射数据表示与待处理纹理数据的法线信息相关的光线入射信息,比如,入射辐射信息,镜面反射积分结果等。数据渲染设备在获得了镜面入射数据之后,基于指定相机姿势中的光照参数确定积分区间,并在积分区间上对镜面入射数据进行积分,得到第二光照模拟数据。易知,第二光照模拟数据为基于镜面入射数据进行光照模拟获得的光照颜色数据。
在本申请实施例中,数据渲染设备获取待处理纹理数据的镜面入射数据,包括:数据渲染设备先获取指定入射方向上的辐射尺寸;再将辐射尺寸、初始镜面反射数据的积分结果和第一结合结果,结合为镜面入射数据。
需要说明的是,指定入射方向上的辐射尺寸可以为辐射半径等,可以是指定相机姿势中的相机参数;初始镜面反射数据的积分结果是通过对初始镜面反射数据进行积分获得的。
步骤1043、结合第一光照模拟数据和第二光照模拟数据,得到待渲染光照数据。
需要说明的是,数据渲染设备可以通过相乘的方式完成第一光照模拟数据和第二光照模拟数据的结合,也可以通过求和的方式完成第一光照模拟数据和第二光照模拟数据的结合,又可以通过求平均的方式完成第一光照模拟数据和第二光照模拟数据的结合,等等,本申请实施例对此不作限定。这里,数据渲染设备可以直接将第一光照模拟数据和第二光照模拟数据的结合结果确定为待渲染光照数据,也可以对第一光照模拟数据和第二光照模拟数据的结合结果进行处理(比如,预过滤和压缩中的一种或两种)后再作为待渲染光照数据,等等,本申请实施例对此不作限定。
在本申请实施例中,数据渲染设备结合第一光照模拟数据和第二光照模拟数据,得到待渲染光照数据,包括:数据渲染设备结合第一光照模拟数据和第二光照模拟数据,得到待过滤光照数据;并对待过滤光照数据进行预过滤,得到待压缩环境贴图;最后,对待压缩环境贴图进行压缩,得到待渲染光照数据。
需要说明的是,待过滤光照数据为第一光照模拟数据和第二光照模拟数据的结合结果;预过滤用于过滤待过滤光照数据中的噪声数据;压缩可以是池化操作,比如,最大池化,平均池化等。
可以理解的是,通过对第一光照模拟数据和第二光照模拟数据的结合结果进行预过滤,能够降低光照模拟数据的噪声,提升光照模拟效果;以及通过对预过滤结果进行压缩,能够减少光照数据的资源占用量。
步骤105、结合待渲染纹理数据和待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
在本申请实施例中,数据渲染设备结合待渲染纹理数据和待渲染光照数据,获得待渲染数据,并基于待渲染数据在虚拟场景中渲染目标虚拟对象。这里,待渲染数据可以是待渲染纹理数据和待渲染光照数据的叠加结果;目标虚拟对象为虚拟对象模型所指示渲染的虚拟对象,比如为游戏角色,虚拟建筑等。
可以理解的是,通过对待处理渲染资源中的待处理网格拓扑进行显示表达,再基于显示表达出的待渲染网格数据对待处理渲染资源中的待处理纹理数据进行增强,以及对待处理纹理数据进行光照模拟,最后结合光照模拟出的待渲染光照数据和待渲染纹理数据渲染虚拟场景中的目标虚拟对象;实现了一种自动渲染虚拟对象纹理数据并渲染虚拟对象的过程,能够提升虚拟对象的渲染效率和渲染质量。
在本申请实施例中,目标虚拟对象可以是由神经网络模型对待处理渲染资源进行处理得到的,该用于对待处理渲染资源进行处理的神经网络模型称为数据渲染模型;参见图6,图6是本申请实施例提供的一种示例性的模型训练流程图;如图6所示,数据渲染模型通过步骤106至步骤109实现,下面对各步骤分别进行说明。
步骤106、获取渲染资源样本和渲染图像标签。
在本申请实施例中,数据渲染设备获取训练数据,以通过训练数据训练出数据渲染模型;该训练数据包括渲染资源样本和渲染图像标签。其中,渲染资源样本为待对虚拟对象样本进行渲染的渲染资源,包括网格拓扑样本和纹理数据样本;渲染图像标签为与渲染资源样本对应的真实渲染结果。
需要说明的是,渲染资源样本和待处理渲染资源相似,网格拓扑样本和待处理网格拓扑相似,纹理数据样本和待处理纹理数据相似,本申请实施例在此不再重复描述。
步骤107、采用待训练模型对渲染资源样本进行纹理渲染,得到预估渲染图像。
在本申请实施例中,数据渲染设备采用待训练模型对渲染资源样本进行纹理渲染,所获得的纹理渲染结果即为预估渲染图像。
需要说明的是,数据渲染设备采用待训练模型对渲染资源样本进行纹理渲染的过程,与采用数据渲染模型对待处理渲染资源进行纹理渲染的过程类似,本申请实施例在此不再重复描述。待训练模型为待训练的用于对渲染资源进行纹理渲染的神经网络模型;可以是构建的原始神经网络模型,还可以是预训练出的神经网络模型,等等,本申请实施例对此不作限定。
步骤108、基于预估渲染图像和渲染图像标签之间的差异,确定目标损失函数值。
在本申请实施例中,数据渲染设备在获得了预估渲染图像之后,将预估渲染图像与渲染图像标签进行比较,以及获得预估渲染图像和渲染图像标签之间的差异;由于预估渲染图像与渲染图像标签之间的差异表征了待训练模型的准确度,从而,数据渲染设备基于预估渲染图像与渲染图像标签之间的差异进行损失函数值的计算,以获得目标损失函数值。
在本申请实施例中,数据渲染设备基于预估渲染图像和渲染图像标签之间的差异,确定目标损失函数值,包括:数据渲染设备基于预估渲染图像和渲染图像标签在图像空间上的差异,计算第一损失函数值;基于预估渲染图像和渲染图像标签在蒙版上的差异,计算第二损失函数值;基于预估渲染图像的各个网格邻边样本(即为形状维度的数据),计算第三损失函数值;最后,将第一损失函数值、第二损失函数值和第三损失函数值,组合为目标损失函数值。
需要说明的是,数据渲染设备从图像空间、蒙版和形状中的至少一种进行损失函数值的计算。当数据渲染审从图像空间、蒙版和形状三个维度进行损失函数值的计算时,所计算出的目标损失函数值即为三个维度分别获得的损失函数值的综合结果。其中,蒙版上的差异可通过二值图像获得,形状上的损失函数值的计算可通过对网格相邻边的SDF值进行正则化得到。这里,数据渲染设备可以通过对第一损失函数值、第二损失函数值和第三损失函数值进行加权求和来实现三者的组合。
在本申请实施例中,当通过对网格相邻边的SDF值进行正则化获得第三损失函数值时,数据渲染设备基于预估渲染图像的各个网格邻边样本,计算第三损失函数值,包括:数据渲染设备针对预估渲染图像中的各个网格邻边样本,对遍历到的每个网格邻边样本执行以下处理:针对网格邻边样本中的第一顶点样本,获取对应的第一符号距离场值,并针对网格邻边样本中的第二顶点样本,获取对应的第二符号距离场值;获取第一符号距离场值的第一符号和第一归一化值,并结合第一符号和第一归一化值计算第一子损失函数值;获取第二符号距离场值的第二符号和第二归一化值,并结合第二符号和第二归一化值计算第二子损失函数值;将第一子损失函数值和第二子损失函数值,组合为边损失函数值;最后,将遍历获得的多个边损失函数值组合为第三损失函数值。
需要说明的是,网格邻边样本为预估渲染图像的网格拓扑样本中的相邻网格之间的邻边;网格拓扑样本中包括多个网格邻边样本,从而,数据渲染设备对预估渲染图像中的各个网格邻边样本进行遍历;网格邻边样本中的两个网格顶点即为第一顶点样本和第二顶点样本。这里,数据渲染设备可以通过对多个边损失函数值求平均来获得第三损失函数值。
步骤109、基于目标损失函数值,训练待训练模型,得到数据渲染模型。
在本申请实施例中,数据渲染设备获得了目标损失函数值之后,基于目标损失函数值在待训练模型中进行反向传播,以调整待训练模型中的模型参数;另外,待训练模型的训练可以是迭代进行的,当迭代训练结束时,当前迭代训练出的待训练模型即为数据渲染模型。
需要说明的是,当数据渲染设备确定迭代训练满足训练结束条件时,确定迭代训练结束;反之,继续进行迭代训练。其中,训练结束条件可以是达到准确度指标阈值,也可以是达到迭代次数阈值,还可以是达到迭代时长阈值,又可以是以上的结合,等等,本申请实施例对此不作限定。
可以理解的是,由于在模型训练过程中,基于目标损失函数值对待训练模型进行训练时,能够优化每个网格顶点的属性获取参数,提升数据信息的获取精度,也能够提升待训练模型的收敛效率。
在本申请实施例中,当数据渲染设备用于训练数据渲染模型时,数据渲染设备可以为各种服务器,当数据渲染设备用于执行目标虚拟对象的渲染时,数据渲染设备可以为各种服务器或各种终端,本申请实施例对此不作限定。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。该示例性应用描述了渲染游戏场景中的游戏角色的过程。易知,本申请实施例提供的数据渲染方法适用于任一虚拟场景中虚拟角色的渲染,这里,以渲染游戏场景中的游戏角色为例进行说明。
参见图7,图7是本申请实施例提供的一种示例性的渲染训练示意图;如图7所示,先通过符号距离场神经网络7-1对拓扑网格7-2(称为拓扑网格样本)进行处理,得到三角形曲面网格7-3;接着,在微分渲染器7-4中,通过纹理神经网络7-41对三角形曲面网格7-3进行处理,得到二维纹理7-5,并通过照明神经网络7-42进行光照模拟,得到环境光照数据7-6;再后,结合二维纹理7-5和环境光照数据7-6,渲染出预估纹理图像7-7(称为预估渲染图像);最后,比较预估纹理图像7-7和纹理参考图像7-8(称为渲染图像标签),得到损失函数值7-9(称为目标损失函数值),并基于损失函数值7-9进行反向传播,以调整符号距离场神经网络7-1中的形状参数、纹理神经网络7-41中的纹理参数、以及照明神经网络7-42中的照明参数(称为训练待训练模型)。
需要说明的是,形状参数、纹理参数、以及照明参数为待优化参数,记为;其中,
形状参数包括形状的SDF参数和顶点偏移参数,纹理参数表征渲染材料的空间变化,照明参
数包括动态范围环境探头和光探针参数。基于给定相机姿势c,通过待优化参数能够生成预
估纹理图像,再结合纹理参考图像,计算损失函数,并在优化过程中获取最低
(argmin)损失函数值,如式(1)所示。
(1);
其中,表示相机姿势集合C中的各个给定相机姿势c对应的各个损失函数值的平
均值;损失函数包括正则器损失(称为第三损失函数值)、蒙版损失(可通过L2损
失函数获得,称为第二损失函数值)和图像空间损失(可通过L1损失函数获得,称为
第一损失函数值)。这里,基于梯度优化待优化参数。此外,在优化过程中,各数据的
浮点数的小数点范围也可以作为可训练参数,以提升渲染鲁棒性。
需要说明的是,为了提升纹理增强性能,在获取二维纹理时,采用延迟着色的可微光栅器;以及为了提升通用性,采用漫反射实现光照模拟。
下面对三角形曲面网格的获取过程进行说明。
需要说明的是,体积和隐式形状表示(例如,SDF表示)可以通过移动立方体转换为网格数据;然而,采用移动立方体进行转换的过程中存在离散化错误,以及采用取工具简化提取的网格也会在渲染外观中引入错误,影响网格质量,故这里显式渲染三角形网格,以提升渲染质量。
示例性地,参见图8,图8是本申请实施例提供的网格获取示意图;如图8所示,在基
于变形矢量将四面体网格8-1变换为三角形曲面网格8-2时,四面体网格8-1的顶点8-11(
,称为原始网格顶点)变换为三角形曲面网格8-2的顶点8-21(,称为目标网格顶点),四面
体网格8-1的顶点8-12(,称为原始网格顶点)变换为三角形曲面网格8-2的顶点8-22(,
称为目标网格顶点),如式(2)所示;另外,通过符号距离场神经网络确定顶点8-21的符号距
离场值8-31(,)和顶点8-22的符号距离场值8-32(,)。其中,符号距离场值
8-31的符号与符号距离场值8-32的符号不同,如式(3)所示。以及,可以通过线性插值优化
三角形曲面网格8-2,如式(4)所示。
(2);
(3);
(4);
其中,表示顶点8-11的变形矢量,由符号距离场神经网络确定;表示顶点8-
12的变形矢量,由符号距离场神经网络确定;为符号函数;为线性插值结果,如图8
中的顶点8-4。
可以理解的是,针对任一网格拓扑,通过符号距离场值和变形矢量显示存储每个网格顶点,能够获得三角形曲面网格,简化了网格,能够提升网格质量;另外,三角形曲面网格为可以通过微分渲染的网格,通过显示渲染三角形曲面网格,能够获得可微分且具有延迟着色的光栅器,实现基于物理的着色,并生成动态范围的渲染图像。另外,在训练符号距离场神经网络时,是以顶点粒度进行的,能够提升渲染精细度。
需要说明的是,为了减少网格拓扑中的漂浮物和内部几何形状的影响,改善几何
形状,对符号距离场值进行正则化,以获得正则器损失,如式(5)所示。
(5);
其中,表示二进制交叉熵,为激活函数(比如,sigmoid函数);表示各网格邻
边。
下面说明二维纹理的获取过程。
需要说明的是,提取到的三维资源除了网格拓扑之外,还包括体积纹理;采用体积纹理表示纹理资源,并采用时间空间坐标索引体积纹理,使得在获取三角形曲面网格的过程中,能够确保纹理与网格之间的映射随顶点平移和拓扑变化而平滑变化,提升纹理处理的稳健性。
这里,纹理神经网络可以为多层感知器(MLP),通过对体积纹理进行特征提取,并对提取的特征进行处理,能够紧凑地表示纹理,使得获得的二维纹理具有空间变化的材质属性,还能够提升纹理精度。
需要说明的是,在利用纹理神经网络对体积纹理进行纹理增强时,输入信息包括
三角形曲面网格对应的位置编码结果和体积纹理;其中,体积纹理包括纹理基色、粗糙度
r、法线图n、金属因子m;这里,镜面反射参数包括与每个纹理对象对应的粗糙度和金属
因子;以及,在纹理基色中,可采用第四通道α表示透明度;金属因子m和纹理基色用于确
定镜面反射高光颜色,以显示外观,如式(6)所示。
(6);
可以理解的是,通过纹理神经网络获取体积纹理中每个纹理对象的二维纹理信息,能够提升纹理的分辨率,提升纹理在维度上的兼容性。
下面说明环境光照数据的获取过程。
需要说明的是,由于训练样本的数量限制,常常采用球面高斯(SG)和球谐波(SH)
获取环境光照数据;然而,在通过改变SG波瓣(或SH系数)的数量来控制照明频率时,无法适
应于整个频率范围的照明,从而,影响了环境光照数据的准确度。基于此,本申请实施例通
过积分进行光照模拟,以准确地获得环境光照数据。环境光照数据的获取过程如
式(7)所示。
(7);
其中,表示出射方向(称为目标出射方向),表示入射方向(称为指定入射方
向),表示入射半球,表示镜面反射(如式(8)所示),表示辐射半径(称为
辐射尺寸),表示镜面反射积分(称为初始镜面反射数据的积分结果)。从而,表示镜面反射与纯白色环境光照的积分结果(称为第一光照模拟数
据),表示入射辐射与镜面反射积分的积分结果(称为第二光
照模拟数据)。
(8);
其中,表示法线分布,表示几何衰减,表示菲涅耳项。
可以理解的是,通过从镜面反射与纯白色环境光照、以及入射辐射与镜面反射积分上进行积分,能够实现全频图像的光照模拟,以及能够点亮提取的三维资源的各种光源(点光源,区域光源等)。
需要说明的是,法线图n可以是通过纹素映射获得的,该纹素映射为可学习参数(对应的分辨率比如为6×512×512);这里,为了获得纹素梯度,可以采用自动微分来实现基于图像的照明计算。另外,还可以基于法线对光照模拟数据进行预过滤,以降低光照模拟的噪声。此外,还可以采用指定滤波分辨率(比如6×16×16)的立方体贴图表示环境光照数据,以将环境光照数据压缩至指定级别(比如,指定MIP级别,MIP级别与镜面粗糙度负相关);其中,当镜面粗糙度为1时,采用余弦项对入射辐射与镜面反射积分的积分结果进行预滤波。
参见图9,图9是本申请实施例提供的一种示例性的渲染结果示意图;如图9所示,图像9-1为通过堆叠纹理网格获得的,图像9-2是采用本申请实施例提供的数据渲染方法渲染出的。易知,图像9-2的渲染质量高于图像9-1的渲染质量。
参见图10,图10是本申请实施例提供的一种示例性的渲染应用示意图;如图10所示,先通过训练好的符号距离场神经网络10-1对拓扑网格10-2(称为待处理网格拓扑)进行处理,得到三角形曲面网格10-3;接着,在训练好的微分渲染器10-4中,通过训练好的纹理神经网络10-41对三角形曲面网格10-3进行处理,得到二维纹理10-5(称为待渲染纹理数据),并通过训练好的照明神经网络10-42进行光照模拟,得到环境光照数据10-6(称为待渲染光照数据);再后,结合二维纹理10-5和环境光照数据10-6,渲染出纹理图像10-7,纹理图像10-7即为游戏角色(称为目标虚拟对象)的渲染结果。
可以理解的是,在三维纹理渲染时,采用神经网络模型将未知拓扑网格变化为二维环境下的曲面网格,再针对曲面网格和体积纹理,采用微分渲染器获得具有空间变化的材质和来自多视图图像的照明的效果,能够提升纹理渲染效果和效率。
下面继续说明本申请实施例提供的数据渲染装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的数据渲染装置455中的软件模块可以包括:
资源获取模块4551,用于获取待处理渲染资源,其中,所述待处理渲染资源包括待处理网格拓扑和待处理纹理数据,所述待处理网格拓扑用于表示虚拟对象模型的几何形状;
显式表达模块4552,用于对所述待处理网格拓扑进行显式表达,得到待渲染网格数据;
纹理增强模块4553,用于基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据;
光照模拟模块4554,用于对所述待处理纹理数据进行光照模拟,得到待渲染光照数据;
对象渲染模块4555,用于结合所述待渲染纹理数据和所述待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
在本申请实施例中,所述显式表达模块4552,还用于遍历所述待处理网格拓扑中的各个网格邻边,对遍历到的每个网格邻边执行以下处理:在所述网格邻边中的原始网格顶点对中,确定每个原始网格顶点的变形矢量和符号距离场值;基于所述变形矢量将所述原始网格顶点变换为目标网格顶点,得到与所述网格邻边对应的目标网格顶点对;基于所述符号距离场值将目标网格顶点对确定为曲面网格顶点对;基于遍历获得的各个所述曲面网格顶点对,构建所述待渲染网格数据。
在本申请实施例中,所述显式表达模块4552,还用于将遍历获得的各个所述曲面网格顶点对,构建为曲面网格数据;对所述曲面网格数据进行掩码分割,得到待过滤网格数据;对所述待过滤网格数据中的背景掩码进行过滤,得到所述待渲染网格数据。
在本申请实施例中,所述纹理增强模块4553,还用于获取与所述待处理纹理数据对应的粗糙度、空间法线、金属因子和基色参数;结合所述金属因子和所述基色参数,获得外观数据;结合所述待渲染网格数据、所述外观数据、所述粗糙度和所述空间法线进行纹理增强,得到所述待渲染纹理数据。
在本申请实施例中,所述光照模拟模块4554,还用于获取所述待处理纹理数据的镜面出射数据,对所述镜面出射数据进行积分,得到第一光照模拟数据;获取所述待处理纹理数据的镜面入射数据,对所述镜面入射数据进行积分,得到第二光照模拟数据;结合所述第一光照模拟数据和所述第二光照模拟数据,得到所述待渲染光照数据。
在本申请实施例中,所述光照模拟模块4554,还用于获取指定入射方向和所述待渲染纹理数据中的空间法线的第一结合结果;基于所述指定入射方向和所述空间法线,确定目标出射方向,并获取所述目标出射方向和所述空间法线的第二结合结果;获取与镜面反射参数正相关、且与所述第一结合结果和所述第二结合结果负相关的初始镜面反射数据;将所述初始镜面反射数据与所述第一结合结果,结合为所述镜面出射数据。
在本申请实施例中,所述光照模拟模块4554,还用于获取指定入射方向上的辐射尺寸;将所述辐射尺寸、初始镜面反射数据的积分结果和第一结合结果,结合为所述镜面入射数据。
在本申请实施例中,所述光照模拟模块4554,还用于结合所述第一光照模拟数据和所述第二光照模拟数据,得到待过滤光照数据;对所述待过滤光照数据进行预过滤,得到待压缩环境贴图;对所述待压缩环境贴图进行压缩,得到所述待渲染光照数据。
在本申请实施例中,目标虚拟对象是由数据渲染模型对所述待处理渲染资源进行处理渲染出的,所述数据渲染装置455还包括模型训练模块4556,用于获取渲染资源样本和渲染图像标签;采用待训练模型对所述渲染资源样本进行纹理渲染,得到预估渲染图像,其中,所述待训练模型为待训练的用于对渲染资源进行纹理渲染的神经网络模型;基于所述预估渲染图像和所述渲染图像标签之间的差异,确定目标损失函数值;基于所述目标损失函数值,训练所述待训练模型,得到所述数据渲染模型。
在本申请实施例中,所述模型训练模块4556,还用于基于所述预估渲染图像和所述渲染图像标签在图像空间上的差异,计算第一损失函数值;基于所述预估渲染图像和所述渲染图像标签在蒙版上的差异,计算第二损失函数值;基于所述预估渲染图像的各个网格邻边样本,计算第三损失函数值;将所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,组合为所述目标损失函数值。
在本申请实施例中,所述模型训练模块4556,还用于针对所述预估渲染图像中的各个所述网格邻边样本,对遍历到的每个所述网格邻边样本执行以下处理:针对所述网格邻边样本中的第一顶点样本,获取对应的第一符号距离场值,并针对所述网格邻边样本中的第二顶点样本,获取对应的第二符号距离场值;获取所述第一符号距离场值的第一符号和第一归一化值,并结合所述第一符号和所述第一归一化值计算第一子损失函数值;获取所述第二符号距离场值的第二符号和第二归一化值,并结合所述第二符号和所述第二归一化值计算第二子损失函数值;将所述第一子损失函数值和所述第二子损失函数值,组合为边损失函数值;将遍历获得的多个所述边损失函数值组合为所述第三损失函数值。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机可执行指令或者计算机程序,该计算机可执行指令或者计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令或者计算机程序,处理器执行该计算机可执行指令或者计算机程序,使得该电子设备执行本申请实施例上述的数据渲染方法。
本申请实施例提供一种计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的数据渲染方法,例如,如图3示出的数据渲染方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper TextMarkup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行(此时,这一个电子设备即为数据渲染设备),或者在位于一个地点的多个电子设备上执行(此时,位于一个地点的多个电子设备即为数据渲染设备),又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行(此时,分布在多个地点且通过通信网络互连的多个电子设备即为数据渲染设备)。
可以理解的是,在本申请实施例中,涉及到渲染资源和虚拟对象等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。另外,本申请实施例中获取训练数据的过程涉及到的数据抓取技术方案实施,在本申请以上实施例运用到具体产品或技术中时,相关数据收集、使用和处理过程应该遵守国家法律法规要求,符合合法、正当、必要的原则,不涉及获取法律法规禁止或限制的数据类型,不会妨碍目标网站的正常运行。
综上所述,本申请实施例通过,通过对待处理渲染资源中的待处理网格拓扑进行显示表达,再基于显示表达出的待渲染网格数据对待处理渲染资源中的待处理纹理数据进行增强,以及对待处理纹理数据进行光照模拟,最后结合光照模拟出的待渲染光照数据和待渲染纹理数据渲染虚拟场景中的目标虚拟对象;实现了一种自动渲染虚拟对象纹理数据并渲染虚拟对象的过程,能够提升虚拟对象的渲染效率。另外,采用神经网络模型进行逆向数据渲染,能够提升数据渲染效率和效果;以及,在数据渲染过程中,通过将网格拓扑转换为曲面网格拓扑,结合曲面网格拓扑和待处理纹理数据进行纹理增强,能够提升纹理渲染精度和质量;并且,采用积分方式进行光照模拟,能够提升光照模拟效果,进而能够提升虚拟对象的渲染质量。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种数据渲染方法,其特征在于,所述方法包括:
获取待处理渲染资源,其中,所述待处理渲染资源包括待处理网格拓扑和待处理纹理数据,所述待处理网格拓扑用于表示虚拟对象模型的几何形状;
对所述待处理网格拓扑进行显式表达,得到待渲染网格数据;
基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据;
对所述待处理纹理数据进行光照模拟,得到待渲染光照数据;
结合所述待渲染纹理数据和所述待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理网格拓扑进行显式表达,得到待渲染网格数据,包括:
遍历所述待处理网格拓扑中的各个网格邻边,对遍历到的每个网格邻边执行以下处理:
在所述网格邻边中的原始网格顶点对中,确定每个原始网格顶点的变形矢量和符号距离场值;
基于所述变形矢量将所述原始网格顶点变换为目标网格顶点,得到与所述网格邻边对应的目标网格顶点对;
基于所述符号距离场值将目标网格顶点对确定为曲面网格顶点对;
基于遍历获得的各个所述曲面网格顶点对,构建所述待渲染网格数据。
3.根据权利要求2所述的方法,其特征在于,所述基于遍历获得的各个所述曲面网格顶点对,构建所述待渲染网格数据,包括:
将遍历获得的各个所述曲面网格顶点对,构建为曲面网格数据;
对所述曲面网格数据进行掩码分割,得到待过滤网格数据;
对所述待过滤网格数据中的背景掩码进行过滤,得到所述待渲染网格数据。
4.根据权利要求1所述的方法,其特征在于,所述基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据,包括:
获取与所述待处理纹理数据对应的粗糙度、空间法线、金属因子和基色参数;
结合所述金属因子和所述基色参数,获得外观数据;
结合所述待渲染网格数据、所述外观数据、所述粗糙度和所述空间法线进行纹理增强,得到所述待渲染纹理数据。
5.根据权利要求1所述的方法,其特征在于,所述对所述待处理纹理数据进行光照模拟,得到待渲染光照数据,包括:
获取所述待处理纹理数据的镜面出射数据,对所述镜面出射数据进行积分,得到第一光照模拟数据;
获取所述待处理纹理数据的镜面入射数据,对所述镜面入射数据进行积分,得到第二光照模拟数据;
结合所述第一光照模拟数据和所述第二光照模拟数据,得到所述待渲染光照数据。
6.根据权利要求5所述的方法,其特征在于,所述获取所述待处理纹理数据的镜面出射数据,包括:
获取指定入射方向和所述待渲染纹理数据中的空间法线的第一结合结果;
基于所述指定入射方向和所述空间法线,确定目标出射方向,并获取所述目标出射方向和所述空间法线的第二结合结果;
获取与镜面反射参数正相关、且与所述第一结合结果和所述第二结合结果负相关的初始镜面反射数据;
将所述初始镜面反射数据与所述第一结合结果,结合为所述镜面出射数据。
7.根据权利要求5所述的方法,其特征在于,所述获取所述待处理纹理数据的镜面入射数据,包括:
获取指定入射方向上的辐射尺寸;
将所述辐射尺寸、初始镜面反射数据的积分结果和第一结合结果,结合为所述镜面入射数据。
8.根据权利要求5所述的方法,其特征在于,所述结合所述第一光照模拟数据和所述第二光照模拟数据,得到所述待渲染光照数据,包括:
结合所述第一光照模拟数据和所述第二光照模拟数据,得到待过滤光照数据;
对所述待过滤光照数据进行预过滤,得到待压缩环境贴图;
对所述待压缩环境贴图进行压缩,得到所述待渲染光照数据。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述目标虚拟对象是由数据渲染模型对所述待处理渲染资源进行处理渲染出的,其中,所述数据渲染模型通过以下步骤训练获得:
获取渲染资源样本和渲染图像标签;
采用待训练模型对所述渲染资源样本进行纹理渲染,得到预估渲染图像,其中,所述待训练模型为待训练的用于对渲染资源进行纹理渲染的神经网络模型;
基于所述预估渲染图像和所述渲染图像标签之间的差异,确定目标损失函数值;
基于所述目标损失函数值,训练所述待训练模型,得到所述数据渲染模型。
10.根据权利要求9所述的方法,其特征在于,所述基于所述预估渲染图像和所述渲染图像标签之间的差异,确定目标损失函数值,包括:
基于所述预估渲染图像和所述渲染图像标签在图像空间上的差异,计算第一损失函数值;
基于所述预估渲染图像和所述渲染图像标签在蒙版上的差异,计算第二损失函数值;
基于所述预估渲染图像的各个网格邻边样本,计算第三损失函数值;
将所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,组合为所述目标损失函数值。
11.根据权利要求10所述的方法,其特征在于,所述基于所述预估渲染图像的各个网格邻边样本,计算第三损失函数值,包括:
针对所述预估渲染图像中的各个所述网格邻边样本,对遍历到的每个所述网格邻边样本执行以下处理:
针对所述网格邻边样本中的第一顶点样本,获取对应的第一符号距离场值,并针对所述网格邻边样本中的第二顶点样本,获取对应的第二符号距离场值;
获取所述第一符号距离场值的第一符号和第一归一化值,并结合所述第一符号和所述第一归一化值计算第一子损失函数值;
获取所述第二符号距离场值的第二符号和第二归一化值,并结合所述第二符号和所述第二归一化值计算第二子损失函数值;
将所述第一子损失函数值和所述第二子损失函数值,组合为边损失函数值;
将遍历获得的多个所述边损失函数值组合为所述第三损失函数值。
12.一种数据渲染装置,其特征在于,所述数据渲染装置包括:
资源获取模块,用于获取待处理渲染资源,其中,所述待处理渲染资源包括待处理网格拓扑和待处理纹理数据,所述待处理网格拓扑用于表示虚拟对象模型的几何形状;
显式表达模块,用于对所述待处理网格拓扑进行显式表达,得到待渲染网格数据;
纹理增强模块,用于基于所述待渲染网格数据对所述待处理纹理数据进行纹理增强,得到待渲染纹理数据;
光照模拟模块,用于对所述待处理纹理数据进行光照模拟,得到待渲染光照数据;
对象渲染模块,用于结合所述待渲染纹理数据和所述待渲染光照数据,在虚拟场景中渲染目标虚拟对象。
13.一种用于数据渲染的电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至11任一项所述的数据渲染方法。
14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至11任一项所述的数据渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311654813.8A CN117351133B (zh) | 2023-12-05 | 2023-12-05 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311654813.8A CN117351133B (zh) | 2023-12-05 | 2023-12-05 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117351133A true CN117351133A (zh) | 2024-01-05 |
CN117351133B CN117351133B (zh) | 2024-07-12 |
Family
ID=89356128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311654813.8A Active CN117351133B (zh) | 2023-12-05 | 2023-12-05 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117351133B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541703A (zh) * | 2024-01-09 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704103A (zh) * | 2022-02-25 | 2023-09-05 | 腾讯科技(成都)有限公司 | 一种图像渲染方法、装置、设备、存储介质及程序产品 |
-
2023
- 2023-12-05 CN CN202311654813.8A patent/CN117351133B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704103A (zh) * | 2022-02-25 | 2023-09-05 | 腾讯科技(成都)有限公司 | 一种图像渲染方法、装置、设备、存储介质及程序产品 |
Non-Patent Citations (1)
Title |
---|
JACOB MUNKBERG ET AL.: "Extracting Triangular 3D Models, Materials, and Lighting From Images", pages 2 - 6, Retrieved from the Internet <URL:https://arxiv.org/abs/2111.12503> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541703A (zh) * | 2024-01-09 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
CN117541703B (zh) * | 2024-01-09 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 一种数据渲染方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117351133B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Munkberg et al. | Extracting triangular 3d models, materials, and lighting from images | |
Tewari et al. | Advances in neural rendering | |
CN110168477B (zh) | 用于长方体检测的深度学习系统 | |
CN117351133B (zh) | 一种数据渲染方法、装置、设备及计算机可读存储介质 | |
CN113159232A (zh) | 一种三维目标分类、分割方法 | |
CN111753698A (zh) | 一种多模态三维点云分割系统和方法 | |
CN111862278B (zh) | 一种动画获得方法、装置、电子设备及存储介质 | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
CN115222896B (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
CN116958423B (zh) | 基于文本的三维建模方法、图像渲染方法及装置 | |
CN117218300B (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 | |
CN116385667B (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN117456128A (zh) | 三维重建方法、装置、设备及存储介质 | |
CN116664422A (zh) | 图像高光处理方法、装置、电子设备及可读存储介质 | |
CN115797561A (zh) | 三维重建方法、设备及可读存储介质 | |
CN116152419B (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2023231793A9 (zh) | 对物理场景进行虚拟化的方法、电子设备、计算机可读存储介质和计算机程序产品 | |
CN117689847A (zh) | 从输入图像编辑多维图像 | |
CN116758219A (zh) | 基于神经网络的区域感知多视角立体匹配三维重建方法 | |
CN112541535B (zh) | 基于互补的多分支深度学习进行三维点云分类方法 | |
Yang et al. | Architectural sketch to 3D model: An experiment on simple-form houses | |
CN114119923A (zh) | 三维人脸重建方法、装置以及电子设备 | |
Shen et al. | Conditional visibility aware view synthesis via parallel light fields | |
CN117541703B (zh) | 一种数据渲染方法、装置、设备及计算机可读存储介质 | |
CN117274473B (zh) | 一种多重散射实时渲染的方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |