一种视角材质或贴图的渲染方法及装置与流程

文档序号:12675636阅读:187来源:国知局

本发明涉及一种视角材质或贴图的渲染方法及装置。



背景技术:

随着AR(Augmented Reality)、VR(Virtual Reality)的普及,材质或贴图表现越来越显得重要。材质或贴图表现主要靠渲染,而在实时渲染中有很多材质或贴图是表现不出来的,例如镭射烫金膜,镭射烫金膜是日常生活中比较常见的一种材质或贴图,因为它的色彩由光干涉而成,随观察角度不同而颜色各异,不能通过实时渲染来表现它的材质或贴图效果。



技术实现要素:

本发明的目的在于解决现有技术中实时渲染中有很多材质或贴图无法表现的问题,提供一种视角材质或贴图的渲染方法及装置。

本发明解决其技术问题所采用的技术方案是:

一方面,提供一种视角材质或贴图的渲染方法,包括:

获取用户的视角以获取用户视角向量;

依据所述用户视角向量计算Alpha值;

依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中;

对所述着色器中的多个材质或贴图进行实时渲染以表现镭射烫金膜的效果。

在本发明所述的渲染方法中,所述获取用户的视角以获取用户视角向量,包括:

通过摄像头获取所述用户视角向量的x轴向量、y轴向量及z轴向量;

依据所述x轴向量、所述y轴向量及所述z轴向量计算x轴向量角度、y轴向量角度及z轴向量角度。

在本发明所述的渲染方法中,所述依据所述用户视角向量计算Alpha值中:依据所述x轴向量角度、所述y轴向量角度及所述z轴向量角度计算x轴Alpha值、y轴Alpha值及z轴Alpha值。

在本发明所述的渲染方法中,所述依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中,包括:

依据所述x轴Alpha值控制Alpha通道的多个x材质或贴图,将多个所述x材质或贴图叠加并加入至所述着色器中;

依据所述y轴Alpha值控制Alpha通道的多个y材质或贴图,将多个所述y材质或贴图叠加并加入至所述着色器中;

依据所述z轴Alpha值控制Alpha通道,并加入至所述着色器中。

在本发明所述的渲染方法中,所述依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中,还包括:

控制多个所述x材质或贴图及多个所述y材质或贴图的透明度。

另一方面,提供一种视角材质或贴图的渲染装置,包括:

视角获取模块,用于获取用户的视角以获取用户视角向量;

Alpha值计算模块,用于依据所述用户视角向量计算Alpha值;

材质或贴图叠加模块,用于依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中;

渲染模块,用于对所述着色器中的多个材质或贴图进行实时渲染以表现镭射烫金膜的效果。

在本发明所述的渲染装置中,所述视角获取模块包括:

向量获取子模块,用于通过摄像头获取所述用户视角向量的x轴向量、y轴向量及z轴向量;

角度计算子模块,用于依据所述x轴向量、所述y轴向量及所述z轴向量计算x轴向量角度、y轴向量角度及z轴向量角度。

在本发明所述的渲染装置中,所述Alpha值计算模块还用于:依据所述x轴向量角度、所述y轴向量角度及所述z轴向量角度计算x轴Alpha值、y轴Alpha值及z轴Alpha值。

在本发明所述的渲染装置中,所述材质或贴图叠加模块包括:

X轴材质或贴图叠加子模块,用于依据所述x轴Alpha值控制Alpha通道的多个x材质或贴图,将多个所述x材质或贴图叠加并加入至所述着色器中;

Y轴材质或贴图叠加子模块,用于依据所述y轴Alpha值控制Alpha通道的多个y材质或贴图,将多个所述y材质或贴图叠加并加入至所述着色器中;

Z轴控制子模块,用于依据所述z轴Alpha值控制Alpha通道,并加入至所述着色器中。

在本发明所述的渲染装置中,所述材质或贴图叠加模块还包括:

透明度控制子模块,用于控制多个所述x材质或贴图及多个所述y材质或贴图的透明度。

上述公开的一种视角材质或贴图的渲染方法及装置具有以下有益效果:渲染速度快、能高度模拟镭射烫金膜随观察角度不同而颜色各异的效果。

附图说明

图1为本发明一实施例提供的一种视角材质或贴图的渲染方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供了一种视角材质或贴图的渲染方法及装置,主要解决镭射烫金材质或贴图实时渲染的高度仿真问题。镭射烫金膜的色彩由光干涉而成,随观察角度不同而颜色各异,在游戏场景中实时渲染往往很难表现,本发明通过获取玩家的视角并计算玩家的视角值,把视角值转化为Alpha值,利用Alpha通道(透明通道)来控制多个贴图(或材质)的叠加方式,表现镭射烫金膜的效果,从而达到高度仿真的效果。

参见图1,图1为本发明一实施例提供的一种视角材质或贴图的渲染方法的流程图,该视角材质或贴图的渲染方法包括步骤S1-S4:

S1、获取用户的视角以获取用户视角向量;所述步骤S1包括子步骤S11-S12:

S11、通过摄像头获取所述用户视角向量的x轴向量、y轴向量及z轴向量;用户视角向量指世界空间中,从几何图形当前部分到摄像机的方向。其中,z轴为垂直于地平面的垂直轴。

S12、依据所述x轴向量、所述y轴向量及所述z轴向量计算x轴向量角度θx、y轴向量角度θy及z轴向量角度θz。

S2、依据所述用户视角向量计算Alpha值;其中,依据所述x轴向量角度、所述y轴向量角度及所述z轴向量角度计算x轴Alpha值θx/π、y轴Alpha值θy/π及z轴Alpha值θz/π。

S3、依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中;所述步骤S3包括子步骤S31-S33:

S31、依据所述x轴Alpha值控制Alpha通道的多个x材质或贴图,将多个所述x材质或贴图叠加并加入至所述着色器中;Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中白表示不透明,黑表示透明,灰表示半透明。

S32、依据所述y轴Alpha值控制Alpha通道的多个y材质或贴图,将多个所述y材质或贴图叠加并加入至所述着色器中;

S33、依据所述z轴Alpha值控制Alpha通道,并加入至所述着色器中。

优选的,步骤S3还包括子步骤S34:

S34、控制多个所述x材质或贴图及多个所述y材质或贴图的透明度,通过得到的Alpha值来控制每个材质或贴图或贴图的透明度,从而叠加得到一个新的材质或贴图或贴图。

S4、对所述着色器中的多个材质或贴图进行实时渲染以表现镭射烫金膜的效果。镭射烫金膜可以使AR及VR技术中的显示变得更为逼真。

另一方面,提供一种视角材质或贴图的渲染装置,该视角材质或贴图的渲染装置通过计算机程序实现,包括视角获取模块、Alpha值计算模块、材质或贴图叠加模块及渲染模块。

视角获取模块,用于获取用户的视角以获取用户视角向量;

Alpha值计算模块,用于依据所述用户视角向量计算Alpha值;

材质或贴图叠加模块,用于依据所述Alpha值控制多个材质或贴图的叠加方式,并将叠加后的多个材质或贴图加入着色器中;

渲染模块,用于对所述着色器中的多个材质或贴图进行实时渲染以表现镭射烫金膜的效果。

优选的,所述视角获取模块包括:

向量获取子模块,用于通过摄像头获取所述用户视角向量的x轴向量、y轴向量及z轴向量;

角度计算子模块,用于依据所述x轴向量、所述y轴向量及所述z轴向量计算x轴向量角度、y轴向量角度及z轴向量角度。

优选的,所述Alpha值计算模块还用于:依据所述x轴向量角度、所述y轴向量角度及所述z轴向量角度计算x轴Alpha值、y轴Alpha值及z轴Alpha值。

优选的,所述材质或贴图叠加模块包括:

X轴材质或贴图叠加子模块,用于依据所述x轴Alpha值控制Alpha通道的多个x材质或贴图,将多个所述x材质或贴图叠加并加入至所述着色器中;

Y轴材质或贴图叠加子模块,用于依据所述y轴Alpha值控制Alpha通道的多个y材质或贴图,将多个所述y材质或贴图叠加并加入至所述着色器中;

Z轴控制子模块,用于依据所述z轴Alpha值控制Alpha通道,并加入至所述着色器中。

优选的,所述材质或贴图叠加模块还包括:

透明度控制子模块,用于控制多个所述x材质或贴图及多个所述y材质或贴图的透明度。

本文提供了实施例的各种操作。在一个实施例中,所述的一个或操作可以构成一个或计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。

而且,本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。

而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。

综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1