CN109427088A - 一种模拟光照的渲染方法及终端 - Google Patents
一种模拟光照的渲染方法及终端 Download PDFInfo
- Publication number
- CN109427088A CN109427088A CN201710711285.3A CN201710711285A CN109427088A CN 109427088 A CN109427088 A CN 109427088A CN 201710711285 A CN201710711285 A CN 201710711285A CN 109427088 A CN109427088 A CN 109427088A
- Authority
- CN
- China
- Prior art keywords
- information
- normal
- model
- grid vertex
- virtual objects
- 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
Classifications
-
- 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
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- 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/55—Radiosity
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种模拟光照的渲染方法,该方法可以包括:通过获取预设第一虚拟对象模型的第一网格顶点信息、第一网格顶点信息对应的第一颜色信息,以及第一法线信息,预设第一虚拟对象模型为待处理的预设模型,第一法线信息由预设第一虚拟对象模型对应的高模进行烘焙得到;将第一法线信息进行顶点空间转换,得到与第一网格顶点信息对应的第二法线信息;根据预设颜色设置规则和第二法线信息,得到与第一网格顶点信息对应的第一光照信息,预设颜色设置规则用于表征颜色与光照的对应关系;采用第一光照信息、第一颜色信息和第一网格顶点信息,对第一虚拟模型对象进行渲染,得到第二虚拟对象模型。本发明实施例还同时公开了一种终端。
Description
技术领域
本发明涉及电子应用领域中的建模技术,尤其涉及一种模拟光照的渲染方法及终端。
背景技术
随着科学技术的不断发展,电子技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备或终端,以及安装在终端(应用终端)上的各种功能的应用享受随着科技发展带来的舒适生活。
目前存在社交应用或游戏应用中采用虚拟对象(例如三维虚拟人物)进行用户角色或形象的模拟,形象而生动。终端(开发终端)一般采用Unity开发工具进行三维虚拟对象的生成,首先,终端(开发终端)可以从模型设计工具中获取设计模型,在Unity开发工具中导入该设计模型,以便进行三维场景和三维虚拟对象的处理,通常采用的模型设计工具为Cinema 4D。但是由于Cinema 4D与Unity的兼容性不好,即模型设计工具中会提供一个比较好的环境光的效果的设计模型,但是在Unity开发工具中是没有提供这么良好的环境光的,从而将设计模型导入到Unity中效果是非常差的。
这时,通常的解决办法为在Unity中通过多个灯光的组合模拟设计工具中的环境光效果,但是使用多个灯光的组合模拟的环境光,导致设计模型性能和灵活性上严重下降,且三维虚拟人物在移动时,由于灯光组合模型的不可变性,导致光照的效果也不可控制,从而造成三维虚拟对象或人物的展示效果很差。
发明内容
为解决上述技术问题,本发明实施例期望提供一种模拟光照的渲染方法及终端,能够在保证三维设计模型阴影细节的基础上,模拟出接近真实环境的环境光,利用模拟的环境光对三维虚拟对象模型进行处理,从而提高三维虚拟对象模型或虚拟人物模型的展示效果。
本发明的技术方案是这样实现的:
本发明实施例提供了一种模拟光照的渲染方法,包括:
获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;
将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;
根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;
采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
本发明实施例提供了一种终端,包括:
获取单元,用于获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;
转换单元,用于将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;
所述获取单元,还用于根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;
渲染单元,还用于采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
本发明实施例还提供了一种终端,包括:
处理器、存储器、显示器及通信总线,所述处理器、所述存储器及所述显示器通过所述通信总线连接;
所述处理器,用于调用所述存储器存储的模拟光照的渲染相关程序,执行如下步骤:
获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型;
所述显示器,用于显示所述第二虚拟对象模型。
本发明实施例提供了一种计算机可读存储介质,应用于终端中,所述计算机可读存储介质存储有一个或者多个模拟光照的渲染程序,所述一个或者多个模拟光照的渲染程序可被一个或者多个处理器执行,以实现上述模拟光照的渲染方法。
本发明实施例提供了一种模拟光照的渲染方法及终端,通过获取预设第一虚拟对象模型的第一网格顶点信息、第一网格顶点信息对应的第一颜色信息,以及第一法线信息,预设第一虚拟对象模型为待处理的预设模型,第一法线信息由预设第一虚拟对象模型对应的高模进行烘焙得到;将第一法线信息进行顶点空间转换,得到与第一网格顶点信息对应的第二法线信息;根据预设颜色设置规则和第二法线信息,得到与第一网格顶点信息对应的第一光照信息,预设颜色设置规则用于表征颜色与光照的对应关系;采用第一光照信息、第一颜色信息和第一网格顶点信息,对第一虚拟模型对象进行渲染,得到第二虚拟对象模型。采用上述技术实现方案,由于终端可以根据高模确定的精细的法线信息解析出每个网格顶点对应的光照信息,因此,可以利用这个光照信息作为环境光对第一虚拟对象模型进行渲染,由于法线信息的精度很高,保证了三维设计模型阴影细节,并且模拟出接近真实环境的环境光,因此,这样渲染出来的第二虚拟对象模型的展示效果的精度会很高,提高第二虚拟对象模型的展示效果。
附图说明
图1为本发明实施例提供的一种模拟光照的渲染方法的流程图一;
图2为本发明实施例提供的一种示例性的法线贴图效果示意图;
图3为本发明实施例提供的一种模拟光照的渲染方法的流程图二;
图4为本发明实施例提供的一种示例性的法线贴图制作界面图;
图5为本发明实施例提供的一种示例性的模型的平面展开示意图;
图6为本发明实施例提供的一种示例性的法线贴图示意图;
图7为本发明实施例提供的一种示例性的渲染效果示意图;
图8为本发明实施例提供的一种终端的结构示意图一;
图9为本发明实施例提供的一种终端的结构示意图二;
图10为本发明实施例提供的一种终端的结构示意图三;
图11为本发明实施例提供的一种终端的结构示意图四。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明实施例提供的一种模拟光照的渲染方法可以应用在任意使用三维模型的应用或是功能中,而应用终端可以安装上述应用,并通过与应用对应的服务器进行数据交互实现相应的功能。
在本发明实施例中,主要描述终端(开发终端)在进行三维模型的处理的时候采用的渲染方法,以达到较好的三维模型展示的过程。
实施例一
本发明实施例提供了一种模拟光照的渲染方法,如图1所示,该方法可以包括:
S101、获取预设第一虚拟对象模型的第一网格顶点信息、第一网格顶点信息对应的第一颜色信息,以及第一法线信息,预设第一虚拟对象模型为待处理的预设模型,第一法线信息由预设第一虚拟对象模型对应的高模进行烘焙得到;
需要说明的是,在本发明实施例中,终端在进行三维模型处理的时候,可以先采用三维模型设计工具进行模型的建立,然后再利用三维模型开发工具进行模型的进一步处理,最终得到需要的三维模型。
在本发明实施例中,三维模型设计工具可以为3ds Max、ZByush或Cinema4D等,本发明实施例不限制模型设计工具的种类;并且,三维模型开发工具可以为Unity 3D、Unreal等,本发明实施例不限制模型开发工具的种类。优选的,三维模型设计工具为Cinema 4D,三维模型开发工具为Unity 3D。
终端在三维设计工具中建立所需的三维虚拟对象模型,在建立好三维虚拟对象模型后,将3为虚拟对象导出,供三维模型开发工具进行进一步的模型处理。
本发明实施例中主要描述的是在建立好三维虚拟对象模型之后,在三维模型开发工具中对该三维虚拟对象模型进行渲染的过程。
需要说明的是,在本发明实施例中,终端根据应用开发的需求建立虚拟对象,该终端可以针对相同的虚拟对象建立出一个低进度的低模,即预设第一虚拟对象模型,以及建立出一个高精度的高模,即预设第三虚拟对象模型,也就是说,预设第一虚拟对象模型和预设第三虚拟对象模型都是针对相同虚拟对象进行的模型建立,唯一不同的是建模的精度。
这样,终端可以获取预设第一虚拟对象模型和预设第三虚拟对象模型的相关信息,于是,终端可以根据预设第三虚拟对象模型进行法线贴图的生成。其中,制作法线贴图的制作方法可以为高模烘焙,简单来说就是,做个几百万面或者几千万甚至上亿面的高精度模型(即预设第三虚拟对象模型),再做一个几千面几万面的低精度模型(即预设第一虚拟对象模型),然后把高模的细节信息烘焙到低模上就能得到一张法线贴图了。终端里的三维模型,是通过多个多边形面组合来近似模拟一个物体的,它不是圆滑的,面熟越多,则越接近真实物体,这样光照到某个面当中的一个点时,法线是通过这个面的几个顶点通过插值得到的,插值其实也是为了模拟这个点"正确"的法线方向,不然整个面所有点的法线一致的话,光照上去,得到的模型夸张点就像一面面镜子拼接起来了。
在上述实现的基础上,终端的三维开发工具就可以解析预设第一虚拟对象模型,获取该预设第一虚拟对象模型的第一网格顶点信息和第一网格顶点信息对应的第一颜色信息,同时也解析法线贴图获取到第一法线信息,第一虚拟对象模型为待处理的预设模型,第一法线信息由预设第一虚拟对象模型对应的高模(即预设第三虚拟对象模型)进行烘焙得到。
这里,终端获取的预设第一虚拟对象模型中可以获取该预设第一虚拟对象模型的UV贴图和diffuse贴图,于是,终端解析UV贴图,得到该预设第一虚拟对象模型的第一网格顶点信息,该终端解析diffuse贴图,获取该预设第一虚拟对象模型的顶点颜色信息,即第一颜色信息。
需要说明的是,在本发明实施例中,三维模型的构建都是由不同的切面搭建的,因此,预设第一虚拟对象模型的中存在很多顶点,而第一网格顶点信息就指的是预设第一虚拟对象模型的每个网格顶点的坐标信息。
S102、将第一法线信息进行顶点空间转换,得到与第一网格顶点信息对应的第二法线信息;
由于终端获取的第一法线信息是模型空间的相关法线信息,而在渲染的时候,终端需要保证光照方向和法线信息是处在同一坐标系中的,而光照方向一般是在世界空间中,而法线信息在模型空间中,因此,在终端获取了预设第一虚拟对象模型的第一网格顶点信息、第一网格顶点信息对应的第一颜色信息,以及第一法线信息之后,该终端就需要对第一法线信息进行顶点空间转换,以满足渲染的需求,最终得到与第一网格顶点信息对应的第二法线信息。
在本发明实施例中,每个网格顶点都可以对应一个法线信息(统称为第一法线信息),每个网格顶点的顶点信息统称为第一网格顶点信息,因此,预设第一虚拟对象模型的第一网格顶点信息是对应第一法线信息的。
在本发明实施例中,终端将第一法线信息进行顶点空间转换后得到是世界空间中的第二法线信息。
需要说明的是,法线是垂直于一个面的直线,通过计算光线与这条法线的角度就可以知道与面的角度,进而可以计算出面应得到的颜色信息的,本发明实施例中就是利用这个原理进行模拟光照的处理。每个网格顶点对应的第一法线信息是保存到法线贴图上对应像素点的,因此,在法线贴图中,通过把每个像素点的法线存储在一张纹理中,在渲染的时候可以根据每个像素点的法线确定像素点的阴暗程度。也就是第一法线信息记录了每个顶点信息高光和阴影的数值细节,并且还是将第一法线信息当作RGB三个颜色存储在法线贴图上的。
这里,一条法线是一个三维向量,一个三维向量由X、Y、Z等3个分量组成,于是,就以这3个分量当作红绿蓝3个颜色的值存储,生成一张新的贴图,即法线贴图。其中,法线贴图中红绿通道代表上下左右的偏移,蓝通道代表垂直偏移。
可以理解的是,终端把法线贴图上一个像素点想象成一根法线,这张法线贴图是512*512像素大小,也就是有262144个像素,那么把这张法线贴图贴到预设第一虚拟对象模型上就相当于该预设第一虚拟对象模型上有262144根法线(当然实际上肯定不是这样的),这样一个几百面的预设第一虚拟对象模型瞬间看上去就像是有几十万面一样的细节效果。
S103、根据预设颜色设置规则和第二法线信息,得到与第一网格顶点信息对应的第一光照信息,预设颜色设置规则用于表征颜色与光照的对应关系;
终端在将第一法线信息进行顶点空间转换,得到与第一网格顶点信息对应的第二法线信息之后,由于第二法线信息与第一网格顶点信息一一对应,因此,该终端可以根据预设颜色设置规则和第二法线信息,得到与第一网格顶点信息对应的第一光照信息了,也就是说,终端可以根据第二法线信息对应的法线投影在一个正平面上,于是,上述法线的投影点可以换算为法线贴图的UV坐标(与第一网格顶点信息对应),此时,终端就可以根据预设颜色设置规则对UV坐标对应的每个网格顶点进行颜色设置,从而得到第一光照信息了,其中,预设颜色设置规则用于表征颜色与光照的对应关系。
这里,终端可以根据第二法线信息和预设颜色设置规则,在第一网络顶点信息的每个网格顶点处存储一个颜色信息,得到第一网格顶点信息的第二颜色信息,将第二颜色信息作为第一光照信息。
需要说明的是,在本发明实施例中,当各个方向的法线投影到一个正平面时,其投影范围在x(-1,1),y(-1,1),构成了一个圆,因此,法线贴图的有效范围基本上是一个圆形。这样的话,基于第二法线信息得到第一光照信息在制作成光照贴图时,该光照贴图中存储第一光照信息的区域是一个圆形。
在本发明实施例中,光照贴图可以为材质捕获(MatCap,Material Capture)贴图,使用某特定材质球的MatCap贴图,作为当前材质的视图空间环境贴图(view-spaceenvironment map),来实现具有均匀表面着色的反射材质物体的显示。基于MatCap思想的着色器(Shader),终端可以无需提供任何光照,只需提供一张或多张合适的MatCap贴图作为光照结果的“指导”即可。
需要说明的是,本发明实施例中的着色器是进行三维模型渲染的工具。
在本发明实施例中,预设颜色设置规则基于的原则为黑色吸光少,白色吸光多,因此,当一个网格顶点的光照强的时候,其设置的第二颜色信息应该调偏白,而当一个网格顶点的光照弱的时候,其设置的第二颜色信息应该调偏黑,这样终端就可以得到用第二颜色信息表征光照的第一光照信息了。
需要说明的是,颜色信息的选取可以在0-255中进行选取,越靠近0的颜色越偏黑,越靠近255的颜色越偏白。也就是说,光照贴图中的圆形中心区域光强,第二颜色信息偏白,边缘光弱,第二颜色信息偏黑。
S104、采用第一光照信息、第一颜色信息和第一网格顶点信息,对第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
终端在根据预设颜色设置规则和第二法线信息,得到与第一网格顶点信息对应的第一光照信息之后,由于该终端已经可以利用第一光照信息模拟环境光了,并且该第一光照信息还是利用相关的法线信息得到的,结合了高精度的光照和阴影的细节,因此,接近真实环境光。这样,终端就可以根据采用第一光照信息、第一颜色信息和第一网格顶点信息,对第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
在本发明实施例中,终端可以采用第一光照信息、第一颜色信息对第一网格顶点信息对应的每个网格顶点进行顶点颜色的填充,得到顶点的主顶点颜色信息,从而使用主顶点颜色信息对预设第一虚拟对象模型进行处理。
进一步地,在本发明实施例中,终端对预设第一虚拟对象模型的渲染处理,可以是纹理、颜色等各方面的处理,本发明实施例不作限制。
在本发明实施例中,法线贴图是基于模型的UV来创建的,可以记录高光与阴影的细节数值,那么终端在得到了法线贴图之后,采用法线贴图作用在预设第一虚拟对象模型之后,得到的第二虚拟对象模型的精度是较高的,表面纹理的凹凸性都能很好的体现。
示例性的,假设预设第一虚拟对象模型为烛台模型,如图2所示,左边为烛台模型,当采用法线贴图作用烛台模型之后,该烛台模型变为右边图示,显得很有立体感。
也就是说,终端在进行三维模型的渲染的时候可以采用法线贴图进行纹理细节的处理,一般终端采用的是顶点着色器来实现的。
进一步地,S101之前,如图3所示,本发明实施例提供的一种模拟光照的渲染方法还可以包括:S105-S107。如下:
S105、获取预设第三虚拟对象模型对应的第二网格顶点信息,预设第三虚拟对象模型为预设第一虚拟对象模型的对应的高模;
S106、根据第二网格顶点信息和预设法线模型,得到第一法线方向;
S107、根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与第一法线方向对应的第一法线信息。
在本发明实施例中,终端在着色器中实现渲染之前,先进行了模拟的虚拟对象相同的高精度模型的法线贴图的生成的,从而解析出了法线贴图中的第一法线信息的。终端获取法线贴图的过程可以为高模烘托方法,即终端获取预设第一虚拟对象模型的对应的高模(即预设第三虚拟对象模型)对应的第二网格顶点信息,根据第二网格顶点信息和预设法线模型,得到第一法线方向,最后根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与第一法线方向对应的第一法线信息。
需要说明的是,由于法线贴图的出现,是为了低面数的模型模拟出高面数的模型的光照与阴影细节数据的,那么,最重要的就是光入射方向与入射点的法线夹角,法线贴图本质上就是记录了这个夹角的相关信息的,光照的计算与某个面上的法线方向息息相关的。
这里,终端可以获知预设第三虚拟对象模型对应的第二网格顶点信息(即预设第三虚拟对象模型中的每个网格顶点的信息),当光照到预设第三虚拟对象的某个面当中的一点时,通过这个面的几个网格顶点进行插值(即预设法线模型)得到的该点的第一法线方向;然后,终端根据预设第二网格顶点信息与第一网格顶点的对应关系,将预设第三虚拟对象模型投影在预设第一虚拟对象模型上,形成二维投影(例如x-y平面投影),于是,终端获取第一网格顶点信息对应的每个网格顶点的第一法线在二维投影上的两个投影方向(x和y方向上),最后,终端将获取的每个网格顶点的第一法线方向作为z方向,这样就得到了每个网个顶点上的第一法线信息了。然后,终端将每点的第一法线信息保存到法线贴图上对应像素点,实际计算是把第一法线信息中的x,y,z方向大小映射到颜色空间rgb里,即把x值存在r里,把y值存在g里,把z值存在b里。终端在进行预设第一虚拟对象模型渲染的时候得到的是法线贴图,终端是通过对法线贴图解析得到的第一法线信息的。
可选的,在本发明实施例中的法线贴图可以为object space normal map。
需要说明的是,在制作法线贴图的时候也可以制作出其他空间中的法线贴图,本发明实施例不作限制。
示例性的,终端法线贴图优化模型阴影控制,假设预设第三虚拟对象模型为人脸模型,那么图4中显示了人脸模型进行法线贴图制作的显示窗口,经过烘焙方法,将人脸模型进行投影得到了如图5所示的平面展开图,最终终端将图5所示的平面展开图存储在RGB值中,得到了如图6所示的法线贴图。
进一步的,在S105之前,本发明实施例提供的一种模拟光照的渲染方法还包括:S108。如下:
S108、获取场景文件,根据场景文件建立第一场景。
在终端进行预设第一虚拟对象模型的渲染之前,该终端需要获取需要建立三维模型的场景文件,并根据该场景文件建立第一场景,然后在该第一场景中进行预设第一虚拟对象模型的展示和处理。
需要说明的是,本发明实施例不限制第一场景的类型,可以为雪景、沙漠等各种场景。
在本发明实施例中,S108为终端开始进行模型处理的首要执行顺序,即终端执行S108可以在S105-107之前。
进一步地,S104之后,基于S108的实现基础上,本发明实施例提供的一种模拟光照的渲染方法还可以包括:S109。如下:
S109、在第一场景中,显示第二虚拟对象模型。
终端在得到了渲染完的第二虚拟对象模型之后,由于该第二虚拟对象模型为已经渲染绘制后的模型了,并且,整个模型是在第一场景中进行处理的,这样的话,终端就可以在第一场景中显示或展示该第二虚拟对象模型了。
实施例二
本发明实施例提供了一种模拟光照的渲染方法中,S102的将第一法线信息进行顶点空间转换,得到与第一网格顶点信息对应的第二法线信息的方法可以包括:S1021-S1022。如下:
S1021、将第一法线信息进行顶点空间转换,转换到切线空间,得到第三法线信息;
S1022、将第三法线信息进行归一化处理,得到第二法线信息。
在本发明实施例中,终端要使用MatCap贴图,主要是要将第一法线信息从模型空间(object space)转换到切线空间(tangent space),并切换到适合提取纹理UV的区域【0,1】上。
需要说明的是,在法线贴图生成的过程中,高模(预设第三虚拟对象模型)所用的tangent space,就是低模(预设第一虚拟对象模型)上的,终端生成法线贴图,必定会确认高模上哪些面都对应低模上的哪个面,然后高模上的这几个面的法线,都会转换为低模这个面上所构建的tangent space的坐标。这样,当低模变形时,即三角面变化时,它的tangent space也会跟着变化,保存在法线贴图里的法线信息(即法线值)乘以低模这个面的tangent space到外部坐标系的转换矩阵,即可得到外部坐标,其中,高模保存的第一法线信息对应高模上object space里的法线。
这里,终端将第一法线信息进行顶点空间转换,转换到切线空间的具体实施如下:对于第一网格顶点信息对应的每个网格顶点来说,从object Space转换到tangent space,使用model-view矩阵就好了,但是第一法线信息中的法线向量使用model-view矩阵从object space到eye space的变换的话,在eye-space中,tangent的方向仍符合定义,normal则不再垂直于网格顶点的tangent了,因此,model-view矩阵不适用于normal。这是因为,假设令T为tangent,MV为model-view矩阵,P1、P2为tangent联系的2个网格顶点,那么,
T=P2-P1 (1)
T'=T*MV=(P2-P1)*MV=P2*MV-P1*MV=P2'-P1' (2)
因此,由公式(1)和公式(2)可知,T'保留了tangent的定义,但对于normal,也可以找到N=Q2-Q1代表它,但是变换后Q2'-Q1'却不能保证垂直于T',因此,object space到view space角度关系被改变了。如何求出normal的变换,维持与tangent垂直,现在假设normal matrix矩阵为G,那么,ormal与tangent垂直可以得出公式(3):
N'.T'=(GN).(MT)=0 (3)
将公式(3)点积转化为叉积后得到公式(4):
(GN).(MT)=(GN)T*(MT)=(GN)T(MT)=(NTGT)(MT)=NTGTMT=0 (4)
其中,NTT为0。
若GTM=I,则公式(4)成立,因此,G=(M-1)T
也就是说,normal matrix矩阵是model-view矩阵的逆矩阵的转置矩阵。
在这样的情况下,第一法线信息可以通过normal matrix矩阵从模型空间转换到切线空间了,从而得到了第三法线信息了。
示例性的,以Unity为例进行说明,Unity内置的变换矩阵normal matrix矩阵可以表示为:UNITY_MATRIX_IT_MV,其是UNITY_MATRIX_MV(model-view矩阵)的逆转置矩阵,其作用正是将第一法线信息从模型空间转换到切线空间,得到第三法线信息。这一过程是在顶点着色器中实现的,如下:
//MatCap坐标准备:将法线从模型空间转换到切线空间,存储于TEXCOORD1的后两个纹理坐标zw
output.diffuseUVAndMatCapCoords.z=dot(normalize(UNITY_MATRIX_IT_MV[0].xyz),normalize(input.normal));
output.diffuseUVAndMatCapCoords.w=dot(normalize(UNITY_MATRIX_IT_MV[1].xyz),normalize(input.normal));
在本发明实施例中,终端将第一法线信息从模型空间(object space)转换到切线空间(tangent space)之后,得到第三法线信息,还需要将第三法线信息切换到适合提取纹理UV的区域【0,1】上,得到第二法线信息。
示例性的,以Unity为例进行说明,终端将第三法线信息进行归一化处理,得到第二法线信息的这一过程是在顶点着色器中实现的,如下:
//归一化法线值区间【-1,1】转换到适用于纹理的区间【0,1】
output.diffuseUVAndMatCapCoords.zw=output.diffuseUVAndMatCapCoords.zw*0.5+0.5;
需要说明的是,由于终端转换空间后得到的切线空间的第三法线信息对应的区域是【-1,1】,要转换到提取纹理UV的区域【0,1】上,就需要乘以0.5并加上0.5。
进一步地,终端最终得到的第二法线信息示例性的,如下:
//坐标变换
output.position=mul(UNITY_MATRIX_MVP,input.position);
//细节纹准备UV,存储于TEXCOORD0的前两个坐标xy
output.detailUVCoordsAndDepth.xy=TRANSFORM_TEX(input.UVCoordsChannel1,_DetailTex);
//深度信息准备,存储于TEXCOORD0的第三个坐标z
output.detailUVCoordsAndDepth.z=output.position.z;
本发明实施例提供了一种模拟光照的渲染方法中,S104的采用第一光照信息、第一颜色信息和第一网格顶点信息,对第一虚拟模型对象进行渲染,得到第二虚拟对象模型的方法可以包括:S1041-S1042。如下:
S1041、将第一网格顶点信息对应的第一颜色信息和第二颜色信息进行插值处理,得到第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;
S1042、根据主顶点颜色信息和每个网格顶点的对应关系进行绘制,得到第二虚拟对象模型。
在本发明实施例中,终端的预设第一虚拟对象模型中的每个网格顶点信息对应的主顶点颜色为第一颜色信息,终端采用光照贴图对该预设第一虚拟对象模型进行渲染处理,这样的话,终端将第一网格顶点信息对应的第一颜色信息和第二颜色信息进行插值处理,得到第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;然后,该终端根据主顶点颜色信息和每个网格顶点的对应关系进行绘制,得到第二虚拟对象模型。
需要说明的是,本发明实施例中的第一颜色信息可以为原主顶点颜色信息,而终端可以根据法线贴图中的第二法线信息,得到细节纹理,从而得到细节颜色信息。
示例性的,终端得到新街颜色信息的过程如下:
//细节纹理
float 3detailMask=tex2D(_DetailTex,input.detailUVCoordsAndDepth.xy).rgb;
//细节颜色信息
float 3detailColor=lerp(_DetailColor.rgb,mainColor,detailMask);
在本发明实施例子中,终端可以先将细节颜色和第一颜色信息进行差值,称为新的主顶点颜色信息,然后再与从光照贴图中提取出来的第二颜色信息(第一光照信息)进行作用,得到最终的主顶点颜色信息。示例性的如下:
//细节颜色和主顶点颜色进行插值,成为新的主顶点颜色信息
mainColor=lerp(detailColor,mainColor,saturate(input.detailUVCoordsAndDepth.z*DetailTexDepthOffset));
//从提供的MatCap贴图中,提取出对应第一光照信息(解析的过程)
float3matCapColor=tex2D(_MatCap,input.diffuseUVAndMatCapCoords.zw).rgb;
//最终的主顶点颜色信息
float4 finalColor=float4(mainColor*matCapColor*2.0,MainColor.a);
需要说明的是,在本发明实施例中,终端对预设第一虚拟对象模型的渲染,是结合原模型、法线贴图和MatCap贴图进行渲染,得到模拟环境光且保证阴影细节的输出的各个网格顶点与颜色信息的对应关系(主顶点颜色信息和每个网格顶点的对应关系),终端根据各个网格顶点与颜色信息的对应关系进行绘制,得到了第二虚拟对象模型。
示例性的,以三维人物模型进行对比,如图7所示,本发明实施例中采用的渲染方式实现的三维人物模型的效果如图7中的模型1所示,而之前的渲染方式实现的三维人物模型的效果如图7中的模型2所示,由此对比可知,模型1比模型2展示效果的精度会很高,提高第二虚拟对象模型的展示效果。
进一步地,在本发明实施例中,以三维人物模型场景来说,采用本发明实施中的渲染三维虚拟人物模型的结果是在类似头部与身体衔接处,通过环境光配合法线贴图弱化了接缝处的痕迹,主要是将法线贴图接缝处位置的阴影对齐,类似头部和身体部分的Matcap在模拟环境光时,在接缝处的坐标点位置的光量保持一致,避免接缝位置在不同光量的情况下痕迹比较明显,也就是说,针对三维人物模型中的各个区块,部位或者切面等接缝处的点渲染弱化。
实施例三
基于实施例一和实施例二的同一发明构思下,如图8所示,本发明实施例提供了一种终端1,该终端1可以包括:
获取单元10,用于获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;
转换单元11,用于将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;
所述获取单元10,还用于根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;
渲染单元12,还用于采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
可选的,所述转换单元11,具体用于将所述第一法线信息进行顶点空间转换,转换到切线空间,得到第三法线信息;以及将所述第三法线信息进行归一化处理,得到所述第二法线信息。
可选的,所述获取单元10,具体用于根据所述第二法线信息和所述预设颜色设置规则,在所述第一网络顶点信息的每个网格顶点处存储一个颜色信息,得到所述第一网格顶点信息的第二颜色信息,将所述第二颜色信息作为所述第一光照信息。
可选的,所述渲染单元12,具体用于将所述第一网格顶点信息对应的所述第一颜色信息和所述第二颜色信息进行插值处理,得到所述第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;以及根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型。
可选的,所述获取单元10,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取预设第三虚拟对象模型对应的第二网格顶点信息,所述预设第三虚拟对象模型为所述预设第一虚拟对象模型的对应的高模;及根据所述第二网格顶点信息和预设法线模型,得到第一法线方向;以及根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与所述第一法线方向对应的所述第一法线信息。
可选的,基于图8,如图9所示,所述终端1还包括:建立单元13;
所述获取单元10,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取场景文件;
所述建立单元13,用于根据所述场景文件建立第一场景。
可选的,基于图9,如图10所示,所述终端1还包括:显示单元14;
所述显示单元14,用于所述根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型之后,在所述第一场景中,显示所述第二虚拟对象模型。
可以理解的是,由于终端可以根据高模确定的精细的法线信息解析出每个网格顶点对应的光照信息,因此,可以利用这个光照信息作为环境光对第一虚拟对象模型进行渲染,由于法线信息的精度很高,保证了三维设计模型阴影细节,并且模拟出接近真实环境的环境光,因此,这样渲染出来的第二虚拟对象模型的展示效果的精度会很高,提高第二虚拟对象模型的展示效果。
实施例四
基于实施例一和实施例二的同一发明构思下,如11所示,本发明实施例提供了一种终端,该终端可以包括:
处理器15、存储器16、显示器17及通信总线18,所述处理器15、所述存储器16及所述显示器17通过所述通信总线18连接;
所述处理器15,用于调用所述存储器16存储的模拟光照的渲染相关程序,执行如下步骤:
获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;及将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;及根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;以及采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
所述显示器17,用于显示所述第二虚拟对象模型。
可选的,所述处理器15,具体用于将所述第一法线信息进行顶点空间转换,转换到切线空间,得到第三法线信息;以及将所述第三法线信息进行归一化处理,得到所述第二法线信息;
可选的,所述处理器15,具体用于根据所述第二法线信息和所述预设颜色设置规则,在所述第一网络顶点信息的每个网格顶点处存储一个颜色信息,得到所述第一网格顶点信息的第二颜色信息,将所述第二颜色信息作为所述第一光照信息。
可选的,所述处理器15,具体用于将所述第一网格顶点信息对应的所述第一颜色信息和所述第二颜色信息进行插值处理,得到所述第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;以及根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型。
可选的,所述处理器15,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取预设第三虚拟对象模型对应的第二网格顶点信息,所述预设第三虚拟对象模型为所述预设第一虚拟对象模型的对应的高模;及根据所述第二网格顶点信息和预设法线模型,得到第一法线方向;以及根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与所述第一法线方向对应的所述第一法线信息。
可选的,所述处理器15,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取场景文件;以及根据所述场景文件建立第一场景。
可选的,所述显示器17,用于所述根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型之后,在所述第一场景中,显示所述第二虚拟对象模型。
可以理解的是,由于终端可以根据高模确定的精细的法线信息解析出每个网格顶点对应的光照信息,因此,可以利用这个光照信息作为环境光对第一虚拟对象模型进行渲染,由于法线信息的精度很高,保证了三维设计模型阴影细节,并且模拟出接近真实环境的环境光,因此,这样渲染出来的第二虚拟对象模型的展示效果的精度会很高,提高第二虚拟对象模型的展示效果。
在实际应用中,上述的存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,HardDisk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
上述处理器可以为特定用途集成电路(ASIC,Application Specific IntegratedCircuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理装置(DSPD,Digital Signal Processing Device)、可编程逻辑装置(PLD,Programmable LogicDevice)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、中央处理器(CPU,Central Processing Unit)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
实施例五
在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例中提供了一种计算机可读存储介质,应用于终端中,所述计算机可读存储介质存储有一个或者多个模拟光照的渲染程序,所述一个或者多个模拟光照的渲染程序可被一个或者多个处理器执行,以实现实施例一和实施例二所述的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种模拟光照的渲染方法,其特征在于,包括:
获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;
将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;
根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;
采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息,包括:
将所述第一法线信息进行顶点空间转换,转换到切线空间,得到第三法线信息;
将所述第三法线信息进行归一化处理,得到所述第二法线信息。
3.根据权利要求1所述的方法,其特征在于,所述根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,包括:
根据所述第二法线信息和所述预设颜色设置规则,在所述第一网络顶点信息的每个网格顶点处存储一个颜色信息,得到所述第一网格顶点信息的第二颜色信息,将所述第二颜色信息作为所述第一光照信息。
4.根据权利要求3所述的方法,其特征在于,所述采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型,包括:
将所述第一网格顶点信息对应的所述第一颜色信息和所述第二颜色信息进行插值处理,得到所述第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;
根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型。
5.根据权利要求1所述的方法,其特征在于,所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,所述方法还包括:
获取预设第三虚拟对象模型对应的第二网格顶点信息,所述预设第三虚拟对象模型为所述预设第一虚拟对象模型的对应的高模;
根据所述第二网格顶点信息和预设法线模型,得到第一法线方向;
根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与所述第一法线方向对应的所述第一法线信息。
6.根据权利要求1所述的方法,其特征在于,所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,所述方法还包括:
获取场景文件,根据所述场景文件建立第一场景。
7.根据权利要求6所述的方法,其特征在于,所述根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型之后,所述方法包括:
在所述第一场景中,显示所述第二虚拟对象模型。
8.一种终端,其特征在于,包括:
获取单元,用于获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;
转换单元,用于将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;
所述获取单元,还用于根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;
渲染单元,还用于采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型。
9.根据权利要求8所述的终端,其特征在于,
所述转换单元,具体用于将所述第一法线信息进行顶点空间转换,转换到切线空间,得到第三法线信息;以及将所述第三法线信息进行归一化处理,得到所述第二法线信息。
10.根据权利要求8所述的终端,其特征在于,
所述获取单元,具体用于根据所述第二法线信息和所述预设颜色设置规则,在所述第一网络顶点信息的每个网格顶点处存储一个颜色信息,得到所述第一网格顶点信息的第二颜色信息,将所述第二颜色信息作为所述第一光照信息。
11.根据权利要求10所述的终端,其特征在于,
所述渲染单元,具体用于将所述第一网格顶点信息对应的所述第一颜色信息和所述第二颜色信息进行插值处理,得到所述第一网格顶点信息对应的每个网格顶点的主顶点颜色信息;以及根据所述主顶点颜色信息和所述每个网格顶点的对应关系进行绘制,得到所述第二虚拟对象模型。
12.根据权利要求8所述的终端,其特征在于,
所述获取单元,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取预设第三虚拟对象模型对应的第二网格顶点信息,所述预设第三虚拟对象模型为所述预设第一虚拟对象模型的对应的高模;及根据所述第二网格顶点信息和预设法线模型,得到第一法线方向;以及根据预设第二网格顶点信息与第一网格顶点的对应关系,确定与所述第一法线方向对应的所述第一法线信息。
13.根据权利要求8所述的终端,其特征在于,所述终端还包括:建立单元;
所述获取单元,还用于所述获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息之前,获取场景文件;
所述建立单元,用于根据所述场景文件建立第一场景。
14.一种终端,其特征在于,包括:
处理器、存储器、显示器及通信总线,所述处理器、所述存储器及所述显示器通过所述通信总线连接;
所述处理器,用于调用所述存储器存储的模拟光照的渲染相关程序,执行如下步骤:
获取预设第一虚拟对象模型的第一网格顶点信息、所述第一网格顶点信息对应的第一颜色信息,以及第一法线信息,所述预设第一虚拟对象模型为待处理的预设模型,所述第一法线信息由所述预设第一虚拟对象模型对应的高模进行烘焙得到;将所述第一法线信息进行顶点空间转换,得到与所述第一网格顶点信息对应的第二法线信息;根据预设颜色设置规则和所述第二法线信息,得到与所述第一网格顶点信息对应的第一光照信息,所述预设颜色设置规则用于表征颜色与光照的对应关系;采用所述第一光照信息、所述第一颜色信息和所述第一网格顶点信息,对所述第一虚拟模型对象进行渲染,得到第二虚拟对象模型;
所述显示器,用于显示所述第二虚拟对象模型。
15.一种计算机可读存储介质,其特征在于,应用于终端中,所述计算机可读存储介质存储有一个或者多个模拟光照的渲染程序,所述一个或者多个模拟光照的渲染程序可被一个或者多个处理器执行,以实现上述权利要求1至7所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710711285.3A CN109427088B (zh) | 2017-08-18 | 2017-08-18 | 一种模拟光照的渲染方法及终端 |
PCT/CN2018/093322 WO2019033859A1 (zh) | 2017-08-18 | 2018-06-28 | 模拟光照的渲染方法及终端 |
KR1020207005286A KR102319179B1 (ko) | 2017-08-18 | 2018-06-28 | 조명을 시뮬레이션하기 위한 렌더링 방법, 및 단말 |
JP2020509081A JP7386153B2 (ja) | 2017-08-18 | 2018-06-28 | 照明をシミュレートするレンダリング方法及び端末 |
US16/789,263 US11257286B2 (en) | 2017-08-18 | 2020-02-12 | Method for rendering of simulating illumination and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710711285.3A CN109427088B (zh) | 2017-08-18 | 2017-08-18 | 一种模拟光照的渲染方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109427088A true CN109427088A (zh) | 2019-03-05 |
CN109427088B CN109427088B (zh) | 2023-02-03 |
Family
ID=65361998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710711285.3A Active CN109427088B (zh) | 2017-08-18 | 2017-08-18 | 一种模拟光照的渲染方法及终端 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11257286B2 (zh) |
JP (1) | JP7386153B2 (zh) |
KR (1) | KR102319179B1 (zh) |
CN (1) | CN109427088B (zh) |
WO (1) | WO2019033859A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110363836A (zh) * | 2019-07-19 | 2019-10-22 | 杭州绝地科技股份有限公司 | 一种基于Matcap贴图的角色渲染方法、装置和设备 |
CN110390709A (zh) * | 2019-06-19 | 2019-10-29 | 北京巴别时代科技股份有限公司 | 卡通渲染勾边圆滑方法 |
CN111667581A (zh) * | 2020-06-15 | 2020-09-15 | 网易(杭州)网络有限公司 | 3d模型的处理方法、装置、设备及存储介质 |
CN111739135A (zh) * | 2020-07-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN111882631A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种模型渲染方法、装置、设备及存储介质 |
CN112435285A (zh) * | 2020-07-24 | 2021-03-02 | 上海幻电信息科技有限公司 | 法线贴图的生成方法及装置 |
CN112700541A (zh) * | 2021-01-13 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 一种模型更新方法、装置、设备及计算机可读存储介质 |
CN112819929A (zh) * | 2021-03-05 | 2021-05-18 | 网易(杭州)网络有限公司 | 渲染水面方法及装置、电子设备、存储介质 |
CN112884873A (zh) * | 2021-03-12 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 |
CN113034661A (zh) * | 2021-03-24 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种MatCap贴图生成的方法及装置 |
CN113077541A (zh) * | 2021-04-02 | 2021-07-06 | 广州益聚未来网络科技有限公司 | 一种虚拟天空画面的渲染方法及相关设备 |
CN113592999A (zh) * | 2021-08-05 | 2021-11-02 | 广州益聚未来网络科技有限公司 | 一种虚拟发光体的渲染方法及相关设备 |
CN114255641A (zh) * | 2022-01-17 | 2022-03-29 | 广州易道智慧信息科技有限公司 | 虚拟机器视觉系统中模拟光源的制作方法及系统 |
CN114898032A (zh) * | 2022-05-10 | 2022-08-12 | 北京领为军融科技有限公司 | 一种基于着色器存储缓存对象的光点渲染方法 |
CN116244886A (zh) * | 2022-11-29 | 2023-06-09 | 北京瑞风协同科技股份有限公司 | 一种虚实试验数据匹配方法及系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3045133C (en) * | 2019-06-03 | 2023-03-21 | Eidos Interactive Corp. | Systems and methods for augmented reality applications |
CN111862344B (zh) * | 2020-07-17 | 2024-03-08 | 抖音视界有限公司 | 图像处理方法、设备和存储介质 |
CN112270759B (zh) * | 2020-10-30 | 2022-06-24 | 北京字跳网络技术有限公司 | 基于图像的光效处理方法、装置、设备及存储介质 |
CN112494941B (zh) * | 2020-12-14 | 2023-11-28 | 网易(杭州)网络有限公司 | 虚拟对象的显示控制方法及装置、存储介质、电子设备 |
CN113034350B (zh) * | 2021-03-24 | 2023-03-24 | 网易(杭州)网络有限公司 | 一种植被模型的处理方法和装置 |
US11423601B1 (en) * | 2021-04-29 | 2022-08-23 | Dg Holdings, Inc. | Transforming a three-dimensional virtual model to a manipulatable format |
CN113362435B (zh) * | 2021-06-16 | 2023-08-08 | 网易(杭州)网络有限公司 | 虚拟对象模型的虚拟部件变化方法、装置、设备及介质 |
CN114612600B (zh) * | 2022-03-11 | 2023-02-17 | 北京百度网讯科技有限公司 | 虚拟形象生成方法、装置、电子设备和存储介质 |
CN117173314B (zh) * | 2023-11-02 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备、介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104157000A (zh) * | 2014-08-14 | 2014-11-19 | 无锡梵天信息技术股份有限公司 | 模型表面法线的计算方法 |
CN104268922A (zh) * | 2014-09-03 | 2015-01-07 | 广州博冠信息科技有限公司 | 一种图像渲染方法及图像渲染装置 |
WO2015188749A1 (en) * | 2014-06-10 | 2015-12-17 | Tencent Technology (Shenzhen) Company Limited | 3d model rendering method and apparatus and terminal device |
CN106204735A (zh) * | 2016-07-18 | 2016-12-07 | 中国人民解放军理工大学 | Unity3D地形数据在Direct3D 11环境中的使用方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132707A (ja) * | 1997-11-07 | 2000-05-12 | Snk:Kk | ゲームシステム及びゲームシステムにおける表示方法 |
US7952583B2 (en) * | 2000-06-19 | 2011-05-31 | Mental Images Gmbh | Quasi-monte carlo light transport simulation by efficient ray tracing |
JP2002230579A (ja) * | 2001-02-02 | 2002-08-16 | Dainippon Printing Co Ltd | 画像作成方法および装置 |
US6894695B2 (en) * | 2001-04-27 | 2005-05-17 | National Semiconductor Corporation | Apparatus and method for acceleration of 2D vector graphics using 3D graphics hardware |
US8115774B2 (en) * | 2006-07-28 | 2012-02-14 | Sony Computer Entertainment America Llc | Application of selective regions of a normal map based on joint position in a three-dimensional model |
NZ574599A (en) * | 2006-07-31 | 2012-02-24 | Onlive Inc | System and method for performing motion capture and image reconstruction |
US8629867B2 (en) * | 2010-06-04 | 2014-01-14 | International Business Machines Corporation | Performing vector multiplication |
US9679362B2 (en) * | 2010-12-30 | 2017-06-13 | Tomtom Global Content B.V. | System and method for generating textured map object images |
US9639773B2 (en) * | 2013-11-26 | 2017-05-02 | Disney Enterprises, Inc. | Predicting a light probe for an outdoor image |
KR102558737B1 (ko) * | 2016-01-04 | 2023-07-24 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
US10643375B2 (en) * | 2018-02-26 | 2020-05-05 | Qualcomm Incorporated | Dynamic lighting for objects in images |
-
2017
- 2017-08-18 CN CN201710711285.3A patent/CN109427088B/zh active Active
-
2018
- 2018-06-28 WO PCT/CN2018/093322 patent/WO2019033859A1/zh active Application Filing
- 2018-06-28 JP JP2020509081A patent/JP7386153B2/ja active Active
- 2018-06-28 KR KR1020207005286A patent/KR102319179B1/ko active IP Right Grant
-
2020
- 2020-02-12 US US16/789,263 patent/US11257286B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015188749A1 (en) * | 2014-06-10 | 2015-12-17 | Tencent Technology (Shenzhen) Company Limited | 3d model rendering method and apparatus and terminal device |
CN104157000A (zh) * | 2014-08-14 | 2014-11-19 | 无锡梵天信息技术股份有限公司 | 模型表面法线的计算方法 |
CN104268922A (zh) * | 2014-09-03 | 2015-01-07 | 广州博冠信息科技有限公司 | 一种图像渲染方法及图像渲染装置 |
CN106204735A (zh) * | 2016-07-18 | 2016-12-07 | 中国人民解放军理工大学 | Unity3D地形数据在Direct3D 11环境中的使用方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390709A (zh) * | 2019-06-19 | 2019-10-29 | 北京巴别时代科技股份有限公司 | 卡通渲染勾边圆滑方法 |
CN110363836A (zh) * | 2019-07-19 | 2019-10-22 | 杭州绝地科技股份有限公司 | 一种基于Matcap贴图的角色渲染方法、装置和设备 |
CN111667581B (zh) * | 2020-06-15 | 2023-08-22 | 网易(杭州)网络有限公司 | 3d模型的处理方法、装置、设备及存储介质 |
CN111667581A (zh) * | 2020-06-15 | 2020-09-15 | 网易(杭州)网络有限公司 | 3d模型的处理方法、装置、设备及存储介质 |
CN111882631A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种模型渲染方法、装置、设备及存储介质 |
CN112435285A (zh) * | 2020-07-24 | 2021-03-02 | 上海幻电信息科技有限公司 | 法线贴图的生成方法及装置 |
CN111882631B (zh) * | 2020-07-24 | 2024-05-03 | 上海米哈游天命科技有限公司 | 一种模型渲染方法、装置、设备及存储介质 |
CN111739135A (zh) * | 2020-07-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN111739135B (zh) * | 2020-07-30 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN112700541A (zh) * | 2021-01-13 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 一种模型更新方法、装置、设备及计算机可读存储介质 |
CN112700541B (zh) * | 2021-01-13 | 2023-12-26 | 腾讯科技(深圳)有限公司 | 一种模型更新方法、装置、设备及计算机可读存储介质 |
CN112819929B (zh) * | 2021-03-05 | 2024-02-23 | 网易(杭州)网络有限公司 | 渲染水面方法及装置、电子设备、存储介质 |
CN112819929A (zh) * | 2021-03-05 | 2021-05-18 | 网易(杭州)网络有限公司 | 渲染水面方法及装置、电子设备、存储介质 |
CN112884873B (zh) * | 2021-03-12 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 |
CN112884873A (zh) * | 2021-03-12 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 |
CN113034661A (zh) * | 2021-03-24 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种MatCap贴图生成的方法及装置 |
CN113077541A (zh) * | 2021-04-02 | 2021-07-06 | 广州益聚未来网络科技有限公司 | 一种虚拟天空画面的渲染方法及相关设备 |
CN113592999A (zh) * | 2021-08-05 | 2021-11-02 | 广州益聚未来网络科技有限公司 | 一种虚拟发光体的渲染方法及相关设备 |
CN114255641A (zh) * | 2022-01-17 | 2022-03-29 | 广州易道智慧信息科技有限公司 | 虚拟机器视觉系统中模拟光源的制作方法及系统 |
CN114255641B (zh) * | 2022-01-17 | 2023-09-29 | 广州易道智慧信息科技有限公司 | 虚拟机器视觉系统中模拟光源的制作方法及系统 |
CN114898032A (zh) * | 2022-05-10 | 2022-08-12 | 北京领为军融科技有限公司 | 一种基于着色器存储缓存对象的光点渲染方法 |
CN116244886A (zh) * | 2022-11-29 | 2023-06-09 | 北京瑞风协同科技股份有限公司 | 一种虚实试验数据匹配方法及系统 |
CN116244886B (zh) * | 2022-11-29 | 2024-03-15 | 北京瑞风协同科技股份有限公司 | 一种虚实试验数据匹配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20200029034A (ko) | 2020-03-17 |
CN109427088B (zh) | 2023-02-03 |
US20200184714A1 (en) | 2020-06-11 |
JP7386153B2 (ja) | 2023-11-24 |
WO2019033859A1 (zh) | 2019-02-21 |
JP2020531980A (ja) | 2020-11-05 |
US11257286B2 (en) | 2022-02-22 |
KR102319179B1 (ko) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109427088A (zh) | 一种模拟光照的渲染方法及终端 | |
CN110458930B (zh) | 三维地图的渲染方法、装置及存储介质 | |
CN112316420B (zh) | 模型渲染方法、装置、设备及存储介质 | |
CN108564646A (zh) | 对象的渲染方法和装置、存储介质、电子装置 | |
CN105574914B (zh) | 3d动态场景的制作装置及其制作方法 | |
CN113674389B (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
CN114119818A (zh) | 场景模型的渲染方法、装置及设备 | |
CN101477701A (zh) | 面向AutoCAD和3DS MAX软件的植入式真三维立体渲染方法 | |
CN101477700A (zh) | 面向Google Earth与Sketch Up的真三维立体显示方法 | |
CN105184843B (zh) | 一种基于OpenSceneGraph的三维动画制作方法 | |
CN114241151A (zh) | 三维模型简化方法、装置、计算机设备和计算机存储介质 | |
CN116228960A (zh) | 虚拟博物馆展示系统的构建方法、构建系统和展示系统 | |
Wang et al. | Research and design of digital museum based on virtual reality | |
CN114119848B (zh) | 一种模型渲染方法、装置、计算机设备及存储介质 | |
CN101511034A (zh) | 面向Skyline的真三维立体显示方法 | |
CN115063330A (zh) | 头发渲染方法、装置、电子设备及存储介质 | |
CN114139249A (zh) | 基于虚幻引擎的自动布光方法、装置及电子设备 | |
CN114139250A (zh) | 基于虚幻引擎的自动布光方法、装置、设备及存储介质 | |
CN109509253A (zh) | 电力系统三维仿真视觉体验vr设计方法 | |
CN117197310A (zh) | 特效渲染方法、装置及电子设备 | |
CN115761087A (zh) | 模型渲染方法、装置和电子设备 | |
Zheng et al. | Interactive Design and Optics-Based Visualization of Arbitrary Non-Euclidean Kaleidoscopic Orbifolds | |
CN115134529A (zh) | 一种多视角展示项目模型的方法、设备及可读存储介质 | |
CN117689786A (zh) | 图像生成方法、装置、非易失性存储介质和计算机设备 | |
CN114022623A (zh) | 基于地图数据在Unity3D中绘制三维模型的方法及装置 |
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 |