CN113648655B - 虚拟模型的渲染方法、装置、存储介质和电子设备 - Google Patents
虚拟模型的渲染方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN113648655B CN113648655B CN202110826994.2A CN202110826994A CN113648655B CN 113648655 B CN113648655 B CN 113648655B CN 202110826994 A CN202110826994 A CN 202110826994A CN 113648655 B CN113648655 B CN 113648655B
- Authority
- CN
- China
- Prior art keywords
- rendering
- data
- model
- rendered
- shadow
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 350
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 238000004040 coloring Methods 0.000 claims abstract description 14
- 238000005286 illumination Methods 0.000 claims description 79
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 238000005070 sampling Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000463 material Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 48
- 239000000779 smoke Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- -1 flame Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 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/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种虚拟模型的渲染方法、装置、存储介质和电子设备。其中,该方法包括:获取待渲染模型对应的纹理数据;对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据,其中,体积渲染数据用于对待渲染模型进行着色渲染;对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据,其中,光影数据用于对待渲染模型的光影进行渲染;基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。本发明解决了现有技术中在对虚拟模型进行光影渲染时无法得到正确的光影效果以及空间关系的技术问题。
Description
技术领域
本发明涉及计算机图形渲染领域,具体而言,涉及一种虚拟模型的渲染方法、装置、存储介质和电子设备。
背景技术
在计算机图形学中,通常需要对虚拟模型进行渲染,例如,在游戏领域中,需要对游戏中的虚拟人物、虚拟地形等进行渲染。在现有技术中,通常使用粒子系统在实时渲染引擎(例如,Unreal、Unity等)来渲染烟雾、火焰等特效,其中,粒子系统通常采用广告牌技术以使带有烟雾序列纹理的面片正对相机,从而实现对烟雾、火焰等的渲染,如图1所示的采用广告牌技术渲染得到的烟雾特效,图2为烟雾序列纹理的示意图,在图2中每个烟雾序列纹理的面片正对相机。
上述的广告牌技术的渲染技术效率比较高,速度快,但通过该技术是通过预渲染方式得到虚拟模型的光影效果的,无法得到正确的光影效果。另外,由于该技术是通过面片渲染来实现的,也没有正确的空间关系,因此,当烟雾、火焰等与虚拟模型相交时会产生明显的瑕疵。例如,在图3所示的虚拟模型与火焰相交的示意图中,火焰与虚拟模型相交处的存在瑕疵。
另外,现有技术中,还可通过特效软件中(例如,Houdini)模拟的体积效果转换为多边形网格模型,然后再导入渲染引擎中进行渲染。例如,图4为使用Houdini特效软件渲染后得到的云模型,图5为云模型对应的多边形网格模型。
通过特效软件模拟体积效果的方式虽然能够得到正确的体积空间关系,但仍无法正确的处理虚拟模型与火焰、云雾等特效相交时所存在的渲染瑕疵问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟模型的渲染方法、装置、存储介质和电子设备,以至少解决现有技术中在对虚拟模型进行光影渲染时无法得到正确的光影效果以及空间关系的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟模型的渲染方法,包括:获取待渲染模型对应的纹理数据;对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据,其中,体积渲染数据用于对待渲染模型进行着色渲染;对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据,其中,光影数据用于对待渲染模型的光影进行渲染;基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
进一步地,体积渲染数据包括如下至少之一:待渲染模型对应的密度数据以及温度数据;光影数据包括如下至少之一:待渲染模型的光影所对应的密度数据以及温度数据。
进一步地,虚拟模型的渲染方法还包括:读取游戏场景中待播放的动画数据,其中,动画数据由多帧纹理图像组成;从动画数据所包含的每一帧纹理图像中提取纹理数据。
进一步地,虚拟模型的渲染方法还包括:在获取待渲染模型对应的纹理数据之后,按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件,其中,每个预设文件中存储有当前帧的纹理图像所对应的纹理数据。
进一步地,虚拟模型的渲染方法还包括:在按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件之后,从当前帧的纹理图像所对应的预设文件中读取纹理数据;将纹理数据转换为二进制文件;从二进制文件从提取纹理数据所对应的密度数据以及温度数据;将密度数据存储至纹理数据所对应的第一颜色通道中,并将温度数据存储至纹理数据所对应的第二颜色通道中,得到纹理数据所对应的三维纹理数据。
进一步地,虚拟模型的渲染方法还包括:在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之前,获取当前渲染阶段所对应的渲染标记;根据渲染标记确定当前渲染阶段所对应的渲染算法。
进一步地,虚拟模型的渲染方法还包括:在确定渲染标记为第一标记时,确定当前渲染阶段所对应的渲染算法为光栅化算法,其中,光栅化算法用于对纹理数据进行光栅化处理,第一标记表征当前渲染阶段对待渲染模型进行着色渲染;在确定渲染标记为第二标记时,确定当前渲染阶段所对应的渲染算法为光线追踪算法,其中,光线追踪算法用于对待渲染模型进行光线追踪计算,第二标记表征当前渲染阶段对待渲染模型的光影进行渲染。
进一步地,虚拟模型的渲染方法还包括:获取游戏场景中虚拟相机所对应的视线路径;对视线路径进行采样,得到视线路径对应的多个视点;计算游戏场景中的光源与每个视点之间的距离;根据距离确定每个视点所对应的光照数据;根据光照数据对待渲染模型进行着色渲染,得到体积渲染数据。
进一步地,虚拟模型的渲染方法还包括:在视线路径所对应的视线方向上对光照数据进行累加运算,得到待渲染模型所对应的目标密度;在光源的光照路径所对应的光照方向上对光照数据进行累加运算,得到待渲染模型所对应的目标温度;根据目标密度和目标温度对待渲染模型进行渲染,得到体积渲染数据。
进一步地,虚拟模型的渲染方法还包括:根据光照方向确定待渲染模型所对应的光影区域;确定光影区域所对应的密度数据;根据光影区域所对应的密度数据对光影区域进行渲染,得到待渲染模型所对应的光影数据。
进一步地,虚拟模型的渲染方法还包括:根据光照路径确定待渲染模型中的投影像素,以及投影像素所对应的位置坐标;根据位置坐标确定光影区域的起始位置。
进一步地,虚拟模型的渲染方法还包括:获取光源所对应的距离场;从距离场中确定与待渲染模型最近的目标距离;对光照路径进行采样,得到多个光照点;根据光源所对应的光照方向以及目标距离从多个光照点中确定目标光照点;在目标光照点与待渲染模型之间的距离小于预设值时,确定目标光照点在待渲染模型上的位置为投影像素。
进一步地,虚拟模型的渲染方法还包括:在光照方向上对光影区域所对应的像素值进行累加,得到光影区域所对应的密度数据,其中,密度数据表征了光影区域的透明度信息。
进一步地,虚拟模型的渲染方法还包括:在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之后,基于预设的播放组件对体积渲染数据进行调整,得到调整后的体积渲染数据;基于调整后的体积渲染数据对待渲染模型进行渲染,并展示渲染后的待渲染模型所对应的颜色信息。
进一步地,播放组件上设置有第一参数、第二参数以及第三参数,其中,第一参数用于指定体积渲染数据,第二数据用于指定对待渲染模型进行渲染的材质数据,第三参数用于指定其他属性数据,其他属性数据用于播放体积渲染数据以及光影数据。
根据本发明实施例的另一方面,还提供了一种虚拟模型的渲染装置,包括:获取模块,用于获取待渲染模型对应的纹理数据,其中,体积渲染数据用于对待渲染模型进行着色渲染;处理模块,用于对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据;计算模块,用于对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据,其中,光影数据用于对待渲染模型的光影进行渲染;渲染模块,用于基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的虚拟模型的渲染方法。
根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的虚拟模型的渲染方法。
在本发明实施例中,采用光栅化技术以及光线追踪技术相结合的方式,在获取待渲染模型对应的纹理数据之后,通过对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据,其中,体积渲染数据用于对待渲染模型进行着色渲染,然后对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据,其中,光影数据用于对待渲染模型的光影进行渲染,最后,基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
在上述过程中,对纹理数据进行光栅化处理,从而能够对待渲染模型进行准确的体积渲染,进而能够得到准确的体积渲染效果。另外,在本申请中,还使用光线追踪技术来确定待渲染模型所对应的光影效果,从而使得在对待渲染模型进行渲染得到的目标渲染模型具有准确的空间关系和正确的光影效果。
由此可见,本申请所提供的方案达到了对待渲染模型进行光影渲染的目的,从而实现了使渲染后的模型具有正确的光影效果和空间关系的技术效果,进而解决了现有技术中在对虚拟模型进行光影渲染时无法得到正确的光影效果以及空间关系的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种烟雾特效的示意图;
图2是根据现有技术的一种烟雾序列纹理的示意图;
图3是根据现有技术的一种虚拟模型与火焰相交的示意图;
图4是根据现有技术的一种云模型的示意图;
图5是根据现有技术的一种多边形网格模型的示意图;
图6是根据本发明实施例的一种虚拟模型的渲染方法流程图;
图7是根据本发明实施例的一种可选的烟雾渲染的结果示意图;
图8是根据本发明实施例的一种可选的烟雾渲染的结果示意图;
图9是根据本发明实施例的一种可选的火焰渲染的结果示意图;
图10是根据本发明实施例的一种可选的火焰渲染的结果示意图;
图11是根据本发明实施例的一种可选的目标文件的示意图;
图12是根据本发明实施例的一种可选的特效数据资产对象的示意图;
图13是根据本发明实施例的一种可选的立方体纹理的展开图;
图14是根据本发明实施例的一种可选的对待渲染模型进行渲染的流程图;
图15是根据本发明实施例的一种可选的光栅化算法的示意图;
图16是根据本发明实施例的一种可选的光影数据的确定示意图;
图17是根据本发明实施例的一种可选的投影效果示意图;
图18是根据本发明实施例的一种可选的距离场算法示意图;
图19是根据本发明实施例的一种可选的待渲染模型的投影效果示意图;
图20是根据本发明实施例的一种虚拟模型的渲染装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中之一实施例,提供了一种虚拟模型的渲染方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,还需要说明的是,对虚拟模型进行渲染的渲染系统可作为本实施例所提供方法的执行主体,其中,渲染系统可以为终端设备(例如,电脑、智能手机、平板等设备),渲染系统还可以为服务器,服务器可以为实体服务器,也可以为云服务器,例如,本实施例所提供的方法可运行在云服务器中,在云服务器完成对虚拟模型的渲染之后,将渲染后所得到的目标虚拟模型推送至终端设备以对目标虚拟模型进行展示。
图6是根据本发明实施例的虚拟模型的渲染方法流程图,如图6所示,该方法包括如下步骤:
步骤S602,获取待渲染模型对应的纹理数据。
在步骤S602中,待渲染模型对应的纹理数据可以为体积数据,其中,体积数据为三维空间数据,可存储在三维纹理中,以用来模拟烟雾、火焰等特效。待渲染模型可以为但不限于游戏场景中的虚拟模型,例如,树木、石头、虚拟建筑(例如,碉堡、楼房)、飞机、汽车、烟雾、火焰、云朵等。上述纹理数据可以存储在图片上,即渲染系统可通过纹理图像来获取纹理数据;上述纹理数据还可以存储在预设的文件中,即渲染系统可通过读取预设文件中存储的数据来获取纹理数据。
需要说明的是,在实际应用中,对不同的渲染模型进行渲染所使用到的纹理数据可能是不同的,例如,对石头进行渲染所使用到的纹理数据与对数据进行渲染所使用到的纹理数据是不同的。
在一种可选的实施例中,渲染系统首先判断待渲染模型所对应的模型类型,然后,从第一存储区域中读取与模型类型对应的纹理数据,其中,第一存储区域中存储有不同模型类型的纹理数据。如果第一存储区域中不存在与模型类型对应的纹理数据,则渲染系统通过爬虫对互联网进行爬取以获取与模型类型对应的纹理数据。
在另一种可选的实施例中,渲染系统还可响应用户的操作指令,例如,响应用户输入的读取数据的读取指令,并对读取指令进行解析,得到存储纹理数据的第二存储区域,然后从第二存储区域中读取纹理数据。
步骤S604,对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据。
在步骤S604中,对纹理数据进行光栅化处理的过程是将纹理数据转换为片元的过程,其中,片元中的每一个元素对应于帧缓冲区中的一个像素。可选的,渲染系统可采用光栅化的Ray Marching算法来实现对纹理数据的光栅化处理。
另外,在步骤S604中,体积渲染数据用于对待渲染模型进行着色渲染,体积渲染数据包括如下至少之一:待渲染模型对应的密度数据以及温度数据。
需要说明的是,通过对纹理数据进行光栅化处理所得到的体积渲染数据来对待渲染模型进行渲染,能够保证体积渲染的空间关系的正确性和准确性。
步骤S606,对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据。
在步骤S606中,光线追踪是一种来自几何光学的通用技术,该技术通过追踪与光学表面发生交互作用的光线,得到光线经过路径的模型。可选的,光影数据用于对待渲染模型的光影进行渲染,光影数据包括如下至少之一:待渲染模型的光影所对应的密度数据以及温度数据。
需要说明的是,通过步骤S606通过光线追踪算法来计算体积渲染数据所对应的光影数据,从而在使用光影数据对待渲染模型进行光影渲染时能够得到正确的光影效果。
步骤S608,基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
在步骤S608中,渲染系统使用体积渲染数据和光影数据来对待渲染模型进行渲染,能够得到待渲染模型所对应的光影效果,例如,由图7和图8所示的烟雾渲染的结果示意图可知,通过本申请的方案能够得到烟雾的光影以及投影,而且虚拟模型之间(例如,图8中虚拟球体与烟雾之间)的穿插也能得到正确的表现。
此外,在本申请中,不仅能够实现静态的体积效果的渲染,还能够支持动态变化的体积效果的渲染,例如,在图9和图10所示的火焰渲染的结果示意图中,对火焰模型的温度数据进行渲染,该渲染结果能够正确的表示火焰的颜色。
基于上述步骤S602至步骤S608所限定的方案,可以获知,在本发明实施例中,采用光栅化技术以及光线追踪技术相结合的方式,在获取待渲染模型对应的纹理数据之后,通过对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据,然后对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据,最后,基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
容易注意到的是,在上述过程中,对纹理数据进行光栅化处理,从而能够对待渲染模型进行准确的体积渲染,进而能够得到准确的体积渲染效果。另外,在本申请中,还使用光线追踪技术来确定待渲染模型所对应的光影效果,从而使得在对待渲染模型进行渲染得到的目标渲染模型具有准确的空间关系和正确的光影效果。
由此可见,本申请所提供的方案达到了对待渲染模型进行光影渲染的目的,从而实现了使渲染后的模型具有正确的光影效果和空间关系的技术效果,进而解决了现有技术中在对虚拟模型进行光影渲染时无法得到正确的光影效果以及空间关系的技术问题。
在一种可选的实施例中,在获取待渲染模型对应的纹理数据的过程中,渲染系统首先读取游戏场景中待播放的动画数据,并从动画数据所包含的每一帧纹理图像中提取纹理数据。在获取待渲染模型对应的纹理数据之后,按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件,其中,每个预设文件中存储有当前帧的纹理图像所对应的纹理数据。其中,动画数据由多帧纹理图像组成。
可选的,渲染系统可在特效软件(例如,Houdini)中定制专门的插件来读取每一帧纹理图像所对应的纹理数据,并将纹理数据保存到目标文件中。该目标文件可以包括两种文件,即描述文件和数据文件(即上述的预设文件),其中,描述文件以文本格式(例如,XML格式)来描述待播放的动画数据所对应的序列,该描述文件至少存储有待播放的动画数据所对应的总帧数、起始帧的文件名、最大密度以及最大温度;数据文件用来以二进制格式来存储纹理数据,其存储有分辨率、空间变换矩阵、待渲染模型所对应的密度数据以及温度数据。数据文件采用序列文件的形式,每一个文件保存当前帧所对应的纹理数据。例如,在图11所示的目标文件的示意图中,VolumeDesc.fxd文件为上述的描述文件,VolumeData001.vlb、VolumeData002.vlb以及VolumeData003.vlb为上述的数据文件。
需要说明的是,用户可通过渲染系统来对描述文件进行修改,例如,用户通过渲染系统来修改待播放的动画数据所对应的起始帧和结束帧。另外,在描述文件中设置最大密度和最大温度能够使待渲染模型所对应的密度值和温度值设定在预设范围(例如,0至1)内,以便于后期的处理。
进一步的,在按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件之后,渲染系统从当前帧的纹理图像所对应的预设文件中读取纹理数据,并将纹理数据转换为二进制文件,然后,从二进制文件中提取纹理数据所对应的密度数据以及温度数据,最后,将密度数据存储至纹理数据所对应的第一颜色通道中,并将温度数据存储至纹理数据所对应的第二颜色通道中,得到纹理数据所对应的三维纹理数据。
可选的,二进制文件所对应的格式如表1所示:
表1
数据类型 | 字节大小 |
分辨率 | 3个无符号整数值,12个字节 |
空间变换矩阵 | 16个浮点值,64个字节 |
密度数据 | 分辨率大小x4字节 |
温度数据 | 分辨率大小x4字节 |
需要说明的是,纹理数据占用的空间比较大,在直接对纹理数据进行处理时,可能会占用大量的系统内存。在本实施例中,将纹理数据转换为二进制文件,由于二进制文件的数据格式更加紧凑,文件更小,还可以保存额外的数据,例如,空间变换矩阵,从而减少了对纹理数据进行处理时所占用的系统内存,降低了系统开销,而且,还使得在将纹理数据导入到游戏引擎中时,能够提高控制游戏引擎的灵活性。
此外,还需要说明的是,在从特效软件中将纹理数据转换为二进制文件之后,游戏引擎(例如,Unreal)即可导入该二进制文件,并二进制文件中所包含的纹理数据生成Unreal的资源文件。具体的,游戏引擎为整个的动画数据所对应序列创建特效数据资产对象,该对象不仅能够存储整个动画数据所对应的序列描述,还可将每帧纹理图像所对应的纹理数据组织到一张展开的立方体纹理中。其中,图12为上述的特效数据资产对象所包含的内容,由图12可知,特效数据资产对象包括体积描述数据和体积对象数据(即上述的纹理数据),体积对象数据至少包括尺寸、空间变换矩阵、体积纹理数组,体积纹理数组包括每帧图像所对应的体积数据(例如,图12中的单帧体积数据01、单帧体积数据02、单帧体积数据03)。图13示出了上述的立方体纹理的展开图,其中,每个黑色框表示一帧纹理图像所对应的纹理数据。
另外,上述的第一颜色通道可以为R通道,第二颜色通道可以为G通道,即密度数据和纹理数据分别存储在R通道和G通道中。为了使数据的导入更加方便,在本申请中还通过渲染系统定制了生成对象的工厂“UFXDataAssetFactory”,该生成对象的工厂可用于将特效软件中导出的纹理数据转换为“UFXDataAsset”对象,其中,“UFXDataAsset”对象为能够被游戏引擎直接识别的数据格式。
在一种可选的实施例中,在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之前,渲染系统还获取当前渲染阶段所对应的渲染标记,并根据渲染标记确定当前渲染阶段所对应的渲染算法。其中,在确定渲染标记为第一标记时,确定当前渲染阶段所对应的渲染算法为光栅化算法;在确定渲染标记为第二标记时,确定当前渲染阶段所对应的渲染算法为光线追踪算法,其中,光栅化算法用于对纹理数据进行光栅化处理,第一标记表征当前渲染阶段对待渲染模型进行着色渲染,光线追踪算法用于对待渲染模型进行光线追踪计算,第二标记表征当前渲染阶段对待渲染模型的光影进行渲染。
可选的,渲染系统在在游戏引擎的不同渲染阶段设置标记(即上述渲染标记),其中,主渲染和光影渲染分别对应不同的渲染标记,主渲染的渲染标记为第一标记,光影渲染的渲染标记为第二标记。游戏引擎中的着色器可根据不同的渲染标记确定对应的渲染算法,进而在当前的渲染阶段使用对应的渲染算法来对待渲染模型进行渲染,例如,图14示出了对待渲染模型进行渲染的流程图,由图14可知,渲染系统根据不同的渲染标记来确定当前的渲染阶段所使用的渲染算法。
需要说明的是,主渲染主要用于对待渲染模型进行着色渲染,例如,对待渲染模型进行颜色和明暗的渲染;光影渲染用于对待渲染模型的投影进行渲染。即在本申请中,颜色渲染和投影渲染是分开进行的。另外,对于不同的渲染阶段使用不同的渲染算法,例如,在本实施例中,使用光栅化算法来对待渲染模型进行着色渲染,使用光线追踪算法来对待渲染模型的投影进行渲染。
在一种可选的实施例中,在获取到纹理数据后,渲染系统对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据。具体的,渲染系统首先获取游戏场景中虚拟相机所对应的视线路径,并对视线路径进行采样,得到视线路径对应的多个视点,然后,计算游戏场景中的光源与每个视点之间的距离,并根据距离确定每个视点所对应的光照数据,最后,根据光照数据对待渲染模型进行着色渲染,得到体积渲染数据。
其中,在根据光照数据对待渲染模型进行着色渲染,得到体积渲染数据的过程中,渲染系统在视线路径所对应的视线方向上对光照数据进行累加运算,得到待渲染模型所对应的目标密度,并在光源的光照路径所对应的光照方向上对光照数据进行累加运算,得到待渲染模型所对应的目标温度,最后,根据目标密度和目标温度对待渲染模型进行渲染,得到体积渲染数据。
可选的,渲染系统首先对虚拟相机所对应的视线路径进行采样,得到多个视点,例如,在图15所示的光栅化算法的示意图中,虚线表示视线路径,虚线上的每个点(如图15中的黑色点和白色点)表示视点。然后,沿着视线路径计算每个视点对应的光照数据,并对视线路径上的每个视点的光照数据进行累加处理,即可得到体积渲染数据。其中,每个视点所对应的光照数据是根据光源到该视点之间的距离来确定的。
需要说明的是,在通过体积渲染数据对待渲染模型进行体积渲染的过程中,沿着光线方向逐步递增,并根据光线到达待渲染模型上的位置来对纹理数据进行采样得到待渲染模型上的当前位置密度数据和温度数据。
可选的,渲染系统可通过如下公式来对光照密度进行累加:
在上式中,LinearDensity(x′,x)表示对光照密度进行累加运算所得到的目标密度,Opacity(s)表示视点s所对应的光照密度,x和x′分别表示某一视线路径上的视点的视点范围的上限值和下限值。
需要说明的是,对光照密度进行累加运算,其实质是对当前视线路径的不透明度进行积分得到线性密度的过程。
此外,还需要说明的是,对光照温度进行累加运算的过程与对光照密度进行累加运算的过程类似,在此不再赘述。
在一种可选的实施例中,在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之后,渲染系统还基于预设的播放组件对体积渲染数据进行调整,得到调整后的体积渲染数据,并基于调整后的体积渲染数据对待渲染模型进行渲染,并展示渲染后的待渲染模型所对应的颜色信息。其中,播放组件上设置有第一参数、第二参数以及第三参数,其中,第一参数用于指定体积渲染数据,第二数据用于指定对待渲染模型进行渲染的材质数据,第三参数用于指定其他属性数据,其他属性数据用于播放体积渲染数据以及光影数据。
在一种可选的实施例中,在对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据的过程中,渲染系统根据光照方向确定待渲染模型所对应的光影区域,并确定光影区域所对应的密度数据,然后,根据光影区域所对应的密度数据对光影区域进行渲染,得到待渲染模型所对应的光影数据。
需要说明的是,在获取光影数据的过程中,渲染系统在光照方向上对光影区域所对应的像素值进行累加,得到光影区域所对应的密度数据,其中,密度数据表征了光影区域的透明度信息。为了对存在交叉关系的多个待渲染模型(例如,图7中的烟雾和球体)进行渲染,能够得到准确的投影效果,在本实施例中,根据投影像素的位置坐标来确定待渲染模型所对应的光影区域。
具体的,渲染系统根据光照路径确定待渲染模型中的投影像素,以及投影像素所对应的位置坐标,然后根据位置坐标确定光影区域的起始位置。其中,在根据光照路径确定待渲染模型中的投影像素的过程中,渲染系统获取光源所对应的距离场,并从距离场中确定与待渲染模型最近的目标距离,然后对光照路径进行采样,得到多个光照点,并根据光源所对应的光照方向以及目标距离从多个光照点中确定目标光照点,最后,在目标光照点与待渲染模型之间的距离小于预设值时,确定目标光照点在待渲染模型上的位置为投影像素。
可选的,在如图16所示的光影数据的确定示意图中,四边框表示对待渲染模型进行渲染后的渲染效果的范围区域,例如,四边框可以表示图7中的烟雾所在的范围区域。黑色点表示需要着色的像素的位置,即光影区域的起始位置,白色点表示光线与烟雾相交的起点和终点,即烟雾所对应的不透明度是上述的起点与终点之间的光照数据的累积。图17示出了对待渲染模型进行光影渲染后的投影效果示意图,由图17可知,待渲染模型与烟雾都能得到正确的投影效果。
需要说明的是,还可采用距离场的方式来对待渲染模型进行光影渲染。可选的,如图18所示的距离场算法示意图中,光线向前行进时,每到一个终点,渲染系统在距离场内查询距离待渲染模型最近的距离,然后,根据这个距离再前进一段,直到这个距离值变成0或者负值(及预设值),表示该光线已与场景中的待渲染模型相交,否则,确定该光线未与待渲染模型相交。其中,相交表示待渲染模型被遮挡,会产生投影;不相交表示待渲染模型没有遮挡,不会产生投影。其中,图19示出了待渲染模型的投影效果示意图,由图19可知,待渲染模型在体积上得到了正确的投影效果。
由上述内容可知,本申请直接将特效软件生成的纹理数据转化自定义的二进制文件格式,并导入游戏引擎中生成游戏引擎所支持的三维纹理。在渲染时,采用光栅化算法来正确的处理待渲染模型的体积渲染,并利用光线追踪算法来计算体积效果的投影。该方式能够很好的处理体积渲染的空间关系,并能够得到正确的光影。
根据本发明其中之一实施例,还提供了一种虚拟模型的渲染装置实施例,其中,图20是根据本发明实施例的虚拟模型的渲染装置示意图,如图20所示,该装置包括:获取模块2001、处理模块2003、计算模块2005以及渲染模块2007。
其中,获取模块2001,用于获取待渲染模型对应的纹理数据;处理模块2003,用于对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据;计算模块2005,用于对体积渲染数据进行光线追踪计算,得到待渲染模型所对应的光影数据;渲染模块2007,用于基于体积渲染数据以及光影数据对待渲染模型进行渲染,得到目标模型。
需要说明的是,上述获取模块2001、处理模块2003、计算模块2005以及渲染模块2207对应于上述实施例中的步骤S602至步骤S608,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
可选的,体积渲染数据用于对待渲染模型进行着色渲染,体积渲染数据包括如下至少之一:待渲染模型对应的密度数据以及温度数据;光影数据用于对待渲染模型的光影进行渲染,光影数据包括如下至少之一:待渲染模型的光影所对应的密度数据以及温度数据。
可选的,获取模块包括:第一读取模块以及第一提取模块。其中,第一读取模块,用于读取游戏场景中待播放的动画数据,其中,动画数据由多帧纹理图像组成;第一提取模块,用于从动画数据所包含的每一帧纹理图像中提取纹理数据。
可选的,虚拟模型的渲染装置还包括:第一存储模块,用于在获取待渲染模型对应的纹理数据之后,按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件,其中,每个预设文件中存储有当前帧的纹理图像所对应的纹理数据。
可选的,虚拟模型的渲染装置还包括:第二读取模块、转换模块、第二提取模块以及第二存储模块。其中,第二读取模块,用于在按照每一帧纹理图像的展示顺序对每一帧纹理图像所对应的纹理数据进行存储,得到预设文件之后,从当前帧的纹理图像所对应的预设文件中读取纹理数据;转换模块,用于将纹理数据转换为二进制文件;第二提取模块,用于从二进制文件从提取纹理数据所对应的密度数据以及温度数据;第二存储模块,用于将密度数据存储至纹理数据所对应的第一颜色通道中,并将温度数据存储至纹理数据所对应的第二颜色通道中,得到纹理数据所对应的三维纹理数据。
可选的,虚拟模型的渲染装置还包括:第一获取模块以及第一确定模块。其中,第一获取模块,用于在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之前,获取当前渲染阶段所对应的渲染标记;第一确定模块,用于根据渲染标记确定当前渲染阶段所对应的渲染算法。
可选的,第一确定模块包括:第二确定模块以及第三确定模块。其中,第二确定模块,用于在确定渲染标记为第一标记时,确定当前渲染阶段所对应的渲染算法为光栅化算法,其中,光栅化算法用于对纹理数据进行光栅化处理,第一标记表征当前渲染阶段对待渲染模型进行着色渲染;第三确定模块,用于在确定渲染标记为第二标记时,确定当前渲染阶段所对应的渲染算法为光线追踪算法,其中,光线追踪算法用于对待渲染模型进行光线追踪计算,第二标记表征当前渲染阶段对待渲染模型的光影进行渲染。
可选的,处理模块包括:第二获取模块、采样模块、第一计算模块、第四确定模块以及第一渲染模块。其中,第二获取模块,用于获取游戏场景中虚拟相机所对应的视线路径;采样模块,用于对视线路径进行采样,得到视线路径对应的多个视点;第一计算模块,用于计算游戏场景中的光源与每个视点之间的距离;第四确定模块,用于根据距离确定每个视点所对应的光照数据;第一渲染模块,用于根据光照数据对待渲染模型进行着色渲染,得到体积渲染数据。
可选的,第一渲染模块包括:第二计算模块、第三计算模块以及第二渲染模块。其中,第二计算模块,用于在视线路径所对应的视线方向上对光照数据进行累加运算,得到待渲染模型所对应的目标密度;第三计算模块,用于在光源的光照路径所对应的光照方向上对光照温度进行累加运算,得到待渲染模型所对应的目标温度;第二渲染模块,用于根据目标密度和目标温度对待渲染模型进行渲染,得到体积渲染数据。
可选的,计算模块包括:第五确定模块、第六确定模块以及第三渲染模块。其中,第五确定模块,用于根据光照方向确定待渲染模型所对应的光影区域;第六确定模块,用于确定光影区域所对应的密度数据;第三渲染模块,用于根据光影区域所对应的密度数据对光影区域进行渲染,得到待渲染模型所对应的光影数据。
可选的,第五确定模块包括:第七确定模块以及第八确定模块。其中,第七确定模块,用于根据光照路径确定待渲染模型中的投影像素,以及投影像素所对应的位置坐标;第八确定模块,用于根据位置坐标确定光影区域的起始位置。
可选的,第七确定模块包括:第三获取模块、第九确定模块、采样模块、第十确定模块以及第十一确定模块。其中,第三获取模块,用于获取光源所对应的距离场;第九确定模块,用于从距离场中确定与待渲染模型最近的目标距离;采样模块,用于对光照路径进行采样,得到多个光照点;第十确定模块,用于根据光源所对应的光照方向以及目标距离从多个光照点中确定目标光照点;第十一确定模块,用于在目标光照点与待渲染模型之间的距离小于预设值时,确定目标光照点在待渲染模型上的位置为投影像素。
可选的,第六确定模块包括:第四计算模块,用于在光照方向上对光影区域所对应的像素值进行累加,得到光影区域所对应的密度数据,其中,密度数据表征了光影区域的透明度信息。
可选的,虚拟模型的渲染装置还包括:调整模块以及第四渲染模块。其中,调整模块,用于在对纹理数据进行光栅化处理,得到待渲染模型所对应的体积渲染数据之后,基于预设的播放组件对体积渲染数据进行调整,得到调整后的体积渲染数据;第四渲染模块,用于基于调整后的体积渲染数据对待渲染模型进行渲染,并展示渲染后的待渲染模型所对应的颜色信息。
可选的,播放组件上设置有第一参数、第二参数以及第三参数,其中,第一参数用于指定体积渲染数据,第二数据用于指定对待渲染模型进行渲染的材质数据,第三参数用于指定其他属性数据,其他属性数据用于播放体积渲染数据以及光影数据。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的虚拟模型的渲染方法。
根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的虚拟模型的渲染方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种虚拟模型的渲染方法,其特征在于,包括:
获取待渲染模型对应的纹理数据以及当前渲染阶段所对应的渲染标记;
根据所述渲染标记确定所述当前渲染阶段所对应的渲染算法,其中,所述渲染算法包括光栅化算法和光线追踪算法,所述光栅化算法用于对所述纹理数据进行光栅化处理,所述光线追踪算法用于对所述待渲染模型进行光线追踪计算;
在确定所述渲染标记为第一标记时,采用所述光栅化算法对所述纹理数据进行光栅化处理,得到所述待渲染模型所对应的体积渲染数据,其中,所述体积渲染数据用于对所述待渲染模型进行着色渲染,所述第一标记表征所述当前渲染阶段对所述待渲染模型进行着色渲染;
在确定所述渲染标记为第二标记时,采用所述光线追踪算法对所述体积渲染数据进行光线追踪计算,得到所述待渲染模型所对应的光影数据,其中,所述光影数据用于对所述待渲染模型的光影进行渲染,所述第二标记表征所述当前渲染阶段对所述待渲染模型的光影进行渲染;
基于所述体积渲染数据以及所述光影数据对所述待渲染模型进行渲染,得到目标模型。
2.根据权利要求1所述的方法,其特征在于,所述体积渲染数据包括如下至少之一:所述待渲染模型对应的密度数据以及温度数据;所述光影数据包括如下至少之一:所述待渲染模型的光影所对应的密度数据以及温度数据。
3.根据权利要求1所述的方法,其特征在于,获取待渲染模型对应的纹理数据,包括:
读取游戏场景中待播放的动画数据,其中,所述动画数据由多帧纹理图像组成;
从所述动画数据所包含的每一帧纹理图像中提取所述纹理数据。
4.根据权利要求3所述的方法,其特征在于,在获取待渲染模型对应的纹理数据之后,所述方法还包括:
按照所述每一帧纹理图像的展示顺序对所述每一帧纹理图像所对应的纹理数据进行存储,得到预设文件,其中,每个所述预设文件中存储有当前帧的纹理图像所对应的纹理数据。
5.根据权利要求4所述的方法,其特征在于,在按照所述每一帧纹理图像的展示顺序对所述每一帧纹理图像所对应的纹理数据进行存储,得到预设文件之后,所述方法还包括:
从所述当前帧的纹理图像所对应的预设文件中读取所述纹理数据;
将所述纹理数据转换为二进制文件;
从所述二进制文件从提取所述纹理数据所对应的密度数据以及温度数据;
将所述密度数据存储至所述纹理数据所对应的第一颜色通道中,并将所述温度数据存储至所述纹理数据所对应的第二颜色通道中,得到所述纹理数据所对应的三维纹理数据。
6.根据权利要求1所述的方法,其特征在于,对所述纹理数据进行光栅化处理,得到所述待渲染模型所对应的体积渲染数据,包括:
获取游戏场景中虚拟相机所对应的视线路径;
对所述视线路径进行采样,得到所述视线路径对应的多个视点;
计算所述游戏场景中的光源与每个视点之间的距离;
根据所述距离确定所述每个视点所对应的光照数据;
根据所述光照数据对所述待渲染模型进行着色渲染,得到所述体积渲染数据。
7.根据权利要求6所述的方法,其特征在于,根据所述光照数据对所述待渲染模型进行着色渲染,得到所述体积渲染数据,包括:
在所述视线路径所对应的视线方向上对所述光照数据进行累加运算,得到所述待渲染模型所对应的目标密度;
在所述光源的光照路径所对应的光照方向上对所述光照数据进行累加运算,得到所述待渲染模型所对应的目标温度;
根据所述目标密度和所述目标温度对所述待渲染模型进行渲染,得到所述体积渲染数据。
8.根据权利要求7所述的方法,其特征在于,对所述体积渲染数据进行光线追踪计算,得到所述待渲染模型所对应的光影数据,包括:
根据所述光照方向确定所述待渲染模型所对应的光影区域;
确定所述光影区域所对应的密度数据;
根据所述光影区域所对应的密度数据对所述光影区域进行渲染,得到所述待渲染模型所对应的光影数据。
9.根据权利要求8所述的方法,其特征在于,根据所述光照方向确定所述待渲染模型所对应的光影区域,包括:
根据所述光照路径确定所述待渲染模型中的投影像素,以及所述投影像素所对应的位置坐标;
根据所述位置坐标确定所述光影区域的起始位置。
10.根据权利要求9所述的方法,其特征在于,根据所述光照路径确定所述待渲染模型中的投影像素,包括:
获取所述光源所对应的距离场;
从所述距离场中确定与所述待渲染模型最近的目标距离;
对所述光照路径进行采样,得到多个光照点;
根据所述光源所对应的光照方向以及所述目标距离从所述多个光照点中确定目标光照点;
在所述目标光照点与所述待渲染模型之间的距离小于预设值时,确定所述目标光照点在所述待渲染模型上的位置为所述投影像素。
11.根据权利要求8所述的方法,其特征在于,确定所述光影区域所对应的密度数据,包括:
在所述光照方向上对所述光影区域所对应的像素值进行累加,得到所述光影区域所对应的密度数据,其中,所述密度数据表征了所述光影区域的透明度信息。
12.根据权利要求1所述的方法,其特征在于,在对所述纹理数据进行光栅化处理,得到所述待渲染模型所对应的体积渲染数据之后,所述方法还包括:
基于预设的播放组件对所述体积渲染数据进行调整,得到调整后的体积渲染数据;
基于所述调整后的体积渲染数据对所述待渲染模型进行渲染,并展示渲染后的待渲染模型所对应的颜色信息。
13.根据权利要求12所述的方法,其特征在于,所述播放组件上设置有第一参数、第二参数以及第三参数,其中,所述第一参数用于指定所述体积渲染数据,所述第二参数用于指定对所述待渲染模型进行渲染的材质数据,所述第三参数用于指定其他属性数据,所述其他属性数据用于播放所述体积渲染数据以及所述光影数据。
14.一种虚拟模型的渲染装置,其特征在于,包括:
获取模块,用于获取待渲染模型对应的纹理数据以及当前渲染阶段所对应的渲染标记;
第一确定模块,用于根据所述渲染标记确定所述当前渲染阶段所对应的渲染算法,其中,所述渲染算法包括光栅化算法和光线追踪算法,所述光栅化算法用于对所述纹理数据进行光栅化处理,所述光线追踪算法用于对所述待渲染模型进行光线追踪计算;
处理模块,用于在确定所述渲染标记为第一标记时,采用所述光栅化算法对所述纹理数据进行光栅化处理,得到所述待渲染模型所对应的体积渲染数据,其中,所述体积渲染数据用于对所述待渲染模型进行着色渲染,所述第一标记表征所述当前渲染阶段对所述待渲染模型进行着色渲染;
计算模块,用于在确定所述渲染标记为第二标记时,采用所述光线追踪算法对所述体积渲染数据进行光线追踪计算,得到所述待渲染模型所对应的光影数据,其中,所述光影数据用于对所述待渲染模型的光影进行渲染,所述第二标记表征所述当前渲染阶段对所述待渲染模型的光影进行渲染;
渲染模块,用于基于所述体积渲染数据以及所述光影数据对所述待渲染模型进行渲染,得到目标模型。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至13任一项中所述的虚拟模型的渲染方法。
16.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至13任一项中所述的虚拟模型的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826994.2A CN113648655B (zh) | 2021-07-21 | 2021-07-21 | 虚拟模型的渲染方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826994.2A CN113648655B (zh) | 2021-07-21 | 2021-07-21 | 虚拟模型的渲染方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113648655A CN113648655A (zh) | 2021-11-16 |
CN113648655B true CN113648655B (zh) | 2024-06-25 |
Family
ID=78489660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110826994.2A Active CN113648655B (zh) | 2021-07-21 | 2021-07-21 | 虚拟模型的渲染方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113648655B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114404953A (zh) * | 2021-12-28 | 2022-04-29 | 网易(杭州)网络有限公司 | 虚拟模型的处理方法、装置、计算机设备及存储介质 |
CN115082609A (zh) * | 2022-06-14 | 2022-09-20 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
CN117557712A (zh) * | 2022-08-04 | 2024-02-13 | 荣耀终端有限公司 | 渲染方法、装置、设备及存储介质 |
CN116206035B (zh) * | 2023-01-12 | 2023-12-01 | 北京百度网讯科技有限公司 | 人脸重建方法、装置、电子设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
CN111459591A (zh) * | 2020-03-31 | 2020-07-28 | 杭州海康威视数字技术股份有限公司 | 待渲染对象处理方法、装置和终端 |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3527489B2 (ja) * | 2001-08-03 | 2004-05-17 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理方法及び装置、描画処理プログラムを記録した記録媒体、描画処理プログラム |
CN105825544B (zh) * | 2015-11-25 | 2019-08-20 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
GB2546286B (en) * | 2016-01-13 | 2020-02-12 | Sony Interactive Entertainment Inc | Apparatus and method of image rendering |
GB2575689B (en) * | 2018-07-20 | 2021-04-28 | Advanced Risc Mach Ltd | Using textures in graphics processing systems |
CN111739142A (zh) * | 2019-03-22 | 2020-10-02 | 厦门雅基软件有限公司 | 场景渲染方法、装置、电子设备及计算机可读存储介质 |
US10853994B1 (en) * | 2019-05-23 | 2020-12-01 | Nvidia Corporation | Rendering scenes using a combination of raytracing and rasterization |
CN111420404B (zh) * | 2020-03-20 | 2023-04-07 | 网易(杭州)网络有限公司 | 游戏中对象渲染的方法及装置、电子设备、存储介质 |
CN113052947B (zh) * | 2021-03-08 | 2022-08-16 | 网易(杭州)网络有限公司 | 一种渲染方法、装置、电子设备和存储介质 |
-
2021
- 2021-07-21 CN CN202110826994.2A patent/CN113648655B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
CN111459591A (zh) * | 2020-03-31 | 2020-07-28 | 杭州海康威视数字技术股份有限公司 | 待渲染对象处理方法、装置和终端 |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113648655A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113648655B (zh) | 虚拟模型的渲染方法、装置、存储介质和电子设备 | |
CN112884875B (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
US9020241B2 (en) | Image providing device, image providing method, and image providing program for providing past-experience images | |
CN108236783B (zh) | 游戏场景中模拟光照的方法、装置、终端设备及存储介质 | |
CN108959392B (zh) | 在3d模型上展示富文本的方法、装置及设备 | |
US20130100132A1 (en) | Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images | |
CN111862295A (zh) | 一种虚拟对象的展示方法、装置、设备和存储介质 | |
CN105282536A (zh) | 一种基于Unity3D引擎的裸眼3D图文交互方法 | |
CN106447756B (zh) | 用于生成用户定制的计算机生成动画的方法和系统 | |
CN110930492B (zh) | 模型渲染的方法、装置、计算机可读介质及电子设备 | |
DE602006007113D1 (de) | Wiedergabe von 3d-computergraphik unter verwendung von 2d-computergraphik-fähigkeiten | |
CN115512025A (zh) | 模型渲染性能的检测方法、装置、电子设备及存储介质 | |
CN113132799B (zh) | 视频播放处理方法及装置、电子设备、存储介质 | |
CN113129420B (zh) | 一种基于深度缓冲加速的光线追踪渲染方法 | |
CN111632376B (zh) | 一种虚拟模型的显示方法、装置、电子设备及存储介质 | |
CN117218266A (zh) | 3d白模的纹理贴图生成方法、装置、设备及介质 | |
CN111260767A (zh) | 游戏中的渲染方法、渲染装置、电子设备及可读存储介质 | |
CN114842127A (zh) | 地形渲染方法及装置、电子设备、介质及产品 | |
CN110662099B (zh) | 用于显示弹幕的方法和装置 | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
Blythe et al. | Lighting and shading techniques for interactive applications | |
CN115496818B (zh) | 一种基于动态物体分割的语义图压缩方法和装置 | |
JP7370363B2 (ja) | 情報処理装置、プログラム及び描画方法 | |
JP7352603B2 (ja) | 情報処理装置、プログラム及び描画方法 |
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 |