CN113223131B - 一种模型的渲染方法、装置、存储介质以及计算设备 - Google Patents
一种模型的渲染方法、装置、存储介质以及计算设备 Download PDFInfo
- Publication number
- CN113223131B CN113223131B CN202110412345.8A CN202110412345A CN113223131B CN 113223131 B CN113223131 B CN 113223131B CN 202110412345 A CN202110412345 A CN 202110412345A CN 113223131 B CN113223131 B CN 113223131B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- rendered
- rendering
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种模型的渲染方法、装置、存储介质以及计算设备,该方法包括在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据;在待渲染模型中添加被影子遮挡的叠加数据,获取投射到待渲染模型上的影子结果数据,叠加数据包含待渲染模型的高光数据和透射数据;将漫反射数据、叠加数据和影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于最终颜色数据对待渲染模型进行渲染。本发明实施例能够在不修改待渲染模型本身的法线方向的基础上,同样达到让待渲染模型的漫反射统一的效果。还可以在达到真实自然的渲染效果的基础上,不增加额外的数据,减小了游戏引擎的渲染压力,提高了游戏引擎的整体性能。
Description
技术领域
本发明涉及模型渲染技术领域,特别是一种模型的渲染方法、装置、存储介质以及计算设备。
背景技术
目前大多数项目都会采用插片的形式来模拟游戏场景中草的效果,但是由于模型本身的特性,在计算漫反射、高光、透射的时候都会出现各种错误的结果。为避免出现计算漫反射、高光、透射时结果错误,现有技术会通过修改插片草模型的法线朝向,让所有的模型法线全部垂直朝上,从而利用朝上的法线结果计算光照。此外,现有技术还会用更加细致的模型来模拟草,在模型上表现出草的形态,用模型本身的法线来计算光照。
但是,在修改插片草模型的法线朝向之后,虽然在计算插片草模型的漫反射结果时草光影关系得到统一,但是在计算插片草模型的高光项时,由于法线朝向天空方向,计算出的额高光结果并不是由草的表面反射到人的眼睛,表现的结果是只有在逆光的时候才能看到高光,而在顺光的时候没有光线可以反射到人的眼睛,这与现实是不相符的,如图1所示的修改插片草模型的法线朝向后的漫反射方向ReflectionDir和人的观察方向ViewDir。而为了达到真实的效果若使用更加细致的模型来模拟草的形态,无疑会增加模型顶点的数量,从而加大渲染压力,影响渲染效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的模型的渲染方法、装置、存储介质以及计算设备,能够在不修改待渲染模型本身的法线方向的基础上,同样计算得到过度平滑的漫反射数据,并达到让待渲染模型的漫反射统一的效果。而且可以在达到真实自然的渲染效果的基础上,无需增加额外的数据,使用较少的模型资源,有效地减小游戏引擎的渲染压力,进而提高游戏引擎的整体性能。
根据本发明实施例的一方面,提供了一种模型的渲染方法,包括:
在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据;
在所述待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,所述叠加数据包含待渲染模型的高光数据和透射数据;
将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于所述最终颜色数据对所述待渲染模型进行渲染。
可选地,所述待渲染模型包括插片草模型,且游戏场景中的多个插片草模型垂直于地面并相互穿插。
可选地,基于定义的朝上向量确定待渲染模型的漫反射数据,包括:
获取所述待渲染模型的光照方向信息;
将定义的朝上向量与所述光照方向信息相乘计算得到所述待渲染模型的漫反射数据。
可选地,在所述待渲染模型中添加被影子遮挡的叠加数据,包括:
在所述待渲染模型中定义被影子遮挡的叠加项变量;
分别计算所述待渲染模型的高光数据和透射数据,对所述高光数据和所述透射数据求和得到被影子遮挡的叠加数据;
将所述叠加数据添加于定义的所述叠加项变量中。
可选地,计算所述待渲染模型的高光数据,包括:
获取所述待渲染模型本身的法线信息;
基于所述待渲染模型本身的法线信息计算得到待渲染模型的高光数据。
可选地,计算所述待渲染模型的透射数据,包括:
获取所述待渲染模型的观察方向信息和光照方向信息;
将所述观察方向信息和光照方向信息进行点积计算得到待渲染模型的透射强度;
获取所述待渲染模型的透射颜色,依据所述透射颜色和透射强度计算得到待渲染模型的透射数据。
可选地,将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,包括:
将所述漫反射数据和叠加数据进行求和;
将所述漫反射数据和叠加数据的求和结果与所述影子结果数据相乘,得到所述待渲染模型的最终颜色数据。
根据本发明实施例的另一方面,还提供了一种模型的渲染装置,包括:
确定模块,适于在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据;
添加模块,适于在所述待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,所述叠加数据包含待渲染模型的高光数据和透射数据;
渲染模块,适于将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于所述最终颜色数据对所述待渲染模型进行渲染。
可选地,所述待渲染模型包括插片草模型,且游戏场景中的多个插片草模型垂直于地面并相互穿插。
可选地,所述确定模块还适于:获取所述待渲染模型的光照方向信息;
将定义的朝上向量与所述光照方向信息相乘计算得到所述待渲染模型的漫反射数据。
可选地,所述添加模块还适于:在所述待渲染模型中定义被影子遮挡的叠加项变量;
分别计算所述待渲染模型的高光数据和透射数据,对所述高光数据和所述透射数据求和得到被影子遮挡的叠加数据;
将所述叠加数据添加于定义的所述叠加项变量中。
可选地,所述添加模块还适于:获取所述待渲染模型本身的法线信息;
基于所述待渲染模型本身的法线信息计算得到待渲染模型的高光数据。
可选地,所述添加模块还适于:获取所述待渲染模型的观察方向信息和光照方向信息;
将所述观察方向信息和光照方向信息进行点积计算得到待渲染模型的透射强度;
获取所述待渲染模型的透射颜色,依据所述透射颜色和透射强度计算得到待渲染模型的透射数据。
可选地,所述渲染模块还适于:将所述漫反射数据和叠加数据进行求和;
将所述漫反射数据和叠加数据的求和结果与所述影子结果数据相乘,得到所述待渲染模型的最终颜色数据。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上文任意实施例的模型的渲染方法。
根据本发明实施例的另一方面,还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行上文任意实施例的模型的渲染方法。
本发明实施例通过在材质编辑器中定义朝上向量,即利用朝上向量模拟朝上的法线方向,从而可利用朝上向量来确定待渲染模型的漫反射数据,本发明实施例无需修改待渲染模型本身的法线方向,同样可以计算出过度平滑的漫反射数据,并达到让待渲染模型的漫反射统一的效果。并且,由于无需修改待渲染模型本身的法线方向,后续计算待渲染模型的高光项时还可以有效地避免出现高光结果不是由草的表面反射到人的眼睛的情况。本发明实施例在待渲染模型中添加被影子遮挡的叠加数据,并利用漫反射数据、叠加数据和影子结果数据计算得到用于渲染待渲染模型的最终颜色数据,可以避免出现待渲染模型在光照射不到的地方被叠加上颜色的问题,从而达到真实且自然的渲染效果。
进一步的,本发明实施例在达到真实自然的渲染效果的基础上,没有增加额外的数据,且使用了较少的模型资源(如使用了较少的模型顶点数),有效地减小了游戏引擎的渲染压力,进而提高了游戏引擎的整体性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了现有技术的修改待渲染模型法线后的光照示意图;
图2示出了根据本发明一实施例的模型的渲染方法的流程示意图;
图3示出了根据本发明一实施例的在待渲染模型中添加被影子遮挡的叠加数据的过程示意图;
图4示出了根据本发明一实施例的保留待渲染模型法线后的光照示意图;
图5示出了根据本发明一实施例的模型的渲染装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为解决上述技术问题,本发明实施例提供了一种模型的渲染方法,图2示出了根据本发明一实施例的模型的渲染方法的流程示意图,参见图2,该方法可以包括步骤S102至步骤S106。
步骤S102,在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据。
本发明实施例中,漫反射指的是投射在物体的粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线投射到物体的粗糙表面时,粗糙表面会把入射光线向着四面八方反射。入射光线虽然互相平行,但是由于物体表面上各点的法线方向不一致,因此会造成反射光线向不同的方向无规则地反射,这种反射即为“漫反射”,当然,也可以称为“漫射”。
步骤S104,在待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,叠加数据包含待渲染模型的高光数据和透射数据。
步骤S106,将漫反射数据、叠加数据和影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于最终颜色数据对待渲染模型进行渲染。
本发明实施例通过在材质编辑器中定义朝上向量,即利用朝上向量模拟朝上的法线方向,从而可利用朝上向量来确定待渲染模型的漫反射数据,本发明实施例无需修改待渲染模型本身的法线方向,同样可以计算出过度平滑的漫反射数据,并达到让待渲染模型的漫反射统一的效果。
由于无需修改待渲染模型本身的法线方向,后续计算待渲染模型的高光项时还可以有效地避免出现高光结果不是由草的表面反射到人的眼睛的情况。此外,本发明实施例在待渲染模型中添加被影子遮挡的叠加数据,并利用漫反射数据、叠加数据和影子结果数据计算得到用于渲染待渲染模型的最终颜色数据,可以避免出现待渲染模型在光照射不到的地方被叠加上颜色的问题,从而达到真实且自然的渲染效果。
进一步的,本发明实施例在达到真实自然的渲染效果的基础上,没有增加额外的数据,且使用了较少的模型资源(如使用了较少的模型顶点数),有效地减小了游戏引擎的渲染压力,进而提高了游戏引擎的整体性能。
在本发明一实施例中,待渲染模型可以是插片草模型,当然还可以是关于植物的其他类型的模型,本发明实施例对此不作具体限定。在该实施例中,关于插片草需要说明的是,通常在游戏引擎中物体都是以模型的形式存在,因此,对于游戏场景中草等地面上的植物可采用大致垂直于地面并且相互穿插的模型来表现草的形态,即插片草模型用来表现游戏场景中地面上的草的形态,且游戏场景中的多个插片草模型垂直于地面并相互穿插。
本发明实施例的游戏引擎可以采用UE(Unreal Engine,虚幻引擎)引擎,当然也可以采用其他引擎,此处对游戏引擎的类型不作具体限定。
通常待渲染模型在默认情况下只能保存一套法线信息,但是在计算光照时需要两套法线信息,其中一套朝上的法线信息用来计算漫反射,一套待渲染模型本身的法线信息用来计算高光。法线主要用于描述待渲染模型的表面方向的向量,待渲染模型表面方向的向量默认是垂直于模型表面的。
为了避免修改待渲染模型的法线朝向,从而避免计算高光的结果不由待渲染模型的表面反射到人的眼睛,本发明实施例在执行上文步骤S102时,根据计算漫反射的法线具有垂直朝上的特征,在游戏引擎中采用一个朝上向量(0,0,1)来代替用于计算漫反射的法线信息,可以不必再修改待渲染模型本身的法线,而是直接采用朝上向量(0,0,1)来计算待渲染模型的漫反射数据,同样可以达到让待渲染模型的漫反射统一的效果。
通常计算插片草模型的漫反射数据的方式为D漫反射=N模型法线 L光照方向,本发明实施例利用朝上向量(0,0,1)代替N模型法线,在执行上文步骤S102基于定义的朝上向量确定待渲染模型的漫反射数据时,先获取待渲染模型的光照方向信息,即L光照方向,然后,再将定义的朝上向量与光照方向信息相乘计算得到待渲染模型的漫反射数据,即利用朝上向量(0,0,1)与L光照方向相乘得到插片草模型的漫反射数据。
由于游戏引擎的特性,为模型的材质传入参数时只能传入一个法线信息,结合上文介绍,待渲染模型在默认情况下也只能保存一套法线信息,若要通过另外一套法线计算光照还需要添加额外的计算量。在游戏引擎中,可以通过自发光属性给最终的计算结果叠加颜色,但是自发光颜色并不会考虑影子的问题,在光照射不到的地方也会被叠加上颜色,这是不符合逻辑的。因此,本发明实施例在叠加颜色时会考虑影子的影响。
在本发明一实施例中,参见上文步骤S104,在待渲染模型中添加被影子遮挡的叠加数据的过程可以包含图3所示的步骤S1041至步骤S1043。
步骤S1041,在待渲染模型中定义被影子遮挡的叠加项变量。
本发明实施例在待渲染模型中先定义被影子遮挡的叠加项变量,即提前准备好一个变量(buffer)用来储存后文依据高光数据和透射数据计算得到的叠加项数据。
步骤S1042,分别计算待渲染模型的高光数据和透射数据,对高光数据和透射数据求和得到被影子遮挡的叠加数据。
对高光数据和透射数据求和得到被影子遮挡的叠加数据的计算公式为E叠加颜色=S模型高光+T透射颜色,其中,E叠加颜色表示被影子遮挡的叠加数据,S模型高光表示基于待渲染模型法线计算的高光数据,T透射颜色表示透射数据。
本发明实施例中的高光实际上是一种美术用语,指光源的光线照射到物体后又反射到人的眼睛里时,被照射物体表面上最亮的那个点就是高光,高光本质不是代表光,而是指物体上最亮的部分。
关于透射需要介绍的是,当光源的光线入射到透明或半透明材料物体表面时,一部分光线被反射,一部分光线被吸收,还有一部分光线可以从透明或半透明材料中透射过去。透射是入射光线经过折射并穿过物体后的出射现象。被透射的物体可以透明体或半透明体,如玻璃、滤色片等材质的物体。
步骤S1043,将叠加数据添加于定义的叠加项变量中。
该步骤将计算得到的叠加数据添加于定义的叠加项变量中,从而可以实现在待渲染模型中添加被影子遮挡的叠加数据。另外,由于本发明实施例采用一个朝上向量(0,0,1)代替用于计算漫反射的法线信息,保留了待渲染模型本身的法线,如图4所示的插片草模型本身的法线方向、反射方向ReflectionDir和人的观察方向ViewDir。因此,可以利用待渲染模型本身的法线计算待渲染模型的高光数据。
在执行上文步骤S1042计算待渲染模型的高光数据时,可以先获取待渲染模型本身的法线信息,然后,基于待渲染模型本身的法线信息计算得到待渲染模型的高光数据。
由于无需修改待渲染模型本身的法线方向,因此计算待渲染模型的高光项可以有效地避免出现高光结果不是由草的表面反射到人的眼睛的情况,并避免出现只有在逆光的时候才能看到高光,而在顺光的时候没有光线可以反射到眼睛的问题。
本发明实施例在计算待渲染模型的高光数据后,可以将高光数据叠加至游戏引擎原有着色模型ShadingModel计算得到的雾效、间接光等常规通用的计算结果中,以渲染出真实的高光效果。
参见上文步骤S1042,在本发明一实施例中,计算待渲染模型的透射数据时,先获取待渲染模型的观察方向信息和光照方向信息,然后,将观察方向信息和光照方向信息进行点积计算得到待渲染模型的透射强度,最后,获取待渲染模型的透射颜色,依据透射颜色和透射强度计算得到待渲染模型的透射数据。具体的,可以按照公式:(观察方向灯光方向)2×透射颜色×透射强度,计算得到草模型的透射数据。
本发明实施例在计算待渲染模型的透射数据后,可以将透射数据叠加至游戏引擎原有着色模型ShadingModel计算得到的雾效、间接光等常规通用的计算结果中,以渲染出真实的透射效果。
由此,本发明实施例可以使用较少的模型顶点数来模拟草的形态,并且不仅能够得到插片草模型变化均匀的漫反射效果,而且还可以得到正确的高光结果和透射结果。
上文已经介绍了计算得到漫反射数据和叠加数据的过程,在本发明一实施例中,在将漫反射数据、叠加数据和影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据的过程中,可以先将漫反射数据和叠加数据进行求和。由于对高光数据S模型高光和透射数据T透射颜色求和可以得到被影子遮挡的叠加数据E叠加颜色,因此,将基于朝上向量计算的漫反射数据C漫反射数据和叠加数据E叠加颜色进行求和的公式可以为C漫反射数据+S模型高光+T透射颜色。
然后,将漫反射数据和叠加数据的求和结果与获取到的影子结果数据相乘,从而得到待渲染模型的最终颜色数据,即按照公式Color最终颜色=(C漫反射数据+S高光数据+T透射颜色)×Shadow影子结果计算得到待渲染模型的最终颜色数据Color最终颜色。待渲染模型的最终颜色数据可以用于对待渲染模型进行有效地渲染,如对插片草模型进行渲染能够得到真实且自然的草的效果。
本发明实施例的插片草模型应用的虚拟场景可以是游戏场景、虚拟现实(VR,Virtual Reality)场景、动画场景、模拟器场景等等。例如,插片草模型应用在移动终端(如手机)的安卓系统中渲染游戏场景。又例如,插片草模型应用在PC(Personal Computer,个人计算机)端的安卓系统中渲染动画场景等。本发明实施例对插片草模型的应用场景不作具体限定。
为了进一步的提高插片草模型的渲染效率以及插片草模型所在虚拟场景的渲染效率,本发明实施例还可以采用多台渲染服务器协同渲染待渲染场景,以降低单台渲染服务器的渲染压力。并且,本发明实施例为了合理有效地应用多个渲染服务器,还可以采用中间服务器对各个渲染服务器进行合理调度。这里的中间服务器和多个渲染服务器可以共同组成一个渲染集群,下面对渲染集群中各个渲染服务器和中间服务器的工作过程进行如下介绍。
中间服务器在接收到对包含有插片草模型的虚拟场景的渲染请求后,可以获取渲染集群中的各个渲染服务器上报的状态信息。然后,根据各渲染服务器的状态信息从渲染集群的渲染服务器中确定目标渲染服务器。其中,渲染服务器的状态信息可以包括渲染服务器是否在线、渲染服务器的繁忙程度、渲染服务器的内存占用率等信息。进而,请求确定出的目标渲染服务器对包含有插片草模型的虚拟场景进行渲染,并且目标渲染服务器可以基于上文实施例计算得到的插片草模型的最终颜色数据对插片草模型进行有效地渲染。
该实施例中,各个渲染服务器可以实时地获取自身的状态信息,并将获取到的状态信息上报至中间服务器,中间服务器保存各个渲染服务器上报的状态信息,并对保存的态信息进行不断更新。
本发明实施例可用于游戏场景的渲染,也可以用于其他三维场景的渲染,本发明实施例不作具体限定。
由此,本发明实施例的待渲染场景不是由单一的渲染服务器进行渲染,而是多台渲染服务器协同工作,不仅大幅降低了单台服务器的渲染压力,提高了场景渲染效率,改善了用户体验,而且,还可用多台低配置的渲染服务器代替高配置的渲染服务器,从而有效降低渲染集群的部署成本。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
基于同一发明构思,本发明实施例还提供了一种模型的渲染装置,图5示出了根据本发明一实施例的模型的渲染装置的结构示意图。参见图5,模型的渲染装置500可以包括确定模块510、添加模块520和渲染模块530。
确定模块510,适于在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据。
通过利用朝上向量模拟朝上的法线方向,从而可利用朝上向量来确定待渲染模型的漫反射数据,本发明实施例无需修改待渲染模型本身的法线方向,同样可以计算出过度平滑的漫反射数据,达到让待渲染模型的漫反射统一的效果。并且,由于无需修改待渲染模型本身的法线方向,后续计算待渲染模型的高光项时还可有效地避免出现高光结果不是由草的表面反射到人的眼睛的情况。
添加模块520,适于在待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,叠加数据包含待渲染模型的高光数据和透射数据。
渲染模块530,适于将漫反射数据、叠加数据和影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于最终颜色数据对待渲染模型进行渲染。
在待渲染模型中添加被影子遮挡的叠加数据,并利用漫反射数据、叠加数据和影子结果数据计算得到用于渲染待渲染模型的最终颜色数据,可以避免出现待渲染模型在光照射不到的地方被叠加上颜色的问题,从而达到真实且自然的渲染效果。进一步的,本发明实施例在达到真实自然的渲染效果的基础上,没有增加额外的数据,且使用了较少的模型资源,有效地减小了游戏引擎的渲染压力,进而提高了游戏引擎的整体性能。
在本发明一可选实施例中,待渲染模型包括插片草模型,且游戏场景中的多个插片草模型垂直于地面并相互穿插。
在本发明一可选实施例中,确定模块510,还适于获取待渲染模型的光照方向信息;将定义的朝上向量与光照方向信息相乘计算得到待渲染模型的漫反射数据。
在本发明一可选实施例中,添加模块520,还适于在待渲染模型中定义被影子遮挡的叠加项变量;分别计算待渲染模型的高光数据和透射数据,对高光数据和透射数据求和得到被影子遮挡的叠加数据;将叠加数据添加于定义的叠加项变量中。
在本发明一可选实施例中,添加模块520,还适于获取待渲染模型本身的法线信息;基于待渲染模型本身的法线信息计算得到待渲染模型的高光数据。
在本发明一可选实施例中,添加模块520,还适于获取待渲染模型的观察方向信息和光照方向信息;将观察方向信息和光照方向信息进行点积计算得到待渲染模型的透射强度;获取待渲染模型的透射颜色,依据透射颜色和透射强度计算得到待渲染模型的透射数据。
在本发明一可选实施例中,渲染模块530,还适于将漫反射数据和叠加数据进行求和;将漫反射数据和叠加数据的求和结果与影子结果数据相乘,得到待渲染模型的最终颜色数据。
基于同一发明构思,本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上文任意实施例的模型的渲染方法。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当计算机程序代码被处理器运行时,导致计算设备执行上文任意实施例的模型的渲染方法。
所属领域的技术人员可以清楚地了解到,上述描述的装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
Claims (9)
1.一种模型的渲染方法,其特征在于,包括:
在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据,其中,所述朝上向量用于模拟朝上的法线方向;
在所述待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,所述被影子遮挡的叠加数据包含待渲染模型的高光数据和透射数据;
将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于所述最终颜色数据对所述待渲染模型进行渲染;
将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据包括:将所述漫反射数据和所述叠加数据进行求和;将所述漫反射数据和所述叠加数据的求和结果与所述影子结果数据相乘,得到所述待渲染模型的最终颜色数据。
2.根据权利要求1所述的方法,其特征在于,
所述待渲染模型包括插片草模型,且游戏场景中的多个插片草模型垂直于地面并相互穿插。
3.根据权利要求1或2所述的方法,其特征在于,基于定义的朝上向量确定待渲染模型的漫反射数据,包括:
获取所述待渲染模型的光照方向信息;
将定义的朝上向量与所述光照方向信息相乘计算得到所述待渲染模型的漫反射数据。
4.根据权利要求1或2所述的方法,其特征在于,在所述待渲染模型中添加被影子遮挡的叠加数据,包括:
在所述待渲染模型中定义被影子遮挡的叠加项变量;
分别计算所述待渲染模型的高光数据和透射数据,对所述高光数据和所述透射数据求和得到被影子遮挡的叠加数据;
将所述叠加数据添加于定义的所述叠加项变量中。
5.根据权利要求4所述的方法,其特征在于,计算所述待渲染模型的高光数据,包括:
获取所述待渲染模型本身的法线信息;
基于所述待渲染模型本身的法线信息计算得到待渲染模型的高光数据。
6.根据权利要求4所述的方法,其特征在于,计算所述待渲染模型的透射数据,包括:
获取所述待渲染模型的观察方向信息和光照方向信息;
将所述观察方向信息和光照方向信息进行点积计算得到待渲染模型的透射强度;
获取所述待渲染模型的透射颜色,依据所述透射颜色和透射强度计算得到待渲染模型的透射数据。
7.一种模型的渲染装置,其特征在于,包括:
确定模块,适于在材质编辑器中定义一个朝上向量,基于定义的朝上向量确定待渲染模型的漫反射数据,其中,所述朝上向量用于模拟朝上的法线方向;
添加模块,适于在所述待渲染模型中添加被影子遮挡的叠加数据,并获取投射到待渲染模型上的影子结果数据,所述被影子遮挡的叠加数据包含待渲染模型的高光数据和透射数据;
渲染模块,适于将所述漫反射数据、所述叠加数据和所述影子结果数据按照预设算法计算得到待渲染模型的最终颜色数据,基于所述最终颜色数据对所述待渲染模型进行渲染;
所述渲染模块,还适于将所述漫反射数据和所述叠加数据进行求和;将所述漫反射数据和所述叠加数据的求和结果与所述影子结果数据相乘,得到所述待渲染模型的最终颜色数据。
8.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-6中任一项所述的模型的渲染方法。
9.一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行权利要求1-6中任一项所述的模型的渲染方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412345.8A CN113223131B (zh) | 2021-04-16 | 2021-04-16 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
PCT/CN2021/132560 WO2022217922A1 (zh) | 2021-04-16 | 2021-11-23 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412345.8A CN113223131B (zh) | 2021-04-16 | 2021-04-16 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113223131A CN113223131A (zh) | 2021-08-06 |
CN113223131B true CN113223131B (zh) | 2022-05-31 |
Family
ID=77087908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110412345.8A Active CN113223131B (zh) | 2021-04-16 | 2021-04-16 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113223131B (zh) |
WO (1) | WO2022217922A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223131B (zh) * | 2021-04-16 | 2022-05-31 | 完美世界(北京)软件科技发展有限公司 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
CN113610955A (zh) * | 2021-08-11 | 2021-11-05 | 北京果仁互动科技有限公司 | 一种对象渲染方法、装置及着色器 |
CN114494570A (zh) * | 2021-10-18 | 2022-05-13 | 北京市商汤科技开发有限公司 | 三维模型的渲染方法和装置、存储介质及计算机设备 |
CN115082607B (zh) * | 2022-05-26 | 2024-08-30 | 网易(杭州)网络有限公司 | 虚拟角色头发渲染方法、装置、电子设备和存储介质 |
CN116091684B (zh) * | 2023-04-06 | 2023-07-07 | 杭州片段网络科技有限公司 | 基于WebGL的图像渲染方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018221092A1 (ja) * | 2017-05-31 | 2018-12-06 | ソニー株式会社 | 画像処理装置、画像処理システム、および画像処理方法、並びにプログラム |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
WO2020125785A1 (zh) * | 2018-12-21 | 2020-06-25 | 北京达佳互联信息技术有限公司 | 毛发渲染方法、装置、电子设备和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8294713B1 (en) * | 2009-03-23 | 2012-10-23 | Adobe Systems Incorporated | Method and apparatus for illuminating objects in 3-D computer graphics |
CN106056661B (zh) * | 2016-05-31 | 2018-08-28 | 钱进 | 基于Direct3D 11的三维图形渲染引擎 |
CN106469463B (zh) * | 2016-09-27 | 2019-04-30 | 上海上大海润信息系统有限公司 | 一种基于cpu与gpu混合的渲染方法 |
CN111127623B (zh) * | 2019-12-25 | 2023-08-29 | 上海米哈游天命科技有限公司 | 模型的渲染方法、装置、存储介质及终端 |
CN111899325B (zh) * | 2020-08-13 | 2024-02-23 | 网易(杭州)网络有限公司 | 晶石模型的渲染方法、装置、电子设备及存储介质 |
CN112316420B (zh) * | 2020-11-05 | 2024-03-22 | 网易(杭州)网络有限公司 | 模型渲染方法、装置、设备及存储介质 |
CN112200900B (zh) * | 2020-12-02 | 2021-02-26 | 成都完美时空网络技术有限公司 | 一种体积云渲染方法、装置、电子设备及存储介质 |
CN113223131B (zh) * | 2021-04-16 | 2022-05-31 | 完美世界(北京)软件科技发展有限公司 | 一种模型的渲染方法、装置、存储介质以及计算设备 |
-
2021
- 2021-04-16 CN CN202110412345.8A patent/CN113223131B/zh active Active
- 2021-11-23 WO PCT/CN2021/132560 patent/WO2022217922A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018221092A1 (ja) * | 2017-05-31 | 2018-12-06 | ソニー株式会社 | 画像処理装置、画像処理システム、および画像処理方法、並びにプログラム |
WO2020125785A1 (zh) * | 2018-12-21 | 2020-06-25 | 北京达佳互联信息技术有限公司 | 毛发渲染方法、装置、电子设备和存储介质 |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
Non-Patent Citations (1)
Title |
---|
Rendering virtual images with specular reflection at virtual viewpoints based on calibrated images;Zhanwei Li等;《2010 IEEE International Conference on Robotics and Biomimetics》;20110303;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113223131A (zh) | 2021-08-06 |
WO2022217922A1 (zh) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113223131B (zh) | 一种模型的渲染方法、装置、存储介质以及计算设备 | |
CN109448089B (zh) | 一种渲染方法及装置 | |
Kraus et al. | Depth‐of‐field rendering by pyramidal image processing | |
CN112215934B (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
US10403036B2 (en) | Rendering glasses shadows | |
CN109960872B (zh) | Ar虚拟软装搭配管理系统及其工作方法 | |
CN108765520B (zh) | 文本信息的渲染方法和装置、存储介质、电子装置 | |
EP3701358B1 (en) | Systems and methods of distance-based shaders for procedurally generated graphics | |
CN108043027B (zh) | 存储介质、电子装置、游戏画面的显示方法和装置 | |
CN110866967B (zh) | 水波纹渲染方法、装置、设备及存储介质 | |
CN112184873A (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
US7133052B1 (en) | Morph map based simulated real-time rendering | |
CN116485973A (zh) | 虚拟对象的材质生成方法、电子设备和存储介质 | |
CN111803942A (zh) | 一种软阴影生成方法、装置、电子设备和存储介质 | |
CN115526976A (zh) | 虚拟场景渲染方法、装置、存储介质和电子设备 | |
CN113546410B (zh) | 地形模型渲染方法、装置、电子设备和存储介质 | |
US20070190502A1 (en) | System and method for creating a simulation of a terrain that includes simulated illumination effects | |
US10754498B2 (en) | Hybrid image rendering system | |
CN106775741B (zh) | 图标生成方法及装置 | |
CN115761105A (zh) | 光照渲染方法、装置、电子设备及存储介质 | |
CN111445572B (zh) | 显示虚拟三维模型的方法和装置 | |
Skulimowski et al. | Design and optimisation methods for interactive mobile VR visualisation | |
US10713836B2 (en) | Simulating lenses | |
Yang et al. | Visual effects in computer games | |
CN113706683B (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 |