CN109389664B - 模型贴图渲染方法、装置及终端 - Google Patents
模型贴图渲染方法、装置及终端 Download PDFInfo
- Publication number
- CN109389664B CN109389664B CN201710660495.4A CN201710660495A CN109389664B CN 109389664 B CN109389664 B CN 109389664B CN 201710660495 A CN201710660495 A CN 201710660495A CN 109389664 B CN109389664 B CN 109389664B
- Authority
- CN
- China
- Prior art keywords
- rendering
- hair
- model map
- transparent channel
- value
- 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/04—Texture mapping
-
- 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
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)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种模型贴图渲染方法、装置及终端,属于虚拟现实技术领域。该方法包括:获取头发模型贴图,头发模型贴图具有透明通道;通过着色器对头发模型贴图进行透明通道混合渲染,得到第一渲染层,第一渲染层中包括头发表面纹理;通过着色器对头发模型贴图进行透明通道测试渲染,得到第二渲染层,第二渲染层中包括发丝细节和头发背面纹理;对第一渲染层和第二渲染层进行组合显示。本发明实施例中,组合显示的头发能够同时展现正面头发和背面头发的纹理,并能够展现头发发丝细节,提高了3D形象中头发的显示效果。
Description
技术领域
本发明实施例涉及虚拟现实(Virtual Reality,VR)技术领域,特别涉及一种模型贴图渲染方法、装置及终端。
背景技术
随着VR技术的不断发展,为了在VR应用中达到更加生动的展示效果,三维(ThreeDimensional,3D)形象的应用变得越来越普及。
以人体3D形象为例,终端显示的人体3D形象中包括躯干模型、服装模型、面部模型以及头发模型。其中,躯干模型用于展示人体的躯干动作,服装模型用于展示人体表面覆盖的服饰,面部模型用于展示人脸面部表情,头发模型则用于展示人物发型。相关技术中,终端在头发模型上展示人物发型时,首先获取头发模型对应的头发模型贴图,然后利用着色器,将头发模型贴图中的各个像素点绘制到头发模型的相应位置。
然而,相关技术中终端利用着色器和头发模型贴图进行头发渲染时,仅渲染显示正面头发,对于长发3D形象,无法显示其背面头发,且无法表现头发发丝细节,导致头发显示效果不佳。
发明内容
为了解决相关技术中存在的问题,本发明实施例提供了一种模型贴图渲染方法、装置及终端。所述技术方案如下:
根据本发明实施例的第一方面,提供了一种模型贴图渲染方法,该方法包括:
获取头发模型贴图,头发模型贴图具有透明通道;
通过着色器对头发模型贴图进行透明通道混合(Alpha Blending)渲染,得到第一渲染层,第一渲染层中包括头发表面纹理;
通过着色器对头发模型贴图进行透明通道测试(Alpha Test)渲染,得到第二渲染层,第二渲染层中包括发丝细节和头发背面纹理;
对第一渲染层和第二渲染层进行组合显示。
根据本发明实施例的第二方面,提供了一种模型贴图渲染装置,该装置包括:
获取模块,用于获取头发模型贴图,头发模型贴图具有透明通道;
第一渲染模块,用于通过着色器对头发模型贴图进行透明通道混合渲染,得到第一渲染层,第一渲染层中包括头发表面纹理;
第二渲染模块,用于通过着色器对头发模型贴图进行透明通道测试渲染,得到第二渲染层,第二渲染层中包括发丝细节和头发背面纹理;
组合显示模块,用于对第一渲染层和第二渲染层进行组合显示。
根据本发明实施例的第三方面,提供了一种终端,该终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述第一方面所述的模型贴图渲染方法。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的模型贴图渲染方法。
获取到具有透明通道的头发模型贴图后,通过着色器对头发模型贴图进行透明通道混合渲染,得到包含头发表面纹理的第一渲染层,并通过着色器对头发模型贴图进行透明通道测试渲染,得到包含发丝细节和头发背面纹理的第二渲染层,从而对两个渲染层进行组合显示,使得最终显示的头发能够同时展现正面头发和背面头发的纹理,并能够展现头发发丝细节,提高了3D形象中头发的显示效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1示出了本发明各个实施例所涉及的实施环境的示意图;
图2是Unity3D中头发模型贴图默认渲染效果的示意图;
图3示出了本发明一个实施例提供的模型贴图渲染方法的流程图;
图4(a)是本发明一个实施例提供的头发模型贴图的示意图;
图4(b)是图4(a)所示头发模型贴图的透明通道图;
图5是采用本发明实施例提供的模型贴图渲染方法进行头发模型贴图渲染的效果示意图;
图6示出了本发明另一个实施例提供的模型贴图渲染方法的流程图;
图7是本发明一个实施例提供的头发模型设置过程的界面示意图;
图8是图6所示模型贴图渲染方法所涉及的Alpha Blending渲染过程的流程图;
图9示出了本发明一个实施例提供的模型贴图渲染装置的结构方框图;
图10示出了本发明一个实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
头发模型贴图:用于绘制头发模型表面纹理的模型贴图(UV)。头发模型贴图中每一个像素点精确对应到头发模型的表面,而像素点之间的间隙由软件进行图像光滑差值处理。本发明实施例中,头发模型贴图中的各个像素点包含 RGB(Red-Green-Blue,红绿蓝)值以及Alpha值(透明通道值)。
着色器(Shader):用于在3D形象渲染过程中进行模型渲染,包括顶点着色器(VertexShader)和片段着色器(FragmentShader)。其中,顶点着色器用于渲染模型的顶点,片段着色器用于渲染模型表面的纹理特征。本发明实施例中涉及的着色器即为片段着色器。
Alpha Test渲染:即透明通道测试渲染,是一种将像素点的透明通道值与预设阈值进行比较,并根据比较结果确定是否都对该像素点进行渲染的方法。其中,Alpha Test渲染涉及的比较方式包括Greater(像素点的透明通道值大于预设阈值时进行渲染)、GEqual(像素点的透明通道值大于等于预设阈值时进行渲染)、Less(像素点的透明通道值小于预设阈值时进行渲染)、LEqual(像素点的透明通道值小于等于预设阈值时进行渲染)、Equal(像素点的透明通道值等于预设阈值时进行渲染)以及NotEqual(像素点的透明通道值不等于预设阈值时进行渲染)。本发明实施例中,Alpha Test渲染时采用的比较方式为Greater。
Alpha Blending渲染:即透明通道混合渲染,是一种使用当前像素点的透明通道值作为混合因子,混合之前写入到缓存中颜色值,从而对混合结果进行渲染的方法。本发明实施例中,Alpha Blending渲染所采用的混合渲染模式为Blend SrcAlphaOneMinusSrcAlpha,其中,SrcAlpha为当前像素点的透明通道值, OneMinusSrcAlpha为(1-当前像素点的透明通道值)。在该混合渲染模式下,混合后像素点的RGB值即为:当前像素点的RGB值*当前像素点的透明通道值 +缓存中的RGB值*(1-当前像素点的透明通道值)。
请参考图1,其示出了本发明各个实施例所涉及的实施环境的示意图,该实施环境可以包括终端110和服务器120。
终端110可以为诸如手机、平板电脑、台式电脑或者电子阅读器之类的电子设备。本发明各个实施例中所述的终端110为支持3D形象生成功能的终端。可选地,终端110中安装有客户端,该客户端支持3D形象的生成功能。其中,客户端可以为社交应用客户端或者游戏客户端,本发明实施例对此并不做限定。
终端110与服务器120之间通过有线或无线网络相连。
服务器120是一台服务器,也可以为由多台服务器组成的服务器集群或云计算服务器中心。可选地,服务器120可以为终端110中安装的客户端的后台服务器。
在一种可能的实施方式中,终端110还具有拍摄功能,通过拍摄功能获取到用户图像后,终端110即将用户图像发送至服务器120;服务器120根据该用户图像生成用户对应的3D形象,并将相应的模型数据以及模型贴图发送至终端 110,以便终端110根据该模型数据和模型贴图渲染显示用户3D形象。
需要说明的是,当终端110具有根据用户图像生成3D形象功能时,上述获取模型数据以及模型贴图的操作也可以在终端本地执行,即无需与服务器进行交互,本发明实施例并不对此进行限定。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层 (Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
本发明各个实施提供的模型贴图渲染方法即用于终端根据模型贴图进行渲染阶段。
相关技术中,头发模型贴图在Unity3D中的默认渲染效果如图2所示。其中,终端仅对头发模型贴图中正面头发(正对屏幕方向)进行了渲染显示,而头发模型贴图中背面头发因背对屏幕而未渲染显示,无法模拟出现实中从正面看到背面长发的效果。同时,渲染显示的正面头发没有层次感(没有3D效果),且没有发丝细节,与现实中的头发存在极大差异。
而本发明实施例中,利用着色器对具有透明通道的头发模型贴图分别进行 AlphaBlending渲染以及Alpha Test渲染,并对两次渲染后的渲染层进行组合显示,在保留头发层次感的同时(Alpha Blending渲染实现),实现了背后头发以及发丝细节的展示(AlphaTest渲染实现),从而达到更加真实的模型贴图渲染效果,下面采用示意性的实施例对本申请的方案进行说明。
请参考图3,其示出了本发明一个实施例提供的模型贴图渲染方法的流程图,本实施例以该模型贴图渲染方法用于图1中的终端110为例进行说明,该方法包括:
步骤301,获取头发模型贴图,头发模型贴图具有透明通道。
本发明实施例的头发模型贴图渲染过程中涉及透明通道渲染,因此所采用的头发模型贴图需要具备透明通道,从而利用该透明通道记录各个像素点的透明通道值。其中,该头发模型贴图采用TGA(Tagged Graphics,已标记图形) 格式、PNG(Portable NetworkGraphic,可移植网络图形)格式或TIF(Tag Image File,标签图像文件)格式。
具有透明通道的头发模型贴图中,各个像素点不仅包含对应的RGB值,还包含对应的透明通道值,获取到头发模型贴图后,终端即可读取到各个像素点的RGB值以及透明通道(Alpha)值。
示意性的,头发模型贴图中的像素点表示为(r,g,b,a),其中,r为像素点的红色通道值,g为像素点的绿色通道值,b为像素点的蓝色通道值,a为像素点的透明通道值。可选的,r,g,b,a的取值范围均为0到255或0到1,其中,0到1是由0至255(除以255)转换得到。下述各个实施例中,以r,g, b,a的取值范围均为0到1进行说明。
为了实现将头发模型贴图绘制到对应的头发模型表面,头发模型贴图中各个像素点包含对应的位置信息,该位置信息用于指示头发模型上与该像素点对应目标点。终端根据该位置信息,即能够将头发模型贴图上的各个像素点精确绘制到头发模型表面。
示意性的,如图4所示,终端获取到的头发模型贴图如图4(a)所示,且该头发模型贴图的透明通道如图4(b)所示。其中,图4(a)表征各个像素点的RGB值;而图4(b)则表征各个像素点的透明通道值,白色区域的透明通道值=1(即白色区域不透明区域),黑色区域的透明通道值=0(即黑色区域为透明区域),0<灰色区域的透明通道值<1(即灰色区域为半透明区域)。
步骤302,通过着色器对头发模型贴图进行Alpha Blending渲染,得到第一渲染层,第一渲染层中包括头发表面纹理。
本发明实施例中,Unity中新增一种渲染头发的着色器,该着色器用于采用两种渲染方式分别对头发的表面和内面进行渲染。其中,在渲染头发表面时,着色器对头发模型贴图进行Alpha Blending渲染,得到表现头发纹理的第一渲染层,该第一渲染层用于表现一种半透明效果。
为了模拟出半透明的效果(模拟出现实中透过正面头发的间隙看到后方脸庞或身体躯干的效果),进行Alpha Blending渲染时,对于头发模型贴图中的各个像素点,着色器获取该像素点的RGB值和透明通道值,并获取头发模型中与该像素点对应的目标点的RGB值(写入缓存中的RGB值),进而根据获取到的RGB值和透明通道值计算混合后的RGB值,并将计算出的RGB值存入缓存中,用于后续输出第一渲染层。
步骤303,通过着色器对头发模型贴图进行Alpha Test渲染,得到第二渲染层,第二渲染层中包括发丝细节和头发背面纹理。
在渲染头发背面和头发发丝细节时,着色器对头发模型贴图进行Alpha Test 渲染,得到表现发丝细节和头发背面纹理的第二渲染层。
与Alpha Blending能够混合渲染出半透明效果不同,Alpha Test作为一种极端的渲染机制,严格按照像素点进行处理。在当前像素点的透明通道值不满足预设条件时,即对当前像素点进行舍弃(即不会将当前像素点的RGB值写入缓存中,不会对后续深度检测(ZTest)产生影响),在当前像素点的透明通道值满足预设条件时,才会将当前像素点的RGB值写入缓存中,即Alpha Test渲染产生的效果为完全透明或完全不透明,而不存在半透明的情况。
在一种可能的实施方式中,着色器采用Greater模式对头发模型贴图进行 AlphaTest渲染,在当前像素点的透明通道值小于等于预设阈值时,对当前像素点进行舍弃,在当前像素点的透明通道值大于预设阈值时,将当前像素点的RGB 值写入缓存中。相应的,头发模型贴图中,头发发丝细节部分和头发背面部分的透明通道值被设置为大于预设阈值,从而确保得到的第二渲染层中包含头发发丝袭击以及头发背面纹理。
示意性的,如图4(a)和4(b)所示,头发模型贴图中,头发发丝部分41 的透明通道值较大,即头发发丝部分41的透明度较低,在对头发模型贴图进行 Alpha Test渲染时,头发发丝部分41的渲染效果即为不透明,并严格按照像素点进行渲染,从而表现出头发发丝细节。
步骤304,对第一渲染层和第二渲染层进行组合显示。
着色器采用两种渲染模式分别对头发模型贴图进行渲染后,进一步将渲染得到的第一渲染层和第二渲染层进行组合,并在相应的头发模型上进行显示。其中,终端采用Unity中定义的标准合并方法对两次渲染结果进行组合。头发模型上最终显示的头发既保留了头发层次感,又保留了头发发丝细节以及头发背面纹理,使得3D形象中头发的显示更具真实感。
示意性的,如图5所示,在展示长发3D形象时,长发3D形象中包含正面头发纹理51,头发背面纹理52以及头发发丝细节53。
本发明实施例中,通过采用透明通道混合和透明通道测试两种方式进行渲染,在保证发丝精度的前提下,降低了透明度干扰,并支持头发背面显示,达到了更加真实的模型贴图渲染效果。
综上所述,本实施例中,终端获取到具有透明通道的头发模型贴图后,通过着色器对头发模型贴图进行Alpha Blending渲染,得到包含头发表面纹理的第一渲染层,并通过着色器对头发模型贴图进行Alpha Test渲染,得到包含发丝细节和头发背面纹理的第二渲染层,从而对两个渲染层进行组合显示,使得最终显示的头发能够同时展现正面头发和背面头发的纹理,并能够展现头发发丝细节,提高了3D形象中头发的显示效果。
请参考图6,其示出了本发明另一个实施例提供的模型贴图渲染方法的流程图,本实施例以该模型贴图渲染方法用于图1中的终端110为例进行说明,该方法包括:
步骤601,向服务器发送3D形象生成请求,3D形象生成请求中包含人脸图像,服务器用于根据人脸图像生成3D形象,并发送相应的3D形象数据。
在一种可能的实施方式中,为了能够在终端中模拟显示当前用户的3D形象,终端通过摄像头采集当前用户的人脸图像,并将包含该人脸图像的3D形象生成请求发送至服务器,指示服务器根据人脸图像生成3D形象,并返回相应的 3D形象数据,其中,该3D形象数据中包括人脸模型数据、头发模型数据、人脸模型贴图、头发模型贴图。
可选的,当人脸图像中不仅包含面部影像,还包含躯干影像时,服务器还用于生成躯干模型,相应的,该3D形象数据中还包括躯干模型数据、躯干模型贴图和服装模型贴图等等,本发明实施例并不对3D形象数据中包含的具体数据类型进行限定。
可选的,服务器根据人脸图像生成人脸模型时,首先通过人脸识别技术确定人脸图像中包含的n个特征点,其中,该n个特征点包括对应眼睛、鼻子、眉毛、耳朵、嘴巴或面部轮廓的特征点。根据确定出的特征点,服务器进一步获取人脸图像的面部纹理数据,进而根据人脸图像的面部纹理数据,采用3D模型构建技术,构建出相应的3D人脸模型,其中,该面部纹理数据包括各个面部器官的尺寸、形状以及在面部中所占的比例等数据。进一步的,服务器根据人脸图像中的人脸肤色,生成相应的人脸模型贴图。
可选的,服务器生成头发模型时,通过识别技术识别人脸图像中的发型轮廓,从而通过3D模型构建技术,构建出相应的头发模型。进一步的,服务器根据识别出的头发发色以及头发纹理细节,绘制生成相应的头发模型贴图。
为了降低服务器实时生成3D形象的处理压力,在其他可能的实施方式中,终端提供若干种头发模型、头发发色供用户进行选择,当接收到用户触发的选择信号时,终端即将用户选择的目标头发模型的编号以及头发发色的编号发送至服务器;服务器根据目标头发模型的编号以及头发发色的编号,查找与该目标头发模型相匹配的头发模型贴图,并将该头发模型贴图添加到3D形象数据中。
示意性的,如图7所示,终端显示的3D形象设置界面中包含若干种头发模型71供用户选择,当接收到用户对头发模型的选择信号后,3D形象设置界面中进一步显示若干种头发发色72供用户选择。
可选的,终端还可以提供若干种头发装饰物供用户进行选择,当接收到用户对头发装饰物的选择信号时,终端即获取选中头发装饰物的装饰物模型以及相应的装饰物模型贴图,以便后续将头发装饰物渲染到3D形象的头发表面。其中,该头发装饰物为发卡、发箍或鲜花等等。
可选的,为了提高生成的3D形象的准确度,终端指示用户从不同拍摄角度 (比如人脸正前方、人脸左侧、人脸右侧)拍摄若干张人脸图像,并将采集到的若干张人脸图像添加到3D形象生成请求中。服务器即对接收到的各张人脸图像进行分析识别,从而得到不同维度的面部纹理数据,并基于该面部纹理数据构建3D人脸模型。
可选的,为了达到更加自然的头发显示效果,服务器对头发模型贴图的透明度通道进行了对比度优化(比如提高不透明区域与半透明区域之间透明通道值的差异),使用纯白色(即设置透明区域的RGB值为(1,1,1))对头发模型贴图中的透明区域进行填充,并对头发模型贴图的发丝边缘区域进行模糊处理,使得根据该头发模型贴图渲染出的头发边缘位置的发丝过渡更加自然。
步骤602,接收服务器发送的3D形象数据包,3D形象数据包中包括与3D 形象中头发模型相匹配的头发模型贴图。
相应的,终端接收服务器发送的3D形象数据包,该3D形象数据包中即包含生成的3D形象的3D形象数据。可选的,该3D形象数据包中包含人脸模型数据、头发模型数据、躯干模型数据、人脸模型贴图、头发模型贴图、躯干模型贴图以及服装模型贴图等等。
可选的,终端对接收到的3D形象数据包进行存储,后续过程中,直接从本地读取3D形象数据包并生成3D形象,而不再需要向服务器发送3D形象生成请求。
步骤603,获取3D形象数据包中的头发模型贴图。
终端根据3D形象数据包中的模型数据进构建模型,并根据模型对应的模型贴图对模型表面纹理进行渲染。其中,当需要对头发模型表面纹理进行渲染时,终端即获取3D形象数据包中的头发模型贴图。示意性的,终端获取到的头发模型贴图如图4(a)所示。
步骤604,关闭深度写入功能。
在实际场景中,当正面头发遮挡人物脸庞时,透过正面头发间的间隙能够隐约看到后方脸庞,为了模拟出这种半透明效果(透视效果),着色器对头发模型贴图进行AlphaBlending渲染前,关闭深度写入(即像素点的深度将不会写入深度缓存中),从而避免进行深度检测(ZTest)时,由于正面头发后方物体的深度大于正面头发,导致头发后方物体无法显示的情况。
步骤605,通过着色器,采用Blend SrcAlpha OneMinusSrcAlpha模式对头发模型贴图进行Alpha Blending渲染。
关闭深度写入后,为了确保模型的正常显示,终端通过着色器进行AlphaBlending渲染时,需要按照从后往前的渲染顺序(即距离Unity中虚拟镜头由远到近的顺序)进行有序渲染,从而避免后方物体显示在前方物体之前的渲染错误。
在一种可能的实施方式中,如图8所示,着色器采用Blend SrcAlphaOneMinusSrcAlpha模式进行Alpha Blending渲染时包括如下步骤。
步骤605A,读取头发模型贴图中各个像素点的第一RGB值和透明通道值。
对于头发模型贴图中的各个像素点,着色器读取该像素点的第一RGB值和透明通道值,其中,透明通道值越高,该像素点的透明度越低,透明通道值越低,该像素点的透明度越高。
示意性的,着色器读取到当前像素点的第一RGB值为(0.1,0.1,0.2),且透明通道值为0.8。
步骤605B,读取像素点对应的目标点的第二RGB值,目标点是头发模型上与像素点对应的点。
可选的,着色器读取当前像素点对应的位置信息,并根据该位置信息确定出与当前像素点对应的目标点,可选的,该位置信息为头发模型上与当前像素点对应的点的坐标。
确定出与当前像素点对应的目标点后,着色器进一步从缓存中读取该目标点的第二RGB值,该第二RGB值为目标点之前累积的RGB值。
示意性的,着色器读取到目标点的第二RGB值为(0.15,0.15,0.02)。
步骤605C,根据第一RGB值、第二RGB值和透明通道值进行RGB混合,得到第三RGB值,并将第三RGB值写入缓存。
根据读取到的第一RGB值、第二RGB值和透明通道值,着色器进行RGB 值混合,得到混合后的第三RGB值,并将第三RGB值写入缓存中。RGB混合过程中,第三RGB值=第一RGB值*透明通道值+第二RGB值(1-透明通道值)。显然,当前像素点的透明通道值越大(透明度越低),混合后的第三RGB值越接近第一RGB值,当前像素点的透明通道值越小(透明度越高),混合后的第三RGB值越接近第二RGB值。
示意性的,结合步骤605A和605B的示例,着色器计算得到第三RGB值为:(0.1,0.1,0.2)*0.8+(0.15,0.15,0.02)*0.2=(0.11,0.11,0.164)。
步骤606,根据Alpha Blending渲染结果输出第一渲染层。
可选的,着色器对各个像素点进行Alpha Blending渲染后,根据缓存中的 RGB值(即第三RGB值)输出第一渲染层。
经过上述步骤604至606,着色器即完成对头发模型贴图的Alpha Blending 渲染。
步骤607,读取头发模型贴图中像素点的第一RGB值和透明通道值。
对于头发模型贴图中的各个像素点,着色器读取该像素点的第一RGB值和透明通道值,其中,透明通道值越高,该像素点的透明度越低,透明通道值越低,该像素点的透明度越高。
示意性的,着色器读取到当前像素点的第一RGB值为(0.01,0.01,0.02),且透明通道值为0.95。
与Alpha Blending渲染进行颜色混合不同,着色器对头发模型贴图进行 AlphaTest渲染时,无需获取目标点的RGB值,而是直接检测当前像素点的透明通道值是否大于阈值,若透明通道值大于阈值,则执行步骤608,若透明通道值小于等于阈值,则执行步骤610。
步骤608,若透明通道值大于阈值,则将第一RGB值写入缓存。
当当前像素点的透明通道值大于阈值时,着色器将当前像素点的第一RGB 值写入缓存中,即对当前像素点进行不透明处理。
比如,当前像素点的透明度通道值为0.99且该阈值为0.95时,着色器即将当前像素点的第一RGB值写入缓存。
示意性的,如图4所示,由于头发发丝41的透明通道值被设置的较高,因此着色器严格按照像素点对头发发丝进行处理。
步骤609,若透明通道值小于等于阈值,则丢弃第一RGB值。
当当前像素点的透明通道值大于阈值时,着色器即丢弃当前像素点的第一 RGB值,即对当前像素点进行透明处理。
步骤610,根据缓存中的RGB值输出第二渲染层。
由于进行Alpha Test时会丢弃部分透明度较高的像素点,因此,根据缓存中 RGB值输出的第二渲染层中仅包含透明度较低的头发区域。
需要说明的是,当用户选择在头发模型上添加装饰物(即在头发表面添加覆盖物)时,比如添加发卡、头箍或鲜花时,终端进一步获取装饰物对应的装饰物模型以及装饰物模型贴图,并采用Alpha Test对装饰物模型贴图进行渲染显示,从而表现出装饰物的表面纹理,本发明实施例在此不再赘述。
步骤611,对第一渲染层和第二渲染层进行组合显示。
本步骤的实施方式与上述步骤304相似,本实施例在此不再赘述。
在渲染性能方面,由于相较于Unity默认的渲染方式仅增加了一次额外的渲染,因此无需终端具备较强的渲染性能要求,在渲染性能较弱的终端上也能实现真实的头发显示效果。
综上所述,本实施例中,终端获取到具有透明通道的头发模型贴图后,通过着色器对头发模型贴图进行Alpha Blending渲染,得到包含头发表面纹理的第一渲染层,并通过着色器对头发模型贴图进行Alpha Test渲染,得到包含发丝细节和头发背面纹理的第二渲染层,从而对两个渲染层进行组合显示,使得最终显示的头发能够同时展现正面头发和背面头发的纹理,并能够展现头发发丝细节,提高了3D形象中头发的显示效果。
本实施例中,终端通过向服务器发送包含人脸图像的3D形象生成请求,使得服务器能够根据该人脸图像生成真实模拟用户形象的3D形象,并将相应的 3D形象数据反馈给终端,供终端进行渲染显示,从而提高用户在社交场景下的融入度和带入度,提升用户的社交体验。
下述为本发明装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
请参考图9,其示出了本发明一个实施例提供的模型贴图渲染装置的结构方框图。该模型贴图渲染装置通过硬件或者软硬件的结合实现成为图1中终端110 的全部或者一部分。该装置包括:
获取模块910,用于获取头发模型贴图,所述头发模型贴图具有透明通道;
第一渲染模块920,用于通过着色器对所述头发模型贴图进行透明通道混合Alpha Blending渲染,得到第一渲染层,所述第一渲染层中包括头发表面纹理;
第二渲染模块930,用于通过所述着色器对所述头发模型贴图进行透明通道测试Alpha Test渲染,得到第二渲染层,所述第二渲染层中包括发丝细节和头发背面纹理;
组合显示模块940,用于对所述第一渲染层和所述第二渲染层进行组合显示。
可选的,所述第一渲染模块920,包括:
关闭单元,用于关闭深度写入ZWrite功能;
第一渲染单元,用于通过所述着色器,采用Blend SrcAlpha OneMinusSrcAlpha模式对所述头发模型贴图进行Alpha Blending渲染;
第一输出单元,用于根据Alpha Blending渲染结果输出所述第一渲染层。
可选的,所述第一渲染单元,用于:
读取所述头发模型贴图中各个像素点的第一红绿蓝RGB值和透明通道值;
读取所述像素点对应的目标点的第二RGB值,所述目标点是头发模型上与所述像素点对应的点;
根据所述第一RGB值、所述第二RGB值和所述透明通道值进行RGB混合,得到第三RGB值,并将所述第三RGB值写入缓存;
所述第一输出单元,用于:
根据缓存中的RGB值输出所述第一渲染层。
可选的,所述第二渲染模块930,包括:
读取单元,用于读取所述头发模型贴图中像素点的第一红绿蓝RGB值和透明通道值;
写入单元,用于若所述透明通道值大于阈值,则将所述第一RGB值写入缓存;
丢弃单元,用于若所述透明通道值小于等于所述阈值,则丢弃所述第一RGB 值;
第二输出单元,用于根据缓存中的RGB值输出所述第二渲染层;
其中,所述头发模型贴图中所述发丝细节与所述头发背面纹理部分的透明通道值大于所述阈值。
可选的,所述获取模块910,包括:
发送单元,用于向服务器发送3D形象生成请求,所述3D形象生成请求中包含人脸图像,所述服务器用于根据所述人脸图像生成3D形象,并发送相应的 3D形象数据;
接收单元,用于接收所述服务器发送的3D形象数据包,所述3D形象数据包中包括与所述3D形象中头发模型相匹配的头发模型贴图;
获取单元,用于获取所述3D形象数据包中的所述头发模型贴图。
综上所述,本实施例中,终端获取到具有透明通道的头发模型贴图后,通过着色器对头发模型贴图进行Alpha Blending渲染,得到包含头发表面纹理的第一渲染层,并通过着色器对头发模型贴图进行Alpha Test渲染,得到包含发丝细节和头发背面纹理的第二渲染层,从而对两个渲染层进行组合显示,使得最终显示的头发能够同时展现正面头发和背面头发的纹理,并能够展现头发发丝细节,提高了3D形象中头发的显示效果。
本实施例中,终端通过向服务器发送包含人脸图像的3D形象生成请求,使得服务器能够根据该人脸图像生成真实模拟用户形象的3D形象,并将相应的 3D形象数据反馈给终端,供终端进行渲染显示,从而提高用户在社交场景下的融入度和带入度,提升用户的社交体验。
需要说明的是:上述实施例提供的模型贴图渲染装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型贴图渲染装置和模型贴图渲染方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本发明一个实施例提供的终端的结构示意图。该终端1000为图1中的终端110。具体来讲:
终端1000可以包括RF(Radio Frequency,射频)电路1010、包括有一个或一个以上计算机可读存储介质的存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、通信模块1070、包括有一个或者一个以上处理核心的处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1080处理;另外,将涉及上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF 电路1010还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、 WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)、WiFi(Wireless Fidelity,无线保真)通信、Bluetooth(蓝牙)通信以及NFC (Near Field Communication,近距离无线通信)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1000的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1020还可以包括存储器控制芯片,以提供处理器1080和输入单元1030对存储器1020的访问。
输入单元1030可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1030可包括图像输入设备1031以及其他输入设备1032。图像输入设备1031可以是摄像头,也可以是光电扫描设备。除了图像输入设备1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及终端 1000的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1040可包括显示面板1041,可选的,可以采用 LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode, 有机发光二极管)等形式来配置显示面板1041。
终端1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在终端1000移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击) 等;至于终端1000还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与终端1000之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一电子设备,或者将音频数据输出至存储器1020以便进一步处理。音频电路1060还可能包括耳塞插孔,以提供外设耳机与终端1000的通信。
终端1000通过通信模块1070与外部设备建立通信连接,并通过该通信连接进行数据交互。本实施例中,该通信模块1070具体包括蓝牙模块、NFC模块和/或WiFi模块。
处理器1080是终端1000的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行终端1000的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理核心;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
终端1000还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1090还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
本发明实施例还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现上述各个实施例提供的模型贴图渲染方法。其中,该存储器为只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种模型贴图渲染方法,其特征在于,所述方法包括:
获取头发模型贴图,所述头发模型贴图具有透明通道,且所述头发模型贴图中发丝细节与头发背面纹理的透明通道值大于阈值;
通过着色器对所述头发模型贴图进行透明通道混合渲染,得到第一渲染层,所述第一渲染层中包括头发表面纹理;
通过所述着色器对所述头发模型贴图进行透明通道测试渲染,得到第二渲染层,所述第二渲染层中包括所述发丝细节和所述头发背面纹理,且透明通道测试渲染过程中透明通道值大于所述阈值的像素点进行渲染;
对所述第一渲染层和所述第二渲染层进行组合显示。
2.根据权利要求1所述的方法,其特征在于,所述通过着色器对所述头发模型贴图进行Alpha Blending渲染,得到第一渲染层,包括:
关闭深度写入ZWrite功能;
通过所述着色器,采用Blend SrcAlpha OneMinusSrcAlpha模式对所述头发模型贴图进行透明通道混合渲染;
根据透明通道混合渲染结果输出所述第一渲染层。
3.根据权利要求2所述的方法,其特征在于,所述通过所述着色器,采用BlendSrcAlpha OneMinusSrcAlpha模式对所述头发模型贴图进行透明通道混合渲染,包括:
读取所述头发模型贴图中各个像素点的第一红绿蓝RGB值和透明通道值;
读取所述像素点对应的目标点的第二RGB值,所述目标点是头发模型上与所述像素点对应的点;
根据所述第一RGB值、所述第二RGB值和所述透明通道值进行RGB混合,得到第三RGB值,并将所述第三RGB值写入缓存;
所述根据Alpha Blending渲染结果输出所述第一渲染层,包括:
根据缓存中的RGB值输出所述第一渲染层。
4.根据权利要求1所述的方法,其特征在于,所述通过所述着色器对所述头发模型贴图进行Alpha Test渲染,得到第二渲染层,包括:
读取所述头发模型贴图中像素点的第一红绿蓝RGB值和透明通道值;
若所述透明通道值大于所述阈值,则将所述第一RGB值写入缓存;
若所述透明通道值小于等于所述阈值,则丢弃所述第一RGB值;
根据缓存中的RGB值输出所述第二渲染层。
5.根据权利要求1至4任一所述的方法,其特征在于,所述获取头发模型贴图,包括:
向服务器发送3D形象生成请求,所述3D形象生成请求中包含人脸图像,所述服务器用于根据所述人脸图像生成3D形象,并发送相应的3D形象数据;
接收所述服务器发送的3D形象数据包,所述3D形象数据包中包括与所述3D形象中头发模型相匹配的头发模型贴图;
获取所述3D形象数据包中的所述头发模型贴图。
6.根据权利要求1至4任一所述的方法,其特征在于,所述头发模型贴图采用已标记图形TGA格式、可移植网络图形PNG格式或标签图像文件TIF格式。
7.一种模型贴图渲染装置,其特征在于,所述装置包括:
获取模块,用于获取头发模型贴图,所述头发模型贴图具有透明通道,且所述头发模型贴图中发丝细节与头发背面纹理的透明通道值大于阈值;
第一渲染模块,用于通过着色器对所述头发模型贴图进行透明通道混合渲染,得到第一渲染层,所述第一渲染层中包括头发表面纹理;
第二渲染模块,用于通过所述着色器对所述头发模型贴图进行透明通道测试渲染,得到第二渲染层,所述第二渲染层中包括所述发丝细节和所述头发背面纹理,且透明通道测试渲染过程中透明通道值大于所述阈值的像素点进行渲染;
组合显示模块,用于对所述第一渲染层和所述第二渲染层进行组合显示。
8.根据权利要求7所述的装置,其特征在于,所述第一渲染模块,包括:
关闭单元,用于关闭深度写入ZWrite功能;
第一渲染单元,用于通过所述着色器,采用Blend SrcAlpha OneMinusSrcAlpha模式对所述头发模型贴图进行透明通道混合渲染;
第一输出单元,用于根据透明通道混合渲染结果输出所述第一渲染层。
9.根据权利要求8所述的装置,其特征在于,所述第一渲染单元,用于:
读取所述头发模型贴图中各个像素点的第一红绿蓝RGB值和透明通道值;
读取所述像素点对应的目标点的第二RGB值,所述目标点是头发模型上与所述像素点对应的点;
根据所述第一RGB值、所述第二RGB值和所述透明通道值进行RGB混合,得到第三RGB值,并将所述第三RGB值写入缓存;
所述第一输出单元,用于:
根据缓存中的RGB值输出所述第一渲染层。
10.根据权利要求7所述的装置,其特征在于,所述第二渲染模块,包括:
读取单元,用于读取所述头发模型贴图中像素点的第一红绿蓝RGB值和透明通道值;
写入单元,用于若所述透明通道值大于所述阈值,则将所述第一RGB值写入缓存;
丢弃单元,用于若所述透明通道值小于等于所述阈值,则丢弃所述第一RGB值;
第二输出单元,用于根据缓存中的RGB值输出所述第二渲染层。
11.根据权利要求7至10任一所述的装置,其特征在于,所述获取模块,包括:
发送单元,用于向服务器发送3D形象生成请求,所述3D形象生成请求中包含人脸图像,所述服务器用于根据所述人脸图像生成3D形象,并发送相应的3D形象数据;
接收单元,用于接收所述服务器发送的3D形象数据包,所述3D形象数据包中包括与所述3D形象中头发模型相匹配的头发模型贴图;
获取单元,用于获取所述3D形象数据包中的所述头发模型贴图。
12.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至6任一所述的模型贴图渲染方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至6任一所述的模型贴图渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660495.4A CN109389664B (zh) | 2017-08-04 | 2017-08-04 | 模型贴图渲染方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660495.4A CN109389664B (zh) | 2017-08-04 | 2017-08-04 | 模型贴图渲染方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109389664A CN109389664A (zh) | 2019-02-26 |
CN109389664B true CN109389664B (zh) | 2022-02-22 |
Family
ID=65412487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710660495.4A Active CN109389664B (zh) | 2017-08-04 | 2017-08-04 | 模型贴图渲染方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109389664B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110288670B (zh) * | 2019-06-19 | 2023-06-23 | 杭州绝地科技股份有限公司 | 一种ui描边特效的高性能渲染方法 |
CN110335224B (zh) * | 2019-07-05 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN110751668B (zh) * | 2019-09-30 | 2022-12-27 | 北京迈格威科技有限公司 | 图像处理方法、装置、终端、电子设备及可读存储介质 |
CN111182350B (zh) * | 2019-12-31 | 2022-07-26 | 广州方硅信息技术有限公司 | 图像处理方法、装置、终端设备及存储介质 |
CN111402384A (zh) * | 2020-03-25 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 图像生成方法、装置、电子设备及计算机可读存储介质 |
CN111508053B (zh) * | 2020-04-26 | 2023-11-28 | 网易(杭州)网络有限公司 | 模型的渲染方法、装置、电子设备及计算机可读介质 |
CN115428027A (zh) | 2020-05-13 | 2022-12-02 | 上海科技大学 | 神经不透明点云 |
CN113313802B (zh) * | 2021-05-25 | 2022-03-11 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN113240800A (zh) * | 2021-05-31 | 2021-08-10 | 北京世冠金洋科技发展有限公司 | 一种三维温度流场热力图展示方法及装置 |
CN113436306B (zh) * | 2021-07-22 | 2024-04-05 | 久瓴(江苏)数字智能科技有限公司 | 图像的渲染方法、装置及存储介质 |
CN113694510B (zh) * | 2021-08-13 | 2024-01-09 | 完美世界(北京)软件科技发展有限公司 | 游戏角色渲染方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7061502B1 (en) * | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
CN101295408A (zh) * | 2007-04-27 | 2008-10-29 | 新奥特硅谷视频技术有限责任公司 | 一种3d图文渲染方法和渲染系统 |
TW200910252A (en) * | 2007-08-21 | 2009-03-01 | Silicon Integrated Sys Corp | Method for enabling alpha-to-coverage transformation |
CN101617343A (zh) * | 2007-12-21 | 2009-12-30 | 工作室图形处理器公司 | 快速渲染三维场景的方法和系统 |
CN104835191A (zh) * | 2014-02-06 | 2015-08-12 | 想象技术有限公司 | 3d图形处理系统中用于处理图元的不透明度测试 |
CN106780686A (zh) * | 2015-11-20 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种3d模型的合并渲染系统及方法、终端 |
CN106815883A (zh) * | 2016-12-07 | 2017-06-09 | 珠海金山网络游戏科技有限公司 | 一种游戏角色的头发处理方法及系统 |
-
2017
- 2017-08-04 CN CN201710660495.4A patent/CN109389664B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7061502B1 (en) * | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
CN101295408A (zh) * | 2007-04-27 | 2008-10-29 | 新奥特硅谷视频技术有限责任公司 | 一种3d图文渲染方法和渲染系统 |
TW200910252A (en) * | 2007-08-21 | 2009-03-01 | Silicon Integrated Sys Corp | Method for enabling alpha-to-coverage transformation |
CN101617343A (zh) * | 2007-12-21 | 2009-12-30 | 工作室图形处理器公司 | 快速渲染三维场景的方法和系统 |
CN104835191A (zh) * | 2014-02-06 | 2015-08-12 | 想象技术有限公司 | 3d图形处理系统中用于处理图元的不透明度测试 |
CN106780686A (zh) * | 2015-11-20 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种3d模型的合并渲染系统及方法、终端 |
CN106815883A (zh) * | 2016-12-07 | 2017-06-09 | 珠海金山网络游戏科技有限公司 | 一种游戏角色的头发处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
Shader:十三Alpha混合;风宇冲;《http://blog.sina.com.cn/s/blog_471132920101d8z5.html》;20121223;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109389664A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109389664B (zh) | 模型贴图渲染方法、装置及终端 | |
CN109427083B (zh) | 三维虚拟形象的显示方法、装置、终端及存储介质 | |
US11189104B2 (en) | Generating 3D data in a messaging system | |
US11961189B2 (en) | Providing 3D data for messages in a messaging system | |
CN107247548B (zh) | 图像显示方法、图像处理方法及装置 | |
US11393154B2 (en) | Hair rendering method, device, electronic apparatus, and storage medium | |
US11457196B2 (en) | Effects for 3D data in a messaging system | |
CN108933723B (zh) | 消息展示方法、装置及终端 | |
WO2021042134A1 (en) | Generating 3d data in a messaging system | |
US20220207840A1 (en) | Recording augmented reality content on an eyewear device | |
CN108876878B (zh) | 头像生成方法及装置 | |
US20220206581A1 (en) | Communication interface with haptic feedback response | |
EP4272183A1 (en) | Detection and obfuscation of display screens in augmented reality content | |
US20240144616A1 (en) | Post-capture editing of augmented reality content | |
US20220206584A1 (en) | Communication interface with haptic feedback response | |
US20220317774A1 (en) | Real-time communication interface with haptic and audio feedback response | |
US20220207819A1 (en) | Light estimation using neural networks | |
WO2022147449A1 (en) | Electronic communication interface with haptic feedback response | |
WO2022147451A1 (en) | Media content items with haptic feedback augmentations | |
US20220319059A1 (en) | User-defined contextual spaces | |
WO2022212144A1 (en) | User-defined contextual spaces | |
US20220377309A1 (en) | Hardware encoder for stereo stitching | |
US20230069614A1 (en) | High-definition real-time view synthesis | |
US20220373791A1 (en) | Automatic media capture using biometric sensor data | |
US20230418062A1 (en) | Color calibration tool for see-through augmented reality environment |
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 |